Commit Graph

287 Commits

Author SHA1 Message Date
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 c12762ff08 one more test 2016-05-24 17:13:34 +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 3981654328 add data_set that is failing (intersection polyline inside a patch) 2016-05-24 11:32:20 +02:00
Sébastien Loriot 79c374b87b add data set with for non manifold union 2016-05-19 15:33:13 +02:00
Sébastien Loriot cd1e091fac the output builder must be a reference 2016-05-19 15:30:19 +02:00
Sébastien Loriot 5057337bf8 remove useless while loop 2016-05-19 15:11:56 +02:00
Sébastien Loriot 1bf86cbafe add new testcase that was failing 2016-05-13 16:48:24 +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 3a935a112e reorder the order of the test runs 2016-05-12 11:16:24 +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 c32c1f4cfd only write output files in debug mode + use assert 2016-05-04 11:56:30 +02:00
Sébastien Loriot 945116b524 add new test cases 2016-05-04 11:52:48 +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 c1b072f67b add another problematic test case 2016-04-27 17:30:44 +02:00
Sébastien Loriot 02d22117a7 num scenarios 2016-04-22 17:32:18 +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 6211d6cbc1 update test_corefinement_on_polyhedra.cpp to compute all combinaisons 2016-04-21 16:53:01 +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 f29f1d71f4 another coplanar data set 2016-04-20 14:39:47 +02:00
Sébastien Loriot 681700b243 remove unused test files and add a .cmd 2016-04-20 14:34:25 +02:00
Sébastien Loriot 43b9d5590c another coplanar data set 2016-04-20 14:11:11 +02:00
Sébastien Loriot d75298fff8 fix classification of patches near coplanar patches 2016-04-20 11:55:25 +02:00
Sébastien Loriot 1547d9a874 another coplanar test case 2016-04-19 18:51:01 +02:00
Sébastien Loriot b4d308f5be add another coplanar data-set 2016-04-19 18:12:53 +02:00
Sébastien Loriot abf2411392 fix patches used in coplanar cases 2016-04-18 17:04:23 +02:00
Sébastien Loriot 47c1e42208 add testsuite input to be used with data-coref/cube.off 2016-04-15 17:40:25 +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
Laurent Rineau 9cbae0394d Merge pull request #934 from maxGimeno/Polyhedron_demo-Clipping_polyhedron_plugin_enhancement-GF
Polyhedron_demo: Clip_polyhedron_plugin enhancement
2016-04-13 11:19:38 +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 906fe4ce79 accomodate update of isotropic remeshing 2016-04-04 12:12:58 +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 4a357cdadd add an example doing union and isotropic remeshing of the result 2016-04-04 12:06:34 +02:00
Sébastien Loriot 2aa72bd6fd mark also halfedges in newly created polyhedra 2016-04-04 12:04:14 +02:00
Sébastien Loriot 4c29bf1b44 CMAKE_SOURCE_DIR -> CMAKE_CURRENT_SOURCE_DIR 2016-03-24 16:33:46 +01:00
Maxime Gimeno 32a43ad3e0 Addition of a split feature 2016-03-21 15:59:30 +01:00
Sébastien Loriot 881e4d3199 request Core only in examples, tests and demos when really needed 2016-03-07 22:36:57 +01:00
Sébastien Loriot 2d191d6651 commit CMakeLists.txt for all examples and tests 2016-03-07 17:39:36 +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
Sébastien Loriot f222383663 factorize call to convertor 2016-01-18 12:46:03 +01:00
Sébastien Loriot 03b087f6f4 increase the precision of the output when it is not precise enough 2016-01-18 12:45:06 +01:00
Sébastien Loriot 8e41e79ba4 clip close polyhedra using a clipped bbox
this will make the Side_of_triangle_mesh working to
select pieces to keep when a component has no intersection
with the plane
2016-01-14 17:39:07 +01:00
Sébastien Loriot 89434ec61b Merge branch 'old/Operations_on_polyhedra-plane_clipping_with_corefinement-sloriot' into HEAD 2016-01-11 12:07:15 +01:00
Jane Tournois 265eb559c0 fix conversion warnings (for msvc) 2015-11-17 16:11:53 +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
Sébastien Loriot 604b413efc fix the selection of cc to remove 2015-10-30 20:20:51 +01:00
Sébastien Loriot 3b69cbda8b first msvc warnings 2015-10-26 09:36:18 +01:00
Sébastien Loriot eafd7353ed add a function to clip inplace with adding faces from the cutting plane 2015-10-23 11:48:51 +02:00
Sébastien Loriot bdd51636de fix constness issue 2015-10-23 11:48:30 +02:00
Sébastien Loriot 723afb6e55 bugfix: we always keep the negative side of the plane 2015-10-23 11:44:32 +02:00
Sébastien Loriot fb050df564 add a function to clip a polyhedron by a plane using corefinement 2015-10-22 08:20:11 +02:00
Andreas Fabri 38d063539a cleanup 2015-10-02 08:17:19 +02:00
Andreas Fabri 1e2ff1131e assert -> CGAL_assertion 2015-08-27 16:51:55 +02:00
Sébastien Loriot 5d2c892dbe Merge pull request #149 'lrineau/Polygon_mesh_processing-GF'
Add various functions to manipulate polygon meshes
2015-07-17 14:50:56 +02:00
Sébastien Loriot 497fc03dc4 fix unused variable warning 2015-07-16 09:31:22 +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
Sébastien Loriot aaf0959c70 avoid reporting twice intersection edges 2015-05-22 10:27:48 +02:00
Sébastien Loriot 44ee151862 bugfix when polylines contains vertices with more than 2 incident segments
We no longer try to link (prev/next) halfedges when importing polylines.
As a consequence, when we import face patches, we simply update the
connectivity at that point and also set the vertex associated to
the halfedges
2015-04-29 11:06:26 +02:00
Sébastien Loriot 4b9ddc0436 simple fix for cycles with only one terminal node
the information assertion was buggy
2015-04-23 14:28:31 +02:00
Sébastien Loriot d6ce62d862 change the ways coplanar patches are handled
the previous method was incorrect since some edges inside a
coplanar patch were reported. The following fix let the
intersection of coplanar triangles being computed but
intersection edges are filtered to keep only those
incident to different triangles in both polyhedra.
The drawback of this approach is that the intersection
inside the patch are computed and not really needed.
A better approach would be to be able to directly detect
the boundary of a set of coplanar triangles.
2015-04-21 17:02:11 +02:00
Sébastien Loriot 98faf661a7 this operations is only possible if the patch border is "manifold" 2015-04-21 16:45:34 +02:00
Sébastien Loriot 147d104b3c add todos and an assertion 2015-04-21 16:44:51 +02:00
Sébastien Loriot fe13cef3eb add debug functions 2015-04-21 16:44:09 +02:00
Sébastien Loriot 7f2bc5ed15 add protector in filtered predicates and update assertion 2015-04-10 12:03:42 +02:00
Sébastien Loriot a7c18ee412 update filename 2015-03-14 15:51:15 +01:00
Sébastien Loriot 09d1ca37df do not cross boundary edges 2015-03-03 13:26:28 +01:00
Sébastien Loriot 682e8d448a update include guards 2015-02-20 09:06:38 +01:00
Sébastien Loriot c5737d0fa4 rename header 2015-02-03 10:15:42 +01:00
Sébastien Loriot b4d7f909c2 update include and class after renaming 2015-02-03 10:13:01 +01:00
Sébastien Loriot 1c520ca30c remaining changes due to the merge 2015-02-03 09:52:13 +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 fb4db7bbd6 accomodate changes due to the merge 2015-02-03 09:22:36 +01:00
Sébastien Loriot c4064b3b0f Merge branch 'local/Polygon_mesh_processing-extract_cc' into Polyhedra_corefinement-enhancements-sloriot
Conflicts:
	Operations_on_polyhedra/include/CGAL/intersection_of_Polyhedra_3_refinement_visitor.h
	Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/Connected_components.h
