Commit Graph

816 Commits

Author SHA1 Message Date
Sébastien Loriot b94631496a Merge remote-tracking branch 'cgal/releases/CGAL-4.11-branch' 2017-12-22 22:50:15 +01:00
Mael Rouxel-Labbé 07cceaf017 Fixed return types of root computation functions 2017-12-11 11:47:01 +01:00
Mael Rouxel-Labbé 2fc598ec70 Reworded errors 2017-12-05 13:14:53 +01:00
Mael Rouxel-Labbé 92292188c7 Changed order of header inclusions 2017-12-05 13:11:59 +01:00
Mael Rouxel-Labbé 4734e87a9b Fixed typos 2017-12-05 13:10:10 +01:00
Mael Rouxel-Labbé 560f3a96fe Minor improvements to the GMP solvers functions 2017-12-05 13:08:28 +01:00
Mael Rouxel-Labbé 9dfd06b3ca Reworked the way we switch between the different Lt solvers
Removed Core/MPFI linking by default, this must be done manually if using the
GMP solvers.
2017-12-05 13:07:29 +01:00
Sébastien Loriot 8cdfad0d08 add missing URL and Id tags 2017-11-15 22:58:57 +01:00
Sébastien Loriot ee57fc2d6c add SPDX identifier for files under the GPL-3+ license 2017-11-12 10:17:51 +01:00
Mael Rouxel-Labbé aaca6a0597 Fixed wrong uses of std::numeric_limits<double>::min() 2017-10-27 12:03:44 +02:00
Laurent Rineau bedd1cf1b5 Merge branch 'releases/CGAL-4.10-branch' into releases/CGAL-4.11-branch 2017-09-08 17:38:04 +02:00
Andreas Fabri e4a951d8ed Remove the VC++ compiler option /FR, as it leads to an ICE for #include <Eigen/Sparse> 2017-09-06 11:19:11 +01:00
Mael Rouxel-Labbé d2b130e442 Tiny doc fix 2017-07-27 10:49:20 +02:00
Sébastien Loriot ce4923b8bc use mathjax instead of html symbol 2017-07-12 09:18:23 +02:00
Mael Rouxel-Labbé 1f779831e4 Acknowledge orbifold tutte embedding authors 2017-06-28 10:10:18 +02:00
Mael Rouxel-Labbé dc20de3bdb Fixed compilation of ARAP when GMP isn't available 2017-06-27 15:17:50 +02:00
Mael Rouxel-Labbé 815b69d6de Fixed std::size_t -> int conversion 2017-06-27 14:55:06 +02:00
Mael Rouxel-Labbé 425b1c864a Fixed comment 2017-06-27 14:54:56 +02:00
Mael Rouxel-Labbé c2981be99d Fixed documenting some functions that should not be documented 2017-06-27 14:27:24 +02:00
Mael Rouxel-Labbé d7db2cba16 Fixed erroneous 'const' 2017-06-27 12:34:44 +02:00
Mael Rouxel-Labbé 79add870ce Fixed conversion warning 2017-06-23 10:31:42 +02:00
Mael Rouxel-Labbé 8d1016dc32 Fixed unused variable/typedef warnings 2017-06-22 16:17:59 +02:00
Mael Rouxel-Labbé d63d631ce3 Fixed implicit conversion warning 2017-06-22 16:17:59 +02:00
Mael Rouxel-Labbé d4801521c3 Fixed virtual destructors warning 2017-06-22 16:17:59 +02:00
Mael Rouxel-Labbé 11addba83b Fixed unused variable warning 2017-06-22 16:17:59 +02:00
Mael Rouxel-Labbé eb26762ba7 Fixed uninitialized variable warning 2017-06-22 16:17:59 +02:00
Mael Rouxel-Labbé 50fc1c06a1 Fixed unused variable warning 2017-06-22 16:17:59 +02:00
Mael Rouxel-Labbé 596f39b066 Removed superfluous typenames 2017-06-22 16:17:59 +02:00
Mael Rouxel-Labbé 104363f802 Uniformized template names in doc's \sa 2017-06-22 16:17:13 +02:00
Mael Rouxel-Labbé f3671d45e1 Re-united some function bodies with their declaration 2017-06-22 16:17:13 +02:00
Mael Rouxel-Labbé 9881f814a1 Misc minor changes 2017-06-22 16:17:13 +02:00
Mael Rouxel-Labbé 9eebcfbaac Removed the hard requirement on Eigen for parameterization solver traits
Users can pass their own solver, provided it is a model of the concept
SparseLinearetc.

Still need Eigen for the examples/tests
2017-06-22 16:17:13 +02:00
Mael Rouxel-Labbé 70259b152f Fixed example file
(worked as it were, but gave a warning)
2017-06-22 16:17:13 +02:00
Mael Rouxel-Labbé 7db1d28947 Minor doc improvements 2017-06-22 16:17:13 +02:00
Mael Rouxel-Labbé eb4c8868a4 Added author name 2017-06-22 16:17:13 +02:00
Mael Rouxel-Labbé 8d7cca2673 Rewrote Orbital Tutte parameterizer to use a single big matrix
instead of smaller ones that we then concatenate. Speed gain is negligible
but this way we do not need read access to matrices.
2017-06-22 16:17:13 +02:00
Mael Rouxel-Labbé d321616359 Cleaned off SVN remnants from SMP 2017-06-22 16:17:13 +02:00
Mael Rouxel-Labbé 9d2b07c463 Fixed some includes 2017-06-22 16:17:13 +02:00
Mael Rouxel-Labbé a795dbbdc8 Cleaned off graph_traits includes 2017-06-22 16:17:13 +02:00
Mael Rouxel-Labbé fceafebce9 Cleaned SMP's dependencies 2017-06-22 16:17:13 +02:00
Mael Rouxel-Labbé e653c524b6 Fixed missing include 2017-06-22 16:17:13 +02:00
Mael Rouxel-Labbé 90673d5193 Fixed example selection file 2017-06-22 16:17:13 +02:00
Mael Rouxel-Labbé f1ee94075f (Re-)added nefertiti.jpg 2017-06-22 16:17:13 +02:00
Mael Rouxel-Labbé a8f7e2cf50 Test data changes 2017-06-22 16:17:13 +02:00
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
Mael Rouxel-Labbé 922d072609 Added flip and non-valid parameterization tests
MVC post processor is only called in ARAP if the parameterization is no valid.
2017-06-22 16:14:55 +02:00
Andreas Fabri c3057850e9 Add example 2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé 6d47ef3735 Fixed the MVC post processor overzealously constraining all borders
As for the 'real' MVC parameterizer, only one border must be constrained.
2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé b8d7bd24c0 Fixed using ARAP's border parameterizer in the initial MVC parameterization 2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé 12344fd325 Fixed the brute force 'simpleness' test of the borders in the ARAP post processor 2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé a7da445497 The initial parameterization in ARAP_param now depends on the number of borders 2017-06-22 16:14:55 +02:00