Commit Graph

722 Commits

Author SHA1 Message Date
Mael Rouxel-Labbé ac05b500dc Added some more explanations about the change of API 2017-06-22 16:17:13 +02:00
Mael Rouxel-Labbé 995fcab7e3 Minor doc modifications 2017-06-22 16:17:13 +02:00
Mael Rouxel-Labbé e535f9b129 Added HalfedgeListGraph requirement 2017-06-22 16:17:13 +02:00
Mael Rouxel-Labbé 7898726616 Improved the reading of cones in Orbital parameterization 2017-06-22 16:17:13 +02:00
Mael Rouxel-Labbé 64d10602a5 Fixed seam_polyhedron_3.cpp dumping its output in std::cout 2017-06-22 16:17:13 +02:00
Mael Rouxel-Labbé c1d01dda04 Moved a remark in SMP.txt 2017-06-22 16:17:13 +02:00
Mael Rouxel-Labbé 1e3d772e15 SMP requires Core 2017-06-22 16:17:13 +02:00
Mael Rouxel-Labbé cf04209c8e Various improvements to the Seam mesh documentation 2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé c438638828 Cleaned a wrong link in SMP's CMakeLists 2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé 7a13c777ce Removed include to untracked header 2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé b432ff351b Fixed permissions 2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé c2bc4082e7 Removed or untracked irrelevant files
Also fixed some data paths.
2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé 4570ab4320 Disabled Eigen's static alignement when using UMFPACKLU solver in Orbifold param
The assert does not fail when using Eigen's SparseLU solver... This is temporary
while I investigate.
2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé a02ab38aab Doc changes (improved most of the figures) 2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé bac0a498ee Doc changes 2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé eab6b0f02c Added licence and author 2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé 2274210b17 Removed a warning in SMP 2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé b3dc507db1 Doc changes 2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé b166e1f98b Images called from HTML added to doxyfile.in 2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé fa6aa9a799 Documentation changes 2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé 8c1f570d61 Documentation changes 2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé 45da5415ad Minor doc changes in SMP 2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé 4702f3ca36 Documentation changes in Seam_mesh / SMP 2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé 6308f2a94a Minor safety changes 2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé 3f87e9d4fb Updated SMP's doc to include Orbifold-Tutte Embeddings 2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé 521f85bca9 Updated SMP's test file 2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé e68476f8b2 Use const refs when grabbing from property maps 2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé c05a690449 Cleaned cout/cerr ouput 2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé 9c2c6b9f50 Changes within source needed after orbital > orbifold renaming 2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé 0b91917c74 Renamed Orbifold files 2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé ad36f6ea35 Use non caching segment traits to accelerate arrangement computations 2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé 92c34a5b01 Misc minor changes
-const correctness
-comments
-typedefs
2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé 58bc2612e3 Added translation to the growing affine transformations
This allows to use sphere mappings for Orb type IV
2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé b9386fe3b2 Fixed sometimes missing triangles while growing a mesh
Consequence of using an unordered set to keep the border since it was using
the hash of base mesh halfedges and you can have the same halfedge multiple
times in the border (but in different "tiles")
2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé 9a63c23aa5 Improved safety checks for SMP's orbital
and other minor changes
2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé 406698f769 Added sphere to sphere mapping (wip)
Up to the overlay computation (missing the end)
2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé 64730a7617 Improved validity check on cones and seams 2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé c2d04efb2f Misc minor changes 2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé 80f673fa24 Improved cone locating functions 2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé adb03e8ee9 Moved orbifold type-related functions to the corresponding helper file 2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé b052d3bc5f Distinguished between the first cone and the second cone
Thus if the input cones are C_0 ... C_3, then the seam is going from C_0 to C_3.
This is important because the result is not always identical.

Plugin of the demo decides randomly for now, which is not satisfying.
2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé 6fdd28e856 Changed the angles of Orbifold again
By swapping s and t when filling the matrix, we obtain the same (and correct)
effect. Still, not very satisfying code.
2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé 9eec3408d5 Added cotangent weights for Orbifold embeddings 2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé c2687ddab1 Improved some output and error checking code in orbifold 2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé 954daa05a4 Misc minor changes 2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé c5fa681302 Output matrices to a specific folders 2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé 5e6e42500e Flipped the sign of MVC weights in Orbifold
Does change anything, but it's more consistent with the other code
2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé b026f1c512 Fixed Orbifold angles values
The way we walk the seam in sort of the 'inside out' of the way it is done
in matlab code and thus the angle should be flipped.

