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
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
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
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
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
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
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
d2c99fc698
AABB tree: split user manual into several .tex files.
...
more on API.
2009-04-29 20:38:40 +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
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
6c4f25b95b
AABB: rename to less_x/y/z
2009-04-27 18:13:06 +00:00