Commit Graph

1954 Commits

Author SHA1 Message Date
Maxime Gimeno cc44c571e5 Shorten the code lines. 2016-12-29 07:20:22 +01:00
Maxime Gimeno 3fca4399c6 Add examples and keep fixing the doc 2016-12-29 07:20:22 +01:00
Maxime Gimeno cbf7e6b722 Doc and test fix. 2016-12-29 07:20:21 +01:00
Sébastien Loriot 81b11ee2d5 Bug-fix: accept range of points as input and not only vectors 2016-12-29 07:20:21 +01:00
Maxime Gimeno 0c3edf822c Add tests for misisng documented functions. 2016-12-29 07:20:21 +01:00
Maxime Gimeno a4127d74c1 Add distance computation to poisson_reconstruction's example. 2016-12-29 07:20:21 +01:00
Maxime Gimeno 6cf0504f95 Fixes and clean-up : first part. 2016-12-29 07:20:21 +01:00
Maxime Gimeno 3cedefa08e Update the doc. 2016-12-29 07:20:21 +01:00
Maxime Gimeno 9e767fd16f Fix and clean-up 2016-12-29 07:20:21 +01:00
Maxime Gimeno 6858d65e5d Update and fix
Parallelize the plugin if TBB is linked with CGAL and fix the parallelized code in distance.h.
2016-12-29 07:20:21 +01:00
Maxime Gimeno a232a257ca Implementation of the `max_distance_to_point_set()` function. 2016-12-29 07:20:21 +01:00
Maxime Gimeno 033adb29f1 Update the demo and fix the code for Polyhedron. 2016-12-29 07:20:20 +01:00
Maxime Gimeno 542efa95d7 Implement the NamedParameters functions and use the property maps. 2016-12-29 07:20:20 +01:00
Maxime Gimeno c9ec5a224e Remove useless sampling. 2016-12-29 07:20:20 +01:00
Maxime Gimeno f742ad250e Fix for use with Polyhedron
- Polyhedron does not have a halfedge_around_face_descriptor, thus it does not respect the BGL doc and we must use a regular halfedge_descriptor instead.
2016-12-29 07:20:20 +01:00
Maxime Gimeno 39e7b76902 WIP 2016-12-29 07:20:19 +01:00
Maxime Gimeno 0f13cde758 Implementation:
- cherry-pick Random_generator
- implement hausdorff distance functions
- implement sample_triangle_mesh
2016-12-29 07:20:19 +01:00
Maxime Gimeno 62e78f34e5 WIP 2016-12-29 07:20:19 +01:00
Maxime Gimeno c4a6da2f8b Transform the overloads to use Surface_mesh instead of triangle meshes. 2016-12-29 07:20:19 +01:00
Maxime Gimeno c5a17ce354 Change `approximated_Hausdorff_distance()` to use a Surface_mesh instead of a triangle range. 2016-12-29 07:20:19 +01:00
Sébastien Loriot 2577fd912e WIP to add Hausdorff distance to a mesh 2016-12-29 07:20:19 +01:00
Sébastien Loriot 9dbaf36646 put function is correct group 2016-12-26 08:33:43 +01:00
Sébastien Loriot 6b72ab2a6e remove a too strict check that eliminate all operations in case of edge tangency 2016-12-22 16:17:02 +01:00
Sébastien Loriot 39fe7c2936 handle the import of border halfedge 2016-12-22 16:11:21 +01:00
Sébastien Loriot d18e9b2e85 fix typo 2016-12-22 10:25:08 +01:00
Sébastien Loriot 72119d08c8 add an internal function to collect degenerate faces 2016-12-22 09:23:53 +01:00
Sébastien Loriot 98862227be make it work with Polyhedron
the indices of the faces are initialized now if the face index map is writable
2016-12-19 16:49:51 +01:00
Sébastien Loriot a7ee97a92c remove unused variable 2016-12-15 17:34:21 +01:00
Andreas Fabri 2ed5bfd9cd Construct exact points only once, and the normal of the plane directly from three points 2016-12-14 09:23:35 +01:00
Sébastien Loriot e70f7db943 fix assertion 2016-12-14 08:29:30 +01:00
Sébastien Loriot 3282ed2847 Skip an orientation test for inserting the third point
since we already know the orientation of the input points we can skip it
2016-12-14 08:25:48 +01:00
Sébastien Loriot c679453100 remove a test that is always true 2016-12-13 18:30:19 +01:00
Sébastien Loriot 1a14d26a86 optimize the triangulation of faces
- insert the 3 first points outside of the affine hull (no check of equality)
- insert points on edges using locate type to avoid orientation tests
  of collinear points
2016-12-13 17:10:50 +01:00
Sébastien Loriot a83e23611a fix typo 2016-12-13 16:16:52 +01:00
Sébastien Loriot 55c3e1ad61 avoid using a std::set and a std::vector for container storing at most 2 elements
Thanks @afabri
2016-12-12 22:29:05 +01:00
Sébastien Loriot 12fea568f0 using a vector instead of a set 2016-12-12 21:44:07 +01:00
Andreas Fabri 1607ccb411 Fix VC2015 warning 2016-12-12 13:15:19 +01:00
Sébastien Loriot 478e5283cd qualify function calls with boost namespace 2016-12-12 12:54:44 +01:00
Sébastien Loriot 6c7bee5d0a fix conversion warnings 2016-12-09 14:14:08 +01:00
Sébastien Loriot fac4a6add5 fix the report of polyline in the visitor
the 2 first nodes were always  reported twice
2016-12-09 13:36:55 +01:00
Sébastien Loriot 804f878556 fix warnings 2016-12-08 15:22:04 +01:00
Sébastien Loriot ac2faf9fe1 fix doc 2016-12-05 18:28:29 +01:00
Andreas Fabri 10bd9897f3 Compare with 0 in order to avoid a warning 2016-12-05 17:18:11 +01:00
Sébastien Loriot c3e1309181 update from master branch 2016-12-05 14:37:29 +01:00
Sébastien Loriot 845317a9fb fix doc and remove todo done 2016-12-05 14:32:19 +01:00
Sébastien Loriot f83a620087 fix warnings 2016-12-05 14:09:04 +01:00
Laurent Rineau 49ffa5ed81 Merge pull request #1730 from MaelRL/PMP-Fix_border_halfedges_compilation
Fixed a compilation issue in PMP's border_halfedges()
2016-12-05 11:49:54 +01:00
Sébastien Loriot 56b8908dac remove a todo
if we unmark intersection edge inside a coplanar patch, we will have something
not consistant with what is done is corefine(). For now I keep it like this
2016-12-05 11:12:47 +01:00
Sébastien Loriot fb68b3a6c2 add implementation of does_bound_a_volume + test 2016-12-05 11:06:13 +01:00
Sébastien Loriot 7b727ea7cf expose the internal AABB-tree class
that was a bug as the constructor taking an AABB-tree could
not be used otherwise
2016-12-02 16:11:48 +01:00
Sébastien Loriot 3dc7076b79 add an function to check inward orientation when extreme vertex is known 2016-12-02 16:10:29 +01:00
Sébastien Loriot 6bc8caac43 use safer property choosing mechanism 2016-12-02 11:35:18 +01:00
Laurent Rineau a80fc35561 Merge pull request #1696 from MaelRL/PMP-Fix_border_halfedges
Fixed an implementation of PMP's border_halfedges()
2016-12-02 11:35:07 +01:00
Laurent Rineau 78ae3414e4 Merge pull request #1693 from janetournois/PMP-fixes_for_isotropic_remeshing_4.9-jtournois
PMP : fixes for isotropic remeshing
2016-12-02 11:34:51 +01:00
Laurent Rineau 9bb29f0c75 Merge pull request #1628 from MaelRL/PMP-Fix_self_intersections
Fixed self intersection tests
2016-12-02 11:34:38 +01:00
Laurent Rineau e559968307 Merge pull request #1682 from sloriot/PMP-use_readable_pmap_api
Use readable property map API
2016-12-02 11:33:54 +01:00
Sébastien Loriot 46cdd7f7dc add testsuite for corefine 2016-12-02 08:43:25 +01:00
Sébastien Loriot 820ebd8eee fix warnings and ambiguity of copy_edge_mark 2016-12-01 15:16:57 +01:00
Sébastien Loriot 834869c533 add a convenience overload 2016-12-01 15:16:57 +01:00
Mael Rouxel-Labbé bfbba26124 Fixed a compilation issue in PMP's border_halfedges()
Previous code did not compile if a face index map was not given
in named parameters, nor as an internal property map
2016-12-01 12:04:12 +01:00
Sébastien Loriot 853c156c10 Handle transfer of marks from input to output 2016-11-30 14:18:42 +01:00
Sébastien Loriot 2671c4c922 bugfix: use the backuped face as the patch border halfedge was set on-border 2016-11-30 14:18:00 +01:00
Sébastien Loriot 812bc885d5 add function that I forgot to port 2016-11-30 10:29:28 +01:00
Sébastien Loriot bc719ad192 fix copy-paste error 2016-11-23 15:52:50 +01:00
Sébastien Loriot 6db2bff67b handle call to corefinement functions with identical meshes 2016-11-23 15:48:00 +01:00
Sébastien Loriot 3f316c9596 fix warnings and add missing include directive 2016-11-23 14:35:55 +01:00
Jane Tournois e5dcef0528 deal with surface patch indices during collapse
for checking that faces do not get inverted
2016-11-21 17:55:25 +01:00
Jane Tournois 5a2eaa96a0 use Patch_id(-1) as invalid patch id 2016-11-21 17:46:22 +01:00
Jane Tournois 0b4ecf6531 is_corner should return true for a dart 2016-11-21 14:51:08 +01:00
Jane Tournois c28dc6f210 avoid conversion warning 2016-11-21 14:47:46 +01:00
Jane Tournois 8f8ccc3c39 fix the case where patch2 was not met yet 2016-11-18 17:44:10 +01:00
Jane Tournois f1cb55bf80 deal with boundaries by skipping null_face 2016-11-17 16:29:03 +01:00
Mael Rouxel-Labbé 92b4a49e38 Documentation changes for PMP's border_halfedges() 2016-11-17 14:17:26 +01:00
Jane Tournois fb1af78ab5 check orientation of faces surface patch per surface patch 2016-11-17 11:45:17 +01:00
Mael Rouxel-Labbé 0851d2b4e8 Fixed an implementation of PMP's border_halfedges() returning interior edges
and the corresponding documentation.
2016-11-16 11:22:35 +01:00
Jane Tournois b29c578d19 fix the boundary case
once the no-inversion test has been performed, check that we don't have
a boundary problematic case
It would require to reswap, and break the border of the patch to be remeshed
2016-11-15 17:18:13 +01:00
Jane Tournois e4f9f9fea7 check that relaxation does not produce an inverted face
it can happen close to the boundary, where things are naturally
more constrained
2016-11-15 17:17:53 +01:00
Jane Tournois 2e6d55f813 remove a todo 2016-11-15 17:17:32 +01:00
Jane Tournois 7be46604ec fix collapse step
the inverse orientation test should also be performed on the border
2016-11-15 17:17:16 +01:00
Jane Tournois e8adc69337 rename function to improve code readability 2016-11-15 17:17:04 +01:00
Jane Tournois 33ef17760f avoid collapsing an isolated constrained edge in the "middle" of a patch 2016-11-15 17:16:39 +01:00
Sébastien Loriot f128addaca fix order of the parameters 2016-11-13 19:54:13 +01:00
Sébastien Loriot 5ec738fcd8 qualify a call to choose_param 2016-11-13 19:53:46 +01:00
Sébastien Loriot b34d8cd6b8 use readable property map API
operator[]() is only required in Lvalue property map
2016-11-11 10:04:35 +01:00
Sébastien Loriot 478a40c9aa add an undocumented function to remove border edges
this works even if it does not satisfy the link condition
2016-11-10 18:52:20 +01:00
Sébastien Loriot 1501b4400c int -> std::size_t for node ids 2016-11-10 14:38:10 +01:00
Sébastien Loriot d7c6d30def directly use the halfedge used to create the points 2016-11-10 14:27:10 +01:00
Sébastien Loriot 48fa75f829 the halfedges reported for intersection on a vertex or an edge was incorrect
copy-paste error...
2016-11-10 14:22:22 +01:00
Sébastien Loriot 167c52b00d add todos, assertions and comments 2016-11-10 09:45:19 +01:00
Sébastien Loriot f68a2a4dff edges are not sorted and do not appear twice: do not skip them using indices 2016-11-10 09:41:18 +01:00
Sébastien Loriot ddaf6cd90b avoid reporting several time the same node per edge and face
This happens only in the case of coplanar triangles and can
be avoided by only reporting the node when it is first
created
2016-11-10 09:23:02 +01:00
Sébastien Loriot 918b71339f bugfix: copy-paste error, wrong mesh 2016-11-04 09:55:56 +01:00
Sébastien Loriot 1ed98a7d9a simply the detection of coplanar faces
coplanar faces are made of 3 intersection edges and each of its vertex
has a node-id != -1
2016-11-03 14:31:20 +01:00
Sébastien Loriot cab2634387 bug fix in the detection of intersection edges in the middle of a coplanar patch
do not remove the edges from the intersection map while we are still using them
2016-11-03 14:18:12 +01:00
Sébastien Loriot 8c8a62b7e0 Correctly handle tangencies of input model
this handle the case of identical models (even differently meshed)
and model that are tangent only at vertices

(backport from Operations_on_polyhedra)
2016-11-03 10:41:00 +01:00
Mael Rouxel-Labbé 8c7e45b2eb Fixed missing include in self_intersections.h 2016-10-31 15:24:33 +01:00
Mael Rouxel-Labbé 3591b39d33 Fixed self intersection tests
Adjacent faces that were coplanar and overlapping were not being detected
2016-10-28 14:25:16 +02:00
Laurent Rineau d37c400fc9 Merge pull request #1606 from sloriot/PMP-make_border_test_safer
Make a test safer
2016-10-26 14:39:19 +02:00
Jane Tournois 2d72090cba this internal property map is not needed anymore 2016-10-25 17:14:57 +02:00
Sébastien Loriot 9d5e675c61 add missing include directive 2016-10-24 14:50:48 +02:00
Laurent Rineau 24b7757282 Merge pull request #1517 from sloriot/PMP-more_bbox_3_overloads
More bbox 3 overloads for face graph models
2016-10-24 11:47:13 +02:00
Sébastien Loriot e075757f18 remove assertion always true to avoid a warning 2016-10-21 18:04:30 +02:00
Mael Rouxel-Labbé f27fa0d0e8 Add missing include directive 2016-10-21 17:58:11 +02:00
Sébastien Loriot c2d5b501ed make a test safer 2016-10-21 17:36:41 +02:00
Sébastien Loriot 1bdede2bcd fix warning 2016-10-20 18:04:11 +02:00
Sébastien Loriot f4d67dd4af Refresh branch from master 2016-10-19 14:27:08 +02:00
Sébastien Loriot f9ecd715b5 Revert "rename functions computing simplex bbox to bbox_3"
This reverts commit 357f261231.

