Commit Graph

706 Commits

Author SHA1 Message Date
Jane Tournois 4f58f5182e add debug code and fix constness 2015-07-15 16:02:28 +02:00
Jane Tournois 2dd3ae2407 fix remeshing of a patch WITH protection of constrained edges 2015-07-15 16:02:28 +02:00
Jane Tournois cfff71068d add options and draft to the remeshing test 2015-07-15 16:02:28 +02:00
Jane Tournois d56e54ec6f fix the edge collapse step
degenerate faces where responsible for some self intersections, so we remove
them after collapses and flips

the function that checks that no triangle gets inverted by a flip has also
been fixed
we had to check both the 1-ring of source(h) and target(h), even though those
vertices got the same coordinates
The common faces in their rings were degenerate, but their normals had all to
be checked for consistent orientation

also add more debugging code
2015-07-15 16:02:28 +02:00
Jane Tournois 891b426f82 new attempt to avoid self intersections 2015-07-15 16:02:27 +02:00
Jane Tournois 679e93b252 remove degenerate faces a posteriori 2015-07-15 16:02:27 +02:00
Jane Tournois 7543f35ff2 adapt code to PATCH_BORDER cases and add debugging code 2015-07-15 16:02:27 +02:00
Jane Tournois 97379e50b2 add null vector test (should not happen!) 2015-07-15 16:02:27 +02:00
Jane Tournois 0844e79b67 add code to read selection from input 2015-07-15 16:02:27 +02:00
Jane Tournois 6f667c7a24 reorganize 2015-07-15 16:02:27 +02:00
Jane Tournois 8b5902b038 add function to split long edges listed by the user
this changes the remesher internal API only
2015-07-15 16:02:27 +02:00
Jane Tournois 8d5312d263 reorganize test 2015-07-15 16:02:26 +02:00
Jane Tournois 117a24807d make tests simpler 2015-07-15 16:02:26 +02:00
Jane Tournois 67874c737d fix test when splitting of constraints is allowed 2015-07-15 16:02:26 +02:00
Jane Tournois 2b7bf24205 add documentation for protect_constraints 2015-07-15 16:02:26 +02:00
Jane Tournois 00cc96f968 add code to protect_constraints
edges tagged as constraints are not refined when protect_constraints is true
2015-07-15 16:02:26 +02:00
Jane Tournois ebeb1fdcaa edge_is_constrained_map does not need to be kept as a member
it is used only in the initialization, to fill the halfedge_status_map
2015-07-15 16:02:26 +02:00
Jane Tournois c460008f23 make test simpler (it is equivalent) 2015-07-15 16:02:26 +02:00
Jane Tournois f7204a0a99 add edge_is_constrained_map as a parameter for remeshing
this property map "tags" the edges that should be kept in the remeshed mesh.
They can be splitted or collapsed, but their vertices can't move with the
Laplacian, and they can't be flipped.

