Commit Graph

1448 Commits

Author SHA1 Message Date
Pierre Alliez 07c87ae231 AABB tree: deleted TrianglePrimtive concept - there is no point to have it 2009-04-24 11:45:39 +00:00
Pierre Alliez 3e25916b51 AABB tree: added two examples and alter doc where the data type is now the Object type. 2009-04-24 11:29:00 +00:00
Pierre Alliez f01b6e147f AABB tree: important pass on the documentation from A.Fabri's review and several discussions with S.Tayeb, L.Rineau and C.Wormser.
remove all _type suffixes to types
distinguish datum from data
A primitive wraps a "geometric object" and an Id - not a primitive and an ide (confusing)
added any_intersected_primitive() to be consistant
2009-04-24 09:42:43 +00:00
Pierre Alliez ec08e7f711 ABABB tree : prepare folders for tests 2009-04-23 15:16:50 +00:00
Stéphane Tayeb c4b6628106 * Projection query correction.
* Remove old code.
2009-04-23 07:38:53 +00:00
Pierre Alliez 9f43b3a035 AABB tree: more on documentation. 2009-04-22 08:22:00 +00:00
Stéphane Tayeb 333e2f0401 First step to CGAL 3.5 specs. 2009-04-22 08:11:45 +00:00
Pierre Alliez 31992dd000 AABB tree: things to be fixed (intersections) 2009-04-21 12:29:26 +00:00
Pierre Alliez 0e7d36fa48 AABB tree: add image for ps compilation and added .ppt source file to dont_submit 2009-04-17 08:41:11 +00:00
Pierre Alliez c057e74544 AABB tree: higher res image for user manual. 2009-04-17 08:24:21 +00:00
Pierre Alliez 2c8b9956cb AABB tree: user manual (added figure and implementation details section) 2009-04-16 15:08:01 +00:00
Pierre Alliez 37b3262e71 AABB tree: added doc 2009-04-16 11:22:16 +00:00
Laurent Rineau 3654111856 Ooops: fix a bug I introduced myself since revision 48240, which was:
" - Rewrite of longest_axis(), which was quite strange, and switch to double,
      as CGAL::Bbox_3 coordinates are always double."

That fix will re-improve the query time.
2009-04-10 17:02:54 +00:00
Laurent Rineau 58f1842820 Improve again the construction time of an AABB_tree (by factor of 5 to 1). 2009-04-10 17:00:10 +00:00
Laurent Rineau 7a340e9d8d Improve the construction time of an AABB_tree for free (by using
std::nth_element, instead of std::sort).
2009-04-09 19:50:51 +00:00
Laurent Saboret 425cc63967 Fixed compilation warnings with VC++ 2009-04-07 14:01:14 +00:00
Laurent Rineau 69cc456852 typo : lenght -> length
(Thanks to Sylvain Pion.)
2009-04-06 12:25:12 +00:00
Laurent Rineau 9b9d32c208 The polyhedral oracle can now be used by Mesh_3. 2009-04-06 12:10:42 +00:00
Laurent Rineau 85bd8c4adb Add a member function AABB_tree::count_intersections 2009-04-06 12:10:09 +00:00
Laurent Rineau d51fcf2fa2 Make AABB_node::max_lenght public, so that AABB_tree can use it. 2009-04-06 12:09:32 +00:00
Laurent Saboret cb2644dab9 Revert revision 48625 that does not compile with g++ 2009-04-03 17:26:19 +00:00
Laurent Saboret 7d659c7483 Fixed compilation warnings with VC++ 2009-04-03 12:38:46 +00:00
Laurent Rineau f86c071b04 - Add constness to AABB_tree,
- Add a method bbox() to AABB_tree, that returns its bounding box.
- Add a method size(), that returns the number of nodes.
- Add a method traversal to AABB_tree, so that one can call it with a
  user-made traversal traits class.
- Add a Drawing_traits traits class, that draws the tree with OpenGL.
- Add predicates and constructions so that one can call
  AABB_tree::intersection with Kernel::Plane_3 as query, and Segment_3 as
  result type.
- New query function AABB_tree::all_intersections.
- The member function AABB_node::intersection is now templatized with a new
  template parameter 'Result', so that the result is not hardcoded to be
  'Point'.
- Three new constructions, for the intersection (and not only do_intersect)
  between a Triangle_3 and (Plane_3, Ray_3, Segment_3).
  (NOTE: That has not been tested intensively. And the intersection with
  Ray_3 and Segment_3 does not handle co-planar intersections, for the
  moment.)