The names have to be different otherwise for models of FaceGraph
have face, vertex and edge descriptors being pure integer the
overloads will be ambiguous
2016-10-19 14:14:09 +02:00
Sébastien Loriot eceb0a8b11 add doc for self-intersection tests restricted to a set of faces
also add an overload without named parameters
2016-10-19 13:57:23 +02:00
Andreas Fabri 423242be31 dihedral_angle() -> approximate_dihedral_angle() 2016-10-11 15:35:20 +02:00
Laurent Rineau 223c1cf5a4 Merge pull request #1530 from lrineau/Installation-compute_dependencies-GF
Compute and fix packages dependencies
2016-10-05 13:11:04 +02:00
Laurent Rineau a2f14458f9 Merge pull request #1505 from sloriot/PMP-fix_empty_range_remeshing_bug
Fix a bug in isotropic remeshing when the range is empty
2016-10-05 13:02:27 +02:00
Sébastien Loriot f27bb9168c use latest way to get the vertex point map 2016-09-30 16:00:41 +02:00
Sébastien Loriot 6713621ae3 Update branch with master 2016-09-30 15:43:06 +02:00
Laurent Rineau 6eb6c57401 sync with master 2016-09-30 15:24:02 +02:00
Andreas Fabri c58582b5ec Add global function dihedral_angle() 2016-09-30 15:23:15 +02:00
Andreas Fabri cb4931f1e4 Fix package Polygon_mesh_processing: include headers 2016-09-30 15:23:14 +02:00
Sébastien Loriot d95b3fb00e remove_isolated_vertices was no longer documented due to a missing \endcond 2016-09-30 10:11:01 +02:00
Sébastien Loriot 357f261231 rename functions computing simplex bbox to bbox_3
overloads are possible thanks to a specialization of graph_traits
for named parameter being empty.
That way, the compiler do not try to instantiate the one from boost,
which was looking for vertex_descriptor and edge_descriptor in the
name parameters.
2016-09-30 10:04:12 +02:00
Sébastien Loriot 2398d2612a remove TODOs 2016-09-29 17:19:44 +02:00
Sébastien Loriot 896ae54bdd update the text for named parameters 2016-09-29 17:11:46 +02:00
Sébastien Loriot efa9b9bac4 rename boolean operation functions
The change of names comes from the fact the the constness of input meshes
cannot be guaranteed without having different type of input and output
meshes
2016-09-29 15:25:43 +02:00
Sébastien Loriot 69d790acbe use Construct_bbox_3 from a geom_traits to compute the bbox 2016-09-29 14:58:21 +02:00
Sébastien Loriot ce13630917 rename overload as there are some ambiguities that cannot be overcame 2016-09-29 14:09:50 +02:00
Sébastien Loriot 5143325085 add function to get the bounding box of a vertex, an edge, or a face 2016-09-29 14:09:46 +02:00
Sébastien Loriot 35c2d8dc52 mark intersection edges in output models (in-place cases) using output pmap 2016-09-29 10:40:43 +02:00
Sébastien Loriot d9e91e4fa4 set null_face as face of newly created edges
depending of the type of input, it might be reusing some old
attributes (like Surface_mesh for example)
2016-09-29 10:21:05 +02:00
Sébastien Loriot 8a000baa12 rename functions to disambiguate the call to put/get free functions 2016-09-29 10:20:21 +02:00
Sébastien Loriot 3abb3efd67 fix a typo leading to a bug 2016-09-29 10:18:35 +02:00
Laurent Rineau a3b065175b Merge pull request #1332 from janetournois/PMP-about_internal_pmaps-jtournois
BGL : detect internal property maps, and use it in PMP isotropic remeshing
2016-09-28 18:01:13 +02:00
Laurent Rineau b085f1e7a0 Merge pull request #1442 from sloriot/Polyhedron_demo-add_remove_self_intersections
Add an action to remove self-intersections in a mesh
2016-09-28 18:00:41 +02:00
Sébastien Loriot 46b0abbb3b do nothing if the face range is empty 2016-09-28 13:56:22 +02:00
Sébastien Loriot 5de5315ef5 vertex point map must be default constructible 2016-09-27 17:32:12 +02:00
Sébastien Loriot 6488a8a172 fix warnings 2016-09-27 17:31:38 +02:00
Sébastien Loriot 37f760383d fix template paramaters 2016-09-27 17:30:54 +02:00
Sébastien Loriot 4316b82952 fix warning 2016-09-27 17:28:44 +02:00
Sébastien Loriot 2eb6e14db4 fix typos 2016-09-27 17:27:50 +02:00
Sébastien Loriot de9580e17d add missing include and fix warnings 2016-09-27 17:27:03 +02:00
Sébastien Loriot 90b518113d add a function to generate a default named parameters from an existing one
this is more a syntactic sugar to make clear in the code that something
is not meant to be used
2016-09-27 17:19:00 +02:00
Sébastien Loriot 3b573238b3 copy-paste error 2016-09-27 11:01:55 +02:00
Sébastien Loriot e63b67a9ad Get the default kernel from the property map given instead of the default one 2016-09-27 10:55:48 +02:00
Sébastien Loriot 27b011789c avoid a warning in release mode 2016-09-26 09:19:49 +02:00
Laurent Rineau 119763e168 Merge pull request #1474 from janetournois/PMP-isotropic_remeshing_fix_doc-jtournois
(From a merge of branch 'cgal/releases/CGAL-4.9-branch')
2016-09-23 17:02:56 +02:00
Laurent Rineau 45d87bb333 Merge pull request #1439 from janetournois/PMP-remove_useless_includes-GF
PMP : remove useless includes
2016-09-23 16:51:12 +02:00
Jane Tournois a646158eb0 update doc 2016-09-22 12:10:06 +02:00
Jane Tournois 23d5411e60 remove more useless choose_const_pmap 2016-09-22 12:10:06 +02:00
Jane Tournois 97a534fd8b don't attemp to get the vertex_point map of PMesh when it does not exist 2016-09-22 12:10:06 +02:00
Jane Tournois 064a3510b2 remove useless using boost::choose_pmap and boost::choose_const_pmap 2016-09-22 12:10:06 +02:00
Jane Tournois ef85908fe1 use get_property_map and get_const_property_map everywhere in PMP 2016-09-22 12:10:06 +02:00
Jane Tournois 76e6333a18 fix the use of const_type 2016-09-22 12:10:06 +02:00
Jane Tournois fc58055ec3 use get_const_property_map 2016-09-22 12:10:06 +02:00
Jane Tournois 1aac56ca61 add const_type, and get_const_pmap 2016-09-22 12:10:06 +02:00
Jane Tournois c234af207e fix unused parameter warning 2016-09-22 12:10:06 +02:00
Jane Tournois 756eac95d3 fix compilation error 2016-09-22 12:10:06 +02:00
Jane Tournois 6d9e974bab add documentation 2016-09-22 12:10:06 +02:00
Jane Tournois 047be1346c add the use of face_index_map wherever it's needed
remeshing_test now crashes, don't know why yet
2016-09-22 12:05:51 +02:00
Jane Tournois d50cbf4930 use get_property_map for face_index_map
in isotropic_remeshing and border_halfedges
2016-09-22 12:05:51 +02:00
Jane Tournois 7e1fab420a add get_property_map to get either the internal pmap or cgal_no_property 2016-09-22 12:05:51 +02:00
Jane Tournois d03077abda iterator type of FaceRange should be multi-pass, so ForwardIterator 2016-09-20 15:03:13 +02:00
Sébastien Loriot 6aec9dbc8c fix typo 2016-09-20 09:17:10 +02:00
Laurent Rineau e2d04e54e0 Merge remote-tracking branch 'cgal/releases/CGAL-4.8-branch'
> 3176b37 Merge pull request #1452 from mglisse/Number_types-Eigen_Literal-glisse
> 1705702 Merge pull request #1417 from afabri/Polyline_simplification-Bugfix_choose_correct_Itag-GF
> 3bef239 Merge pull request #1462 from sloriot/PMP-add_missing_include
2016-09-15 17:25:20 +02:00
Sebastien Loriot 343fb726fa Add missing include directive 2016-09-15 15:52:47 +02:00
Jane Tournois bffb1f63f7 document that exact constructions are not supported
and write a proposal about how to support exact constructions
2016-09-13 11:05:55 +02:00
Jane Tournois e0bce515cf add a macro to be less verbose 2016-09-12 17:16:30 +02:00
Sébastien Loriot b7db87ab40 add a plugin to remove self-intersection in a mesh 2016-09-08 15:01:44 +02:00
Jane Tournois 4f2adeaff0 remove useless includes 2016-09-08 14:07:15 +02:00
Sébastien Loriot 5300028a57 first version of boolean operations with FaceGraph models using corefinement 2016-09-02 15:59:38 +02:00
Jane Tournois 0baa89452d add info about self-intersections 2016-08-10 09:45:40 +02:00
Sébastien Loriot 9edbdad3b9 add prototype for PMP::boolean_operation
add overloads for  PMP::join, PMP::intersection and PMP::difference
and complete the implementaiton with a call to PMP::boolean_operation
2016-07-06 11:43:16 +02:00
Sébastien Loriot 918fcf850b fix indentation issue 2016-07-05 15:01:40 +02:00
Sébastien Loriot dbf0f2de3d plug is-constrained edge maps 2016-07-05 14:54:32 +02:00
Sébastien Loriot 208526cc4e update comments 2016-07-05 13:46:04 +02:00
Sébastien Loriot f531269fab remove todo and document throw_on_self_intersection 2016-07-05 13:28:56 +02:00
Sébastien Loriot dbbb723a82 document surface_intersection and plug named-parameter mechanism 2016-07-05 12:00:04 +02:00
Sébastien Loriot c3cd3b26f8 remove an unneeded parameter 2016-07-05 11:57:51 +02:00
Sébastien Loriot 604645dfd7 remove doc todos done 2016-07-05 10:12:59 +02:00
Sébastien Loriot 8781dd6942 Add an output builder parameter to the corefinement visitor 2016-07-04 16:29:02 +02:00
Sébastien Loriot 7a0ff9d28e First implementation of the corefinement of 2 triangle meshes
implementation uses a visitor for the function computing the intersection
of 2 triangle meshes.
2016-07-04 16:28:52 +02:00
Sébastien Loriot c477ce88ff improve doc 2016-06-24 16:58:57 +02:00
Sébastien Loriot 58044ab929 document PMP::parameters::all_default() 2016-06-24 16:58:51 +02:00
Sébastien Loriot 84311eab64 update doc after the review of @janetournois 2016-06-24 16:58:34 +02:00
Sébastien Loriot 27badf0b43 Add a version of the code to compute intersection of TriangleMesh
The code is a copy the one in Operation_on_polyhedra that was
only working with Polyhedron_3.
For the moment only default parameters are used. NamedParameters
will be introduced later.
2016-06-24 16:58:12 +02:00
Sébastien Loriot 2d4153fc3d update Polyhedra_corefinement-enhancements-sloriot from master 2016-06-24 14:54:33 +02:00
Sebastien Loriot e819e65f96 Merge pull request #1187 from maxGimeno/Fix_deformation-GF
Polyhedron_demo: Enhance deformation
2016-06-22 13:18:31 +02:00
Sébastien Loriot 79ad1b2dc6 Merge pull request #1141 from janetournois/PMP-isotropic_remeshing_smoothing_options-jtournois
PMP isotropic_remeshing : smoothing options
2016-06-22 11:46:05 +02:00
Jane Tournois 85744d3c63 the validity of the vertex_is_constrained_map should be fixed
the problem was that we can't control which of va and vb will be vkept
when collape_edge is called
now it's clear wrt the constrained map
2016-06-21 11:19:41 +02:00
Jane Tournois be65dac810 don't use double but FT 2016-06-14 14:22:18 +02:00
Jane Tournois 6f46122f52 attempt to fix ambiguity warning 2016-06-14 14:17:42 +02:00
Jane Tournois 1e2e1f1dd2 rename dummy_named_params to named_params_base 2016-06-14 14:17:41 +02:00
Jane Tournois 5b41ca088b avoid stack overflow in Epeck due to += 2016-06-14 14:17:40 +02:00
Jane Tournois 3e620a07be WIP replace double by FT
the measures_test does not compile with this commit
2016-06-14 14:17:34 +02:00
Sébastien Loriot 6d42b1873b remove useless typedef instructions 2016-06-14 14:17:29 +02:00
Sébastien Loriot 5af65c983d remove useless default template argument 2016-06-14 14:17:28 +02:00
Sébastien Loriot c85c4e01ad remove useless comment and fix indentation 2016-06-14 14:17:27 +02:00
Andreas Fabri 702149cd93 Also test EPEC in the testsuite 2016-06-14 14:17:26 +02:00
Andreas Fabri 73fb767025 Change the @warning to what Laurent suggested 2016-06-14 14:17:24 +02:00
Jane Tournois 7b5ca9ed7f triangle_normal should return the normal with norm = area(triangle) 2016-06-14 14:17:20 +02:00
Jane Tournois d8f3da483b use kernel functors 2016-06-14 14:17:19 +02:00
Jane Tournois 630a8f4014 use kernel functors 2016-06-14 14:17:17 +02:00
Jane Tournois 6b284a8e0a update code from master after rebase, and use CGAL functors 2016-06-14 14:17:16 +02:00
Jane Tournois 0af657207b fix compilation and the use of Construct_sum_of_vectors_3 2016-06-14 14:17:15 +02:00
Jane Tournois f940302044 document that fairing is not exact 2016-06-14 14:17:12 +02:00
Jane Tournois 109b9fdfe7 use CGAL::approximate_sqrt(x) to replace CGAL::sqrt(to_double(x)) 2016-06-14 14:17:11 +02:00
Jane Tournois 4556530682 make a better use of geom_traits in compute_face_normal 2016-06-14 14:17:07 +02:00
Jane Tournois 211426e3fe fix compilation (extra */ added in comments) 2016-06-14 14:17:06 +02:00
Andreas Fabri ae1f695208 Document where sqrt is done approximately 2016-06-14 14:17:04 +02:00
Andreas Fabri 2c54acb056 Use to_double to make it work with Epec 2016-06-14 14:17:03 +02:00
Sebastien Loriot aeab78c74b Merge pull request #1143 from janetournois/PMP-isotropic_remeshing_speedup-jtournois
PMP isotropic_remeshing speedup. Don't use the MESH Halfedge_status
2016-06-09 16:21:09 +02:00
Sebastien Loriot 1ebaebc6aa Merge pull request #1101 from maxGimeno/Enhance_triangulate_facets-GF
Robustify triangulate facets
2016-06-08 09:50:48 +02:00
Jane Tournois 4e964ab64d don't use the MESH status
We now consider that MESH halfedges are the ones that are not in the patch,
i.e. not in the status map

halfedges with the MESH status are not used, apart from close to
PATCH_BOUNDARY edges.