Maybe there is a nicer change (walking the seam from outside?)
2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé 05647d928a Added Orbifold Tutte Embeddings to the polyhedron demo 2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé 71abaa7249 Added orbifold type IV 2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé 00d2fa1817 Fixed wrong assertion 2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé 5720e83c32 Added a comment in LSCM about the wrong use of Eigen_type
Replacing OpenNL with Eigen in the LSCM parameterizer is todo
2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé 58b863101b Fixed using symmetric sparse matrices in Orbital Tutte Embeddings
The matrix is not actually symmetric. Note that this didn't produce any issues
because we retrieved the eigen_type, which is a matrix type of eigen (that is,
not a symmetric matrix).
2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé 619c27db35 Added Orbifold types II and III 2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé 1b8559d5ce Misc minor changes 2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé d62927d9e7 Removed empty lines from the constraint matrix
Default linear solvers are Umfpack and Eigen SparseLU
2017-06-22 16:15:57 +02:00
Andreas Fabri 92accde094 static_cast to avoid warnings 2017-06-22 16:15:57 +02:00
Andreas Fabri a58a568217 Make CMakeLists.txt work for VC++ 2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé 37e35eeea8 Misc minor changes 2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé cff1c99d3d Do not require SuiteSparse 2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé df70fedbcf Small changes in matrix size in SMP's orbital
Preparation to clean the matrix A from its useless (but not harmful in practice)
empty lines.
2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé 9a148a4a06 Simplified SMP's CMakeLists.txt 2017-06-22 16:15:57 +02:00
Andreas Fabri 602e6b456f find_package SuiteSparse 2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé 261da94f36 Added the bear example for SMP 2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé c62e503a39 Added Orbital Tutte parameterizer and an example
Only the orbifold type I method with MVC coefs is implented in this commit
2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé 66fc6c6c5d Added the selection file that goes with square_border_parameterizer.cpp 2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé f910d2ee60 Misc minor changes 2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé ccdf3a6bf4 Added some safety guard when vertices are given to border paramterizers
to make sure that the given vertices are on the same border/connected component.
2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé de433db108 Fixed some headers still using vertices(mesh) or faces(mesh)
...which grabs too many entities while we only want a connected component.
2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé 20bcc9233c Improved the initial parameterization of ARAP
and gave bool_pmap its own header
2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé 8e77c99653 Fixed seam meshes not always picking the longest border in a connected component 2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé cde65fd465 Fixed validity tests considering all the faces of the mesh
and not a single connected component
2017-06-22 16:15:57 +02:00
Andreas Fabri eb704310b3 Change changes.html; Add AF to the bibtex entry 2017-06-22 16:15:57 +02:00
Andreas Fabri 7e9ecd5cf2 more backticks 2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé 66a2119da6 Documentation changes for SMP 2017-06-22 16:14:55 +02:00
Andreas Fabri 59a04915db fixes 2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé a8f82f4382 Merged the ParameterizedTraits_3 and BorderParameterizer_3 concepts
Incident changes:
- Angle computations helper, Error_code and kernel_traits<TriangleMesh> live in
  their own file
- Doc and examples changes
2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé 8922e36408 Fixed compilation after moving headers 2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé 4f811d1dbe Moved all headers into a Surface_mesh_parameterization folder
This is simply the move + adding a convenience file at the root, and no other
changes, thus it does not compile.
2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé e96c474f78 Documentation changes for SMP 2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé 40655269a2 Documentation for BGL and SMP
- Fixed the boost::graph_traits tables
- Seam mesh documentation
- Some minor changes to surface_mesh_parameterization's and ARAP's docs
2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé 7ce8fdf3f6 Misc minor changes 2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé 2ee44c1c15 Added discrete authalic and ARAP to the Polyhedron demo 2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé a8492d987f Reworked the way corner vertices are passed to the square_border_parameterizer
and added an example of usage.
2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé 0438d6d34d Fixed some doc warnings 2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé 6f40a05af1 Removed an unused error code 2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé fcfe9662af Renamed the function parameterize_border() of border parameterizers
to the simpler "parameterize()"
2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé a52040fb4e Added is_one_to_one_mapping() to all parameterizers 2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé 8da6683ef0 Misc minor changes
Some doc, some typos, some indentation...
2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé b17c60f4d8 Fixed const correctness in SMP 2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé 62979fc9b5 Improved SMP's documentation 2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé c1868dff4c Removed erroneous comment 2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé bb9230f4ff Fixed discrete authalic example
This example is now used to illustrate the use of various border parameterizers
2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé 656d996e6f Fixed Circular and Square border parameterizer
-- Reintroduced the uniform circular border parameterizer for consistency
-- Fixed the Square border parameterizer to work with BGL meshes
-- The square border parameterizer can now be given four vertices that will
   be used as corners of the square border
2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé 8ffe7a5df2 Cleaned off the examples
The idea is to keep meaningful examples
-- A basic example using Surface_mesh with as few parameters as possible
-- A seam mesh using Polyhedron_3 with the default parameterizer (MVC)
-- A seam mesh using Surface_mesh with the LSCM parameterizer
-- An example with a fixed border parameterizer and using different border
   parameterizer
2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé 013e32d314 Replaced calls to num_vertices() 2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé ae06b044ce Improved existing SMP code
-Factorized the different tools to construct vertices and faces container in
a single class.
-Updated all examples accordingly and replaced the polylines output by an OFF
output across all files.
-Some other minor changes (missing includes, indentation, typos, etc.)
2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé 3245d726e3 Misc minor changes 2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé 664d873d2d Removed Parameterization_polyhedron_adaptor_ex.h 2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé c71d8285d0 Updated the examples of the SMP to work with the new Seam mesh
Also a small change in the Polyhedron demo
2017-06-22 16:14:55 +02:00