2009-03-30 14:15:33 +00:00
Laurent Rineau 9f3a3e323b Fixes for non-Windows compilers. 2009-03-30 14:05:56 +00:00
Laurent Rineau e13b94d625 Factorize the code between Ray/Line/Segment, using templates. 2009-03-02 11:10:37 +00:00
Laurent Rineau 288525ba5f - Rewrite of longest_axis(), which was quite strange, and switch to double,
as CGAL::Bbox_3 coordinates are always double.
2009-02-26 18:04:56 +00:00
Laurent Rineau 25d930749f - Move the traits First_intersection_traits from AABB_node to AABB_tree.
- Remove AABB_node::first_intersection which is useless.
- AABB_node::traversal is no longer templated by Result_type. Instead of
  passing as argument a 'result' object, and constructing a traits at each
  call, the traits object is constructed once, before calling traversal,
  and passed as argument.
2009-02-26 16:40:40 +00:00
Laurent Rineau 641fa903d8 Yet another move of a function, and add comments. 2009-02-26 11:48:17 +00:00
Laurent Rineau 8972f90ac3 Remove yet another PSC dependency: PSC::do_intersect does not exists! That
means that some do_intersect functions where never instantiated.
2009-02-26 11:39:40 +00:00
Laurent Rineau 249f582387 Move functions definitions into the class, so that one see more clearly, if
possible, the structure of the code.
2009-02-26 11:22:56 +00:00
Laurent Rineau d410bbe3b4 Cosmetic: CGAL_NAMESPACE is obsolete, now. No need to confuse editors and
IDEs by using it.
2009-02-26 10:55:11 +00:00
Laurent Rineau c2c562b508 Add two cosmetic "const" attributes to function of
"First_intersection_traits".
2009-02-26 10:28:40 +00:00
Laurent Rineau 5ec512b917 Remove the psc argument from recursive functions. That one is not used, and
not wanted (the aim is to remove the dependency to the type PSC).
2009-02-26 10:25:52 +00:00
Laurent Rineau f3262130bc Add a comment to explain the trick that uses boost::enable_if and
the Boost MPL:
 http://www.boost.org/doc/libs/release/boost/utility/enable_if.hpp
 http://www.boost.org/doc/libs/release/libs/mpl
2009-02-25 19:14:08 +00:00
Laurent Rineau b13221cfb3 Try a use of boost::mpl::vector, to see what will happen to the testsuite
of Polyhedron_Demo.
(2009-02-24 16:54:31 +0100)

Update: the testsuite of CGAL-3.5-I-32 has validated that change. Great:
let's go and use MPL!
2009-02-24 15:54:31 +00:00
Laurent Saboret 6e404a5e87 Partial merge with Gyroviz AABB_tree. Very minor changes. 2008-10-17 16:03:17 +00:00
Pierre Alliez 6ae6749ad0 cleanup AABB tree: update authors, remove #undef, local includes. 2008-10-14 12:15:10 +00:00
Pierre Alliez d0bf3a2245 AABB tree: remove knn and plucker. a bit of cleanup and update of authors. 2008-10-14 07:43:19 +00:00
Andreas Fabri 50cc203fac Added ETHZ and authors 2008-10-14 06:04:37 +00:00
Andreas Fabri ae5afa9774 cleanup 2008-10-13 18:45:02 +00:00
Andreas Fabri 2465573f24 Add license header 2008-10-13 18:41:47 +00:00
Laurent Rineau e23bac61be Move AABB_tree package info into a sub-directory. 2008-10-07 12:49:32 +00:00
Camille Wormser cfaee22bee just a CR. I think we are good to go with this description. 2008-10-01 13:29:53 +00:00
Pierre Alliez afec08d77e update description AABB tree 2008-10-01 10:28:32 +00:00
Camille Wormser 6212a25eac detail 2008-10-01 09:13:01 +00:00
Laurent Rineau e9a0d60c7f missing file 2008-10-01 09:11:39 +00:00
Camille Wormser 9d56e6528f Changes to the long description, putting a more relevant
bibliographic reference.
Changed the order for maintainers, since I would like to 
have a firsthand look at what is happening in this package.
2008-10-01 09:10:39 +00:00
Laurent Rineau 9e80736743 Move AABB_tree in its own svn package (not documented for CGAL-3.4).
(TODO: one need copyright/license headers.)
2008-10-01 08:10:00 +00:00