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
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
5e6ae0f29d
Add test case for ray_intersection
...
The test compares the results of using the naive approach to the results
of using ray_intersection directly.
2016-04-26 17:10:31 +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
4a1ec53c30
Add a test for Is_ray_intersection_traits
2016-04-26 17:10:28 +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