in the Polyhedron demo, this feature is integrated in order to remesh two
adjacent surface patches and keep the (possibly sharp) polyline that is
delimitating them
2015-07-15 16:02:26 +02:00
Jane Tournois c554466b80 fix default value 2015-07-15 16:02:25 +02:00
Jane Tournois caad50a628 documentation 2015-07-15 16:02:25 +02:00
Jane Tournois 7256746891 doc 2015-07-15 16:02:25 +02:00
Jane Tournois c41bc2250d start documentation for get_border and incremental_triangle_based_remeshing 2015-07-15 16:02:24 +02:00
Jane Tournois e6a7b5a0a3 use get and set to access vertex point map, instead of operator[] 2015-07-15 16:02:24 +02:00
Jane Tournois f958fe7d5d fix warning 2015-07-15 16:02:24 +02:00
Jane Tournois d34d47a6d5 Revert "detect sharp edges and surface patches"
This reverts commit 80b1363f1db4db8391398188bcb33427ffc69aac.
2015-07-15 16:02:23 +02:00
Jane Tournois 83957ed495 add code to the selection tool to be able to select a surface patch
for now it works only for facets and the checkbox is not used
2015-07-15 16:02:23 +02:00
Jane Tournois 9e8ad02f94 more in remeshing test 2015-07-15 16:02:23 +02:00
Jane Tournois 577e0f08f0 use macro and 17 digits in cout 2015-07-15 16:02:23 +02:00
Jane Tournois 54922319ff remove todo 2015-07-15 16:02:23 +02:00
Jane Tournois abc92fcc24 fix assertion code 2015-07-15 16:02:23 +02:00
Jane Tournois d7caded018 remove useless template qualifier 2015-07-15 16:02:23 +02:00
Jane Tournois c4496845e4 use const ref for FaceRange input 2015-07-15 16:02:23 +02:00
Jane Tournois 5e6a0e635d fix status updates (does not fix it all) 2015-07-15 16:02:22 +02:00
Jane Tournois 1797dab16d fix notations 2015-07-15 16:02:22 +02:00
Jane Tournois 940a92d69a fix get_border : return only halfedges that belong to `faces` 2015-07-15 16:02:22 +02:00
Jane Tournois 8b9bcefe22 remeshing of the patch
works when the patch describes the full mesh
otherwise, it enters an endless loop for now
2015-07-15 16:02:22 +02:00
Jane Tournois d2f18f8a3e fix compilation for Polyhedron_3 2015-07-15 16:02:22 +02:00
Jane Tournois 14979947a0 add isotropic remeshing plugin
note it does not compile yet because the remeshing code is not
fully compatible with Polyhedron_3
2015-07-15 16:02:22 +02:00
Jane Tournois f7820a6517 introduce API to mesh only a patch (does not implement anything yet) 2015-07-15 16:02:22 +02:00
Jane Tournois 0f1097c988 use compute_vertex_normals to compute normals only once per face
to keep deterministic and not depend on the order in which vertex locations
are relaxed, we compute all new locations first, and relocate them all
afterwise
2015-07-15 16:02:22 +02:00
Jane Tournois ebb5daa890 allow boundary edges to be collapsed 2015-07-15 16:02:21 +02:00
Jane Tournois 5c9891ed53 fix typos in comments 2015-07-15 16:02:21 +02:00
Jane Tournois d2b3146fec project_to_surface at the end of remeshing algorithm 2015-07-15 16:02:21 +02:00
Jane Tournois 8432018c76 add todo 2015-07-15 16:02:21 +02:00
Jane Tournois 1eb75ac3f2 perform tangential_relaxation 2015-07-15 16:02:21 +02:00
Jane Tournois e80a4adfaa increase the number of iterations in test 2015-07-15 16:02:21 +02:00
Jane Tournois 0c84e31f0b equalize_valences, by performing edge flips where it's allowed 2015-07-15 16:02:21 +02:00
Jane Tournois 9a2213082e add comments from PMP book, and output debug info (cout) 2015-07-15 16:02:21 +02:00
Jane Tournois 544a133b5e add comment 2015-07-15 16:02:21 +02:00
Jane Tournois d1b5737bd4 allow collapsing edges incident to boundary 2015-07-15 16:02:21 +02:00
Jane Tournois fc0b9bd51a add collapse short edges to remeshing
longest edges are split first
and shortest edges are collapsed first

