Commit Graph

66 Commits

Author SHA1 Message Date
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 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 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
Pierre Alliez 55dc498d00 AABB tree: one global pass on the narrative. 2009-05-09 21:52:02 +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 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