Commit Graph

1227 Commits

Author SHA1 Message Date
Sébastien Loriot a847818904 improve description 2016-12-29 18:02:36 +01:00
Sébastien Loriot 886b65edd1 remove set_ prefix from named parameters 2016-12-29 17:50:16 +01:00
Sébastien Loriot bfc20a922b move using instructions 2016-12-29 07:21:04 +01:00
Sébastien Loriot 283815c875 improve doc 2016-12-29 07:21:04 +01:00
Sébastien Loriot 94b2720fbd use name parameters for selecting the sampling algorithm
A dedicated sampling of edges is also introduced as well as
an option to use input vertices to evaluate the distance.
2016-12-29 07:20:25 +01:00
Sébastien Loriot db6b7e0a00 add sampling on edges and vertices for a single face (grid case)
also add missing overload
2016-12-29 07:20:25 +01:00
Sébastien Loriot 5ee83b555b remove Triangle_3 extra requirements 2016-12-29 07:20:25 +01:00
Sébastien Loriot 621c6c5457 cosmetic changes 2016-12-29 07:20:24 +01:00
Sébastien Loriot fd87870977 fix constructed vector 2016-12-29 07:20:24 +01:00
Maxime Gimeno 4568381657 Another fix for the doc 2016-12-29 07:20:24 +01:00
Maxime Gimeno cdc76129d0 Keep fixing the doc 2016-12-29 07:20:24 +01:00
Andreas Fabri 18a39a54bd fix VC++ warnings by adding static_cast 2016-12-29 07:20:24 +01:00
Maxime Gimeno 768e52fe54 Another fix of the doc. 2016-12-29 07:20:23 +01:00
Maxime Gimeno 1d43e641d6 Fix measure.h and update demo plugin code 2016-12-29 07:20:23 +01:00
Maxime Gimeno 581b677a44 Add sample_face() and fix some doc. 2016-12-29 07:20:23 +01:00
Simon Giraudot 98b5ae4682 Fix angle/circumcenter/m_edge problems 2016-12-29 07:20:23 +01:00
Maxime Gimeno 06dd4a4522 Add a geom-traits concept for distance functions
Update the code and the doc accordingly
2016-12-29 07:20:23 +01:00
Jane Tournois e9f6885d3e minor doc fixes 2016-12-29 07:20:23 +01:00
Jane Tournois 2e804f6e48 fix the doc of `sample_triangle_mesh`
fix a few typos, and fix the layout of bullet lists
2016-12-29 07:20:22 +01:00
Maxime Gimeno d5bdf342d4 Use functor instead of free function volume() 2016-12-29 07:20:22 +01:00
Maxime Gimeno 9140ab3f31 Replace approximated by approximate in the function names. 2016-12-29 07:20:22 +01:00
Sébastien Loriot 3710a60b9c doc clean up 2016-12-29 07:20:22 +01:00
Maxime Gimeno 0cc2c59981 Fixes for SF. 2016-12-29 07:20:22 +01:00
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