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
Pierre Alliez
c26e8531e1
AABB tree: intersections now return CGAL::Objects.
2009-05-07 21:03:21 +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
db287f0e56
AABB tree: more on internal KD-tree used to accelerate the distance queries.
2009-05-07 10:51:01 +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
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
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
Camille Wormser
202b7c95d5
Laurent's remarks
2009-05-05 11:27:29 +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
a6cf326154
AABB tree:
...
- examples primitive files in a separate folder
- more on doc from second review.
2009-05-04 20:08:00 +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
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
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
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
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
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
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
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
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
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
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
bc218b5d22
AABB tree: doc
2009-04-24 13:00:46 +00:00