Commit Graph

188 Commits

Author SHA1 Message Date
Pierre Alliez f8ca4fe940 aabb tree: fix compil issue 2009-07-08 12:38:45 +00:00
Pierre Alliez 1b26c8d562 AABB tree: fix one table line of the benchmark. 2009-07-08 12:17:31 +00:00
Pierre Alliez de47ee0a27 AABB tree: do_intersect now calls the First_primitive traversal traits (much faster)
performance section updated
2009-07-08 12:02:28 +00:00
Pierre Alliez 5388a71ce8 AABB tree: benchmark construction, memory, distances and intersections against #triangles. 2009-07-07 20:13:45 +00:00
Pierre Alliez f7e2e92525 aabb tree: more on performance section (benchmark across kernels) 2009-07-06 21:29:36 +00:00
Pierre Alliez 478056852a fix doc compil. issue 2009-07-06 14:41:06 +00:00
Pierre Alliez 662a20431d aabb tree doc: remove unused jpg files 2009-07-06 14:37:53 +00:00
Pierre Alliez 5c9d621113 AABB tree: one attempt to solve the doc compilation issue.
apparently the file memory.eps is doing something wrong - I am digging.
2009-07-06 14:25:59 +00:00
Pierre Alliez 656138e3ae AABB tree: enrich performance section with a summary (general comments and advices about how to put the tree at work with good performances). this is not exhaustive nor conclusive of course but I believe a documentation must also tell the obvious. 2009-07-05 20:45:08 +00:00
Pierre Alliez 9772610e5f AABB tree: benchmark across kernels and updated intersection tests (more accurate).
need to fix compilation issue with EPIC kernel (I guess one include missing)
2009-07-05 13:58:00 +00:00
Pierre Alliez bdd40ee5dc aabb tree: rename three custom-primitive examples and update example section of user manual. 2009-07-05 07:17:42 +00:00
Pierre Alliez bad136d454 aabb tree: spell check y Patrick Mullen. 2009-07-03 12:31:36 +00:00
Pierre Alliez 8cfd4eeeba aabb tree:
- shortened unitary tests
- one warning removed
2009-07-03 07:18:35 +00:00
Pierre Alliez 5dbc82d599 aabb doc: move figs into separate folder. 2009-07-03 06:41:35 +00:00
Pierre Alliez e0b5bd6f31 AABB tree: more on memory consumption 2009-07-02 22:47:36 +00:00
Pierre Alliez 95abb7f60d AABB tree: add memory consumption in perf. section. 2009-07-02 22:31:59 +00:00
Pierre Alliez f22533c055 AABB tree: removed unused files. 2009-07-01 21:07:48 +00:00
Pierre Alliez 1d6e776431 AABB tree: some more cleanup. 2009-07-01 20:49:03 +00:00
Pierre Alliez 446daa069a aabb tree : update perf. section. 2009-07-01 13:09:51 +00:00
Pierre Alliez ef1864d6af AABB tree demo:
- added color ramps for signed and unsigned distance functions (thermal for unsigned, and red/blue for signed)
- fix moc warning issue (thanks Manuel Caroli)
- fix strange value in performance section of user manual (we now understand that the KD-tree is making something really nasty only for large point sets - and we'll investigate the KD tree more)
2009-07-01 12:55:33 +00:00
Pierre Alliez 78d040c39a aabb tree demo: fix one strange compilation error that happens only with VC2005 (took me hours to understand that it's probably a compiler bug).
benchmark distance queries in the demo and updated user manual (perf section)
2009-06-30 21:18:31 +00:00
Pierre Alliez 0c9f65bc92 aabb tree: update teaser 2009-06-30 20:00:07 +00:00
Pierre Alliez bb2380a55a aabb tree teaser image 2009-06-30 13:05:29 +00:00
Pierre Alliez 734ee1e504 aabb tree: caption of curve 2009-06-30 08:21:04 +00:00
Pierre Alliez 7da7d85386 AABB tree: add .eps file 2009-06-30 08:12:41 +00:00
Pierre Alliez 0d97e5ed13 aabb tree: correct images in doc 2009-06-30 08:11:49 +00:00
Pierre Alliez 49980a6d75 aabb tree: added curve in performance section 2009-06-30 08:07:29 +00:00
Pierre Alliez 57a3c4fd7a AABB tree: fix doc compilation issue 2009-06-30 07:39:42 +00:00
Pierre Alliez 154bfac3f6 aabb tree: added plane queries in the performance section and demo. 2009-06-29 21:23:13 +00:00
Pierre Alliez 35170ac299 aabb tree: added performance section [to be completed with distance queries and curves] 2009-06-29 21:06:26 +00:00
Pierre Alliez 3edf2601c3 aabb tree: enrich one example with intersection of facets with plane query (intersections are generically segments) 2009-06-28 20:57:55 +00:00
Pierre Alliez a46598daa8 aabb tree: polishing user manual 2009-06-26 17:55:17 +00:00
Pierre Alliez 0a0ebfa501 aabb tree: split facet examples into distance and intersection 2009-06-26 11:17:08 +00:00
Pierre Alliez 597f9459d5 aabb tree: some cleanup 2009-06-25 20:08:51 +00:00
Pierre Alliez a87b5cef3d aabb tree: one more example 2009-06-25 19:52:35 +00:00
Pierre Alliez d61f26ea11 aabb tree: more on user manual 2009-06-24 19:31:57 +00:00
Camille Wormser 77460eb2fe accent 2009-05-14 13:08:20 +00:00
Camille Wormser d89e64ab28 authors list 2009-05-14 13:03:01 +00:00
Pierre Alliez 0dfc500ff0 AABB tree:
- few fixes on the doc.
2009-05-14 11:27:42 +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 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 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
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 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
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