Commit Graph

472 Commits

Author SHA1 Message Date
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 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 c60fad0095 use keep_connected_components in the implementation of keep_largest_connected_components 2015-07-13 07:43:50 +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 c82a3ef67d make warnings not popping in the testsuite 2015-07-06 18:32:24 +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 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 024f3ce752 remove unused variables to avoid warnings 2015-07-03 13:30:24 +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 6eacf37ba9 fix a warning in documentation
(unreported variables)
2015-07-02 15:49:25 +02:00
Andreas Fabri 76662ea2eb Add a file so that Mean_curvature_skeleton compiles with PMP 2015-07-02 11:22:19 +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
Andreas Fabri 9356e59af0 fix copyrght headers 2015-06-30 19:54:25 +02:00
Jane Tournois 2060a4e1ad remove \todo : done 2015-06-30 10:35:40 +02:00
Sébastien Loriot 1334ff32dd document another overload or reverse_face_orientations 2015-06-29 15:17:41 +02:00
Jane Tournois 00d289baee add doc about property maps to the reference manual 2015-06-29 14:10:58 +02:00
Jane Tournois 0a24bdbacd make code simpler by making use of named parameters 2015-06-29 11:07:00 +02:00
Jane Tournois 1d09b521d6 add function with no named parameters 2015-06-29 10:24:22 +02:00
Sébastien Loriot e1b4fee77f add the possibility to reverse the orientation of a subset of faces 2015-06-26 15:44:54 +02:00
Jane Tournois e2a996f551 implement function keep_connected_components
and add it to the tests
2015-06-25 16:29:18 +02:00
Sébastien Loriot 3711384bf2 a pmap should be lightweight 2015-06-25 14:35:17 +02:00
Sébastien Loriot 2381795ffb remove unused typedefs 2015-06-25 14:26:39 +02:00
Jane Tournois c137daae75 improve ref manual
Andreas' review
2015-06-25 12:01:38 +02:00
Jane Tournois c0df6e1aa9 fix compilation 2015-06-25 11:52:06 +02:00
Jane Tournois 32f0c9b37b rename Point_inside_polygon_mesh to Side_of_triangle_mesh
and document it
2015-06-25 11:51:45 +02:00
Jane Tournois 1a775ff8f9 add keep_connected_components (doc only) 2015-06-25 09:58:08 +02:00
Jane Tournois 5824f17caa remove useless comment 2015-06-23 14:58:25 +02:00
Jane Tournois 898b9b4609 fix a bug in triangulate_faces
on the border of the polygon mesh, we should not use Euler::make_hole,
because it is not designed to handle boundary cases.
This commit adds a local make_hole function to triangulate_faces.h
2015-06-23 10:36:51 +02:00
Jane Tournois 51a27cd4f1 reference manual 2015-06-22 17:33:20 +02:00
Jane Tournois 78f73d4542 reference manual made consistent with user manual 2015-06-22 17:25:07 +02:00
Jane Tournois c18f613c73 Merge branch 'Polygon_mesh_processing-GF' of github.com:CGAL/cgal-public-dev into Polygon_mesh_processing-GF 2015-06-22 17:17:43 +02:00
Jane Tournois 1dd9557df5 Pierre's review on reference manual 2015-06-22 17:17:11 +02:00
Jane Tournois cfce780d44 reference manual
implement Pierre's review
2015-06-22 15:04:29 +02:00
Sébastien Loriot f6a2479472 fix compilation issues with g++ 2015-06-22 11:23:31 +02:00
Sébastien Loriot 24c1d9686c qualify call to boost function 2015-06-22 11:23:31 +02:00
Jane Tournois 7977d10418 rename is_self_intersecting to does_self_intersect
for consistency with do_intersect
2015-06-22 11:17:43 +02:00
Jane Tournois 1872768720 fix documentation of fairing 2015-05-15 14:58:29 +02:00
Jane Tournois 5f38c74514 remove code that prevents the mesh from shrinking
it is a normal behavior that fairing applied to the whole mesh
makes it shrink to (0,0,0)
2015-05-15 14:50:46 +02:00
Jane Tournois fe94a19ba1 fix warnings 2015-05-15 14:26:00 +02:00
Jane Tournois 5f92aa2966 Merge remote-tracking branch 'cgal-dev/Polygon_mesh_processing-GF' into Polygon_mesh_processing_OpenMesh-GF 2015-05-15 14:19:33 +02:00
Jane Tournois 215f748466 avoid using add_vertex(pi, pmesh) that is not documented 2015-05-15 12:59:38 +02:00
Jane Tournois 53099dccae remove debugging code 2015-05-15 11:19:49 +02:00
Jane Tournois a59df329f6 remove debugging code 2015-05-15 11:17:29 +02:00
Sébastien Loriot dceb558e4f Merge branch 'Polygon_mesh_processing-GF' into Polygon_mesh_processing_OpenMesh-GF
Conflicts:
	Polygon_mesh_processing/examples/Polygon_mesh_processing/remove_degeneracies_example.cpp
