Commit Graph

221 Commits

Author SHA1 Message Date
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
Sébastien Loriot 499860fbc5 by default call the copy constructor of the facets in the re-triangulation 2014-04-16 12:46:52 +02:00
Sébastien Loriot 2bdec7eed1 fix the default facet id pmap 2014-04-14 14:57:04 +02:00
Sébastien Loriot 8efef61028 add boolean to handle unbounded polyhedron representing the world minus a piece 2014-04-14 09:11:44 +02:00
Sébastien Loriot b6859bdea0 update code to compute p-q inplace, q-p inplace and inter and union in new poly
this is a intermediate commit for the more general case
2014-04-11 16:47:29 +02:00
Sébastien Loriot 18404dbe60 add preliminary version of an output visitor to compute boolean ops on polyhedra
still a lot of todos...
2014-03-31 19:42:33 +02:00
Sébastien Loriot fb8c86265e add todo 2014-03-31 19:04:47 +02:00
Sébastien Loriot 8e6d29c88d remove an non-needed template parameter 2014-03-26 12:37:15 +01:00
Sébastien Loriot c1a1f538fb move some utility classes and function into a seperate header 2014-03-26 12:36:37 +01:00
Sébastien Loriot b9c6a37313 rename predicates 2014-03-26 11:38:58 +01:00
Sébastien Loriot 7f143c0193 move predicates into a seperate file 2014-03-26 11:26:19 +01:00
Sébastien Loriot fea785072d add an alternative way to compute the patches bounded by marked edges 2014-03-26 10:48:25 +01:00
Sébastien Loriot fce02f988e New OutputBuilder template parameter responsible for building the cmap
extract from the refinement visitor the functions used to build
the combinatorial map and put them in a OutputBuilder class
2014-03-26 10:33:44 +01:00
Sébastien Loriot f3f1e89008 add a flag to avoid computing the intersection of coplanar facets 2014-03-26 10:00:53 +01:00
Sébastien Loriot 645d018f17 move the construction of the cmap in a function 2014-02-26 05:53:11 +01:00
Sébastien Loriot 23800096aa add comments 2014-02-25 17:35:02 +01:00
Sébastien Loriot 70a7363e74 add missing template parameter 2014-02-25 08:42:40 +01:00
Laurent Rineau 06dac30143 Fix 'const static <type>'
The storage specified (static) is not allowed inside the type
specifier. It must be prefix or postfix (but not infix).

That is strange no C++ compiler gives an error on such a construction.

s/const static/static const/
2014-02-20 19:14:26 +01:00
Sébastien Loriot 62724c2b1f add a todo 2014-02-19 08:14:12 +01:00
Sébastien Loriot 36657d31df bugfix to correctly set the vertex kept 2014-01-22 15:17:46 +01:00
Sébastien Loriot 5ccb85c5ed remove duplicated property settings 2014-01-06 08:46:05 +01:00
Sébastien Loriot f75f156f44 Merge branch 'Polyhedron_demo-stitching_plugin-sloriot'
Add a plugin in the polyhedron demo to stitch the boundaries of a polyhedron.
  The plugin also allows to visualize the boundaries of a polyhedron

  Approved by the release manager
  Tested in CGAL-4.4-Ic-43
2013-11-29 14:36:16 +01:00
Sébastien Loriot 9527cfcfff bugfix/follow up of 6d5dd252: the vertices need to be updated first ...
... the update of the vertex for incident halfedges requires valid
next pointers
2013-11-28 14:39:51 +01:00
Sébastien Loriot 6d5dd252a9 rm hedges to stitch set used to update next-prev of hedge that won't be stitched 2013-11-28 09:39:55 +01:00
Sébastien Loriot 4c2cabd0ae bug fix in vertex merge
We merge the vertices before updating the HDS connectivitiy.
  All halfedges incident to the vertex to be removed get updated
  and then h2 is removed and the graph updated.
  This prevents from having zombie vertices in case more than
  two vertices are merged.
2013-11-28 09:14:56 +01:00
Sébastien Loriot 05bff9cf8f add a function to stitch boundary edges in a polyhedron
also brings:
  a demo plugin that also display boundary edges
  a testsuite with examples
2013-11-27 16:19:42 +01:00
Guillaume Damiand b69a02e291 Move CGAL_CMAP_DEPRECATED in .h 2013-11-14 13:39:07 +01:00
Sébastien Loriot fa8820bc3f call new_vertex_added of the vertex node visitor before setting the point
more precisely, before putting the point in the property map
2013-11-05 12:24:14 +01:00
Sébastien Loriot 1fe0e3d82d add missing template keyword (detected by clang)
(cherry picked from commit 5bc3222dad4bcdf0bbdf40f5e20028a04c44374c)

Successfully tested in CGAL-4.3-Ic-189
Approved by the release manager
2013-10-03 17:17:01 +02:00
Sébastien Loriot bb938d6914 move compute_normal.h from the demo include path to the internal of CGAL 2013-10-01 14:48:15 +02:00
Andreas Fabri 9ed4f837c3 Merge branch 'CGAL-compilable_headers-GF'
The conflict was about whitesapce
Approved by the release manager

Conflicts:
	Polyhedron/include/CGAL/Polyhedron_copy_3.h
2013-09-23 14:50:17 +02:00
Sébastien Loriot d7ec83c684 follow up of 964e529c and dcbdc636 to use a point pmap in corefinement 2013-09-23 10:15:03 +02:00
Sébastien Loriot db47bc80f7 use a point pmap for the intersection of polyhedra corefinement visitor
you can get an exact intersection using an polyhedron with points
    from another kernel
