Pierre Alliez
8cf7099289
AABB tree: rename intersection file
2009-04-26 18:09:40 +00:00
Pierre Alliez
3a3c75c66e
AABB tree: rename intersection files
2009-04-26 17:32:34 +00:00
Pierre Alliez
9df9f8a9f1
AABB tree: added internal search tree (CGAL K-orth search tree) to accelerate the projection queries.
...
substantial complication... may be improved.
2009-04-26 16:22:46 +00:00
Pierre Alliez
e52c14ffc9
AABB tree: more on doc.
2009-04-26 14:39:35 +00:00
Pierre Alliez
4018a88be9
polyhedron demo: fix compilation of remeshing plugin
2009-04-26 14:25:30 +00:00
Pierre Alliez
24e3bc0c22
AABB tree: added two primitive types for triangle and segment to make two examples simpler.
...
rename Object type to Datum type within primitive as it was conflicting with CGAL Object type
2009-04-26 13:46:48 +00:00
Pierre Alliez
cde6fb8ad0
AABB tree: added fourth examples with (segment) edges of a polyhedron
2009-04-26 09:27:42 +00:00
Pierre Alliez
3358154717
AABB tree: start adding tests.
2009-04-25 22:21:53 +00:00
Pierre Alliez
3316b50890
AABB tree: more comments on examples - added one projection
2009-04-24 22:09:40 +00:00
Pierre Alliez
aea8cce7ad
AABB tree: one more example with segment
2009-04-24 21:47:52 +00:00
Pierre Alliez
ce4a6039f5
AABB tree: added two examples (one compiles fine)
2009-04-24 14:11:17 +00:00
Pierre Alliez
aeb4889551
AABB tree: move files up
2009-04-24 13:35:41 +00:00
Pierre Alliez
bc218b5d22
AABB tree: doc
2009-04-24 13:00:46 +00:00
Pierre Alliez
f28804008c
fix link to examples
2009-04-24 12:30:56 +00:00
Pierre Alliez
476cf9aeb1
AABB tree: rename triangle primitive to polyhedron triangle primitive
2009-04-24 11:51:03 +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
Stéphane Tayeb
c4b6628106
* Projection query correction.
...
* Remove old code.
2009-04-23 07:38:53 +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
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
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