2015-05-14 15:45:35 +02:00
Sébastien Loriot b27eedb52a the PolygonMesh is not const so must be the vertex point map 2015-05-14 15:38:42 +02:00
Sébastien Loriot 5cd9576ea0 add missing inline
the function is not template and will be defined in each compilation-unit
if not inlined
2015-05-14 15:38:08 +02:00
Sébastien Loriot b27f120a02 bug-fix: Compare_distance_3 returns an enum not a bool 2015-05-14 12:04:10 +02:00
Jane Tournois fdb98306ec add debugging code 2015-05-13 17:56:35 +02:00
Jane Tournois ce1316a94c fix debugging code 2015-05-13 17:55:55 +02:00
Jane Tournois 6c4785a29c On Polygon_mesh_processing_OpenMesh-GF: fairing pour openmesh 2015-05-13 16:10:21 +02:00
Jane Tournois 64291eceb0 Merge branch 'Polygon_mesh_processing_OpenMesh-GF' of github.com:CGAL/cgal-public-dev into Polygon_mesh_processing_OpenMesh-GF
Conflicts:
	Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/stitch_borders.h
2015-05-13 10:32:57 +02:00
Jane Tournois 664b712f83 fix compilation 2015-05-13 10:27:30 +02:00
Andreas Fabri 684890d415 make stitching work for OpenMesh 2015-05-12 17:49:39 +02:00
Jane Tournois c4e9b7412c Merge branch 'Polygon_mesh_processing_OpenMesh-GF' of github.com:CGAL/cgal-public-dev into Polygon_mesh_processing_OpenMesh-GF 2015-05-12 17:25:30 +02:00
Jane Tournois 905d6d5461 use user-given vertex point map in weights.h 2015-05-12 17:00:36 +02:00
Andreas Fabri 94183e696c WIP (does not compile yet) Add stitch borders OpenMesh example 2015-05-12 16:24:28 +02:00
Andreas Fabri 797e51ae62 pass vertex point pmap 2015-05-11 17:05:02 +02:00
Jane Tournois 1e4405823c fix 10% of the vertices still does not prevent from shrinking, but it's better 2015-05-05 17:31:22 +02:00
Jane Tournois e211747d51 fix extremal vertices when fairing is launched on the complete polygon mesh
this is not enough to prevent the mesh from shrinking, though fixed vertices
keep it from shrinking to a single point
2015-05-05 16:53:55 +02:00
Jane Tournois 0de4e59e47 stitch borders doc 2015-04-28 10:18:24 +02:00
Jane Tournois bc03c17492 update range type 2015-04-28 10:14:09 +02:00
Jane Tournois 8e3166fd6c update range documentation 2015-04-28 08:53:23 +02:00
Jane Tournois 5c3b5d9265 update doc for Range 2015-04-28 08:48:05 +02:00
Jane Tournois 47472fcdc7 use const ref 2015-04-28 08:46:43 +02:00
Jane Tournois 9598cdfaf2 update Range doc 2015-04-28 08:43:44 +02:00
Jane Tournois a5b8f4f218 use const ref 2015-04-28 08:42:07 +02:00
Jane Tournois cf5a48078d update doc to use CGAL::Range concept 2015-04-28 08:39:08 +02:00
Jane Tournois 8da159dbe3 use const ref everywhere for ranges
and add missing function refine() with no named parameters
2015-04-28 08:21:34 +02:00
Jane Tournois 7172b1dc64 remove todo : it's ok 2015-04-10 17:10:29 +02:00
Jane Tournois d7be8a84d5 remove todo
was concerning the case where we have more than 1 connected component
2015-04-10 17:03:47 +02:00
Jane Tournois 18ffd1bad0 Merge branch 'Polygon_mesh_processing-GF' of github.com:CGAL/cgal-dev into Polygon_mesh_processing-GF 2015-04-10 16:58:44 +02:00
Jane Tournois 6378a51191 move update of the status outside of the constructor 2015-04-10 16:58:18 +02:00
Sébastien Loriot 2430e91605 remove the template to avoid misunderstanding 2015-04-10 16:43:00 +02:00
Jane Tournois 7f6b725e93 use boost::none and cut too long lines 2015-04-10 15:42:11 +02:00
Jane Tournois 306767033b fix triangulate_faces
(had been broken since 5406cde0956f84f39890b97937f76b90b19eb494)
and clean a bit indentation
2015-04-10 12:33:44 +02:00
Jane Tournois 70f206ba9b fix compilation 2015-04-10 11:22:04 +02:00
Andreas Fabri d9b67fcb0d check that the halfedge is not a border halfedge 2015-04-09 14:30:47 +02:00
Sébastien Loriot 4e51cd89bb test is_border before using the face 2015-04-09 10:47:11 +02:00
Sébastien Loriot e0856dff1d update the procedure to remove null edge which collapse is topologically invalid
When removing a null edge which collapse is not topologically valid,
it might happen that the set of triangles incident to the endpoints
of the edge is not a topological disk. With this code we remove
parts that are "inside" the topological disk we target.
The heuristic used is to remove component that are the smallest,
counting the number of faces
2015-04-07 11:06:42 +02:00
Jane Tournois 94bc90f933 fix named parameter name 2015-04-03 16:57:40 +02:00
Sébastien Loriot a49df9e10b kernel -> geom_traits in the doc 2015-04-03 16:50:49 +02:00
Jane Tournois 15c809a49c (doc) triangulated surface mesh 2015-04-03 15:10:26 +02:00
Jane Tournois 2e038ca831 documentation : TriangleMesh is a "triangulated surface mesh" 2015-04-03 14:53:18 +02:00
Jane Tournois 01d32e4101 Merge branch 'Polygon_mesh_processing-GF' of github.com:CGAL/cgal-dev into Polygon_mesh_processing-GF 2015-04-03 14:05:48 +02:00
Jane Tournois a4dedeb691 documentation fixes 2015-04-03 14:05:22 +02:00