this speeds up the isotropic remeshing algorithm, in particular when only
a small patch is remeshed
2016-06-07 16:18:42 +02:00
Sébastien Loriot 99ffa8655d add an overload to does_self_intersect taking a face range as input 2016-06-07 14:30:39 +02:00
Jane Tournois 0811c2fb2c document named parameters for smoothing 2016-06-07 14:06:09 +02:00
Jane Tournois ccbdeb1419 doc : reorder named parameters 2016-06-07 12:42:16 +02:00
Jane Tournois 7fde6edb32 rename relaxation named parameters 2016-06-07 12:38:27 +02:00
Jane Tournois 5ab581dc1e be more verbose 2016-06-06 17:13:50 +02:00
Jane Tournois 4112b0295f add a named parameter to be able to run more than one laplacian iteration
at each isotropic_remeshing iteration
2016-06-06 13:58:54 +02:00
Maxime Gimeno 1741739449 Fixes the choice of the diagonal for a quad. 2016-05-26 16:50:49 +02:00
Sébastien Loriot 5f0a9dcbf3 Merge remote-tracking branch 'cgal/releases/CGAL-4.8-branch' 2016-05-24 16:54:58 +02:00
Jane Tournois e4336fcc09 ref manual 2016-05-24 16:33:47 +02:00
Maxime Gimeno 817155d7f0 Update doc 2016-05-24 08:40:14 +02:00
Jane Tournois acc7e16626 add more collapsibility tests 2016-05-23 17:09:19 +02:00
Maxime Gimeno 400f44c2a3 Make triangulate_faces() a boolean. 2016-05-23 16:36:07 +02:00
Maxime Gimeno 0a5bea6dba Use split_face if the facet is a quad. 2016-05-23 16:30:19 +02:00
Maxime Gimeno b63dae993a Make triangulate_face() a boolean 2016-05-23 15:36:14 +02:00
Jane Tournois ca3883b837 it is necessary to check that e is still collapsible
when it is poped out from the priority queue. Its situation may have changed
because of the changes that have been made in its neighborhood

