Commit Graph

862 Commits

Author SHA1 Message Date
Jane Tournois 47a5606eea this commit fixes the following issue :
<<The AABB_tree<AT> internally use the spatial searching and in particular instantiates Search_traits_3 with AT. This implies according to that page that the concept AABBTraits must be a Kernel.

A clean solution is adding a new concept in Spatial searching that describes requirements of the template parameter of Search_traits_3. Then we can say that AABBTraits refines this concept. For consistency, we do the same for the template parameter of Search_traits_2.
>>
2016-08-23 16:28:50 +02:00
Sebastien Loriot be27bf69b7 Merge pull request #1198 from maxGimeno/Import_AABB_Tree_demo-GF
Polyhedron_Demo: Import AABB_Tree demo
2016-07-07 13:37:55 +02:00
Laurent Rineau 5ebfefe72c Merge pull request #894 from gdamiand/CGAL_headers_only_step1-gdamiand_cjamin
CGAL header-only: step 1

(I actually do this merge for the Github interface for mobile phones! How much does that add to my geek-value?)
2016-07-05 19:50:36 +02:00
Maxime Gimeno fc68989e60 Use Simple_cartesian<double> to greatly enhance the performance. 2016-07-05 15:58:43 +02:00
Maxime Gimeno f8b9520764 Fix for Source_point_from_edge_descriptor::get(). 2016-07-01 16:20:02 +02:00
Laurent Rineau 1cde972cdb Remove whitespace at end of lines 2016-06-29 11:04:29 +02:00
Guillaume Damiand a53f16edac Merge branch 'CGAL_headers_only_step1-gdamiand_cjamin-old' into CGAL_headers_only_step1-gdamiand_cjamin 2016-06-09 19:09:38 +02:00
Laurent Rineau bc457b086a Fix a documentation bug
`boost::get(vertex_point, graph)` may not compile, if the graph is not a CGAL face graph. Example: when it is an OpenMesh, in the `OpenMesh` namespace.
2016-06-09 13:05:32 +02:00
Guillaume Damiand 8ac37cc7df Add missing link with glu in demo. 2016-06-02 12:25:39 +02:00
Guillaume Damiand 10469f9c4e Update with master 2016-05-25 10:58:55 +02:00
Andreas Fabri d17a61b5ca no template in non-template code 2016-05-05 08:33:36 +02:00
Andreas Fabri c8d335e227 polish #includes 2016-05-04 09:01:40 +02:00
Andreas Fabri 7ea7719d68 no need for template keyword inside non-template code 2016-05-04 08:23:55 +02:00
Andreas Fabri 6392adf636 another min max fix for VC++ 2016-05-03 06:28:38 +02:00
Andreas Fabri 970460ec0b Use std::priority_heap if boost version < 1.50 2016-05-02 10:27:55 +02:00
Andreas Fabri 12579a1214 Fix VC++ max problem 2016-05-01 17:37:11 +02:00
Sébastien Loriot 2e7e70ce92 add missing semi-column 2016-04-29 13:50:08 +02:00
Andreas Fabri b56c436ee6 Use boost::lambda::constant() - thank you Philipp 2016-04-26 17:12:17 +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 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 3f4d185b1d Use branchless min/max 2016-04-26 17:11:06 +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 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 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 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
Philipp Möller db7ceaa8bd Fix doc typo 2016-04-26 17:10:45 +02:00
Philipp Möller 19ecfc4b4d Add missing 3D in doc 2016-04-26 17:10:44 +02:00
Philipp Möller 21f2fbbc7a Fix typos in AABBRayIntersectionTraits 2016-04-26 17:10:42 +02:00
Philipp Möller f94a74b93a Document that AABB_traits can also model AABBRayIntersectionTraits 2016-04-26 17:10:41 +02:00
Philipp Möller 2f263bb697 Add the AABBRayIntersectionGeomTraits concept
This concept is necessary to know when we are able to define
Intersection_distance in AABB_traits
2016-04-26 17:10:40 +02:00
Philipp Möller 08f7efd1d2 Only use functors in Intersection_distance 2016-04-26 17:10:39 +02:00
Philipp Möller af1d4494e8 Beef up the testcase 2016-04-26 17:10:38 +02:00
Philipp Möller 2148ae6d4f Directly use Ray type and avoid a function template 2016-04-26 17:10:37 +02:00