Pierre Alliez
0dfc500ff0
AABB tree:
...
- few fixes on the doc.
2009-05-14 11:27:42 +00:00
Stéphane Tayeb
8bde72f327
* remove workaround for weighted point from AABB_traits
...
* simplify code of AABB_tree::First_intersection_traits
* change intersection(ray,triangle) and intersection(line,triangle):
returned object is now an empty object, a point or a segment
* remove do_intersect test from Intersection::operator() of
AABB_traits: intersection(ray,triangle) and
intersection(line,triangle) do it.
2009-05-14 10:07:55 +00:00
Camille Wormser
0c348f8539
history
2009-05-14 09:22:18 +00:00
Camille Wormser
cddf634d13
forgot to add this file
2009-05-14 08:49:21 +00:00
Camille Wormser
0fca80fcba
links to the models in AABBPrimitive
2009-05-14 08:27:10 +00:00
Camille Wormser
ea1d578227
forgot to save this one before
2009-05-14 08:23:12 +00:00
Camille Wormser
cc5f9e604f
sorry, unintended change
2009-05-14 08:22:32 +00:00
Camille Wormser
f47e9f1f67
one more primitive,
...
more consistent names
2009-05-14 08:20:50 +00:00
Camille Wormser
cb74ff6524
removed redondant typedefs
2009-05-14 07:59:09 +00:00
Camille Wormser
f6de9a1ec4
Caps in titles,
...
AXIS_X -> X_AXIS
Split_... returns void
2009-05-14 07:51:11 +00:00
Andreas Fabri
51de43bfca
capitalize words in headings
2009-05-14 07:39:17 +00:00
Camille Wormser
0bdb3f5504
a model for the concept AABBPrimitive.
...
This is just an example, we can think later about what the most useful
primitives for typical users could be.
2009-05-14 01:21:28 +00:00
Camille Wormser
765b55a41d
detailed explanation of the hint story
2009-05-14 00:44:29 +00:00
Camille Wormser
aa101e0caf
Laurent's remark: passing the traits as parameter of constructors
2009-05-13 22:47:29 +00:00
Camille Wormser
075911ec75
Laurent's remark: add the bounding box stuffs
2009-05-13 22:35:39 +00:00
Camille Wormser
380e2c76ed
uniformizes the consts. I am not sure what the policy is,
...
but I put them.
2009-05-13 21:45:20 +00:00
Camille Wormser
2ca7d70e2d
AABBGeomTraits can now accept Kernels as models,
...
IF we add Compute_closest_point.
2009-05-13 21:27:43 +00:00
Camille Wormser
b8b6bd5d9f
no reference to the hints in the user manual (except in details.tex, where we
...
tell the user what this is about).
More explicit presentation of what an id is: usually a real unique id, but
the user is free to use it differently if he sees a need for it.
2009-05-13 15:53:12 +00:00
Pierre Alliez
75a82ec32d
AABB tree:
...
- rebuild now returns void.
2009-05-13 07:32:41 +00:00
Laurent Rineau
df0e2ec0bc
size_type must be lowercase.
2009-05-12 14:29:36 +00:00
Camille Wormser
993c393cd4
forgotten detail
2009-05-11 23:30:04 +00:00
Camille Wormser
0d63e6c207
the Traits now conforms fuly to the documentation
2009-05-11 23:17:40 +00:00
Camille Wormser
c733708add
while finishing to conform the code to the documentation,
...
I realized it made sense to let the traits do the sorting.
2009-05-11 23:17:01 +00:00
Camille Wormser
2cd6895b0c
a rule of thmb for using the KD-tree:
...
use it always, except if you are really confident about your hints.
2009-05-11 20:23:29 +00:00
Camille Wormser
7184e5d681
les deux remarques d'Andreas
2009-05-11 20:16:00 +00:00
Camille Wormser
9087e9b14b
updated documentation with functors in the AABBTraits concept.
...
Should we keep the const& in the description of the functors ?
I kept them in AABBTraits, but we do not have them in AABBGeomTraits...
What should be the policy?
Note that the functors do not have the "_3" in AABBTraits,
but have it in AABBGeomTraits. This is on purpose.
2009-05-11 11:54:50 +00:00
Pierre Alliez
d24dec3727
AABB tree: fix compilation issue
2009-05-11 08:23:03 +00:00
Pierre Alliez
74dfd60a12
AABB tree:
...
- cleanup examples
- shorten a bit ref manual of tree.
2009-05-11 08:20:32 +00:00
Camille Wormser
614f220eb1
One last warning was missing: it appears only in the examples and not in the test suite.
...
It means we should add the Plane query case to the test suite.
2009-05-10 16:15:24 +00:00
Camille Wormser
74beff3b13
removed all warnings (-Wall -Wextra).
...
IMPORTANT THINGS
- We need to add Compute_squared_distance_3 (at least for Point_3, Point_3) to the traits requirements
- Since we use the (decorated) Traits as a template parameter for the Search_traits_3, we need to add
this as a requirement. Currently, the Search_traits_3 requests that the template parameter be a CGAL
kernel. This is much too strong!
2009-05-10 16:05:48 +00:00
Camille Wormser
0f376fb294
removed the warnings, except in one of the test cases. Working on it.
2009-05-10 15:24:04 +00:00
Pierre Alliez
0d2880a413
AABB tree:
...
- more on examples
- description
- removed leftover traces of projection after grep (two found)
2009-05-09 22:24:39 +00:00
Pierre Alliez
988c746c29
AABB tree:
...
- first pass on examples to simplify a bit
- TODO: better show variety of queries offered instead of just #intersections
2009-05-09 22:04:33 +00:00
Pierre Alliez
55dc498d00
AABB tree: one global pass on the narrative.
2009-05-09 21:52:02 +00:00
Pierre Alliez
5b992f0ffa
AABB tree: more on distance tests with anisotropic triangle mesh model (added finger.off)
...
remove one warning
some remains in the KD-tree... was unable to remove them for now.
2009-05-09 19:57:37 +00:00
Camille Wormser
5dc7c35be3
distance queries conform to the spec
2009-05-09 10:22:45 +00:00
Pierre Alliez
49bdb725f6
AABB tree
...
factorize some code for the tests into AABB_test_util.h
2009-05-09 07:20:07 +00:00
Pierre Alliez
4a6eb544a8
AABB tree
...
- rename m_data into m_primitives in Tree
- rename m_p_root into m_p_root_node in Tree
put back squared_distance into distance test
2009-05-09 06:57:36 +00:00
Camille Wormser
64b5882ffb
I know exclude the case where the hint is returned from the inconsistencies.
...
It may be more interesting.
2009-05-08 22:49:55 +00:00
Camille Wormser
32678c876e
interesting benchmarks for the hint strategies in distance queries
2009-05-08 19:54:28 +00:00
Camille Wormser
c063b0bd32
details for the requirements for the Id.
2009-05-08 15:00:13 +00:00
Camille Wormser
1c3c01951f
oops, forgot to save this file. Old changes...
2009-05-08 14:18:21 +00:00
Camille Wormser
f0d1f31f11
Since Pierre wanted this feature (providing points without primitive to the KD_tree),
...
and it does not cost much in terms of implementation, and it is useful for cases like the
Polyhedron, I put it back.
The code already supports that (as can be seen from the fact that the test suite runs).
Still, I need the Id to have a default constructor. How do you document that?
2009-05-08 14:17:38 +00:00
Camille Wormser
8414b99e9a
now the test suite compiles and runs! :)
2009-05-08 14:06:51 +00:00
Camille Wormser
01d0293bc5
Code is now almost up to the specification: Primitive::Id everywhere,
...
the KD-tree uses decorated points to return the Id too.
There are just a few boost::optional to add in the traits, where we still
use the old bool intersection(..., Result&) approach, and some modernization
to do in the distance computation things.
Everything compiles.
I have removed the funtion closest_primitive from the code and documentation,
since it would not be consistent with the rest of the interface, and would not
be faster than closest_point_and_primitive.
I think we are almost done, not only for the documentation, but for the code too.
2009-05-08 12:59:22 +00:00
Camille Wormser
811f08256b
added missing types to the AABBTraits concept.
...
(I have added the missing methods for the distance queries too)
2009-05-08 11:28:10 +00:00
Camille Wormser
1f4c9a150e
cleaning of the traits. Not finished yet.
...
I've removed all references to the Sphere (it was used only internally anyway),
because we will not use it anymore: we replace its use by direct calls to is_closer.
2009-05-08 11:20:14 +00:00
Camille Wormser
fa539afc07
in the description of do_intersect and intersection, in the GeomTraits,
...
primitive --> geometric object
(some are queries, some are primitives)
2009-05-08 10:37:07 +00:00
Camille Wormser
4f329a0761
the GeomTraits does not provide the query types at all.
2009-05-08 10:34:03 +00:00
Camille Wormser
61aee20d79
typos + clearer explanation of the role of the ids
...
(used to refer to the primitives in the outputs, but need not be unique)
2009-05-08 10:16:54 +00:00
Camille Wormser
38da93cbca
text improvement and typos for distances
2009-05-08 09:55:28 +00:00
Camille Wormser
a03de6bb32
we do not need intersection for any_intersected_primitive
2009-05-08 09:46:34 +00:00
Camille Wormser
794157450f
allocation detail in the constructor
2009-05-08 09:45:46 +00:00
Camille Wormser
8358202dde
The requirement on the constructor was a bit too strong: we do not need
...
the fact that the iterator range is a container of objects of type Datum.
Quite the contrary: it can be halfedges_begin/end. Hence, we should keep
only the requirement that Primitive is constructible from it (that's
really what we use in practice).
2009-05-08 09:36:47 +00:00
Camille Wormser
31e85b74de
still polishing (just typos)
2009-05-08 09:27:27 +00:00
Camille Wormser
986f01d0d5
doing some polishing on the documentation... (not finished yet, going through the whole thing)
2009-05-08 09:19:48 +00:00
Pierre Alliez
154ff8cfa0
AABB tree: more on distance queries
...
it remains to fix the Distance_traits
2009-05-07 21:22:24 +00:00
Pierre Alliez
c26e8531e1
AABB tree: intersections now return CGAL::Objects.
2009-05-07 21:03:21 +00:00
Pierre Alliez
e034d54b75
AABB tree: more on distance queries
...
- experiments with primitive vs point hints.
2009-05-07 13:18:17 +00:00
Camille Wormser
bf4043be63
replaced Point_and_primitive by Point_and_primitive_id and Object_and_primitive_id
2009-05-07 13:18:02 +00:00
Camille Wormser
6316ee39fe
I revert the change, because this is, in my view, really important for having a sound design.
...
Otherwise, what do you do if the sphere has no intersection with the data?
2009-05-07 11:51:00 +00:00
Pierre Alliez
8e754e6e7c
AABB tree: (ref manual): all hints back to point types in distance queries - I believe that's little relevant to ask a primitive as hint.
2009-05-07 11:33:26 +00:00
Camille Wormser
4b720e0c06
documentation compilation issues
2009-05-07 11:30:29 +00:00
Pierre Alliez
5d609213af
AABB tree: distance tests now pick random query points in tree bbox.
2009-05-07 11:11:36 +00:00
Pierre Alliez
db287f0e56
AABB tree: more on internal KD-tree used to accelerate the distance queries.
2009-05-07 10:51:01 +00:00
Pierre Alliez
0f225c01cf
AABB tree: rename projection to distance in the tests
2009-05-07 09:50:44 +00:00
Camille Wormser
55021bdb9f
KD-tree forbids copies -> a pointer now.
2009-05-07 09:41:38 +00:00
Camille Wormser
439292a46c
solved the compilation problem for Point_and_primitive
...
temporarily disabled the kd-tree construction, not to mix two separate compilation issues. I replug it in a minute.
2009-05-07 09:24:41 +00:00
Pierre Alliez
fd017c5595
AABB tree: first version of boost::optional for any*
...
obscure compilation issue for now.
more on doc too
2009-05-07 06:44:59 +00:00
Camille Wormser
fe06803b35
I think that it is useful to mention that the KD-tree method allows
...
not to have all the primitives sampled: otherwise, the user may have
the feeling that at least one sample per primitive is a requirement.
Imagine a scene with many small objects. It makes perfect sense to
sample each of these objects with just one point.
2009-05-06 10:54:07 +00:00
Pierre Alliez
e4cb94b35e
AABB tree: update doc
...
- change shark image to anchor model
- remove references to projection
2009-05-05 20:25:20 +00:00
Pierre Alliez
4c7161e67b
AABB tree: fix opcode
2009-05-05 15:48:12 +00:00
Laurent Rineau
0aea10fb4d
- Fix a compilation error (a missing ':'),
...
- s/size_t/size_type/
2009-05-05 12:07:15 +00:00
Camille Wormser
af8b5b8c1a
Following Larent's remarks
2009-05-05 11:58:05 +00:00
Pierre Alliez
db918ecafe
AABB tree: undo folder restructuring
2009-05-05 11:51:48 +00:00
Camille Wormser
202b7c95d5
Laurent's remarks
2009-05-05 11:27:29 +00:00
Camille Wormser
f87800c489
removed all references to "projection", except in the very first paragraph of the intro, where it fits well.
...
(see Laurent's remark)
2009-05-05 11:16:00 +00:00
Camille Wormser
16383ce57f
presentation of the KD-tree system in the API.
2009-05-05 11:06:21 +00:00
Camille Wormser
6e89ca8d8a
presentation of the KD-tree system in the API.
2009-05-05 11:05:28 +00:00
Camille Wormser
b40571b407
most of Andreas requested changes.
...
See the wiki for details.tex
I did not address Laurent's changes, except for the rebuild thing.
2009-05-04 20:46:10 +00:00
Pierre Alliez
fbb8eefc2c
more on examples
2009-05-04 20:19:22 +00:00
Pierre Alliez
a6cf326154
AABB tree:
...
- examples primitive files in a separate folder
- more on doc from second review.
2009-05-04 20:08:00 +00:00
Gaël Guennebaud
10f9aa181c
fix compilation
2009-05-04 15:15:46 +00:00
Pierre Alliez
5d97e6dc26
AABB tree: commented out nb_traversal_intersections in user manual
2009-05-04 11:01:14 +00:00
Pierre Alliez
fef3e5f981
AABB tree: commented out nb_traversal_intersections in ref manual
2009-05-04 09:58:49 +00:00
Camille Wormser
d34c90f793
Useful polish.
2009-05-03 17:09:01 +00:00
Camille Wormser
6f050ab6ca
tentative API for dealing correctly with the degenerate cases:
...
it changes NOTHING to the existing code, except that
number_of_intersections is renamed into number_of_intersected_primitives.
2009-05-02 18:02:11 +00:00
Pierre Alliez
7bc16c5c48
AABB tree: made two sub-folders to store intersections and (later) traversal_traits
2009-05-02 12:13:32 +00:00
Pierre Alliez
2d22df1c41
AABB tree: more on Point_and_primitive in traversal traits
2009-05-02 09:45:20 +00:00
Pierre Alliez
b4cff1bb34
AABB tree: more on ref manual
2009-05-02 09:27:05 +00:00
Pierre Alliez
b23fd11c04
AABB tree: document size, bbox and empty of the tree
...
note: we could rename root_bbox as simply bbox
2009-05-01 06:41:10 +00:00
Pierre Alliez
23f94c802b
AABB tree: started to implement new API
...
CAREFUL: does not compile anymore - will fix this next week.
2009-04-30 22:26:53 +00:00
Pierre Alliez
159e2428db
AABB tree: prepare material for illustrations
2009-04-30 15:38:12 +00:00
Stéphane Tayeb
6575fdb2e8
Fix compilation error.
2009-04-30 14:06:46 +00:00
Stéphane Tayeb
fde6e4f260
* add workaround for weighted point (TOFIX)
...
* add AABB_const_polyhedron_edge_primitive
2009-04-30 14:04:45 +00:00
Pierre Alliez
1533aa072f
AABB tree (ref manual): added nested types
2009-04-30 13:51:41 +00:00
Pierre Alliez
2c7033c74a
AABB tree (ref manual): added headings
2009-04-30 13:45:11 +00:00
Pierre Alliez
b30d94df7c
AABB tree (user manual): fix compilation issue.
2009-04-30 13:42:12 +00:00
Pierre Alliez
8b8cf8132a
AABB tree (user manual): fix compilation issue.
2009-04-30 13:40:41 +00:00
Pierre Alliez
f4f4bf4d8a
AABB tree (user manual): fix compilation issue.
2009-04-30 13:38:48 +00:00
Pierre Alliez
b11fba8345
AABB tree (user manual): change API for projections.
2009-04-30 13:22:41 +00:00
Pierre Alliez
d2c99fc698
AABB tree: split user manual into several .tex files.
...
more on API.
2009-04-29 20:38:40 +00:00
Pierre Alliez
fbc8c064d1
AABB tree: type fix.
2009-04-29 15:10:16 +00:00
Pierre Alliez
519782b2af
AABB tree: nearest_point_segment_3 added - all examples now compile fine
...
one file renamed
note: "origin" is a reserved term - better to rename it to query?
2009-04-29 15:01:36 +00:00
Pierre Alliez
3ed02768c8
AABB tree: more on user doc.
...
also, added closest_primitive(query) in addition to closest_point()
2009-04-29 14:11:24 +00:00
Pierre Alliez
5074de058e
AABB tree: rename segment to edge
2009-04-29 13:44:35 +00:00
Pierre Alliez
7c56be7711
AABB tree: more on tests
2009-04-29 13:43:38 +00:00
Pierre Alliez
b96d8c442c
AABB: fix clear_and_insert
...
remove lucy model (too big)
2009-04-28 20:04:23 +00:00
Pierre Alliez
a86c346e54
AABB: implemented two new functions suggested by Andreas:
...
void clear(void)
bool clear_and_insert(begin,beyond)
2009-04-28 15:29:37 +00:00
Stéphane Tayeb
cf794d7a17
add forgotten file (r48979).
2009-04-28 15:14:34 +00:00
Stéphane Tayeb
7d85cbdd57
* Remove ad-hoc code from AABBTraits:
...
- add nearest_point_3(Point_3, Triangle_3, Point_3)
- updates Projecting_traits of AABB_tree
* Fix test compilation (linux x64).
2009-04-28 15:12:51 +00:00
Pierre Alliez
aabc226876
AABB: fix ref to opcode. and few fixes in introduction.
2009-04-28 14:47:22 +00:00
Pierre Alliez
052850c95f
AABB: document two new functions suggested by Andreas:
...
void clear(void)
void clear_and_insert(begin,beyond)
(we let the append() function for another release)
tests: enrich todo list.
2009-04-28 09:44:08 +00:00
Pierre Alliez
fd573fc4c8
AABB: more on testing: measure tree construction time, speed for all query types, across several kernels.
2009-04-27 20:37:47 +00:00
Pierre Alliez
6c4f25b95b
AABB: rename to less_x/y/z
2009-04-27 18:13:06 +00:00
Pierre Alliez
911c74c590
AABB: more to fix Andreas remarks.
2009-04-27 18:00:27 +00:00
Pierre Alliez
38c6ba35e3
AABB: added 100k triangle lucy model for the tests (others are toys)
...
added it to dont_submit
2009-04-27 17:16:30 +00:00
Pierre Alliez
b563d29270
AABB tree: the projection does not construct the KD-tree at the first projection query anymore. for efficient projection queries either the user calls for its explicit construction during the AABB construction or calls "construct_search_Tree()". otherwise the first primitive reference point is used as (naive) hint.
2009-04-27 15:36:35 +00:00
Stéphane Tayeb
50a9d76db0
Fix polyhedral oracle. Add class AABB_const_polyhedron_triangle_primitive.
2009-04-27 13:25:46 +00:00
Stéphane Tayeb
836f48cd9c
Fix compilation errors (linux x64).
2009-04-27 12:42:04 +00:00
Pierre Alliez
9401251b51
AABB tree: attempt to fix compilation on Linux
2009-04-27 11:45:38 +00:00
Laurent Saboret
9c77d89703
Fixed compilation errors (Linux/g++)
2009-04-27 10:40:34 +00:00
Pierre Alliez
18c93be7bc
AABB tree: replace xref/yref/zref and point_on by a single reference_point() function for primitive.
...
NOTE: the reference point is used both for sorting the primitives and for constructing the search KD-tree
2009-04-27 08:58:19 +00:00
Pierre Alliez
b9c28d07aa
AABB tree: rename is_smaller to is_contained
...
another code cleanup
2009-04-26 21:48:18 +00:00
Pierre Alliez
a8188eb668
AABB tree: test all intersection types for triangles
2009-04-26 21:29:47 +00:00
Pierre Alliez
2421c82abe
AABB tree: added (commented) example of projection against a set of segments.
...
does not compile for now
2009-04-26 20:59:43 +00:00
Pierre Alliez
73364294e5
AABB tree: fix CR.
2009-04-26 18:24:15 +00:00
Pierre Alliez
8a09dd36c1
AABB tree: cleanup doc.
2009-04-26 18:22:02 +00:00
Pierre Alliez
c55ae25215
AABB tree: more on projection (added all point_on() functions to primitives)
2009-04-26 18:19:05 +00:00
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
abaeb0ef5c
AABB tree: rename Polyhedron_tree to Tree in examples and test
2009-04-26 14:15:27 +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
20e319a2b9
AABB tree: todo list on tests, remove one mesh data
2009-04-24 22:28:34 +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
e5696fa009
AABB tree: reuse existing file AABB_polyhedron_triangle_primitive.h for the example
2009-04-24 14:38:08 +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
19503da319
AABB tree: add CMake files for examples and tests
2009-04-24 13:20:18 +00:00
Pierre Alliez
bc218b5d22
AABB tree: doc
2009-04-24 13:00:46 +00:00
Pierre Alliez
be16a94b73
fix link to examples
2009-04-24 12:33:08 +00:00
Pierre Alliez
f28804008c
fix link to examples
2009-04-24 12:30:56 +00:00
Pierre Alliez
f5724113f7
AABB tree: added shark in .eps format
2009-04-24 12:30:44 +00:00
Pierre Alliez
476cf9aeb1
AABB tree: rename triangle primitive to polyhedron triangle primitive
2009-04-24 11:51:03 +00:00
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