Sebastien Loriot
62d06a2b88
Revert "AABB_tree : fix doc vs code inconsistency"
2016-08-23 11:12:33 +02:00
Jane Tournois
2fade16c73
replace Compute_closest_point with Construct_closest_point
2016-08-10 16:48:11 +02:00
Jane Tournois
1f530e0dc8
fix an inconsistency between the code and the doc
...
doc mentions `Compute_closest_point_3`, and code implements `Closest_point`
since `Compute_closest_point_3` should move to the Kernel at some point, I prefer
keeping this solution.
However, for backward compatibility with possibly existing user code, I keep Closest_point
in the non-documented code.
2016-08-10 15:47:35 +02:00
Maxime Gimeno
f8b9520764
Fix for Source_point_from_edge_descriptor::get().
2016-07-01 16:20:02 +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
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
Andreas Fabri
b56c436ee6
Use boost::lambda::constant() - thank you Philipp
2016-04-26 17:12:17 +02:00
Sébastien Loriot
48a493893f
fix indentation issues
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
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
f94a74b93a
Document that AABB_traits can also model AABBRayIntersectionTraits
2016-04-26 17:10:41 +02:00
Philipp Möller
08f7efd1d2
Only use functors in Intersection_distance
2016-04-26 17:10:39 +02:00
Philipp Möller
2148ae6d4f
Directly use Ray type and avoid a function template
2016-04-26 17:10:37 +02:00
Philipp Möller
4466eb5df3
Simplify types a bit
2016-04-26 17:10:36 +02:00
Philipp Möller
5aef4c4ca5
Add missing base cases
2016-04-26 17:10:35 +02:00
Philipp Möller
33bc6f125f
Make child and data of a Node public
...
This is necessary so that other algorithms can traverse the hierarchy.
2016-04-26 17:10:34 +02:00
Philipp Möller
2540612e97
Drop-in for as_ray_parameter
...
This needs to be replaced with a non-hacky solution.
2016-04-26 17:10:33 +02:00
Philipp Möller
f4a506ed73
Fix wrong identifier names
2016-04-26 17:10:30 +02:00
Philipp Möller
69d7662ddc
Fix wrong template arguments
2016-04-26 17:10:29 +02:00
Philipp Möller
0e883861b5
Move Intersection_distance into its own base
...
This is necessary so that we only define it if the GeomTraits meet the
necessary requirements.
2016-04-26 17:10:27 +02:00
Philipp Möller
b1e99b3c71
Add is_ray_intersection_geomtraits
...
This meta-function can be used to make a somewhat accurate guess if the
argument is a model of the yet to be written
AABBRayIntersectionGeomTraits.
2016-04-26 17:10:26 +02:00
Philipp Möller
f6bed4128e
Forgot copy-right header
2016-04-26 17:10:25 +02:00
Philipp Möller
7c26fcb8b8
Parenthesis for max and min
2016-04-26 17:10:24 +02:00
Philipp Möller
a8f5e3f867
Use the slab method to compute intersection_distance
...
This code still relies on the types to be CGAL types.
2016-04-26 17:10:22 +02:00
Philipp Möller
01ef95783d
Add prototype for Intersection_distance
2016-04-26 17:10:21 +02:00
Philipp Möller
88acc3d1b3
Fix indentation of class intersection
...
Wrong indentation on nested classes made this tricky to decipher and
worth the change.
2016-04-26 17:10:20 +02:00
Philipp Möller
90542aa0ab
Add the doc for ray_intersection
2016-04-26 17:10:18 +02:00
Philipp Möller
2af2aa324d
Handle case 2 and 3
2016-04-26 17:10:16 +02:00
Philipp Möller
5cd89bd981
fixup
2016-04-26 17:10:15 +02:00
Philipp Möller
e7b3a7a97c
Handle both inner nodes
2016-04-26 17:10:13 +02:00