+ checking that is_on_patch_border(next_on_patch_border(next(he, mesh_))
is useless, because next_on_patch_border is on patch border by definition

reorganize the collapsibility check
2016-05-23 12:17:48 +02:00
Jane Tournois f2fe1a69d0 fix assertion code 2016-05-20 12:24:28 +02:00
Jane Tournois aef3c6cc62 fix include 2016-05-20 12:23:42 +02:00
Sébastien Loriot 36d0257dff first version of the corefinement doc 2016-05-19 15:08:31 +02:00
Jane Tournois 355c698185 avoid creating self intersections close to boundaries
the collapse step was still creating self-intersections
when it happened in a particular configuration close to boundary

# Conflicts:
#	Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/Isotropic_remeshing/remesh_impl.h
2016-05-19 13:16:37 +02:00
Sébastien Loriot d892ef1a89 Merge pull request #1030 from janetournois/PMP-remeshing_with_patch_ids-jtournois
PMP : new features for isotropic_remeshing
2016-05-09 09:43:08 +02:00
Sebastien Loriot 7630d2a6fc Merge pull request #875 from sloriot/Triangulation_2_and_PMP-fix_Triangulation_2_projection_traits_3
PMP: make triangulate_faces works with non filtered kernels
2016-05-05 14:55:11 +02:00
Sebastien Loriot cba2fd46ca Merge pull request #1052 from janetournois/PMP-isotropic_remeshing_non_manifold_bug-jtournois
PMP : fix for isotropic_remeshing
2016-05-04 15:03:57 +02:00
Sébastien Loriot 3c8871f8a9 Merge pull request #739 from bo0ts/Pmp-poly_soup_poly_mesh-pmoeller
Add PMP function is_polygon_soup_a_polygon_mesh
2016-05-04 15:01:25 +02:00
Sébastien Loriot e65ca4aa86 add a function to reverse the orientation of the faces of a mesh with polylines 2016-05-03 18:25:23 +02:00
Jane Tournois 32cbaf914b edges incident to boundary cannot always be flipped 2016-04-29 17:37:17 +02:00
Jane Tournois dab8b7e312 Merge branch 'PMP-remeshing_with_patch_ids-jtournois' of github.com:janetournois/cgal into PMP-remeshing_with_patch_ids-jtournois 2016-04-29 17:24:50 +02:00
Jane Tournois dbedd1358d edges incident to boundary cannot always be flipped 2016-04-29 17:14:02 +02:00
Sébastien Loriot 09e076922c remove compilation error and a conversion warning 2016-04-29 16:53:53 +02:00
Jane Tournois eb13dffd53 fix typo! 2016-04-29 16:30:19 +02:00
Sébastien Loriot cc7d686d16 remove unused typedefs 2016-04-29 14:01:52 +02:00
Jane Tournois eb1747b28b boost::size has compilation issues in boost 1.53 (see testsuite 4.9-Ic-29)
and FaceRange is model of Range, so .size() is available
2016-04-25 11:02:06 +02:00
Laurent Rineau 64ea03f9ec Fix a compilation error
`boost::size` does not exist unless `<boost/range/size.hpp>` is
included, at least on my machine.
2016-04-22 17:30:55 +02:00
Jane Tournois 99b7cb8216 check the face_index map to be checked actually is the internal map 2016-04-22 17:15:01 +02:00
Jane Tournois ccf66afe26 check face_index map is initialized
this is a minimal check, that checks that the 2 first faces of the range
do not share the same index
This test is not complete and the complete check should test that no 2 vertices
share the same index, but that's too costly to be worth it here
2016-04-22 16:25:17 +02:00
Jane Tournois 638b0ba9ab document that if face_index map exists internally, it should be initialized 2016-04-22 15:31:12 +02:00
Jane Tournois 7749a3402b Polygon should also be RandomAccessContainer 2016-04-22 15:04:10 +02:00
Jane Tournois 1c614bb0dc replace std::vector<Point> and std::vector<Polygon> with appropriate range concepts 2016-04-22 12:43:47 +02:00
Jane Tournois 9cf539c8a9 change requirement of PolygonRange
operator[], size(), begin() and end() are all available in RandomAccessContainer
2016-04-22 12:26:03 +02:00
Jane Tournois 5b56f2a6a8 fix doc 2016-04-22 11:18:50 +02:00
Jane Tournois bfe4d815a2 document face_patch_map 2016-04-22 09:53:20 +02:00
Jane Tournois 21a869491b document face_patch_map 2016-04-21 16:00:40 +02:00
Jane Tournois 2b3b07a2f9 add mising timer start 2016-04-21 15:32:13 +02:00
Jane Tournois a829161ca1 avoid computing connected_components when it's not needed 2016-04-21 15:32:12 +02:00
Jane Tournois e7c9bab5ae avoid constructing the Border_constraint_pmap when it's not needed
i.e. when it's given in the named parameters
2016-04-21 15:32:11 +02:00
Jane Tournois 768c7439f7 make dealing with patch ids safer 2016-04-21 15:31:01 +02:00
Jane Tournois 1f0a11191d do not project back constrained vertices 2016-04-21 15:30:59 +02:00
Jane Tournois 2fb5fa4a26 ecmap_ will be updated at the end of the remeshing process
this "put" is useless
2016-04-21 15:29:56 +02:00
Jane Tournois f777c53b61 add stuff to verbose mode 2016-04-21 15:29:53 +02:00
Jane Tournois ba91119696 make sure an edge between two patches is considered a constraint 2016-04-21 15:28:33 +02:00
Sébastien Loriot ded29c7304 correct definition of Self 2016-04-21 15:26:55 +02:00
Jane Tournois 296bcdb04b back to previous version of Patch_id_property_map 2016-04-21 15:26:53 +02:00
Jane Tournois badfb8f2b8 remove default values. Values are given by every call to this constructor 2016-04-21 15:26:51 +02:00
Jane Tournois 5f5397a5d3 parameters pmesh and ecmap can't be used here 2016-04-21 15:25:29 +02:00
Jane Tournois f0bb4febb5 improve remeshing test and get() in pmap 2016-04-21 15:25:28 +02:00
Jane Tournois ee89276102 isotropic remeshing : introduce surface_patch ids as an input read write pmap 2016-04-21 15:23:20 +02:00
Jane Tournois c0f30e18a8 add constrained vertices to isotropic remeshing
those vertices cannot be modified
2016-04-21 15:21:29 +02:00
Jane Tournois 253d4f28a6 update the constraints property map after the end of remeshing 2016-04-21 15:10:02 +02:00
Jane Tournois 1a33081f79 transform EdgeIsConstrainedMap into a member variable 2016-04-21 15:00:46 +02:00
Sébastien Loriot 17edea6299 avoid copying the polygon vector
some functions of Polygon_soup_orienter have been made static
and the function duplicate_singular_vertices was partially
duplicated (no other choice to have the polygon container const)
2016-04-19 20:06:13 +02:00
Sébastien Loriot 592c2bf454 remove the need to set the points 2016-04-19 19:25:29 +02:00
Jane Tournois 269efaa60b improve doc 2016-04-19 11:58:24 +02:00
Jane Tournois 8708376798 check that there is no polygon with twice the same vertex 2016-04-19 11:06:01 +02:00
Jane Tournois 068d93798a edge_map should be filled to be able to circulate around vertices 2016-04-19 10:51:03 +02:00
Jane Tournois 8a87c34f1b use orienter to test manifold-ness 2016-04-18 18:03:24 +02:00
Jane Tournois fb8ac5a9e6 add a parameter to duplicate_singular_vertices to avoid duplicating when required 2016-04-18 18:02:27 +02:00
Philipp Möller b0fb4999f0 Add changes required by review 2016-04-18 12:08:48 +02:00
Philipp Möller ec25aab2d2 Replace vector<vector<size_t>> by a nested range 2016-04-18 12:08:47 +02:00
Philipp Möller f1158a2dfe Explain missing range of points 2016-04-18 12:08:45 +02:00
Philipp Möller 74edea7fa2 Use is_polygon_soup_a_polygon_mesh as pre 2016-04-18 12:08:44 +02:00
Philipp Möller 01190b1027 Fix doc typo 2016-04-18 12:08:41 +02:00
Philipp Möller a9a651d5c5 Enable doc 2016-04-18 12:04:57 +02:00
Laurent Rineau 3bd9e6d557 Merge pull request #995 from janetournois/PMP-fix_compute_normals-jtournois
(Merged from remote-tracking branch 'cgal/releases/CGAL-4.8-branch')
2016-04-14 15:14:45 +02:00
Jane Tournois c7c8c86a9e remove unused variable 2016-04-12 18:17:05 +02:00
Jane Tournois f85d783613 improve computation of a face normal for non-triangular faces
triangulating the face naively around v is much simpler and more accurate than
iterating on prev/curr/next vertices inside the face
2016-04-11 12:15:59 +02:00
Sébastien Loriot f8bbee52b7 Merge branch 'Polyhedra_corefinement-enhancements-sloriot' into HEAD 2016-04-04 12:09:24 +02:00
Laurent Rineau 6164c91227 Merge changes to PMP from branch 'releases/CGAL-4.8-branch'
Merges:
> 621e16ed Merge pull request #973 from janetournois/Polyhedron_demo-fix_isotropic_remeshing_plugin-jtournois
> 4d1ac46 Merge pull request #974 from janetournois/PMP-complete_remeshing_test-jtournois
2016-04-04 11:22:09 +02:00
Jane Tournois 36c3a7a758 remove unused variable 2016-04-01 10:02:21 +02:00
Jane Tournois f6e312fc86 deal with the degenerate face case, and avoid division by 0
the only way to catch it would be to check that the result is not NaN,
probably not a good idea, in particular for vertex normals

and
Revert "deal with the case where one face incident to v is degenerate"

This reverts commit 52105868b31a2685795e92d9caf4bfe251bcf75c.
2016-03-31 12:26:39 +02:00
Jane Tournois 650cb1d752 change the way we deal with degenerate faces
some may remain and we don't know how to remove them yet
2016-03-31 12:26:19 +02:00
Jane Tournois caa0aaeeb0 fix test for projection
a vertex is reprojected if it is on PATCH, and if it is not constrained
(and this test is the filter to "continue" the loop)
2016-03-31 12:26:01 +02:00
Jane Tournois 1e0b28601a make the flipping step more verbose (see progress) 2016-03-31 12:25:42 +02:00
Jane Tournois e3e03f06f4 deal with the case where one face incident to v is degenerate 2016-03-31 12:25:22 +02:00
Laurent Rineau ae33af9222 Merge branch 'releases/CGAL-4.8-branch'
Merges the following fixes:
> 4025913 Merge pull request #949 from janetournois/BGL-fix_conversion_of_boundary_halfedges-jtournois
> 9c62628 Merge pull request #948 from janetournois/PMP-fix_assertion_isotropic_remeshing-jtournois
> f61402d Merge pull request #929 from sloriot/Polyhedron_demo-Isotropic_remeshing_preserve_duplicates

See also:

* https://github.com/CGAL/cgal/pull/949
* https://github.com/CGAL/cgal/pull/948
* https://github.com/CGAL/cgal/pull/929
2016-03-31 10:55:12 +02:00
Jane Tournois cc28746e18 fix the case where both faces incident to h are degenerate before the flip
and none of them is degenerate after the flip
2016-03-25 10:39:01 +01:00
Laurent Rineau ad73334a0f Merge pull request #821 from afabri/CGAL_property_map-GF
Include consistently <CGAL/property_map.h>
2016-03-24 11:29:09 +01:00
Sébastien Loriot b0d43337de wrap the set in a shared_ptr because a property map should be lightweight 2016-03-17 13:09:39 +01:00
Sébastien Loriot 7680c6f168 use a set instead of a map to avoid keeping handles to removed elements
moreover the map becomes sensitive to the input
2016-03-17 12:58:02 +01:00
Sebastien Loriot ef3721a581 Merge pull request #881 from janetournois/PMP-isotropic_remeshing_reduce_aabbtree-jtournois
PMP isotropic remeshing : reduce the internal aabb_tree to the input face_range
2016-03-04 13:28:11 +01:00
Sebastien Loriot 717ec22664 Merge pull request #874 from janetournois/PMP-isotropic_remeshing_improvements-jtournois
PMP::isotropic_remeshing() - improve management of constraints
2016-03-03 17:00:34 +01:00
Sebastien Loriot 5870f1361a Merge pull request #872 from afabri/PMP-namespace_PMP-GF
The namespace forwarding goes in the user code, not in a CGAL header
2016-03-03 17:00:08 +01:00
Jane Tournois 733e84abbf the input triangles are only composed of the face_range to remesh
this reduces the size of the aabb_tree for projection
and fixes the fact that the face range only should be triangulated, not the
entire polygon mesh
2016-03-03 12:26:14 +01:00
Jane Tournois ce42c3062f halfedge and face descriptors should be hashable 2016-03-03 11:59:55 +01:00
Sébastien Loriot d7e9261d58 hide the filtered projection traits behind the projection traits
the selection of the base class is done using Kernel::Has_filtered_predicates
2016-03-02 21:57:54 +01:00
Sébastien Loriot c3854cb656 fix warnings 2016-03-02 20:10:39 +01:00
Sébastien Loriot fbe36bc8c0 add missing typename 2016-03-02 20:05:05 +01:00
Jane Tournois bf63963830 add constrained vertices to isotropic remeshing
those vertices cannot be modified
2016-03-02 17:08:38 +01:00
Andreas Fabri dd8a68c4c5 The namespace forwarding goes in the user code, not in a CGAL header 2016-03-02 16:52:13 +01:00
Jane Tournois ab6956e188 fix corners in isotropic remeshing
they do not get truncated anymore
2016-03-02 15:52:31 +01:00
Jane Tournois dc0090e9b8 remove duplicate function split_long_edges
by exploiting the edge_is_constrained_map as read-write pmap
this is not documented, and only for demo purposes (at least for now)
2016-03-01 16:28:06 +01:00
Jane Tournois 63884d0033 update the constraints property map after the end of remeshing 2016-03-01 15:30:52 +01:00
Jane Tournois 32bcdb4186 transform EdgeIsConstrainedMap into a member variable 2016-03-01 14:03:28 +01:00
Sébastien Loriot 392c292cc5 handle isolated vertices when computing normal 2016-02-29 10:07:44 +01:00
Andreas Fabri eb90e8e3e1 Include consistently <CGAL/property_map.h> 2016-02-24 12:09:36 +01:00
Sebastien Loriot c1b3b784a7 Merge pull request #777 from janetournois/Polyhedron_demo-polyhedron_item_for_quads-GF
Polyhedron item : improve computation of normals
2016-02-22 08:24:11 +01:00
Andreas Fabri 1918e01c9a fix type requirement of the property map 2016-02-19 11:19:08 +01:00
Andreas Fabri de159f13fc Remve requirement for default constructible FaceNormalMap 2016-02-19 11:11:42 +01:00
Sébastien Loriot 0fc5846f07 change dummy property map to read-only to avoid a warning
I also it is safer to produce a compilation error if used as
a read/write pmap
2016-02-18 17:08:15 +01:00
Sébastien Loriot ceccbb887b fix copy-paste error 2016-02-17 11:51:31 +01:00
Sébastien Loriot d7b5f70181 refine bug-fix: also refine created faces
The refinement is an iterative process, newly created faces must
also be considered as refinable.
2016-02-15 14:57:57 +01:00
Sébastien Loriot 6c4f1274ef refine and fairing functions requires a triangle mesh 2016-02-15 14:35:26 +01:00
Sébastien Loriot 77b69cc881 fixes for polygon_soup_to_polygon_mesh
- add a missing header
  - remove unneed inheritance
  - fix doc to mention internal point pmap requirement
  - Point is not a requirement of the MutableFaceGraph concept
2016-02-15 13:38:52 +01:00
Jane Tournois d3ce97f566 use face normals map as input of compute_vertex_normal
in the named parameters
2016-02-12 15:01:40 +01:00
Jane Tournois e94d675c4f for a triangle, compute normal only once 2016-02-11 19:15:46 +01:00
Jane Tournois 1afce415b6 fix the display of quad meshes with problems
by separating the quads from non-triangular faces
this also prevents from computing a CDT2 for each quad
2016-02-11 18:45:22 +01:00
Sebastien Loriot ca6486f202 Merge pull request #742 from sloriot/PMP-fix_weight
Polygon mesh processing: fix bug in weight
2016-02-07 18:15:29 +01:00
Sebastien Loriot 718eae7a00 Merge pull request #714 from sgiraudot/CGAL-Fix_boost_warning_unused_typedef-GF
Fix boost warning (unused typedef)
2016-02-05 14:59:28 +01:00
Sébastien Loriot 2243f20695 fix bug in weight
if the source of he is v0 then v1==v0
2016-02-05 12:17:08 +01:00
Sebastien Loriot ebf66069c3 Merge pull request #706 from afabri/PMP_include_graph_traits-GF
Deal with deprecated code
2016-02-03 09:44:11 +01:00
Simon Giraudot 751d959c05 Fix boost unused typedef warning: replace BOOST_STATIC_ASSERT by CGAL_static_assertion 2016-02-02 14:32:46 +01:00
Sébastien Loriot aa94453c1e fix submenu name 2016-02-01 16:14:58 +01:00
Andreas Fabri 4c9c668dc9 deal with deprecated code 2016-02-01 15:52:52 +01:00
Sebastien Loriot f6147f5b08 Merge pull request #672 from janetournois/PMP-fix_remeshing_patch_borders-jtournois
PMP isotropic remeshing : fix collapse step with inside borders
2016-01-27 13:37:03 +01:00
Sébastien Loriot 0d60c1626e add missing include directives 2016-01-26 18:42:08 +01:00
Jane Tournois a7c54c024a fix assertion and is_constrained function 2016-01-26 09:27:14 +01:00
Jane Tournois 5d8d1c65b8 if deviation is not getting better, do not make the flip
this tiny change seems to improve a lot the overall quality of the
remeshed polyhedron, by avoiding some pathological cases with
vertices of valence 3 (away from border)
2016-01-25 17:37:03 +01:00
Jane Tournois 856d41e8ca last (default) case should return false i.e. not collapsible 2016-01-25 10:53:43 +01:00
Sébastien Loriot 4c4b191209 Merge pull request #604 from bo0ts/BGL-add_clear-pmoeller
Add BGL helper CGAL::clear
2016-01-23 09:18:56 +01:00
Jane Tournois 1be4ceba2a collapse step in isotropic remeshing fix
dealing with patch border halfedges needs a different treatment than
"inside patch" halfedges
2016-01-22 13:02:40 +01:00
Sébastien Loriot acba778a9e Merge branch 'Polyhedra_corefinement-enhancements-sloriot' into HEAD 2016-01-21 11:06:59 +01:00
Sébastien Loriot 3850fbb30c fix license 2016-01-21 09:19:58 +01:00
Jane Tournois 83de44dab8 when split_long_edges is called, no aabb_tree is built
so don't delete it
2016-01-18 14:28:16 +01:00
Laurent Rineau 1456abac26 Fix a compilation error 2016-01-18 14:28:15 +01:00
Jane Tournois 5bc410556b move internal file to internal/Isotropic_remeshing 2016-01-18 14:28:14 +01:00
Jane Tournois 1e61e24d85 remove patch_ids from aabb_primitives, they have become useless
the AABB_tree_remeshing is a simple aabb_tree<triangle_primitive> now
2016-01-18 14:28:13 +01:00
Jane Tournois 910c7759d0 fix return type and get a valid result from Patch_id_property_map! 2016-01-18 14:28:12 +01:00
Jane Tournois c7926a87b0 temporary bug fix
why is Patch_id_property_map broken when we get to use it?
2016-01-18 14:28:11 +01:00
Jane Tournois fddfb4f933 add debug code 2016-01-18 14:28:10 +01:00
Jane Tournois 5dfd8e783f comment failing assertion 2016-01-18 14:28:09 +01:00
Jane Tournois 0964b8fae1 use an aabb tree of triangles with patch_id to be able to reproject
on the same surface patch
2016-01-18 14:28:08 +01:00
Jane Tournois bb4073a4f2 remove constrained_edges_, it has become useless 2016-01-18 14:28:07 +01:00
Jane Tournois faa843f9c4 change face component property map 2016-01-18 14:28:06 +01:00
Jane Tournois 6ee71b5bf7 this property map should be modifiable 2016-01-18 14:28:05 +01:00
Jane Tournois 3802a8dcac update the patch ids property map inside remeshing process 2016-01-18 14:28:04 +01:00
Jane Tournois 7da1304544 replace connected components property map by a permanent one 2016-01-18 14:28:03 +01:00
Sébastien Loriot 34e58e32b1 restore usage of constrained edge map 2016-01-18 14:28:00 +01:00
Sébastien Loriot a38444c48b fix compilation issues and add a comment for @janetournois 2016-01-18 14:27:59 +01:00
Jane Tournois f4ce0f6eae this commit attempts to improve the projection step
we try to make the projection step keep vertices on the same connected component,
wrt constrained edges

there are some issues that need to be fixed :
- the use of edge_is_constrained_map in the calle to PMP::connected_components()
causes compilation errors. So it's commented for now
- the patch ids that are stored in the reference aabb_tree (which remains
valid through iterations) are not the same as the patch ids computed at
the end of each iteration, in the projection step. It should be made consistent
to be able to use the Filtered_projection_traits
2016-01-18 14:27:58 +01:00
Jane Tournois 36a133784d fix default value 2016-01-18 14:27:57 +01:00
Jane Tournois 64f26ad1eb make 1d remeshing an option in the remeshing widget 2016-01-18 14:09:43 +01:00
Jane Tournois 6bcff2b21d introduce tangential_relaxation along 1D features
1D smoothing is performed at a vertex only when its incident halfedges
are 2, and form an angle larger than 120 degrees
to avoid "breaking" corners
2016-01-18 14:09:42 +01:00
Sébastien Loriot 902c66d341 fix typo 2016-01-13 15:10:50 +01:00
Jane Tournois a444b343d1 doc : move remeshing functions to the "Meshing" group
note it was already the case in PackageDescription.txt
2016-01-11 12:38:35 +01:00
Jane Tournois ae1ea30d45 reorder parameters for consistency in PMP package 2016-01-11 12:20:45 +01:00
Jane Tournois 0ab047eb37 reorder variables for API consistency in PMP package 2016-01-11 12:12:59 +01:00
Jane Tournois 9c51c1a5c1 fix constness of parameter 2016-01-11 11:06:01 +01:00
Jane Tournois 74355818b1 reorder parameters for border_halfedges() 2016-01-11 10:19:41 +01:00
Philipp Möller 0691b59d86 Use clear in keep_largest_connected_components 2016-01-08 13:18:16 +01:00
Sebastien Loriot e6308db001 Merge pull request #543 from sloriot/PMP-unify_weight
Pmp unify weight
2016-01-06 14:54:26 +01:00
Sebastien Loriot 7bb333c5f5 Merge pull request #576 from sloriot/PMP-enhancement_from_bindings
Pmp enhancement from bindings
2016-01-06 14:52:32 +01:00
Sébastien Loriot 21abce214a bug fix for triangulate_hole_polyline with no third point
if PointRange is not default constructible, triangulate_hole_polyline cannot be called
without third points
2016-01-05 16:14:13 +01:00
Sebastien Loriot 5e20b46f5b Merge pull request #546 from bo0ts/Pmp_triangulate_face-pmoeller
Add triangulate_face and triangulate_faces range overload
2016-01-04 10:48:17 +01:00
Sébastien Loriot 92f545e388 add a convenience overload for an edge 2015-12-29 16:56:33 +01:00
Sébastien Loriot 9695d63eb7 add missing includes 2015-12-29 16:55:28 +01:00
Philipp Möller 064b7dffc1 Incorporate doc suggestion 2015-12-27 19:22:29 +01:00
Sébastien Loriot e18bbc442f Add missing model of requirements 2015-12-22 23:01:05 +01:00
Philipp Möller f8e8f5acbb Use std::distance directly
boost::size is buggy in older releases and will try to use operator-()
to get the distance of two iterators, which will lead to errors with
BirectionalIterators. Newer versions call either range.size() or
distance(begin, end). We choose the later as it always works, but
sometimes isn't as effective as possible.
2015-12-17 15:18:15 +01:00
Sébastien Loriot 0eec673c61 rename include guards 2015-12-11 21:20:02 +01:00
Philipp Möller 3ad5c7af8f Writing consistency 2015-12-11 16:18:51 +01:00
Philipp Möller 0f12d0189e Add FaceRange overload to triangulate_faces 2015-12-11 16:03:50 +01:00
Philipp Möller c3133d95f0 Factor code for triangulating a single face 2015-12-11 15:35:12 +01:00
Philipp Möller 15004507e2 Add triangulate_face prototype 2015-12-11 15:35:11 +01:00
Sébastien Loriot 8301fdbf34 move endcond in the same namespace as cond 2015-12-10 23:28:18 +01:00
Sébastien Loriot 53e882ce19 move Weights.h 2015-12-10 23:25:50 +01:00
Sébastien Loriot 0ef509d892 remove unused class + add comment 2015-12-10 23:05:10 +01:00
Sébastien Loriot c8ea231751 use Hole_filling weights
The API of the weight of Surface_mesh being documented
I needed to duplicate some small parts of the code
in /PMP/include/CGAL/internal/Hole_filling/Weight.h
2015-12-10 22:48:21 +01:00
Sébastien Loriot 77daf37540 remove duplicated weigthing functions and use those from PMP instead 2015-12-09 22:10:05 +01:00
Sébastien Loriot 5de303c389 Merge pull request #501 from janetournois/PMP-add_utility_functions-GF
PMP : add utility functions
2015-11-26 14:22:05 +01:00
Jane Tournois be6cd53f33 fix preconditions 2015-11-24 14:19:14 +01:00
Jane Tournois a61fefc839 Merge branch 'PMP-length_of_border-GF-old' into PMP-length_of_border-GF 2015-11-23 17:19:30 +01:00
Jane Tournois 80496b82a4 bug fix : there can be constrained edges on the patch to be remeshed,
and unconstrained patch boundary edges

this commit introduces the possibility to constraint edges somewhere
on the patch while not constraining the boundary of the surface patch
to be remeshed
2015-11-20 15:53:29 +01:00
Jane Tournois fc29daab0e avoid pinching of the patch to be remeshed
this could happen in the case where we try to collapse an edge with
both its vertices on the patch boundary,
but the edge (both halfedges) itself is is_on_patch
2015-11-20 11:10:12 +01:00
Jane Tournois da1833cbed remove assertions
there is no guarantee that we won't generate self intersections
debug code now only displays the nb of self-intersections
2015-11-20 11:05:07 +01:00
Jane Tournois 1d94c84812 remove test in is_collapse_allowed because it's redundant
with first test if (!is_on_patch)
2015-11-20 11:02:20 +01:00
Jane Tournois 8cdfe7d75d fix the use of self_intersections inside debug code 2015-11-19 17:29:22 +01:00
Jane Tournois f358594e92 complete the dump function and its use in the Polyhedron demo 2015-11-19 17:27:36 +01:00
Jane Tournois a76e8c3b70 document border_halfedges and remove_isolated_vertices 2015-11-17 17:32:51 +01:00
Sébastien Loriot 76e9b42913 Merge branch 'old/Polyhedra_corefinement-enhancements-sloriot' into Polyhedra_corefinement-enhancements-sloriot
and accomodates updates due to the merge of Polygon_mesh_processing
2015-11-17 15:49:01 +01:00
Sebastien Loriot d605b6b95f Merge pull request #457 from janetournois/Polygon_mesh_processing-local_remeshing-GF
Polygon mesh processing - add isotropic remeshing
2015-11-17 13:25:45 +01:00
Sebastien Loriot bb85ae0179 Merge pull request #474 from afabri/BGL-suppress_warning-GF
suppress warning in boost as this has to be solved upstream
2015-11-17 13:21:05 +01:00
Jane Tournois 0a12beb5f9 Merge branch 'Polygon_mesh_processing-local_remeshing-GF-old' into Polygon_mesh_processing-local_remeshing-GF 2015-11-16 13:06:03 +01:00
Sebastien Loriot 093e381942 Merge pull request #475 from janetournois/PMP-fix_hole_filling_doc-GF
PMP triangulate_hole_polyline documentation
2015-11-13 12:38:12 +01:00
Jane Tournois 502ae1caa2 give a better description of OutputIterator 2015-11-13 10:27:26 +01:00
Jane Tournois cf9eb32b9e remove unused typedefs
(trigger warnings)
2015-11-13 10:00:55 +01:00
Andreas Fabri 6706cc58c4 include header which pragma pushes a warning 2015-11-13 09:47:25 +01:00
Jane Tournois d685d7ae77 introduce a better implementation of border_halfedges
available when a face_index_map is provided,
 either as internal or as a named parameter
2015-11-12 16:45:26 +01:00
Jane Tournois 27bc02ebcf Revert "fix compilation of split_long_edges for Polyhedron"
This reverts commit 213a280eef.

and propose another solution to deal with edges vs halfedges
2015-11-12 15:55:35 +01:00
Jane Tournois 213a280eef fix compilation of split_long_edges for Polyhedron
and use halfedges everywhere
2015-11-12 14:53:47 +01:00
Jane Tournois cc96188a60 add overload for complete mesh 2015-11-12 12:08:34 +01:00
Jane Tournois c0743d6260 improve documentation 2015-11-12 11:54:04 +01:00
Jane Tournois 2aaf9d55d6 fix template parameters doc 2015-11-12 11:16:52 +01:00
Jane Tournois ef40621699 improve doc and rename function 2015-11-12 10:20:19 +01:00
Jane Tournois c9a28eb7af change doc 2015-11-12 10:03:07 +01:00
Jane Tournois 07ae6235bf put mesh as last parameter of get_border, for consistency
and return output iterator
2015-11-12 09:33:22 +01:00
Jane Tournois 70550aac03 todo : more documentation 2015-11-10 16:54:50 +01:00
Jane Tournois d826558d68 edge_length documentation 2015-11-10 16:48:18 +01:00
Sébastien Loriot f5622f21e9 Merge remote-tracking branch 'cgal-dev/PMP-fix_connected_component_doc-GF'
changes only relates to the documentation
Tested in CGAL-4.8-Ic-43
2015-11-10 14:12:25 +01:00
Andreas Fabri 8ca486659d Add a group for intersection detection 2015-11-09 16:36:00 +01:00
Jane Tournois f38e58a35a apply @gdamiand 's review on small feature 2015-11-09 15:44:58 +01:00
Jane Tournois d4634df66e avoid unused variable h 2015-11-09 11:36:36 +01:00
Jane Tournois bb4cfb107e move to assertion_code 2015-11-09 10:55:08 +01:00
Andreas Fabri 94ae28150e backquote 2015-11-07 11:51:37 +01:00
Andreas Fabri ba3bd6dc64 Define connected component properly and introduce more doxygen groups 2015-11-07 11:45:03 +01:00
Sébastien Loriot 5570473329 make normal computation working with FT without sqrt 2015-11-06 14:38:36 +01:00
Sébastien Loriot 29ef0916e6 compute_face_normal already returns a normalized vector 2015-11-06 14:37:51 +01:00
Sébastien Loriot 44176209bb remove extra typename 2015-11-05 20:41:22 +01:00
Sébastien Loriot 03db4f7256 add missing license headers 2015-11-05 20:13:07 +01:00
Sébastien Loriot 0072b649e2 Merge branch 'old/Polygon_mesh_processing-local_remeshing-GF' into Polygon_mesh_processing-local_remeshing-GF 2015-11-05 20:11:10 +01:00
Jane Tournois f55e73e475 doc : distinguish between what should be triangulated, and what does not have to 2015-11-05 20:09:17 +01:00
Jane Tournois 4f320a7c29 update doc 2015-11-05 20:09:17 +01:00
Jane Tournois fd3b738955 remove unused variable and avoid warnings 2015-11-05 20:09:17 +01:00
Jane Tournois 950a3fa5a3 fix doc warning 2015-11-05 20:09:15 +01:00
Jane Tournois 52dbd6ef3d add precondition about protection of constraints
this precondition is here to check whether protection of constraints is
compatible with termination of the refinement step
2015-11-05 20:09:15 +01:00
Jane Tournois 340a52ac44 update doc wrt to @sloriot review 2015-11-05 20:09:15 +01:00
Jane Tournois 007fc60c64 rename default function 2015-11-05 20:09:14 +01:00
Jane Tournois 945d358db5 change function name in "see also" 2015-11-05 20:09:14 +01:00
Jane Tournois 893b80c490 rename function to isotropic_remeshing() 2015-11-05 20:09:14 +01:00
Jane Tournois 57ef5d03f7 remove todo. Works the same for multiple cc 2015-11-05 20:09:14 +01:00
Sébastien Loriot c6e649aa9b Merge branch 'Polygon_mesh_processing-local_remeshing-GF-old' into Polygon_mesh_processing-local_remeshing-GF
and adapt plugin to CGAL::Three
2015-11-05 20:07:15 +01:00
Sébastien Loriot 54ca52b538 Merge branch 'BGL-SurfaceMesh2SurfaceMesh-GF' into Polygon_mesh_processing-local_remeshing-GF 2015-11-05 19:25:00 +01:00
Jane Tournois 3448f7cd57 Merge branch 'PMP-length_of_border-GF-old' into PMP-length_of_border-GF 2015-11-03 15:34:45 +01:00
Jane Tournois ad2e627a31 documentation and change return types to use Geom_traits::FT 2015-11-03 15:29:15 +01:00
Maxime Gimeno 7c0be4674d Fix for std::sqrt in Mesh_processing
- replaces all the std::sqrt by CGAL::sqrt
2015-10-29 13:44:18 +01:00
Sébastien Loriot bed84e6234 Merge branch 'releases/CGAL-4.7-branch' 2015-10-28 13:45:23 +01:00
Sébastien Loriot 36b68c936f fix duplicated include guard macro name 2015-10-28 13:44:46 +01:00
Sébastien Loriot 770f87dd29 Merge branch 'releases/CGAL-4.7-branch' 2015-10-28 11:21:16 +01:00
Sébastien Loriot 87b6490af7 add missing includes 2015-10-28 11:20:46 +01:00
Andreas Fabri d2ed79d38d Add keep_large_connected_components (code,doc,test) 2015-10-22 09:01:08 +02:00
Sébastien Loriot cb7d309f86 fix include file path and use it in a test
Trivial fix tested locally
2015-09-22 12:42:06 +02:00
Jane Tournois a7c3670f8e do not test is_degenerated on a border halfedge
is_border test should only be an assertion inside the function
also make sure is_degenerated is called only on non-border edges
2015-09-15 17:08:11 +02:00
Jane Tournois 5e2c263cf5 remove debug_normals test
in presence of sharp edges which are not constrained, the "false" result
does not highlight a bug and is misleading
2015-09-15 15:04:59 +02:00
Jane Tournois a0ba10438e fix collapsibility test, and reorder things dealing with the tags
collapse on face range border was broken
2015-09-15 14:57:35 +02:00
Jane Tournois 549266bb8a fix degeneracy test on border 2015-09-15 14:40:55 +02:00
Jane Tournois 6f718be591 rename functions to make it consistent with face_area 2015-09-10 09:30:16 +02:00
Jane Tournois 55ab0f5b06 rename area() to face_area() to avoid ambiguities
also add geom_traits as a named parameter
2015-09-08 09:56:29 +02:00
Jane Tournois 9188ba9de6 add function bbox_3(pmesh) 2015-09-07 15:46:00 +02:00
Jane Tournois 2d251049dd add volume function and test it 2015-09-07 15:11:14 +02:00
Laurent Rineau 7ddefbdcc8 Merge pull request #297 from afabri/CGAL-assert-GF
assert() should not be used in CGAL headers!
2015-09-07 10:58:20 +02:00
Jane Tournois 2160da4ceb add area function for the complete triangulated Surface
use CGAL_PMP_NP_TEMPLATE_PARAMETERS and CGAL_PMP_NP_CLASS
to avoid ambiguities
2015-09-04 17:37:36 +02:00
Jane Tournois 216fafb6af for area(), faces should be triangular (at least for now) 2015-09-04 17:11:59 +02:00
Jane Tournois 2bb201c0ef add documentation and rename file 2015-09-04 16:58:53 +02:00
Jane Tournois e3a3c9939b introduce named parameters in area functions 2015-09-04 15:58:38 +02:00
Jane Tournois 757be4f245 introduce area(face) function 2015-09-04 15:52:13 +02:00
Jane Tournois a4f7911202 introduce named parameters and length(halfedge) function 2015-09-04 15:44:49 +02:00
Jane Tournois 13411283ce remove duplicate include 2015-09-04 14:58:08 +02:00
Jane Tournois 24cb41e31f rename file
it's not about dimensions, but about measures
2015-09-04 14:21:30 +02:00
Jane Tournois 6256bfd44f fix constness and put pmesh as last parameter, as usual 2015-09-04 14:10:13 +02:00
Laurent Rineau 1eab366954 Merge pull request #312 from sloriot/Polyhedron_demo-stl_io_plugin_safer-sloriot
Polyhedron demo: first check that the STL file is a polygon mesh before loading it

Conflicts:
	Polygon_mesh_processing/doc/Polygon_mesh_processing/PackageDescription.txt
2015-09-04 11:36:13 +02:00
Laurent Rineau 59ac9f30fc Merge pull request #293 from sloriot/PMP-fix_remove_degenerate_faces-sloriot
Polygon mesh processing:  fix remove_degenerate_faces() but do not publish it in the documentation
2015-09-04 11:24:36 +02:00
Sébastien Loriot 4931c8c889 first check that the stl file is a polygon mesh before loading it 2015-09-03 15:17:14 +02:00
Jane Tournois 33710fe170 replace std::map with boost::unordered_map
this speeds up the calls to "find" in status()
2015-09-02 16:29:29 +02:00
Jane Tournois e790bda380 move macro inside debug code 2015-09-02 16:05:05 +02:00
Jane Tournois ce54198aa7 Merge branch 'Polygon_mesh_processing-local_remeshing-GF-old' into Polygon_mesh_processing-local_remeshing-GF 2015-09-02 15:57:23 +02:00
Andreas Fabri 3a2850eecd Use accelerate_distance_queries() 2015-09-02 14:47:37 +02:00
Andreas Fabri 90cbba8e72 Add functions to measure length of border and area of patch 2015-09-01 10:07:48 +02:00
Andreas Fabri 1e2ff1131e assert -> CGAL_assertion 2015-08-27 16:51:55 +02:00
Sébastien Loriot 9514bcc8fe do not publish remove_degenerate_faces that is not yet ready 2015-08-27 11:26:04 +02:00
Sébastien Loriot bfe03f16eb add debug function 2015-08-27 09:56:27 +02:00
Sébastien Loriot f9edc6e4db extract the part responsible for removing all null-edges and create a function 2015-08-27 09:56:27 +02:00
Sébastien Loriot 05ff60df9c remove unused code 2015-08-27 09:56:06 +02:00
Jane Tournois 713f7424ab documentation for remeshing 2015-08-18 18:24:27 +02:00
Laurent Rineau 5d99700c3d Merge pull request #277 from janetournois/Polygon_mesh_processing-GF
Polygon mesh processing - Eigen 3.2 needed for fairing
2015-08-18 18:07:23 +02:00
Jane Tournois 7b93b844f2 integrate the complete test inside the static assert
to avoid inconsistencies between different compilers
2015-08-17 16:49:01 +02:00
Jane Tournois aef04b7dce make compilation more explicit when Eigen < 3.2 is used 2015-08-17 12:08:50 +02:00
Jane Tournois a5c14aad21 fix a bug in collapse_short_edges
an edge that is about to be collapsed can be not on border,
but with both of its vertices on the mesh Border

this causes the appearance of a null_face that causes a seg fault
2015-08-14 18:52:28 +02:00
Jane Tournois 768dfbc0b0 write documentation 2015-08-11 12:56:37 +02:00
Jane Tournois a45368680f add function to remove isolated vertices 2015-08-10 19:03:54 +02:00
Jane Tournois 86896278e5 Merge branch 'Polygon_mesh_processing-local_remeshing-GF-old' into Polygon_mesh_processing-local_remeshing-GF 2015-08-07 13:02:35 +02:00
Sébastien Loriot ca19447002 fix warnings detected by clang 2015-08-06 19:39:35 +02:00
Sébastien Loriot 5de888d9dc Revert "move update of the status outside of the constructor"
This reverts commit 6378a51191.

The commit was incorrect and was introducing a huge performance issue
2015-08-06 15:27:55 +02:00
Sébastien Loriot cabb80a4ae if no cc is to be removed, do nothing 2015-08-04 12:22:51 +02:00
Sébastien Loriot 74e6f3ea39 remove named parameter not needed 2015-08-04 12:22:51 +02:00
Sébastien Loriot acd4f70bf0 improve doc 2015-07-31 14:11:39 +02:00
Sébastien Loriot bc30aa5f48 handle the stitching of patches with incorrect orientation
we make two border halfedges matching only if they are opposite
2015-07-31 14:11:38 +02:00
Sébastien Loriot 4dbface316 make the range of halfedge to stitch const
it requires a tweak with PMP macros to desambiguate overloads
2015-07-31 14:11:20 +02:00
Sébastien Loriot 89498ff175 remove less_halfedge named parameter that is no longer needed 2015-07-31 11:18:24 +02:00
Sébastien Loriot d97a0dc1c5 remove less_halfedge named parameter that is not necessary
Since the edge endpoints must be identical, it is error prone
to provide a way to tweak the detection of edges to stitch
2015-07-31 11:15:58 +02:00
Sébastien Loriot aeff7c78a6 fix to correctly handle cases with border vertices 2015-07-29 17:04:31 +02:00
Sébastien Loriot f67d2f7148 add a description of the method used to remove link condition restrictions 2015-07-29 11:07:24 +02:00
Sébastien Loriot 9b1983eeb7 fix indentation 2015-07-29 10:08:23 +02:00
Sébastien Loriot a2ed1face6 remove unused code and variable 2015-07-29 10:06:50 +02:00
Sebastien Loriot 1ebc5f75b5 Merge pull request #196 from janetournois/Polygon_mesh_processing-GF
Polygon mesh processing - small fixes
2015-07-28 17:16:36 +02:00
Jane Tournois fb1714154f fix documentation
this template parameter is not needed!
2015-07-27 16:12:42 +02:00
Jane Tournois 2a6ddd38a4 use get() instead of [] to access vertex point map 2015-07-27 16:12:12 +02:00
Jane Tournois 9abb55125b use get() instead of operator[] for vertex point map
Conflicts:
	Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/remesh_impl.h
2015-07-27 16:11:14 +02:00
Jane Tournois 98fecc9a12 fix documentation
this template parameter is not needed!
2015-07-24 12:33:27 +02:00
Jane Tournois c37ed37c4c use get() instead of [] to access vertex point map 2015-07-24 12:31:50 +02:00
Jane Tournois ea1b6b402a fix the use of does_self_intersect 2015-07-24 12:23:32 +02:00
Jane Tournois b8d81cb8f6 add todo 2015-07-24 12:09:50 +02:00
Jane Tournois 87759f9ca8 use get() instead of operator[] for vertex point map 2015-07-24 12:09:04 +02:00
Jane Tournois b5cf442653 make plugins valid for Qt5 2015-07-24 10:05:02 +02:00
Jane Tournois bb3d38c9e7 Merge branch 'Polygon_mesh_processing-local_remeshing-GF-old' into Polygon_mesh_processing-local_remeshing-GF 2015-07-23 17:50:34 +02:00
Sébastien Loriot 7da45ca55c handle the case of a triangle hole with an edge of length 0 2015-07-22 16:08:38 +02:00
Sébastien Loriot a220686d02 satisfies_link_condition->does_satisfy_link_condition to match naming convention 2015-07-21 10:27:27 +02:00
Sébastien Loriot a30ad4be3c use PMP internal function 2015-07-16 16:40:54 +02:00
Sébastien Loriot 25d5a69104 use Side_of_triangle_mesh 2015-07-16 16:32:04 +02:00
Sébastien Loriot c89fa4bd53 simplify bgl named parameters handling with boost < 1.51 and make PMP compatible 2015-07-16 16:01:21 +02:00
Sébastien Loriot b766b511e6 avoid non-necessary inheritance 2015-07-16 13:21:38 +02:00
Sébastien Loriot f2a0d8c201 fix unused variable warning 2015-07-15 16:56:04 +02:00
Sébastien Loriot 45b1f593fc protect debug function by debug macro 2015-07-15 16:02:32 +02:00
Jane Tournois 9b0cd59255 add debugging code 2015-07-15 16:02:32 +02:00
Jane Tournois 2b0061d511 fix inversion of faces in equalize_valences
when endpoints of the halfedge being flipped belong to something else
than PATCH
2015-07-15 16:02:32 +02:00
Jane Tournois 4b85ca5460 add assertions 2015-07-15 16:02:32 +02:00
Jane Tournois 0ef807ac06 missing space in verbose mode 2015-07-15 16:02:32 +02:00
Jane Tournois 9b1eac30c2 verbose mode 2015-07-15 16:02:32 +02:00
Jane Tournois 6c00963c80 more verbosity 2015-07-15 16:02:32 +02:00
Jane Tournois d423378321 remove visitor (became useless) 2015-07-15 16:02:31 +02:00
Jane Tournois a1056c57dc little cleaning 2015-07-15 16:02:31 +02:00
Jane Tournois ed9276295d add stuff to verbose mode 2015-07-15 16:02:31 +02:00
Jane Tournois 77529d985d move debug code to debug macro 2015-07-15 16:02:31 +02:00
Jane Tournois e7b8734306 fix compilation for Polyhedron 2015-07-15 16:02:31 +02:00
Jane Tournois 8950cef414 add degeneracy test 2015-07-15 16:02:31 +02:00
Jane Tournois a603d5a705 fix collapse_short_edges
now there are degenerate faces in equalize_valences
2015-07-15 16:02:31 +02:00
Jane Tournois bfa1dfea2c add code to remove degenerate faces after each edge collapse 2015-07-15 16:02:31 +02:00
Jane Tournois 7ad049d14c don't use status visitor, it is not enough to keep halfedges status up-to-date 2015-07-15 16:02:31 +02:00
Jane Tournois e87c65bd3d rename variable for consistency 2015-07-15 16:02:30 +02:00
Jane Tournois ab1ddcac25 fix non-inversion test 2015-07-15 16:02:30 +02:00
Jane Tournois b7c0acae56 first operations for visitor that deals with status map 2015-07-15 16:02:30 +02:00
Laurent Rineau b639f7d051 Fix a compilation error
One cannot bind a temporary object to a non-const reference.
2015-07-15 16:02:30 +02:00
Jane Tournois 4b7a997df0 add the ability to use a Visitor for a BGL graph using an overload of graph_traits
TODO : is_valid(mesh) does not compile on msvc. To be fixed
2015-07-15 16:02:30 +02:00
Jane Tournois f8eb659abd remove debug_mesh_border
since it has become wrong when we have 2 adjacent patches
with a constrained polyline separating them
the same vertex can appear more than twice
2015-07-15 16:02:30 +02:00
Jane Tournois 237c20321f deal with degenerate faces better 2015-07-15 16:02:29 +02:00
Jane Tournois 6214feaaf1 add stuff for verbose mode 2015-07-15 16:02:29 +02:00
Jane Tournois 4f5be714bb add warning code 2015-07-15 16:02:29 +02:00
Jane Tournois e3121567fa automatically re-select border of selection after refining only border 2015-07-15 16:02:29 +02:00
Jane Tournois 7da4b81a19 add very verbose mode 2015-07-15 16:02:29 +02:00
Jane Tournois 99e0a245a0 add macro for verbose mode 2015-07-15 16:02:29 +02:00
Jane Tournois dea8a59dbb make flip_allowed test simpler, and reorganize flipping step
to save useless operations
2015-07-15 16:02:28 +02:00
Jane Tournois 4e95d9cc05 check that flip does not create a non-triangle face
this can happen around sharp tips of the domain,
when no incident edge is selected for protection
2015-07-15 16:02:28 +02:00
Jane Tournois df1985d296 use named parameters 2015-07-15 16:02:28 +02:00
Jane Tournois 07820b8e0d remove dump 2015-07-15 16:02:28 +02:00
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 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 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 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 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 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
Jane Tournois ad963f9b52 make doc uniform 2015-04-03 13:06:37 +02:00
Jane Tournois 70794487d5 rename kernel to geom_traits
and fix documentation links
2015-04-03 13:00:54 +02:00
Jane Tournois 0e674d879f replace vector with range in stitch_borders
and start fixing PackageDescription.txt
2015-04-03 12:46:30 +02:00
Andreas Fabri 3801b8316b typo 2015-04-03 10:21:25 +02:00
Andreas Fabri db614217c3 typos 2015-04-03 10:14:38 +02:00
Sébastien Loriot 67b1ed8b1b fix distance call 2015-04-02 07:48:26 +02:00
Sébastien Loriot 4666987177 fix for the previous commit 2015-04-02 07:47:48 +02:00
Sébastien Loriot 6a375326fa rename named param kernel to geom_traits and fix compilation issues 2015-04-02 07:33:24 +02:00
Jane Tournois f0702de4d4 Merge branch 'Polygon_mesh_processing-GF' of github.com:CGAL/cgal-dev into Polygon_mesh_processing-GF 2015-04-01 18:35:22 +02:00
Jane Tournois 9b5ae3f601 remove kernel traits from code 2015-04-01 18:34:59 +02:00
Sébastien Loriot c04077e7af use macro for documenting named parameters 2015-04-01 18:17:07 +02:00
Jane Tournois 9f1f8ae95d add random access range
and use boost::size instead of distance
2015-04-01 18:11:39 +02:00
Jane Tournois 49e14815d4 add info about mandatory internal property map 2015-04-01 18:01:33 +02:00
Jane Tournois 24bde0607b distinguish VertexPointMap between the readable (const) and writable (non-const)
property maps
2015-04-01 17:29:18 +02:00
Jane Tournois 570e68d4d0 remove todo (done!) 2015-04-01 17:10:04 +02:00
Jane Tournois e4ba8b4c47 document remove_degenerate_faces 2015-04-01 16:41:49 +02:00
Jane Tournois a6414a518b add precondition 2015-04-01 15:15:47 +02:00
Jane Tournois ebda288019 (doc) add missing parameter 2015-04-01 15:12:16 +02:00
Jane Tournois 1a68852bef add type extractors and rename Kernel to type for GetKernel 2015-04-01 15:06:50 +02:00
Jane Tournois 6a4e2552db add named parameters and an example to remove_degenerate_faces 2015-04-01 14:45:46 +02:00
Jane Tournois 396d1875ab named parameters in self_intersections.h (code and doc) 2015-04-01 13:46:53 +02:00
Jane Tournois 9c5719a1b7 named parameters in stitch_borders (doc and code) 2015-04-01 10:56:20 +02:00
Jane Tournois e1426b2405 add type extractor for vertex point map 2015-04-01 10:30:55 +02:00
Jane Tournois 8b3e23a514 add kernel to the doc of hole filling functions. It already is in the code,
via triangulate_hole_polyline
2015-03-31 17:27:58 +02:00
Jane Tournois 9f3efdeba6 add kernel named parameter to triangulate_hole_polyline 2015-03-31 17:24:19 +02:00
Jane Tournois 959fa86bba add type extractors 2015-03-31 16:41:53 +02:00
Jane Tournois 3dfc70f390 complete documentation 2015-03-31 16:18:06 +02:00
Jane Tournois 47953d9ad1 remove template parameter OutputIteratorValueType
OutputIterator is the return type everywhere and should be enough
2015-03-31 16:14:39 +02:00
Jane Tournois 211ab25343 add named parameters to triangulate_hole_polyline 2015-03-31 16:10:13 +02:00
Jane Tournois 8402120efe fix previous commit 2015-03-31 16:08:37 +02:00
Jane Tournois 6c2a5f3dde typos 2015-03-31 15:16:35 +02:00
Jane Tournois 06bd8c0c40 Merge branch 'Polygon_mesh_processing-GF' of github.com:CGAL/cgal-dev into Polygon_mesh_processing-GF 2015-03-31 15:13:15 +02:00
Jane Tournois 985a3575f3 named parameters in triangulate_faces 2015-03-31 15:12:58 +02:00
Sébastien Loriot 26396392b5 bugfix: do not take the address of a temporary 2015-03-31 15:11:41 +02:00
Jane Tournois f6cf149b74 remove debugging code 2015-03-31 15:01:39 +02:00
Jane Tournois 75d39dfde1 named parameters in is_outward_oriented (doc and code) 2015-03-31 15:01:15 +02:00
Jane Tournois 52a0637bd2 reuse vertex_point_t from cgal_bgl_named_parameters instead of
the new vertex_point_map_t (removed)
2015-03-31 14:10:19 +02:00
Jane Tournois 4f370f25f2 document named parameters in connected_components.h 2015-03-31 12:41:17 +02:00
Jane Tournois afa89bcafa introduce named parameters in connected_component 2015-03-31 12:15:43 +02:00
Jane Tournois 8d60913c43 introduce named parameters in keep_largest_connected_components 2015-03-31 12:09:35 +02:00
Jane Tournois cbfef8b105 introduce named parameters for connected_components 2015-03-31 11:34:19 +02:00
Jane Tournois 7147ab5fcf Merge branch 'Polygon_mesh_processing-GF' of github.com:CGAL/cgal-dev into Polygon_mesh_processing-GF 2015-03-30 16:56:33 +02:00
Sébastien Loriot 4c3a2f69c7 if eigen is not here the version macro is not available 2015-03-30 16:34:01 +02:00
Sébastien Loriot d8ff8f69e2 add draft implementation for approximated Hausdorff distance 2015-03-30 15:58:29 +02:00
Sébastien Loriot f119e8faec add a function to remove degenerate triangles 2015-03-30 15:56:45 +02:00
Sébastien Loriot 1d3eb35d81 add an overload to compute self-intersections of a subset of faces 2015-03-30 15:44:57 +02:00
Sébastien Loriot 0aba363223 hack to allow compilation
it's a hack because it only works for pmap with no state
2015-03-30 14:51:40 +02:00
Sébastien Loriot 8f046d3725 we cannot use an argument in a function to feed a default parameter value 2015-03-30 14:51:11 +02:00
Sébastien Loriot c37b84116e do not use a function declared only after 2015-03-30 14:50:41 +02:00
Jane Tournois ee26f71ad7 add default for ecmap and remove one overload 2015-03-30 14:49:22 +02:00
Jane Tournois 89753dfe94 add default ecmap to documentation 2015-03-30 14:43:40 +02:00
Jane Tournois 64391bea36 add info about property map 2015-03-30 14:22:31 +02:00
Jane Tournois 5a5bccf888 add description of return type 2015-03-30 13:54:12 +02:00
Jane Tournois f3f1b12376 remove from doc parameters that have become useless w/ named params 2015-03-30 10:58:43 +02:00
Jane Tournois bcb63ac70f document named parameters 2015-03-30 10:35:50 +02:00
Jane Tournois ceda35d9dd use named parameters in compute_normal.h functions
todo : complete documentation
2015-03-26 17:02:00 +01:00
Jane Tournois b57f2df027 triangulate_refine_and_fair_hole delegates everything so vertex point map
is already handled
2015-03-26 12:44:44 +01:00
Jane Tournois 993cb4f552 add vertex point map in triangulate_and_refine_hole 2015-03-26 12:42:35 +01:00
Jane Tournois c19cfd01d0 nothing to do for triangulate_and_refine_hole. It delegates 2015-03-26 12:22:53 +01:00
Jane Tournois bd5fef8cc5 rename and reindent 2015-03-26 12:20:00 +01:00
Jane Tournois 3ab662ce03 add vertexpointmap to refine code
this is a temporary version until we know how to get the type of a named parameter
2015-03-26 12:15:17 +01:00
Jane Tournois 21606b28c0 add VertexPointMap to the code of self intersections.
note this version is temporary because it will be using named parameters
2015-03-26 12:02:17 +01:00
Jane Tournois 59cbb9403f add VertexPointMap in fairing code 2015-03-26 11:31:08 +01:00
Jane Tournois b423b4196c add kernel to the list of documented named parameters 2015-03-26 09:44:02 +01:00
Jane Tournois bb9acbe424 fix solver doc 2015-03-20 16:38:09 +01:00
Jane Tournois 3879c520f7 better document density_control_factor 2015-03-20 16:22:21 +01:00
Jane Tournois e26b80e365 add vertex_point_map to the documentation of self_intersections functions 2015-03-20 15:57:36 +01:00
Jane Tournois 11b8f5ca72 document named parameters for all functions in which they are implemented 2015-03-20 15:44:20 +01:00
Jane Tournois cc78b0c136 document BGL named parameters for triangulate_hole 2015-03-20 15:14:39 +01:00
Jane Tournois 3194a38db8 add named bgl parameters 2015-03-20 12:22:32 +01:00
Jane Tournois d913b48d98 introduce bgl named function parameters
and implement them for hole filling, refine and fair functions
2015-03-20 09:52:54 +01:00
Jane Tournois e9c72794af Revert "move implementation files"
This reverts commit 9462d58a140e9d0efc38c10371f5a8e6e5e0d3fd.

Conflicts:
	Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/refine.h

The files had been deleted instead of moved.
They are back
2015-03-19 11:13:57 +01:00
Sébastien Loriot 1b766f2a90 improve connected component doc 2015-03-18 18:15:59 +01:00
Sébastien Loriot 54bc46aa9e update slicer doc 2015-03-18 18:03:52 +01:00
Sébastien Loriot 83bed5b427 update license headers 2015-03-18 17:23:43 +01:00
Sébastien Loriot 4c92719c99 do not document which files are included 2015-03-18 17:17:18 +01:00
Sébastien Loriot 7783670172 move header file 2015-03-18 17:14:33 +01:00
Sébastien Loriot 78f2283406 move header files 2015-03-18 17:11:45 +01:00
Sébastien Loriot 220cefb215 only Kernel is documented as nested type in Kernel_traits 2015-03-18 17:06:41 +01:00
Sébastien Loriot 6f146596a8 update polygon soup function doc 2015-03-18 17:06:26 +01:00
Sébastien Loriot 157bdbe7c0 update normal computation function doc 2015-03-18 17:05:50 +01:00
Sébastien Loriot f611f31b86 update orientation and stitch doc 2015-03-18 16:32:23 +01:00
Sébastien Loriot b0283d220e fix Point_inside_polygon_mesh doc 2015-03-18 15:19:59 +01:00
Sébastien Loriot 6d2c6df6ab rename header 2015-03-18 15:11:10 +01:00
Sébastien Loriot 61159ad4e6 fixes in self-itersection doc 2015-03-18 15:08:36 +01:00
Sébastien Loriot 838adad249 improve hole filling doc 2015-03-18 12:15:08 +01:00
Sébastien Loriot 73ea945a01 uniformize brief descriptions 2015-03-18 11:59:48 +01:00
Sébastien Loriot 9a9595e97e rename include guards 2015-03-18 11:53:04 +01:00
Sébastien Loriot 324839c8ae move header files 2015-03-18 11:51:33 +01:00
Sébastien Loriot e93e61230f improve triangulate_faces doc 2015-03-18 11:43:34 +01:00
Sébastien Loriot 262bcb0ce3 improve refine doc 2015-03-18 11:33:42 +01:00
Sébastien Loriot 0a0f0b1e56 replace FAIRING_CONTINUITY by an unsigned int 2015-03-18 11:26:10 +01:00
Sébastien Loriot dc9c394ea3 move implementation files 2015-03-18 10:53:27 +01:00
Sébastien Loriot 972542566e move enum 2015-03-18 10:52:58 +01:00
Sébastien Loriot 3ac659f94b improve fairing doc 2015-03-18 10:37:36 +01:00
Sébastien Loriot bd709caf3d improve default solver presentation and implementation 2015-03-18 10:36:40 +01:00
Sébastien Loriot 253b5eeb80 improve fairing doc 2015-03-18 10:24:30 +01:00
Sébastien Loriot bf9ef77fc9 add missing typename 2015-03-18 10:21:31 +01:00
Sébastien Loriot 2c2515860e remove commented lines 2015-03-18 10:21:13 +01:00
Sébastien Loriot 0e3d4586d4 fix doc warnings 2015-03-18 09:28:50 +01:00
Andreas Fabri 4cd8980f38 Add implementation of reverse_face_orientations 2015-03-17 17:37:22 +01:00
Jane Tournois dcedcd5782 doc 2015-03-17 15:08:05 +01:00
Jane Tournois 8007bf6d91 add function reverse_face_orientations & rename is_oriented.h to orientation.h 2015-03-17 14:48:16 +01:00
Jane Tournois 0186f23d37 add reverse_face_orientations function 2015-03-17 14:17:26 +01:00
Jane Tournois 99446cf516 (doc) add info about being default-constructible 2015-03-17 12:21:58 +01:00
Jane Tournois 0e728f65a0 Merge branch 'Polygon_mesh_processing-GF' of github.com:CGAL/cgal-dev into Polygon_mesh_processing-GF 2015-03-17 11:45:41 +01:00
Sébastien Loriot 94a199290b connect components function use a const mesh 2015-03-17 11:42:37 +01:00
Jane Tournois 2b47db3868 normalize_border is there only for performance 2015-03-17 11:40:45 +01:00
Jane Tournois 2acf2f1878 stitch_borders needs border to be normalized, or does not work.
It is not only a matter of speeding up the stitching algorithm
2015-03-16 13:04:11 +01:00
Jane Tournois f38ad46403 fix stitch_borders
normalize_borders, commented in a previous commit (ba34d1fe47860878a79de56e76fcd944a17ffdb8)
is mandatory
otherwise, stitching does not work
2015-03-16 12:49:21 +01:00
Jane Tournois 4654e0f3b5 use BOOST_FOREACH 2015-03-16 11:50:40 +01:00
Jane Tournois 38550349b0 fix bglization 2015-03-16 10:55:10 +01:00
Jane Tournois 6de112e4a3 move internal folder to subfolder of Polygon_mesh_processing 2015-03-16 10:04:56 +01:00
Sébastien Loriot 47fc0a6954 remove extra template parameter already present at the class level 2015-03-14 15:13:18 +01:00
Sébastien Loriot 9bbb8dca18 add missing include 2015-03-14 15:12:59 +01:00
Sébastien Loriot a24133c22e add missing includes 2015-03-14 15:00:28 +01:00
Jane Tournois aa59ae2c4c add missing include 2015-03-13 16:21:28 +01:00
Jane Tournois 26840824f7 add missing include 2015-03-13 16:16:03 +01:00
Jane Tournois 2aa1091e2b add missing include 2015-03-13 16:14:43 +01:00
Jane Tournois d3010125d7 add missing includes 2015-03-13 16:13:02 +01:00
Jane Tournois 906f4a33ff fix doc for orientation 2015-03-13 14:19:19 +01:00
Jane Tournois 08d9e53cf2 fix doc 2015-03-13 14:09:47 +01:00
Jane Tournois 60c3942243 (doc) add group 2015-03-13 13:56:53 +01:00
Jane Tournois 1010755f31 fix case 2015-03-13 12:56:08 +01:00
Jane Tournois f4c343f5c0 in fairing, make solver parameter usable 2015-03-13 12:30:02 +01:00
Jane Tournois 8d36cfb392 use BOOST_FOREACH 2015-03-13 10:53:20 +01:00
Jane Tournois b9863b6a96 use ranges instead of hardcoded vectors in refinement
this avoids copying the range to a vector as a first step in refine()
2015-03-13 10:45:30 +01:00
Jane Tournois 61d1d82e1c renaming to use BGL types 2015-03-13 09:28:50 +01:00
Jane Tournois 4b5e51db22 doc 2015-03-12 15:01:53 +01:00
Jane Tournois 2d77375dab fix compilation for windows 2015-03-12 14:54:13 +01:00
Jane Tournois 2ee9ff08ab fix documentation of polygon_soup_to_polygon_mesh 2015-03-12 14:43:32 +01:00
Jane Tournois 1459f283e5 move FAIRING_CONTINUITY to Polygon_mesh_processing namespace 2015-03-12 14:41:00 +01:00
Sébastien Loriot b627da64e1 remove unused typedefs 2015-03-12 13:49:33 +01:00
Sébastien Loriot 11d8004785 move function before it is used 2015-03-12 13:49:33 +01:00
Sébastien Loriot d16c685cda fix compilation and improve usage of pmaps 2015-03-12 13:49:33 +01:00
Sébastien Loriot d152da48d2 move function below the class definition it uses 2015-03-12 13:49:33 +01:00
Jane Tournois 73ddb796f7 fix compilation (mixing Points and arrays) 2015-03-12 12:16:09 +01:00
Jane Tournois 3ae29f03d6 replace internal::No_constraint with CGAL::Default as default parameter
in keep_largest_connected_components
2015-03-12 12:11:22 +01:00
Jane Tournois c8050d33f6 replace internal::No_constraint with CGAL::Default in connected_component 2015-03-12 11:59:33 +01:00
Jane Tournois 703b3cee61 add an overload of connected_components to handle default EdgeConstraintMap 2015-03-12 11:48:04 +01:00
Jane Tournois 48b5c9fb94 use CGAL::Default instead of internal::No_constraint as EdgeConstraintMap
default value
2015-03-12 11:44:16 +01:00
Jane Tournois f74ffe9598 replace "class" with "typename" in template parameters list to make doc uniform 2015-03-12 11:13:03 +01:00
Jane Tournois 0af1c98ab6 add doc 2015-03-12 11:07:22 +01:00
Jane Tournois fd9b0eb3d9 change case in file name 2015-03-12 10:53:33 +01:00
Jane Tournois 07b0ad5e75 replace boost::tuple by CGAL::cpp11::tuple 2015-03-12 10:42:10 +01:00
Jane Tournois bda07c93b9 fix compilation of connected_components 2015-03-12 10:41:26 +01:00
Jane Tournois a343119354 minor doc 2015-03-10 18:15:27 +01:00
Jane Tournois 6f0fddd27f documentation smoothing 2015-03-10 17:44:35 +01:00
Jane Tournois 07df5f046a smooth documentation 2015-03-10 16:54:41 +01:00
Jane Tournois 76ace6221a smooth documentation 2015-03-10 15:58:12 +01:00
Jane Tournois ce55bcc319 Merge branch 'Polygon_mesh_processing-GF' of github.com:CGAL/cgal-dev into Polygon_mesh_processing-GF 2015-03-10 15:31:56 +01:00
Jane Tournois e9e27377b0 smooth documentation 2015-03-10 15:14:32 +01:00
Andreas Fabri d59febe835 remove duplicate tparam 2015-03-10 15:01:45 +01:00
Jane Tournois 30aefd6210 smooth documentation 2015-03-10 14:48:24 +01:00
Andreas Fabri 9f530e732c fix links 2015-03-10 12:52:06 +01:00
Andreas Fabri 9fb3635c96 OutputIterator -> FaceOutputIterator 2015-03-10 12:27:44 +01:00
Andreas Fabri 815fccd5b6 Add tparams 2015-03-10 12:22:48 +01:00
Andreas Fabri 2343497d19 Do not use named parameters for connected_components 2015-03-10 12:04:25 +01:00
Jane Tournois 3b08e52664 fix documentation with SinglePassRange, and use boost::begin and boost::end 2015-03-10 11:58:33 +01:00
Jane Tournois d39f201724 in triangulate_hole_polyline, replace begin and end iterators by PointRanges 2015-03-10 11:38:08 +01:00
Jane Tournois 282264a73a in fair() replace (vertices_begin, vertices_end) by vertex range 2015-03-09 17:22:38 +01:00
Jane Tournois f3bfb53917 in refine(), replace facets_begin and facets_end by a range of facets 2015-03-09 16:52:05 +01:00
Jane Tournois 27fb500274 documentation smoothing 2015-03-09 16:04:22 +01:00
Jane Tournois 8466c9a00d smooth documentation 2015-03-09 15:05:43 +01:00
Jane Tournois a2fd13c0df fix last commits. stitch_borders had been deleted instead of moved 2015-03-09 12:34:01 +01:00
Jane Tournois 6288df3e70 completes latest commit 2015-03-09 12:31:54 +01:00
Jane Tournois b081f8d92b move stitch_borders to Polygon_mesh_processing folder for readability 2015-03-09 12:30:16 +01:00
Jane Tournois fe3d702461 rename stitch_polygon_mesh to stitch_borders
because it's the name of the function implemented in the header file
2015-03-09 12:27:58 +01:00
Jane Tournois 430962c524 add header including all the functions of the namespace Polygon_mesh_processing 2015-03-05 17:11:49 +01:00
Jane Tournois f1bb0e30a1 remove stuff about weight calculator from doc 2015-03-05 16:37:35 +01:00
Jane Tournois 79656210e5 change stitch_borders to have one function documented, with default parameters
add as many implementations as needed, using CGAL::Default
2015-03-05 16:34:02 +01:00
Jane Tournois 767239871a remove more documentation about weight 2015-03-05 16:18:51 +01:00
Jane Tournois cde06c7088 remove weight calculator from the public API of fairing
it is still available internally
2015-03-05 15:45:14 +01:00
Jane Tournois 63a2f8af8e add todo 2015-03-05 15:05:38 +01:00
Jane Tournois 75e4654a02 cleanup stitch_borders,
and add VertexPointMap as optional parameter

WARNING : stitch_borders(PolygonMesh& pmesh, LessHedge less_hedge)
commented until we make an API choice
2015-03-05 14:42:04 +01:00
Jane Tournois afba431244 make stitching BGL, and complete test with Surface_mesh 2015-03-05 13:35:06 +01:00
Andreas Fabri 6af7aaeebb introduce edge constraints based on the dihedral angle 2015-02-18 15:58:33 +01:00
Andreas Fabri afb2ced556 start to document the named parameters and document only this overload 2015-02-18 13:10:25 +01:00
Andreas Fabri b85d35d23f fix the return type 2015-02-18 10:52:33 +01:00
Andreas Fabri e1b2ce7c66 int -> std::size_t 2015-02-18 10:12:50 +01:00
Sébastien Loriot 89dcda25ad use the face index map 2015-02-18 09:51:04 +01:00
Andreas Fabri 066959623c WIP for making it work with Polyhedron 2015-02-18 09:39:52 +01:00
Andreas Fabri fef3ec4692 use BGL named parameters 2015-02-17 20:14:59 +01:00
Jane Tournois 5fd11a8f59 add precondition in documentation 2015-02-17 17:55:53 +01:00
Jane Tournois 93df9d1c17 add documentation about triangulate_hole for handling islands 2015-02-17 17:45:21 +01:00
Jane Tournois 1663717992 rename functions, files and types for uniformization
also get rid of a useless Kernel_traits<Point>
2015-02-17 16:33:08 +01:00
Jane Tournois 348c619a09 complete documentation 2015-02-17 16:11:33 +01:00
Jane Tournois 46cc82f50b add the two versions of is_outward_oriented taking vertex point map, and kernel 2015-02-17 16:04:12 +01:00
Jane Tournois 57fc563e64 remove useless precision of PolygonMesh type 2015-02-17 15:00:15 +01:00
Jane Tournois c677b98885 remove useless call to point property map 2015-02-17 14:51:35 +01:00
Jane Tournois 08e14b7af5 Merge branch 'Polygon_mesh_processing-GF' of ssh://scm.cgal.org/var/git/cgal into Polygon_mesh_processing-GF
Conflicts:
	Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/is_oriented.h
2015-02-17 12:31:07 +01:00
Jane Tournois c740f9283b make Polygon_soup_to_polygon_mesh BGL 2015-02-17 12:20:34 +01:00
Jane Tournois 687b1207d0 fix compilation 2015-02-17 11:41:14 +01:00
Jane Tournois ab0ac6d558 use Euler operations that are available in BGL package 2015-02-17 11:06:56 +01:00
Sébastien Loriot 6bbba1cd81 move function 2015-02-16 15:36:35 +01:00
Sébastien Loriot 24c47ae95d add missing typenames 2015-02-16 14:55:14 +01:00
Sébastien Loriot a0bf0a309b only try to retriangulation non-triangular faces 2015-02-16 14:46:43 +01:00
Sébastien Loriot 39710bb885 fix compilation issues 2015-02-16 14:45:57 +01:00
Sébastien Loriot 86453fc867 fix compilation issues 2015-02-16 14:26:57 +01:00
Sébastien Loriot 9ded7bd43a reorder functions 2015-02-16 14:26:57 +01:00
Andreas Fabri e155ff9a75 first version of keep_largest_connected_component 2015-02-16 12:49:40 +01:00
Sébastien Loriot c581f94224 fix typo 2015-02-16 12:10:45 +01:00
Andreas Fabri 733336e5ce harmonize indendation 2015-02-13 20:36:14 +01:00
Andreas Fabri 72159550da I had to rename FaceIndexMap to FaceComponentIndexMap 2015-02-13 18:14:10 +01:00
Andreas Fabri 8277f73a2c Add connected_components without EdgeConstraintMap 2015-02-13 18:08:52 +01:00
Andreas Fabri 444793142b Add documentation 2015-02-13 17:07:34 +01:00
Andreas Fabri 92e3482da4 Add high level function connected_component which uses boost::connected_component 2015-02-13 16:58:02 +01:00
Andreas Fabri f798355ce8 Add an example for the connected_component fct 2015-02-13 12:50:20 +01:00
Jane Tournois 13c5f49e67 fix compilation 2015-02-12 15:27:22 +01:00
Jane Tournois 0f469859ff triangulate_faces now has 3 versions, for different parameters
- PolygonMesh, VertexPointMap, and Kernel
- PolygonMesh and VertexPointMap (Kernel deduced automatically)
- PolygonMesh only (VertexPointMap and Kernel deduced automatically)

only the first one is documented, and appears as if the 2 last
parameters had default values
2015-02-12 14:59:40 +01:00
Andreas Fabri c040d8453a rename property maps 2015-02-11 11:29:17 +01:00
Andreas Fabri f25d87ed9c Add compute_normals; facet -> face 2015-02-11 10:18:00 +01:00
Andreas Fabri b8ebddf6b7 document compute_vertex/facet_normals 2015-02-11 09:42:56 +01:00
Andreas Fabri 1d33cb9735 add compute_vertex_normals() 2015-02-10 21:05:08 +01:00
Andreas Fabri ea1a819466 Add compute_facet_normals 2015-02-10 18:27:16 +01:00
Jane Tournois 6f27c5a75b BGL-ization triangulate_faces(PolygonMesh) function 2015-02-10 17:49:22 +01:00
Jane Tournois 5a2de88e73 fix warning 2015-02-10 17:44:12 +01:00
Andreas Fabri 1df27e57ac Add point property maps to normal computation 2015-02-10 15:36:12 +01:00
Jane Tournois a2c45b78f0 Merge branch 'Polygon_mesh_processing-GF' of ssh://scm.cgal.org/var/git/cgal into Polygon_mesh_processing-GF 2015-02-10 14:30:46 +01:00
Jane Tournois c58943c509 fix compilation for msvc2013 2015-02-10 14:30:19 +01:00
Andreas Fabri 1f869d269a Add overloads with a default for Kernel 2015-02-10 13:08:07 +01:00
Sébastien Loriot 6d8b60b7d7 remove warning 2015-02-05 14:05:28 +01:00
Sébastien Loriot 39f9813070 add discover_connected_component 2015-02-05 14:04:43 +01:00
Sébastien Loriot 1ca862bcd2 EIGEN_VERSION_AT_LEAST is not defined if CGAL_EIGEN3_ENABLED is not 2015-02-03 15:33:50 +01:00
Sébastien Loriot 85c0ff4402 add keep_largest_connected_components 2015-02-03 12:02:40 +01:00
Sébastien Loriot 717cc88d93 add vertex point pmap as template parameter 2015-02-03 10:36:57 +01:00
Sébastien Loriot c5737d0fa4 rename header 2015-02-03 10:15:42 +01:00
Sébastien Loriot 022666fe09 Polygon_mesh_slicer_3 -> Polygon_mesh_slicer 2015-02-03 10:12:42 +01:00
Sébastien Loriot 416db703c7 Merge branch 'local/Polygon_mesh_processing-extract_cc' into Polygon_mesh_processing-GF 2015-02-03 09:23:37 +01:00
Sébastien Loriot a686d2ae2d change namespace 2015-02-02 19:38:38 +01:00
Sébastien Loriot 35cbfea432 copy code added in branch Polyhedra_corefinement-enhancements-sloriot
|
  |commit fea785072d
  |Author: Sébastien Loriot <sebastien.loriot@cgal.org>
  |Date:   Wed Mar 26 10:48:25 2014 +0100
  |
  |    add an alternative way to compute the patches bounded by marked edges
  |
2015-02-02 17:09:32 +01:00
Sébastien Loriot c9efa943d2 move file to Polygon_mesh_processing 2015-02-02 17:05:53 +01:00
Sébastien Loriot 1a79edd840 fix compilation issues (nothing to do with the merge) 2015-01-30 17:57:04 +01:00
Sébastien Loriot dab5e16524 accomodate changes of the merge 2015-01-30 17:56:27 +01:00
Sébastien Loriot 137805d091 Merge branch 'old/Polygon_mesh_processing-GF'
Conflicts:
	Operations_on_polyhedra/include/CGAL/orient_polyhedron_3.h
	Polygon_mesh_processing/include/CGAL/orient_polygon_soup.h
	Polyhedron/demo/Polyhedron/Scene_polygon_soup_item.cpp
	Polyhedron/demo/Polyhedron/Scene_polyhedron_selection_item.h
2015-01-30 17:55:22 +01:00
Jane Tournois f9b8938596 stitching BGLized
works for Polyhedron_3
todo : check it still works for Surface_mesh
2015-01-23 17:48:46 +01:00
Jane Tournois 594a17eefd progress on BGLization of stitching
until now it only works for Polyhedron_3
2015-01-23 16:39:16 +01:00
Jane Tournois 5f785f7e44 add validity precondition to check valid orientation 2015-01-23 16:37:18 +01:00
Jane Tournois 79fa2df1f7 remove useless include 2015-01-23 15:49:22 +01:00
Jane Tournois 7a4428e43d start conversion to BGL API, and improve test 2015-01-23 15:48:53 +01:00
Jane Tournois 58b3e09350 make the use of namespaces consistent with other operators 2015-01-23 15:34:19 +01:00
Jane Tournois fa5fa003fd remove todo (already done) 2015-01-23 15:03:16 +01:00
Jane Tournois 4f364cf17b make is_oriented, compute_facet_normal, and compute_vertex_normal BGL
these 3 functions now handle a FaceGraph
test completed to check their use with Polyhedron_3 and Surface_mesh

typedef Point added in Polyhedron_3
to handle with no difference Surface_mesh and Polyhedron_3
2015-01-23 14:55:36 +01:00
Jane Tournois da972f0df8 TriangleMesh made a model of FaceListGraph
test added to use Point_inside_polygon_mesh with Surface_mesh
test code factorized in a helper file
2015-01-22 14:43:56 +01:00
Jane Tournois 52e4126d04 remove useless include 2015-01-22 14:00:07 +01:00
Jane Tournois 6a36d221ba some cleaning
rename variables and types, indentation,
reduce number of useless arguments, etc
2015-01-22 13:06:03 +01:00
Jane Tournois 3de1485921 add missing coma 2015-01-22 12:56:30 +01:00
Sébastien Loriot 818833db5d add flag to disable axis aligned plane optimisation and todos 2015-01-21 17:23:11 +01:00
Sébastien Loriot 098ffebd8a use a specific traits when the plane is parallel to two axis 2015-01-21 16:06:02 +01:00
Sébastien Loriot c5b65190ae do not use the default constructed traits 2015-01-21 11:48:34 +01:00
Sébastien Loriot 28f8774eaf use a traversal traits to avoid doing twice the orientation tests 2015-01-21 11:42:53 +01:00
Sébastien Loriot 9683acf3e6 fix destructor 2015-01-21 10:26:39 +01:00
Sébastien Loriot 3c2999813c fix doc warnings 2015-01-21 08:15:08 +01:00
Sébastien Loriot 247f8930d4 update and polish doc 2015-01-21 07:55:06 +01:00
Sébastien Loriot 811350da34 point property map should only be readable 2015-01-20 19:51:21 +01:00
Sébastien Loriot 50b096ba70 Rewrite of the Polygon_mesh_slicer handling degenerate cases correctly 2015-01-20 19:51:21 +01:00
Jane Tournois 022f9f353f self-intersection operators handles triangle meshes only 2015-01-20 12:05:55 +01:00
Jane Tournois 51d01df1c9 rename file because it only contains a predicate 2015-01-20 11:43:04 +01:00
Jane Tournois f7ff3b2548 move file to subfolder Polygon_mesh_processing 2015-01-20 11:40:07 +01:00
Jane Tournois fcfe30d114 rename is_oriented to is_outward_oriented
'is_oriented' was misleading because it was suggesting
"is consistently oriented" insted of "normals are oriented outwards
on this already consistently oriented mesh"
2015-01-20 10:36:34 +01:00
Jane Tournois 9fb416c1e8 add validity precondition with an assertion 2015-01-20 10:21:53 +01:00
Jane Tournois e028035776 rename orient_polyhedron_3 to orient_polygon_mesh
also add namespace Polygon_mesh_processing
2015-01-20 10:08:09 +01:00
Jane Tournois 38186adcbc add a constructor that takes a pre-built AABB_tree 2015-01-19 17:07:05 +01:00
Jane Tournois f6d32471c9 add preconditions to constructor 2015-01-19 15:46:14 +01:00
Jane Tournois 45ebea96f9 Point_inside_polyhedron renamed to Point_inside_polygon_mesh
also remove TriangleAccessor_3 and start migrating to FaceGraph
2015-01-19 14:34:59 +01:00
Jane Tournois 59c0e2f108 fix compilation for hole filling 2015-01-19 14:14:04 +01:00
Jane Tournois 30d7453630 rename Polyhedron to polygon_mesh and TriangleMesh in Point_inside_polyhedron_3 2015-01-16 16:36:15 +01:00
Jane Tournois ef4df5f47d add constructor for Polygon_mesh_slicer_3 taking a pre-built AABB_tree of edges
AABB_tree is made a template parameter of Polygon_mesh_slicer_3

also add a test for compilation of this new constructor
2015-01-16 16:12:30 +01:00
Jane Tournois af7265f541 rename Polygon_mesh_slicer_3 to Polygon_mesh_slicer_3 2015-01-16 14:38:40 +01:00
Jane Tournois 36a1db7263 add macro CGAL_HOLE_FILLING_DO_NOT_USE_DT3
to be used by inclusion of CGAL/Hole_filling/do_not_use_DT3.h
2015-01-16 14:14:47 +01:00
Jane Tournois 2649705d95 re-order parameters to have use_delaunay_triangulation always last 2015-01-16 13:02:46 +01:00
Jane Tournois ecddea2a0c make the use of DT3 the default configuration 2015-01-16 13:02:16 +01:00
Jane Tournois 6b63cef86e make the use of Delaunay triangulations true by default for hole filling 2015-01-16 12:55:57 +01:00
Jane Tournois 3b4489eb90 rename protection macros and fix missing includes 2015-01-16 12:41:33 +01:00
Jane Tournois 5633f9fe1f add missing protection #ifndef's 2015-01-16 11:10:25 +01:00
Jane Tournois 27d329b1e9 move fair() and refine() to their own files
- move fairing and refinement internal code to
the subfolder Meshing_functions (they were in Hole_filling)

- and fix namespaces
2015-01-15 17:11:00 +01:00
Jane Tournois e4bbbe518b add missing file 2015-01-15 16:11:45 +01:00
Jane Tournois 2ec9b7eff9 add namespace Polygon_mesh_processing to hole filling functions 2015-01-15 15:49:38 +01:00
Jane Tournois d4c864e1b9 use Delaunay by default 2015-01-15 15:33:43 +01:00
Jane Tournois 473e5e8bee rename triangulate_polyhedron to triangulate_faces 2015-01-15 15:29:01 +01:00
Jane Tournois 93107e9c88 move hole_filling functions to non-internal header triangulate_hole.h 2015-01-15 15:17:15 +01:00
Jane Tournois 246811669e fix compilation 2015-01-15 11:18:58 +01:00
Andreas Fabri 4f7ae328d7 switch to pmesh as parameter 2015-01-14 11:38:53 +01:00
Andreas Fabri 52840d2a20 Rename template parameter Polyhedron to PolygonMesh 2015-01-14 10:30:01 +01:00
Andreas Fabri bab97f92a3 WIP: it compiles but crashes for Surface_mesh 2015-01-13 18:47:36 +01:00
Jane Tournois 27698d58e6 Merge branch 'Polygon_mesh_processing-GF' of ssh://scm.cgal.org/var/git/cgal into Polygon_mesh_processing-GF 2015-01-13 17:37:26 +01:00
Jane Tournois 56c6a126cd add namespace Polygon_mesh_processing to orient_polygon_soup 2015-01-13 17:36:57 +01:00
Jane Tournois 89292cee6b fix documentation 2015-01-13 17:26:55 +01:00
Jane Tournois 99df22972e rename polygon_soup_to_polyhedron to Polygon_soup_to_polygon_mesh
also rename template parameter Polyhedron to PolygonMesh
2015-01-13 17:08:49 +01:00
Sébastien Loriot 029f53e70d solve overload compilation issues 2015-01-13 16:56:29 +01:00
Sébastien Loriot c16d88dcb7 SUPERLU is out of the game now 2015-01-13 16:56:29 +01:00
Jane Tournois bfa83b974d rename template parameter Polyhedron to PolygonMesh 2015-01-13 16:47:05 +01:00
Jane Tournois be88a07ebf rename stitch_polyhedron to stitch_borders 2015-01-13 16:43:27 +01:00
Jane Tournois 8a578f2c0e fix typo in documentation 2015-01-13 16:34:56 +01:00
Jane Tournois d4c63f8911 renaming
- rename do_self_intersect to is_self_intersecting
- add namespace Polygon_mesh_processing
- rename template parameter Polyhedron to PolygonMesh
2015-01-13 16:30:23 +01:00
Jane Tournois 67786d30ec convert Polygon_soup_to_polyhedron_3 to a standalone function 2015-01-13 16:03:26 +01:00
Jane Tournois 8e5312bfc1 Merge branch 'Polygon_mesh_processing-GF' of ssh://scm.cgal.org/var/git/cgal into Polygon_mesh_processing-GF 2015-01-13 15:17:11 +01:00
Sébastien Loriot 162e6c7527 fix warnings and some compilation issues 2015-01-13 15:07:36 +01:00
Jane Tournois cabf733638 move Polygon_soup_to_polyhedron_3 to its own file 2015-01-13 14:43:36 +01:00
Jane Tournois dff6924698 Merge branch 'Polygon_mesh_processing-GF' of ssh://scm.cgal.org/var/git/cgal into Polygon_mesh_processing-GF 2015-01-13 14:11:01 +01:00
Jane Tournois 83d35ff704 rename polyhedron_stitching() to Polygon_mesh_processing::stitch_polyhedron() 2015-01-13 14:10:35 +01:00
Andreas Fabri 013d7e6e69 code which does not compile 2015-01-13 13:01:39 +01:00
Jane Tournois 9b151051c3 rename 'self_intersect' to 'self_intersections'
for clarity,
because it is collecting intersections
2015-01-13 12:10:42 +01:00
Jane Tournois 7ad34c28ce add a todo 2015-01-13 11:24:50 +01:00
Jane Tournois 1db4534d8a do not return a boolean
the output iterator can be empty and that's enough
2015-01-13 11:16:02 +01:00
Andreas Fabri 78de42d075 some static_cast to avoid warnings 2015-01-13 10:15:23 +01:00
Sébastien Loriot 764a22ff9c fix property_map call 2015-01-13 09:49:47 +01:00
Andreas Fabri ee82a28b97 use property map tp access points 2015-01-13 09:25:53 +01:00
Andreas Fabri 860d28eb68 partial BGLization 2015-01-12 17:49:48 +01:00
Andreas Fabri d0eadcda44 partial BGLization 2015-01-12 17:11:06 +01:00
Andreas Fabri 9554430611 resolve merge conflict 2015-01-12 14:08:35 +01:00
Sébastien Loriot e9763e3acf Merge branch 'old/Polygon_mesh_processing-GF' into Polygon_mesh_processing-GF
Conflicts:
	Documentation/doc/Documentation/Doxyfile.in
	Documentation/doc/Documentation/dependencies
	Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/compute_normal.h
	Polygon_mesh_processing/include/CGAL/Self_intersection_polyhedron_3.h
2015-01-12 11:47:38 +01:00
Sébastien Loriot 58455566a8 add todos 2015-01-06 17:14:47 +01:00
Sébastien Loriot 85dce701b9 move compute_normal in Polygon Mesh Processing package 2015-01-06 15:32:45 +01:00
Sébastien Loriot a9665b3bf8 move Point_inside_polyhedron_3 to Polygon Mesh Processing package 2015-01-06 14:31:51 +01:00
Sébastien Loriot 7b9193adbb move Polyhedron_slicer_3 to Polygon Mesh Processing package 2015-01-06 13:07:12 +01:00
Sébastien Loriot 68c55ecefa move polygon soup orientation to Polygon Mesh Processing package 2015-01-06 13:00:58 +01:00
Sébastien Loriot 125d423cbc move self-intersection to Polygon Mesh Processing package 2015-01-06 12:55:18 +01:00