Commit Graph

68164 Commits

Author SHA1 Message Date
Sebastien Loriot 54b244c430 Merge pull request #914 from sgiraudot/Point_set_shape_detection_3-Plane_regularization-GF
Point set shape detection: Plane regularization
2016-04-29 13:08:44 +02:00
Sebastien Loriot b822ed05ae Merge pull request #1034 from maxGimeno/Fix_meshing-GFwq
Polyhedron_demo : Fix for the mesh_3 plugin
2016-04-29 13:04:47 +02:00
Sebastien Loriot b600f9b30a Merge pull request #1029 from maxGimeno/Add_name_to_PS_and_Polylines-GF
Polyline demo : names for items created on the fly
2016-04-29 13:02:21 +02:00
Sébastien Loriot 874505c341 Merge pull request #1037 from maxGimeno/Improvements_for_Points_inside_poly-GF
Polyhedron_demo : Improvements for Points_set_inside_polyhedron
2016-04-29 12:58:14 +02:00
Sebastien Loriot b7a6aed372 Merge pull request #1038 from janetournois/PMP-get_border_document_face_index_map-jtournois
PMP : deal with uninitialized face_index map in border_halfedges
2016-04-29 12:44:37 +02:00
Sebastien Loriot 3b10e29d6b Merge pull request #1011 from afabri/Deformation-static_cast-GF
static_cast to avoid warning
2016-04-29 12:43:26 +02:00
Sebastien Loriot ca1335aa88 Merge pull request #1021 from afabri/Surface_mesh_deformation-use_DoubleTraits-GF
Use double coordinates in the OpenMesh points and normals
2016-04-29 12:43:18 +02:00
Sebastien Loriot e9f8ef6be8 Merge pull request #1001 from afabri/Triangulation_2-deprecated-GF
Remove deprecated code, and deprecate some other code in Triangulation_2
2016-04-29 12:40:10 +02:00
Jane Tournois 54d946d39c remove debug output 2016-04-28 10:49:29 +02:00
Sébastien Loriot 266812b165 use segment intersection by default as it is faster in general than ray casting 2016-04-26 17:12:18 +02:00
Sébastien Loriot 5df0fd7e4f handle when the ray intersect a triangle as a segment
same handling as above: ignored
2016-04-26 17:12:18 +02:00
Sébastien Loriot b90f3301e8 rename functions for ray casting and add comments 2016-04-26 17:12:18 +02:00
Sébastien Loriot 39336ebb34 remove debugging function 2016-04-26 17:12:18 +02:00
Sébastien Loriot 4f8c3adb71 use variant API instead of the Object one for intersection 2016-04-26 17:12:17 +02:00
Sébastien Loriot 2f20d4a036 assert -> CGAL_assertion 2016-04-26 17:12:17 +02:00
Andreas Fabri b56c436ee6 Use boost::lambda::constant() - thank you Philipp 2016-04-26 17:12:17 +02:00
Sébastien Loriot 6b8421a048 update function name 2016-04-26 17:12:17 +02:00
Sébastien Loriot a0b97b23fb use the variant API instead of the Object one 2016-04-26 17:12:16 +02:00
Sébastien Loriot a832d23339 fix doc warning 2016-04-26 17:12:16 +02:00
Sébastien Loriot 48a493893f fix indentation issues 2016-04-26 17:12:16 +02:00
Andreas Fabri 145ab7e3db Add an example for ray shooting 2016-04-26 17:12:16 +02:00
Sébastien Loriot 03f9c56c76 Make the code matching the submission
- rename first_intersection_and_primitive to first_intersection
 - update examples and test
 - switch on the function doc
 - add implementation for first_intersected_primitive
2016-04-26 17:12:15 +02:00
Sébastien Loriot e2ed883dfc refer according to Pierre's comments 2016-04-26 17:12:15 +02:00
Andreas Fabri 37e4ddb107 const& 2016-04-26 17:12:15 +02:00
Andreas Fabri 84ebe802ae Add the second function implementation skeleton 2016-04-26 17:12:14 +02:00
Andreas Fabri 2fabd2c170 Add the second function; change changes.html 2016-04-26 17:12:14 +02:00
Andreas Fabri 768b34068e Update changes.html 2016-04-26 17:12:14 +02:00
Andreas Fabri 285341bb57 Rename ray_intersection() to first_intersection() 2016-04-26 17:12:14 +02:00
Philipp Möller e4e4e48ea5 Unused object warning 2016-04-26 17:12:14 +02:00
Philipp Möller 54d8839ac9 Comment out the do_intersect tests
They caused a performance problem when used with the tweaked AABB_traits
of Surface_mesh_segmentation.
2016-04-26 17:11:09 +02:00
Philipp Möller 649fabe67b Do not use debug variant 2016-04-26 17:11:08 +02:00
Philipp Möller 3f4d185b1d Use branchless min/max 2016-04-26 17:11:06 +02:00
Philipp Möller a408a08ae7 fixup debug code 2016-04-26 17:11:05 +02:00
Philipp Möller 7cd8369ab2 Prevent division by zero 2016-04-26 17:11:04 +02:00
Philipp Möller ce6501a291 Use the original algorithm 2016-04-26 17:11:03 +02:00
Philipp Möller b086fc6ec6 Return 0. for t_near < 0.
If t_near is smaller than 0. it means that the ray starts inside the
bounding box. t_near is the intersection point at the outside of the
box, but the actual intersection is at the start of the ray.
2016-04-26 17:11:02 +02:00
Philipp Möller 0db0027414 Performance bug 2016-04-26 17:11:01 +02:00
Philipp Möller 70f8f3f8e1 Use skip functor 2016-04-26 17:11:00 +02:00
Philipp Möller bfb36df712 Add the ability to use skip functor 2016-04-26 17:10:59 +02:00
Philipp Möller 83d7396cd8 Throw in some const 2016-04-26 17:10:57 +02:00
Philipp Möller e7bf221b61 Order code in cast_and_return for less constructions 2016-04-26 17:10:56 +02:00
Philipp Möller 4d08cf6d33 Add a do_intersect test before intersection 2016-04-26 17:10:55 +02:00
Philipp Möller b6e60ba6dc Make the correct part of Node_ptr const 2016-04-26 17:10:54 +02:00
Philipp Möller 901c27724b Use boost::priority_queue 2016-04-26 17:10:53 +02:00
Philipp Möller 8eded0292f use visitation instead of get 2016-04-26 17:10:51 +02:00
Philipp Möller de28e712f4 Work around skip functor
We cannot support a skip functor in ray_intersection and we have to work
around the issue of the ray starting inside a facet. To do that we shift
the source of the ray by the epsilon of a floating point number. We have
to consider if we really want to keep it that way.

Add assertions to make sure the new and old code give the same results.
2016-04-26 17:10:50 +02:00
Philipp Möller 5f2ea0c9f4 Don't use diagonal 2016-04-26 17:10:49 +02:00
Philipp Möller 815a82c692 Shim in code for ray_intersection
Use ray_intersection in the !use_diagonal case. Calculate both methods
for now for debugging.
2016-04-26 17:10:48 +02:00
Philipp Möller ced2b87170 static_assert type equality
Ray is just a template parameter to avoid instantiation of this
function, make sure it is the type we expect.
2016-04-26 17:10:47 +02:00
Philipp Möller e3fdda3bc0 Integrate changes from the submission 2016-04-26 17:10:46 +02:00