Commit Graph

172 Commits

Author SHA1 Message Date
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