Commit Graph

221 Commits

Author SHA1 Message Date
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
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 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 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
Sébastien Loriot 24fcc4a2fe update orient_polygon_soup to always produce a polyhedron
with self-intersection at singular vertices/edges
2015-01-29 14:02:56 +01:00
Sébastien Loriot 4ccb186e08 handle non triangulated polyhedron 2015-01-27 14:35:08 +01:00
Sébastien Loriot 7ab1037f6b handle case when the x coordinate of the normal vector at the minimal vertex is 0 2015-01-27 14:13:17 +01:00
Sébastien Loriot 20ffc3da30 remove assertion that should be a warning 2015-01-27 10:07:32 +01:00
Laurent Rineau ff62595012 Merge branch 'CGAL-fix_compilation_boost_1_56-lrineau'
Fix compilation issues with Boost-1.56 and later.

Approved by the Release Manager.
2015-01-26 11:42:29 +01:00
Sébastien Loriot ba36fe0ac1 reordering 2015-01-26 09:34:25 +01:00
Sébastien Loriot 3fce4e0e5a bugfix: we might miss edges
for example if we have exactly 3 triangles oriented such that the edge (i0,i1)
  is in the 3 triangles and i1>i0 then the edge will never be reported
2015-01-23 16:30:57 +01:00
Sébastien Loriot 4242990bf5 change Index type and use CGAL::array 2015-01-23 16:22:21 +01:00
Sébastien Loriot 4708e63fa6 abstract the polygon type 2015-01-23 15:56:02 +01:00
Sébastien Loriot 58b99a51f2 hide the modifier in internal namespace and advertise the function 2015-01-23 15:55:45 +01:00
Sébastien Loriot 135568bb0d abstract the point and polygon type 2015-01-23 15:30:04 +01:00
Sébastien Loriot 4fbf80df46 move Polygon_soup_to_polyhedron_3 to its own header 2015-01-23 15:03:13 +01:00
Sébastien Loriot 2f4ed34a85 fix for corefinement demo plugin in case of hand modified polyhedron
In case a polyhedron is modified "by hand", the canonical halfedge
of a pair might be on the boundary. If it's the case, we simply
take the opposite.
Add assertions to check we don't access the facet of a border halfedge

Trivial bug fix for master
2015-01-16 11:19:32 +01:00
Laurent Rineau e965b6293e Fix compilation errors with C++11 and Boost-1.56
Use *explicit* conversions to `bool`, for boost::shared_ptr and
boost::optional.
2015-01-14 14:47:29 +01:00
Andreas Fabri 02b26e679c Merge branch 'Operations_on_polyhedra-BGLization-GF'
Approved by the release manager
2015-01-12 11:31:06 +01:00
Andreas Fabri 6e36a853a9 Merge branch 'Surface_mesh-new_package-GF'
Approved by the release manager
Conflicts:
	Documentation/doc/Documentation/dependencies
	Documentation/resources/how_to_cite_cgal.bib.in
	Installation/changes.html
2015-01-12 11:27:35 +01:00
Andreas Fabri ed400f62c9 Make self_intersection test work for FaceListGraph 2015-01-07 11:04:13 +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 0c6c99f146 remove old implementation 2015-01-06 14:20:24 +01:00
Sébastien Loriot b9f9c95623 move header to proper package 2015-01-06 14:18:59 +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
Sébastien Loriot 819793c998 move triangulate_polyhedron to Polygon Mesh Processing package 2015-01-06 12:07:58 +01:00
Sébastien Loriot 0b55e11abd move stitching in Polygon Mesh Processing 2015-01-06 12:00:50 +01:00
Sébastien Loriot 1453414e2c move orientation polygon in Polygon Mesh Processing 2015-01-06 12:00:45 +01:00
Andreas Fabri 24ea03f41c remove unused variable 2014-12-30 17:02:37 +01:00
Laurent Rineau 9debd6a471 Merge branch 'CGAL-various_fixes-lrineau'
s/const static/static const/

Tested in CGAL-4.6-Ic-79. Approved by the Release Manager.
2014-12-17 17:07:57 +01:00
Sébastien Loriot ee06d18f3f make the behavior deterministic in case of open polyhedron
If there is no intersection between a connected component of A
and if B is open then that component will always be considered as outside of B.
2014-12-09 15:29:30 +01:00
Andreas Fabri 722dd08415 fix constness issue in self-intersection function 2014-11-17 22:29:02 +01:00
Andreas Fabri 9822581d6f get() the point property map (and hit constness problems even for Polyhedron) 2014-11-14 15:06:30 +01:00
Andreas Fabri a7c9ac9a6d use vertex_point property map. Why does it not compile??? 2014-11-14 12:56:34 +01:00
Andreas Fabri 695031665c self intersection test uses BGL API 2014-11-14 11:19:38 +01:00
Andreas Fabri 3ef4d818da fix Operations_on_polyhedra/examples 2014-11-14 10:08:33 +01:00
Laurent Rineau d63a998759 Attempt to remove more warnings 2014-11-07 18:54:59 +01:00
Sébastien Loriot eefc18c12a Workaround for CGAL_CFG_FPU_ROUNDING_MODE_UNWINDING_VC_BUG
Trivial bugfix for master
2014-08-29 14:55:12 +02:00
Sébastien Loriot d56210297d add missing CGAL_assertion_code 2014-07-18 09:16:17 +02:00
Sébastien Loriot 8019ed241e fix include directive and function call 2014-07-17 16:55:14 +02:00
Sébastien Loriot b73ce551f7 add missing header 2014-07-17 16:43:58 +02:00
Sébastien Loriot 27d34d9e75 Merge branch 'Orient-Polyhedron_3-iyaz' into Polyhedron_demo-fix_orient_polygon_soup-local
Conflicts:
	Operations_on_polyhedra/include/CGAL/triangulate_polyhedron.h
2014-07-17 16:29:52 +02:00
Andreas Fabri 50166292e9 resolve Edge/Halfedge problem in the slicer. todo: cleanup 2014-06-11 18:29:20 +02:00
Andreas Fabri 144d206a75 cleanup of the helper files, and a partial fix of the slicer (which will be red in the testsuite) 2014-06-11 18:16:58 +02:00
Andreas Fabri 3d30938cb2 Use faces(G) instead of facets_begin/end 2014-06-11 10:38:30 +02:00
Sébastien Loriot 45321b9f90 add a function to export the halfedges defining an intersection polyline 2014-04-28 15:20:04 +02:00