Commit Graph

206 Commits

Author SHA1 Message Date
Sébastien Loriot ab32dd2a28 update polyhedron clipping function to work with new code 2016-12-01 17:08:10 +01:00
Sébastien Loriot 1e2ec91906 add a namespace to avoid ambiguity with PMP functions 2016-12-01 15:16:56 +01:00
Sébastien Loriot bc719ad192 fix copy-paste error 2016-11-23 15:52:50 +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 ca4e71a1aa remove trailing whitespaces 2016-11-08 11:10:42 +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 8390e569b7 Correctly handle tangencies of input model
this handle the case of identical models (even differently meshed)
and model that are tangent only at vertices
2016-11-03 10:31:57 +01:00
Sébastien Loriot d84def1b44 fix compilation issue 2016-09-30 17:12:15 +02:00
Sébastien Loriot 1bb8b69f17 fix compilation errors 2016-09-30 17:06:10 +02:00
Sébastien Loriot d172f12316 apply changes from f30a97d8 2016-09-30 15:51:40 +02:00
Sébastien Loriot 6713621ae3 Update branch with master 2016-09-30 15:43:06 +02:00
Sébastien Loriot 7dd6b4cfb9 fix a copy-paste error P->Q 2016-09-02 15:50:09 +02:00
Sébastien Loriot c6fbc450e6 update after graph_type change
follow up of 830a977c73d3b1952bd2ca712ca8bad81917c2ca
2016-09-02 15:50:09 +02:00
Sébastien Loriot f30a97d808 use the lastest CMap API
this was responsible for bugs in the demo plugin where the cmap
is created in a library and used in another one
2016-07-21 11:29:08 +02:00
Sébastien Loriot 2d4153fc3d update Polyhedra_corefinement-enhancements-sloriot from master 2016-06-24 14:54:33 +02:00
Sébastien Loriot 5d0c508458 replace a map by two bitsets for polyline creation 2016-06-15 11:47:04 +02:00
Sébastien Loriot be17f39e27 make any operation invalid when an intersection polyline is inside a patch 2016-05-24 15:43:21 +02:00
Sébastien Loriot 5057337bf8 remove useless while loop 2016-05-19 15:11:56 +02:00
Sébastien Loriot edc84dce2a fix the selection of the patch border halfedge to update
the halfedge is not necessarily the next one
2016-05-13 16:46:04 +02:00
Sébastien Loriot 85c45af54c fix the import of patches having mesh border halfedges not on the intersection 2016-05-12 11:37:29 +02:00
Sébastien Loriot d2862852ac fix the setting of the vertex pointer of a halfedge incident ...
... to a vertex on an intersection polyline, in case the patch have
mesh border vertices
2016-05-12 11:13:37 +02:00
Sébastien Loriot 345799f227 fix the identification of border vertices of patches in mesh with borders 2016-05-12 10:39:05 +02:00
Sébastien Loriot 788cf463b2 increase iterator before continuing 2016-05-12 10:32:53 +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
Sébastien Loriot 26e6388930 fix a todo and update comment to be clearer 2016-05-04 11:51:24 +02:00
Sébastien Loriot b34c55f8d2 try removing unused polylines only when needed 2016-05-04 10:05:42 +02:00
Sébastien Loriot 205ad31e77 fix the reversal of meshes with polylines 2016-05-03 18:26:38 +02:00
Sébastien Loriot f0ce7f7bfd the removal of unused polylines can also happen without coplanar patches
see cube.off and with_cube.off
2016-05-03 14:39:22 +02:00
Sébastien Loriot 7bf3458ae9 add a bitset for polylines not used per polyhedron 2016-05-03 10:49:28 +02:00
Sébastien Loriot c97fc8287a allow the use of patches from P for two inplace operations
before the code was only working when patches used for the operation
in P were not used for the operation in Q
2016-04-22 17:30:12 +02:00
Sébastien Loriot 7abde9cde2 handle polylines not used by a boolean operations with coplanar patches
a polyline that is incident to a coplanar patch might not
always be part of the result. Thus some edges might have been
imported or not deleted while they should not have.
2016-04-21 12:41:34 +02:00
Sébastien Loriot d75298fff8 fix classification of patches near coplanar patches 2016-04-20 11:55:25 +02:00
Sébastien Loriot abf2411392 fix patches used in coplanar cases 2016-04-18 17:04:23 +02:00
Sébastien Loriot 1669224fc5 reverse the orientation of patches before the appending of new patches
this avoid reversing the orientation of patches just appended
2016-04-14 17:09:49 +02:00
Sébastien Loriot 324134aa4e first version without restriction on where the outputs will be stored
more testing needed
2016-04-13 17:12:44 +02:00
Sébastien Loriot bd7b702281 precompute the patches to be used for the different operations 2016-04-13 11:03:01 +02:00
Sébastien Loriot f8580183e3 only remove patches if the output was requested 2016-04-12 16:24:03 +02:00
Sébastien Loriot db66f1063c rename two variables and remove unused code 2016-04-05 12:18:35 +02:00
Sébastien Loriot f8bbee52b7 Merge branch 'Polyhedra_corefinement-enhancements-sloriot' into HEAD 2016-04-04 12:09:24 +02:00
Sébastien Loriot 2aa72bd6fd mark also halfedges in newly created polyhedra 2016-04-04 12:04:14 +02:00
Maxime Gimeno 32a43ad3e0 Addition of a split feature 2016-03-21 15:59:30 +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
Andreas Fabri 875a21f9e1 not compute bbox with empty polyhedron 2016-02-16 16:56:16 +01:00
Sébastien Loriot 8cee2ef1dd Merge pull request #686 from afabri/Kernel_fix-warnings-GF
Fix warnings concerning indentation and unused parameter
2016-02-03 09:49:54 +01:00
Sébastien Loriot 960b996e4c make use of the ppmap for self intersection tests 2016-02-02 15:14:43 +01:00
Sébastien Loriot 8f7dd2b678 try removing an uninitialized variable warning 2016-01-28 13:55:18 +01:00
Sébastien Loriot acba778a9e Merge branch 'Polyhedra_corefinement-enhancements-sloriot' into HEAD 2016-01-21 11:06:59 +01:00
Laurent Rineau b913c0ba5f Fix in intersection_of_Polyhedra_3: CMap default-constructor is not thread-safe
When `do_not_build_cmap_` is `true`, avoid even to construct the
default-constructed CMap, because that operation is not thread-safe.
2016-01-20 18:10:40 +01:00
Sébastien Loriot 7779aa1eee add flag to first test for self-intersection facets involved in the intersection 2016-01-18 12:46:42 +01:00