Commit Graph

707 Commits

Author SHA1 Message Date
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
Mael Rouxel-Labbé fcdc127a08 Fixed a function duplicated over different files 2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé 3644a91f82 Added a way to write uvmaps into OFF files 2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé 4a9f01685a Fixed not using the solver member in MVC_post_processing_3 2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé 30a7d7843f Updated Surface_mesh_parameterization's documentation 2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé e5dcc1c9a0 Properly factorized the Containers_filler internal class 2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé 7e7ff03831 Changed some comments 2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé e8d22d0f24 Some progress towards compilation of ARAP with a seam_mesh
Most of the issues come from the incomplete seam_mesh graph traits now.
2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé d978cc47c8 Added an example to test various configuration of mesh type and parameterizer 2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé 320e40d6c4 Fixed some return type in the MVC post processor 2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé 8afe8af986 Fixed choice of fixed vertices for different types of lambda
Not too sure about that change, but it (sort of) makes sense to only
fix one point when lambda !=0, it works, and looking -now- at the other
branch on ARAP, they had done the same.
2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé 95bc5f4b91 Changed some comments 2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé 8a1688e13f Fixed include directives 2017-06-22 16:14:55 +02:00
Sébastien Loriot 8ac36da8dd doc clean up 2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé b4c0784a67 Small changes to make ARAP work with a Surface_mesh
Note that this requires the boost hash maps of commit ec7aa45
2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé 23ac9a95c1 Fixed compilation of the ARAP paramaterizer
The location of Misc_conic.h was changed by the merge of master
2017-06-22 16:14:55 +02:00
Sébastien Loriot 8a8948ebed update doc 2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé 92496eacfc Split post processing functions away from ARAP parameterizer's class 2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé a83fecb3c7 Changed some comments 2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé 0f10528369 Added post processing that (attempts to) fix potential flips in the ARAP param 2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé 17e3477151 Changed some comments 2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé c73c0c904e Reworked the counter of the energy-minimizing loop 2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé e738fc6dac Added a macro to choose which vertices are fixed 2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé fd4e709c1b Added a way to compute 'a' using the algeabric kernel to solve the cubic eq 2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé 8cbd200250 Changed some comments 2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé 81cfaeb944 Fixed using the wrong coordinates in the RHS of the system and the energy
Global coordinates were used instead of UV coordinates...
2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé 18091ce6df Removed superfluous references to property maps 2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé 4388da9582 Added draft of the local/global mesh parameterization algorithm 2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé 688340cf50 Fixed a comment 2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé 65b2708daf Removed the superfluous uv_map from ContainersFiller 2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé c478443b3e Fixed const correctness 2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé 79490fd8b0 Cleaned code (indentation, whitespace, etc.) 2017-06-22 16:14:55 +02:00
Maxime Gimeno f9f000d1e5 Clean-up
- errors still remain :Surface_mesh_parameterize/next_bug and BGL/tests
2017-06-22 16:14:55 +02:00
Maxime Gimeno c403f3c688 Fix remaining bugs and add a "highlighting" of the current patch being projected. 2017-06-22 16:12:26 +02:00
Maxime Gimeno ee8f7d0dff Fix the LSCM Parameterizer 2017-06-22 16:12:26 +02:00
Maxime Gimeno fd8336ecf8 Implementation of the seaming. 2017-06-22 16:12:26 +02:00
Maxime Gimeno 407bb3e675 Restore Parameterization_plugin with the BGL API. 2017-06-22 16:12:26 +02:00
Andreas Fabri 88b81378ce WIP 2017-06-22 16:12:26 +02:00
Andreas Fabri 63a5c1fd0b still WIP 2017-06-22 16:12:26 +02:00
Andreas Fabri c03ca8fb63 broken code, as I ask Sebastien to find the compile timer error 2017-06-22 16:12:26 +02:00
Andreas Fabri f6f52e01b0 cleanup and fix of Simple_parameterization.cpp 2017-06-22 16:12:26 +02:00
Maxime Gimeno 63abf210c9 WIP parameterization_plugin + fixes for parameterization files. 2017-06-22 16:12:26 +02:00
Andreas Fabri f7b826125b Add the possibility to pass the two vertices that are selected 2017-06-22 16:12:26 +02:00
Andreas Fabri 92be8f478d Add lscm.cpp 2017-06-22 16:12:26 +02:00
Andreas Fabri 45e19be366 Use property maps to store seam edges and vertices 2017-06-22 16:12:26 +02:00
Andreas Fabri 902ff15f87 fix target(halfedge, Seam_mesh) for when the halfedge is on the border of a seam edge 2017-06-22 16:12:26 +02:00
Andreas Fabri d4bdc3a8f9 WIP doc 2017-06-22 16:12:26 +02:00
Andreas Fabri 9cc84e828c Add an initial User Manual section for Seam_mesh 2017-06-22 16:12:26 +02:00
Andreas Fabri a348af1d61 WIP on doc 2017-06-22 16:11:38 +02:00
Andreas Fabri 162759ca87 polish 2017-06-22 16:11:38 +02:00
Andreas Fabri ac11cf8032 deal correctly with a patch 2017-06-22 16:11:38 +02:00
Andreas Fabri 36530e3f98 polish 2017-06-22 16:11:38 +02:00
Andreas Fabri befec4c3c9 remove .cmd files 2017-06-22 16:11:38 +02:00
Andreas Fabri eda683816d Add three different seams sets for lion.off 2017-06-22 16:11:38 +02:00
Andreas Fabri b11385455f Fix target(Seam_msh) 2017-06-22 16:11:38 +02:00
Andreas Fabri 82f2a2b4ca WIP 2017-06-22 16:11:38 +02:00
Andreas Fabri 5a23256c13 wip 2017-06-22 16:11:38 +02:00
Andreas Fabri f0f6575c76 WIP on the doc 2017-06-22 16:11:38 +02:00
Andreas Fabri afc6476992 start rewriting the doc 2017-06-22 16:11:38 +02:00
Andreas Fabri fa68850338 Use Vertex_around_target_circulator again 2017-06-22 16:11:38 +02:00
Andreas Fabri 869dfbb1e9 finally it works with a Seam_mesh 2017-06-22 16:11:38 +02:00
Andreas Fabri a6a62bc4f6 index vertices inside parameterize() 2017-06-22 16:11:38 +02:00
Andreas Fabri b7c5d49689 clean Simple_parameterization.cpp 2017-06-22 16:11:38 +02:00
Andreas Fabri 7997925bf8 Add a function longest_border(PolygonMesh&) to PMP 2017-06-22 16:11:38 +02:00
Andreas Fabri b077704d04 rename template parameter; remove files related to the mesh_patch class 2017-06-22 16:11:38 +02:00
Andreas Fabri 46ed3edf92 LSCM seems to work too 2017-06-22 16:11:38 +02:00
Andreas Fabri 6dc52b4166 port two parametrisation classes 2017-06-22 16:11:38 +02:00
Andreas Fabri 7901186856 remove Taucs support 2017-06-22 16:11:38 +02:00
Andreas Fabri 92a463bdcc split constructor of Seam_mesh in two functions 2017-06-22 16:11:38 +02:00
Andreas Fabri 99a3b99283 make connecteced_component work for Seam_mesh 2017-06-22 16:11:38 +02:00
Andreas Fabri 4a2344f0cc discrete authalic now works for Surface_mesh and for a Seam_mesh 2017-06-22 16:11:38 +02:00
Andreas Fabri e1089a9168 WIP: Add vertex_descriptor which is a kind of canonical halfede_descriptor 2017-06-22 16:11:38 +02:00
Andreas Fabri 1164cb14bf Discrete Authalic parametrisation now works for a Seam_mesh with borders and seams 2017-06-22 16:11:38 +02:00
Andreas Fabri b7cdb47463 WIP - lets get it working with the Seam_graph next 2017-06-22 16:11:38 +02:00
Andreas Fabri c746425f8c Authalic parametrization works with a Surface_mesh with border 2017-06-22 16:11:38 +02:00
Andreas Fabri 3d6b3ca909 fix 2017-06-22 16:11:38 +02:00
Andreas Fabri 4bd2f363d0 simplify code 2017-06-22 16:11:38 +02:00
Andreas Fabri 675a15c63e add modified lion (holes at eye and mouth) 2017-06-22 16:11:38 +02:00
Andreas Fabri b237249d0b deal with seam tree. so far seam must not touch the border 2017-06-22 16:11:38 +02:00
Andreas Fabri e90fbb9867 it seems to work with seams. need visual output next to inspect it 2017-06-22 16:11:38 +02:00
Andreas Fabri 5327c116fe Add a tool to construct a seam polyline connecting two points 2017-06-22 16:11:38 +02:00
Andreas Fabri 871b831992 use halfedge and not vertex circulator 2017-06-22 16:11:38 +02:00
Andreas Fabri 37a32d6727 WIP 2017-06-22 16:11:38 +02:00
Andreas Fabri a09df5d2d2 simplify code 2017-06-22 16:11:38 +02:00
Andreas Fabri 9699e99162 make square border parameterizer work 2017-06-22 16:11:38 +02:00
Andreas Fabri d77bb6c242 make all parametrization methods work 2017-06-22 16:11:38 +02:00
Andreas Fabri f664cb4268 get it working for Surface_mesh 2017-06-22 16:11:38 +02:00
Andreas Fabri cb9f0aa21d fixes so that LSCM works as well 2017-06-22 16:11:38 +02:00
Andreas Fabri 3350d2871c simplify the border (will become complicated again later, but different) 2017-06-22 16:11:38 +02:00
Andreas Fabri 59dd85f56d simplify the border (will become complicated again later, but different) 2017-06-22 16:11:38 +02:00
Andreas Fabri 6399e49be0 use a property map for the uv values 2017-06-22 16:11:38 +02:00
Andreas Fabri 511add25fa introduce index property maps 2017-06-22 16:11:38 +02:00
Andreas Fabri 67964f22b4 output a 2D OFF file to visualize the result 2017-06-22 16:11:38 +02:00
Andreas Fabri 8721b58b1a towards a BGL API -- still a long way to go :< 2017-06-22 16:11:38 +02:00
Sébastien Loriot 50510c05ea add include directive for license of all GPL header files
done using:
ack-grep "^GPL" */package_info/*/license.txt -l | awk -F "/" '{print $1}' > /tmp/gpl_packages
for i in `cat /tmp/gpl_packages | \
          grep -v Operations_on_polyhedra | \
          grep -v Algebraic_kernel_for_circles | \
          grep -v Algebraic_kernel_for_spheres | \
          grep -v Polyhedron_IO`;
do
  echo $i
  python Scripts/developer_scripts/add_license_in_pkg_header.py $i
done
python Scripts/developer_scripts/add_license_in_pkg_header.py Operations_on_polyhedra Polygon_mesh_processing
python Scripts/developer_scripts/add_license_in_pkg_header.py Algebraic_kernel_for_circles Circular_kernel_2
python Scripts/developer_scripts/add_license_in_pkg_header.py Algebraic_kernel_for_spheres Circular_kernel_3
python Scripts/developer_scripts/add_license_in_pkg_header.py Polyhedron_IO Polyhedron
2017-01-19 15:20:25 +01:00
Maxime Gimeno a01593e0bb Unify the links to the Polyhedron demo in the package descriptions. 2017-01-10 14:56:52 +01:00
Andreas Fabri 8bf639ab94 static -> CGAL_STATIC_THREAD_LOCAL_VARIABLE 2016-12-01 16:23:46 +01:00
Sébastien Loriot 7e2ee496de update project name of cmake scripts of tests 2016-09-08 00:26:37 +02:00
Sébastien Loriot 6b338eeb1f improve the name of projects in cmake scripts of examples 2016-09-08 00:02:55 +02:00
Sébastien Loriot 881e4d3199 request Core only in examples, tests and demos when really needed 2016-03-07 22:36:57 +01:00
Andreas Fabri 8f796bb4b6 missed one 2016-02-17 16:41:05 +01:00
Andreas Fabri 51920f6b86 Unify chapter names 2016-02-17 16:35:48 +01:00
Philipp Möller 0a04a3a48f Use CGAL_DOC_VERSION 2016-02-11 15:37:54 +01:00
Sebastien Loriot e0e22a4b9e Merge pull request #711 from afabri/Parameterization-clean_CmakeLists-GF
No need for -fno-strict-aliasing
2016-02-03 09:35:11 +01:00
Andreas Fabri e26f25829a No need for -fno-strict-aliasing 2016-02-02 12:38:54 +01:00
Andreas Fabri 2cff1012de only use it if it is available 2016-01-26 17:42:35 +01:00
Andreas Fabri 4b8944e5b2 Replace #ifdef CGAL_USE_BOOST_PROGRAM_OPTIONS with #ifndef DONT_USE_BOOST_PROGRAM_OPTIONS 2016-01-26 17:16:02 +01:00
Sébastien Loriot e64ae35a6e Merge pull request #542 from bo0ts/Documentation-release_build2-pmoeller
Allow to build the documentation in a release
2016-01-07 09:21:46 +01:00
Philipp Möller 71b4e9c515 Use CGAL_FULL_VERSION in all Doxyfile.in 2015-12-17 16:33:28 +01:00
Simon Giraudot da9422e77b Warning fix: variable may be used uninitialized 2015-12-17 10:54:36 +01:00