Commit Graph

338 Commits

Author SHA1 Message Date
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