2013-09-23 10:14:57 +02:00
Sébastien Loriot 7dcb42306a using a point property map for the intersection of polyhedra functor
you can get an exact intersection using an polyhedron with points
from another kernel
2013-09-23 10:14:47 +02:00
Sébastien Loriot c0ef78777e using Default for template parameters 2013-09-23 10:14:39 +02:00
Andreas Fabri 6c547e5663 Mainly added includes 2013-09-13 22:24:30 +02:00
Andreas Fabri afdca001ce As boost::conditional was only introduced in boost 1.45.0 we stick to boost::mpl::if_c 2013-09-13 09:53:05 +02:00
iyaz a199bb6f33 remove custom type selection code and instead use boost::conditional 2013-09-06 09:24:36 +02:00
iyaz 4263a7bf3a underscore prefix to postfix, adding author name 2013-09-06 09:24:23 +02:00
iyaz 2ffc6848a3 CGAL::self_insertect was only returning Facet_const_handle, now it returns Facet_handle if polyhedron is passed by ref, Facet_const_handle if passed by const ref 2013-09-06 09:24:07 +02:00
Sébastien Loriot 9c0808cad1 fix name of classes that do not respect CGAL naming conventions
AABB_HalfedgeGraph_segment_primitive -> AABB_halfedge_graph_segment_primitive
AABB_FaceGraph_triangle_primitive -> AABB_face_graph_triangle_primitive
2013-07-23 17:46:50 +02:00
Sébastien Loriot 75e4146a54 add missing end of line 2013-07-17 19:33:38 +02:00
Sébastien Loriot 33bf170c18 clean compute_normal and update plugins to use the updated functions
also remove the file from the demo include directory.
2013-07-16 16:37:35 +02:00
iyaz 4ad4f0d3e8 Use compute_normal.h for normal calculation 2013-07-11 02:08:09 +03:00
iyaz b236d4527e First version of compute normal 2013-07-11 02:07:24 +03:00
iyaz 9ed7f136de change guard name of orient_polygon_soup.h, add guard to orient_polyhedron_3.h 2013-07-10 18:45:18 +03:00
iyaz edffab5868 update documentation 2013-07-10 17:37:06 +03:00
iyaz 78692b7d0f assertion -> precondition 2013-07-10 16:34:28 +03:00
iyaz 06c957a72e no need for explicit template argument 2013-07-10 16:08:49 +03:00
iyaz 5e2e2d256d First version of polyhedron orientation test 2013-07-10 16:04:27 +03:00
iyaz e8a2ec74b6 Fix warning 2013-07-10 14:23:34 +03:00
Sébastien Loriot da4320735c add missing license 2013-07-09 17:35:38 +02:00
Sébastien Loriot 20446fa777 Merge branch 'Mesh_3-using_new_inside_polyhedron-local'
Successfully tested in CGAL-4.3-Ic-85
Approved by the release manager

Conflicts:
	Mesh_3/include/CGAL/Polyhedral_mesh_domain_3.h
2013-07-09 17:34:15 +02:00
Sébastien Loriot 755b41e67b add a new line at the end of file to please msvc 2013-07-03 10:45:31 +02:00
Sébastien Loriot de048c1bf0 beta<i> is not documented 2013-06-28 17:02:17 +02:00
Sébastien Loriot 0dff9ba1d0 use the new inside polyhedron test to test inclusion of disjoint volume
We need one pint from a volume not on the boundary of the other.
This fixes a bug in the previous implementation
2013-06-28 14:55:34 +02:00
Sébastien Loriot 91dde8b2c0 use undirected_edges to have only one primitive per edge 2013-06-26 08:55:14 +02:00
Laurent Rineau be820820b0 Fix a warning: no eol at eof 2013-06-25 11:48:27 +02:00
Sébastien Loriot 98d212b2c0 add missing typename 2013-06-24 17:46:48 +02:00
Sébastien Loriot 4620b38ffd update include path 2013-06-24 17:27:41 +02:00
Sébastien Loriot 4f70640db8 move file 2013-06-24 14:46:22 +02:00
iyaz 2d160e77ca internal class for point inside test, using existing AABB tree
Conflicts:
	Operations_on_polyhedra/include/CGAL/Point_inside_polyhedron_3.h
2013-06-24 14:45:33 +02:00
Sébastien Loriot 2edeab8071 accomodate changes of AABB primitive type for polyhedron 2013-06-24 13:26:06 +02:00
Sébastien Loriot 7dcfef5a53 Merge branch 'Polyhedron-demo_header_cleanup_and_new_plugins-sloriot'
Successfully tested in CGAL-4.3-Ic-68
approved by the Release Manager
2013-06-24 12:30:25 +02:00
Sébastien Loriot b49dbe358e move surface mesh polyhedron oracle to operations on polyhedra 2013-06-21 11:42:28 +02:00
Sébastien Loriot a762131d50 rename header file 2013-06-21 11:30:39 +02:00
Sébastien Loriot cbc7f8edfa add missing license in header 2013-06-21 09:03:57 +02:00
Sébastien Loriot a1b9c5b36d rename plugin 2013-06-20 18:04:48 +02:00
Sébastien Loriot b2b9b0375a update path 2013-06-20 17:34:54 +02:00
Sébastien Loriot b5aa981404 move corefinement to operations on polyhedra 2013-06-20 16:47:26 +02:00
Sébastien Loriot ca9636bf1e move polyhedron slicer 2013-06-20 16:45:17 +02:00
Sébastien Loriot a500939d52 rename the package to Operations_on_polyhedra 2013-06-20 16:41:01 +02:00