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
Philipp Möller
3abe4ed2c2
Add basic algorithm outline
2016-04-26 17:10:12 +02:00
Philipp Möller
4cc9d34cb5
Add prototypes and implementation file
2016-04-26 17:10:11 +02:00
Sébastien Loriot
b2196fca0c
remove non-needed OpenGL instructions
2016-01-18 13:17:41 +01:00
Andreas Fabri
56bfaa2746
merge
2016-01-05 17:06:04 +01:00
Andreas Fabri
88596c38ce
bugfix: the datum was a segment not a triangle
2015-12-16 16:58:27 +01:00
Andreas Fabri
0b2b5ee1e6
Add an AAB tree primitive for C3T3 facets
2015-12-11 16:15:36 +01:00
Andreas Fabri
547be5cd2a
Use wrapper for the very basic mutex locking
2015-09-04 08:42:34 +02:00
Maxime Gimeno
89348a1ab9
cut_plugin fixed
...
- replaced the missing modified files by the originals
- added a reference to a vector of floats in traits so that it fills it instead of drawing the bboxes
2015-04-24 15:59:23 +02:00
Sébastien Loriot
1cc4f732f6
use Default for vertex point property map
2015-01-19 12:16:47 +01:00
Sébastien Loriot
67414ef0c8
fix default point property map used in BGL primitives
2015-01-19 11:57:43 +01:00
Sébastien Loriot
aeaed0d18a
remove deprecated constructor that conflict with the new one
2014-10-24 10:12:16 +02:00
Sébastien Loriot
e5a44099e9
add additional constructor to allow building a primitive from a descriptor
2014-10-23 17:03:48 +02:00
Sébastien Loriot
9999dc8f0e
add missing include so that tags are defined
2014-07-04 17:24:06 +02:00
Sébastien Loriot
dfe0b88d2f
AABB tree primitives should not include Polyhedron specific files
...
I also renamed a file only used in these primitives
2014-07-04 17:24:05 +02:00
Sébastien Loriot
5d9219c96d
AABB-tree bugfix: perfect forward of arguments in C++11 and by ref otherwise
...
this was a bug because the shared data were copied
2014-07-02 12:23:52 +02:00
Sébastien Loriot
326b604e58
add missing shared data constructor from 2 args
2014-07-02 11:29:32 +02:00
Sébastien Loriot
e412f6c2e5
fix the const correctness of FaceGraph and HalfedgeGraph primitives
...
The BGL is not const correct by design choice. Passing a const Graph as
template parameter to the primitive type is error prone.
This will make the life easier to the user.
2014-07-02 11:28:58 +02:00
Sébastien Loriot
6638bff59a
add the missing 2 args version
2014-07-02 10:56:10 +02:00