todo : allow edges incident to boundary to be collapsed
2015-07-15 16:02:21 +02:00
Jane Tournois 79b5ba8553 first step : split_long_edges 2015-07-15 16:02:20 +02:00
Jane Tournois 598472d210 add framework for remeshing 2015-07-15 16:02:20 +02:00
Sébastien Loriot 017b4f501f use jpg instead of png
prepare for rebasing
2015-07-15 11:43:53 +02:00
Sébastien Loriot 0b34de5674 generate elephant with hole
prepare for rebasing
2015-07-15 11:27:53 +02:00
Sébastien Loriot 51839a0b84 remove data that can be generated
prepare for rebasing
2015-07-15 10:54:41 +02:00
Sébastien Loriot d35e1e5580 do not use a large gif file
prepare for rebasing
2015-07-15 10:30:51 +02:00
Sébastien Loriot a968e99279 do not use a large off file
prepare for rebasing
2015-07-15 10:08:57 +02:00
Sébastien Loriot 78542206ba add test for remove_degenerate_faces 2015-07-15 10:01:11 +02:00
Sébastien Loriot 1950bf0d7d update user manual for keep/remove_connected_components 2015-07-13 09:27:51 +02:00
Sébastien Loriot c60fad0095 use keep_connected_components in the implementation of keep_largest_connected_components 2015-07-13 07:43:50 +02:00
Sébastien Loriot 1fcc8937ab add todo 2015-07-13 07:14:30 +02:00
Sébastien Loriot 7d8fe2553d add remove_connected_components + overload for the keep version using cc ids 2015-07-13 07:08:45 +02:00
Sébastien Loriot 13263efa8c fix the test without Delaunay 2015-07-06 18:43:49 +02:00
Sébastien Loriot c82a3ef67d make warnings not popping in the testsuite 2015-07-06 18:32:24 +02:00
Sébastien Loriot f69cabe72c make tests more uniform 2015-07-06 18:32:09 +02:00
Sébastien Loriot de7482f998 CGAL_assertion -> assert 2015-07-06 16:52:59 +02:00
Sébastien Loriot 545fca57b7 improve test by checking the expected number of remaining holes 2015-07-06 16:49:00 +02:00
Sébastien Loriot a1e3c9787b Revert "we want to be able to test that without generating a warning"
This reverts commit cc24c0a89a43651ed11d1f87b233bf8db0d28c86.
2015-07-06 15:32:33 +02:00
Jane Tournois 270f4bbbcc we want to be able to test that without generating a warning
so let's transform into a std::cerr message
2015-07-03 17:04:49 +02:00
Jane Tournois 0c6340543c comment a bit of too verbose tests 2015-07-03 16:56:04 +02:00
Jane Tournois 1967235bbd fix return value to 0
this example was making all the testsuite line red...
2015-07-03 16:48:45 +02:00
Jane Tournois 275d24e103 add new line at end of file 2015-07-03 16:16:46 +02:00
Jane Tournois 6491a3e9c4 fix compilation for windows 2015-07-03 16:14:16 +02:00
Jane Tournois 12ccaeb3a5 rename type to avoid error on windows
Polyline conflicts with a type defined in
Program Files (x86)\Windows Kits\8.0\include\um\wingdi.h
2015-07-03 16:12:31 +02:00
Jane Tournois 433609093f add return statement 2015-07-03 16:07:45 +02:00
Jane Tournois f2f7aa6874 fix warnings about unused variables 2015-07-03 16:05:16 +02:00
Jane Tournois 6dedc9e451 add new line at end of file 2015-07-03 16:04:34 +02:00
Jane Tournois fbe442fcca remove empty constructor that causes an error
because it does not provide an initial value for pmesh_
2015-07-03 16:03:53 +02:00
Jane Tournois cf60dd41f1 fix unused variable warnings 2015-07-03 13:54:01 +02:00
Jane Tournois 4c54b2ec26 don't use typename outside of template 2015-07-03 13:46:17 +02:00
Jane Tournois 024f3ce752 remove unused variables to avoid warnings 2015-07-03 13:30:24 +02:00
Jane Tournois 4e8c149b9b fix compilation and remove useless assertions 2015-07-02 16:58:42 +02:00
Laurent Rineau 08dcd2ba6f Fix a warning on Linux
(cherry picked from commit 2cfdf907dd969b59590ec4cf798af4bfe61dcfb3)
2015-07-02 16:22:15 +02:00
Jane Tournois 01d0c2770b add return statement 2015-07-02 16:01:52 +02:00
Jane Tournois 6eacf37ba9 fix a warning in documentation
(unreported variables)
2015-07-02 15:49:25 +02:00
Jane Tournois fda787e284 add return statement 2015-07-02 15:38:59 +02:00
Jane Tournois c88a2e5a7f to get validity at level 5 after stitching a Polyhedron_3,
normalize_border should be called
this is mainly because nb_border_halfedges of the
underlying HDS gets undefined
2015-07-02 15:36:34 +02:00
Jane Tournois 0ba7215a5b add return statement 2015-07-02 14:44:30 +02:00
Jane Tournois 94e9d263c2 and end of file 2015-07-02 14:43:40 +02:00
Jane Tournois 6439294407 Merge branch 'Polygon_mesh_processing-GF' of github.com:CGAL/cgal-public-dev into Polygon_mesh_processing-GF 2015-07-02 11:49:30 +02:00
Jane Tournois 3623705fcf fix some tests 2015-07-02 11:48:59 +02:00
Andreas Fabri 76662ea2eb Add a file so that Mean_curvature_skeleton compiles with PMP 2015-07-02 11:22:19 +02:00
Laurent Rineau bb27094bea Remove a space that confuses the script
./Scripts/developer_scripts/detect_packages_licenses does not agree with
the spurious space at the end.
2015-07-01 18:04:59 +02:00
Andreas Fabri 8d86bebcaf Merge remote-tracking branch 'cgal-dev/Polygon_mesh_processing-GF' into Polygon_mesh_processing-GF 2015-07-01 17:25:13 +02:00
Andreas Fabri e072756d15 workaround to make the MCF Skeleton package compile with and without PMP 2015-07-01 15:54:29 +02:00
Andreas Fabri 20c1b1a1f6 Merge branch 'Polygon_mesh_processing-GF-old' into Polygon_mesh_processing-GF
Conflicts:
	BGL/include/CGAL/boost/graph/Euler_operations.h
	BGL/include/CGAL/boost/graph/iterator.h
	Documentation/doc/Documentation/Doxyfile.in
	Documentation/doc/Documentation/dependencies
	Polyhedron/demo/Polyhedron/Polyhedron_demo_point_inside_polyhedron_plugin.cpp
	Polyhedron/demo/Polyhedron/Scene_polygon_soup_item.cpp
	Polyhedron/demo/Polyhedron/Selection_widget.ui
2015-07-01 13:52:44 +02:00
Jane Tournois 49b2c90f3b rename normals test 2015-07-01 10:12:05 +02:00
Andreas Fabri 9356e59af0 fix copyrght headers 2015-06-30 19:54:25 +02:00