2015-02-03 09:22:23 +01:00
Sébastien Loriot a686d2ae2d change namespace 2015-02-02 19:38:38 +01:00
Sébastien Loriot c9efa943d2 move file to Polygon_mesh_processing 2015-02-02 17:05:53 +01:00
Sébastien Loriot a6ea5c0b22 update orient_polygon_soup testsuite 2015-01-30 18:02:36 +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
Sébastien Loriot e56a845b96 Merge branch 'local/Polyhedron_demo-export_STL_builder'
Brings enhancement to the polyhedron demo:
   * better handling of triangle soups -> always orientable as polyhedron
   * better handling of triangulated stl files in the loader

  Tested in CGAL-4.6-Ic-117
  Approved by the release manager
2015-01-30 16:09:00 +01:00
Sébastien Loriot 20303af884 accomodate the update of the AABB-tree 2015-01-29 15:57:52 +01:00
Sébastien Loriot 0211721899 Merge branch 'old/Polyhedra_corefinement-enhancements-sloriot' into Polyhedra_corefinement-enhancements-sloriot
Conflicts:
	Operations_on_polyhedra/examples/Operations_on_polyhedra/a_minus_b_by_hand.cpp
	Operations_on_polyhedra/examples/Operations_on_polyhedra/orient_polyhedron_test.cpp
	Operations_on_polyhedra/include/CGAL/internal/Operations_on_polyhedra/Ray_3_Triangle_3_traversal_traits.h
	Operations_on_polyhedra/include/CGAL/intersection_of_Polyhedra_3.h
	Operations_on_polyhedra/include/CGAL/intersection_of_Polyhedra_3_refinement_visitor.h
	Surface_reconstruction_points_3/demo/Surface_reconstruction_points_3/MainWindow.cpp
2015-01-29 15:55:17 +01:00