RELEASE_HISTORY.txt 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. 1.1.0 Mesh boolean operations using CGAL and cork, implementing [Attene 14]
  2. 1.0.3 Bone heat method
  3. 1.0.2 Bug fix in winding number code
  4. 1.0.1 Bug fixes and more CGAL support
  5. 1.0.0 Major beta release: many renames, tutorial, triangle wrapper, org. build
  6. ## Version 1.0 Changes ##
  7. Our beta release marks our confidence that this library can be used outside of
  8. casual experimenting. To maintain order, we have made a few changes which
  9. current users should read and adapt their code accordingly.
  10. ### Renamed functions ###
  11. The following table lists functions which have changed name as of version
  12. 1.0.0:
  13. Old | New
  14. -------------------------------- | -------------------------------------
  15. `igl::add_barycenter` | `igl::false_barycentric_subdivision`
  16. `igl::areamatrix` | `igl::vector_area_matrix`
  17. `igl::barycentric2global` | `igl::barycentric_to_global`
  18. `igl::boundary_faces` | `igl::boundary_facets`
  19. `igl::boundary_vertices_sorted` | `igl::boundary_loop`
  20. `igl::cotangent` | `igl::cotmatrix_entries`
  21. `igl::edgetopology` | `igl::edge_topology`
  22. `igl::gradMat` | `igl::grad`
  23. `igl::is_manifold` | `igl::is_edge_manifold`
  24. `igl::mexStream` | `igl::MexStream`
  25. `igl::moveFV` | `igl::average_onto_vertices`
  26. `igl::moveVF` | `igl::average_onto_faces`
  27. `igl::plot_vector` | `igl::print_vector`
  28. `igl::pos` | `igl::HalfEdgeIterator`
  29. `igl::plane_project` | `igl::project_isometrically_to_plane`
  30. `igl::project_points_mesh` | `igl::line_mesh_intersection`
  31. `igl::read` | `igl::read_triangle_mesh`
  32. `igl::removeDuplicates.cpp` | `igl::remove_duplicates`
  33. `igl::removeUnreferenced` | `igl::remove_unreferenced`
  34. `igl::tt` | `igl::triangle_triangle_adjacency`
  35. `igl::vf` | `igl::vertex_triangle_adjacency`
  36. `igl::write` | `igl::write_triangle_mesh`
  37. `igl::manifold_patches` | `igl::orientable_patches`
  38. `igl::selfintersect` | `igl::remesh_self_intersections`
  39. `igl::project_mesh` | `igl::line_mesh_intersection`
  40. `igl::triangulate` | `igl::polygon_mesh_to_triangle_mesh`
  41. `igl::is_manifold` | `igl::is_edge_manifold`
  42. `igl::triangle_wrapper` | `igl::triangulate`
  43. ### Miscellaneous ###
  44. - To match interfaces provided by (all) other quadratic optimization
  45. libraries, `igl::min_quad_with_fixed` and `igl::active_set` now expect as
  46. input twice the quadratic coefficients matrix, i.e. the Hessian. For
  47. example, `igl::min_quad_with_fixed(H,B,...)` minimizes $\frac{1}{2}x^T H
  48. x+x^T B$.
  49. - We have inverted the `IGL_HEADER_ONLY` macro to `IGL_STATIC_LIBRARY`. To
  50. compile using libigl as a header-only library, simply include headers and
  51. libigl in the header search path. To link to libigl, you must define the
  52. `IGL_STATIC_LIBRARY` macro at compile time and link to the `libigl*.a`
  53. libraries.
  54. - Building libigl as a static library is now more organized. There is a
  55. `build/` directory with Makefiles for the main library (`Makefile`) and each
  56. dependency (e.g. `Makefile_mosek` for `libiglmosek.a`)
  57. - `igl::polar_svd` now always returns a rotation in `R`, never a reflection.
  58. This mirrors the behavior of `igl::polar_svd3x3`. Consequently the `T`
  59. part may have negative skews.
  60. - We have organized the static
  61. - The previous `igl::grad` function, which computed the per-triangle gradient
  62. of a per-vertex scalar function has been replaced. Now `igl::grad` computes
  63. the linear operator (previous computed using `igl::gradMat`). The gradient
  64. values can still be recovered by multiplying the operator against the scalar
  65. field as a vector and reshaping to have gradients per row.
  66. - `MASSMATRIX_*` has become `MASSMATRIX_TYPE_*`
  67. - The function `igl::project_normals`, which cast a line for each vertex of
  68. mesh _A_ in the normal direction and found the closest intersection along
  69. these lines with mesh _B_, has been removed.
  70. 0.4.6 Generalized Winding Numbers
  71. 0.4.5 CGAL extra: mesh selfintersection
  72. 0.4.4 STL file format support
  73. 0.4.3 ARAP implementation
  74. 0.4.1 Migrated much of the FAST code including extra for Sifakis' 3x3 svd
  75. 0.4.0 Release under MPL2 license
  76. 0.3.7 Embree2.0 support
  77. 0.3.6 boost extra, patches, mosek 7 support, libiglbbw (mosek optional)
  78. 0.3.5 More examples, naive primitive sorting
  79. 0.3.3 Many more examples, ambient occlusion with Embree.
  80. 0.3.1 Linearly dependent constraints in min_quad_with_fixed, SparseQR buggy
  81. 0.3.0 Better active set method support
  82. 0.2.3 More explicits, active set method, opengl/anttweakbar guards
  83. 0.2.2 More explicit instanciations, faster sorts and uniques
  84. 0.2.1 Bug fixes in barycenter and doublearea found by Martin Bisson
  85. 0.2.0 XML serializer more stable and fixed bug in remove_duplicate_vertices
  86. 0.1.8 Embree and xml (windows only) extras
  87. 0.1.5 Compilation on windows, bug fix for compilation with cygwin
  88. 0.1.1 Alpha release with core functions, extras, examples