Commit Graph

990 Commits

Author SHA1 Message Date
Sébastien Loriot 6ac45f820a use PMP for corefinement and intersection plugins 2017-01-11 15:16:03 +01:00
Sébastien Loriot 59001acd92 update the implementation of clip plugin to use new corefinement PMP code 2017-01-10 15:38:24 +01:00
Sébastien Loriot 6743afaee3 add a function to initialize vertex index maps 2017-01-10 15:04:54 +01:00
Sébastien Loriot 706e8c81ce fix copy-paste error 2017-01-05 15:56:18 +01:00
Sébastien Loriot b48a6e8965 handle dangling polylines
An intersection polyline that has a node of degree one that is not
on the boundary of both meshes invalidates all operations.
It might be possible to do the union in some case but it does not
seems relevant for now
2017-01-03 10:01:23 +01:00
Sébastien Loriot e0010627ee use a simpler to read form for the sorted_around_edge predicate
in addition it become a real predicate (no construction)
2017-01-02 19:25:48 +01:00
Sébastien Loriot 9f2d102b7f no longer used intermediate interval layer
this was actually not needed since EPECK already have this
filter layer
2017-01-02 19:25:44 +01:00
Sébastien Loriot 7ed402b3f7 optimize the number of nodes created in the DAG
- Use new kernel functors for intersection points
- Construct points from double to have only one node per point
  (doubles are stored in Lazy_rep_3)
2017-01-02 19:25:44 +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