Commit Graph

482 Commits

Author SHA1 Message Date
Pierre Alliez 86a84af4eb reduce image size 2009-07-10 12:46:01 +00:00
Pierre Alliez bdbcbf7e1d more on benchs 2009-07-10 12:45:03 +00:00
Pierre Alliez 4701db503b reduce size of images 2009-07-10 11:30:03 +00:00
Pierre Alliez 555c6892bd AABB tree: reduce size 2009-07-10 11:28:30 +00:00
Pierre Alliez 6f797c4b8e AABB tree demo: replace QT timer by CGAL one. 2009-07-10 08:14:42 +00:00
Pierre Alliez 4ba24506b1 aabb tree: attempt to eliminate a warning 2009-07-10 06:08:39 +00:00
Pierre Alliez a4147a7ff8 AABB tree demo: more on benchmarks 2009-07-09 14:33:41 +00:00
Pierre Alliez cea16e2180 AABB tree: add comments about how to order the includes so that the compiler parses the intersection functions. 2009-07-09 13:36:33 +00:00
Pierre Alliez 953f277f91 AABB tree: no more bias for large models as the internal KD-tree is built initially and not at the first query 2009-07-09 13:25:25 +00:00
Pierre Alliez 991e936861 AABB tree: improve benchmarks. 2009-07-09 13:19:47 +00:00
Stéphane Tayeb b92c3902f5 Fix a bug for demo benchmark. KD-Tree is now build right after its construction (instead of at the first query). 2009-07-09 11:46:28 +00:00
Pierre Alliez 145156621d AABB tree demo: added P shortcut to menu view polyhedron and proper viewer updates. Thanks Laurent. 2009-07-09 09:35:28 +00:00
Pierre Alliez 4c4a7f1f7b AABB tree: my last pass on the doc (few quibbles, and re-indent examples) 2009-07-09 08:57:55 +00:00
Pierre Alliez 72ef5cb900 AABB tree: intersection benchmark code made much shorter and more accurate (the random generation of queries is made once for all before benchmarking, hence the timings are more precise). 2009-07-08 22:27:55 +00:00
Laurent Rineau 0d7cc0b6b5 Fix: AABBTraits must not require size_type. The size_type is an
implementation detail of the class template AABB_tree, and traits classes
cannot know that type.
2009-07-08 16:16:15 +00:00
Laurent Rineau 60da2e471e Fix a typo. 2009-07-08 15:53:48 +00:00
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 f07daa35b9 AABB tree: benchmark also any_intersected_primitive (I forgot to call this function) 2009-07-07 14:24:50 +00:00
Pierre Alliez f7e2e92525 aabb tree: more on performance section (benchmark across kernels) 2009-07-06 21:29:36 +00:00
Pierre Alliez 7b0f96ca06 aabb tree: attempt to fix warning:
message is Triangle_3_segment_3_intersection.h:93: warning: control reaches end of non-void function
laurent (R) - can you take a look at it?
2009-07-06 19:40:54 +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
Andreas Fabri 1c4b39ac2e Remove some typename 2009-07-05 18:48:22 +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 291861ad99 AABB tree demo: slicer now uses scene bbox 2009-07-05 13:16:08 +00:00
Pierre Alliez 57ba5cc702 aabb tree demo: bbox now used for distance functions. 2009-07-05 12:57:36 +00:00
Pierre Alliez 1c6968a90a aabb tree demo: fix scene bbox 2009-07-05 12:37:44 +00:00
Pierre Alliez 25565b6f99 aabb tree demo: benchmarks more accurate as we subtract the cost of generating the random queries. 2009-07-05 12:14:28 +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
Camille Wormser 9b052fbe27 Another more involved example, where the triangles are stored as a flat vector of indices,
referring to a vector of points.
2009-07-04 13:38:34 +00:00
Camille Wormser e591eb6bc5 An more involved example where the triangles are stored in a flat vector of points
(quite common in graphics)
2009-07-04 13:18:33 +00:00
Pierre Alliez c621fdfb4c aabbtree: correct compilation errors and warnings on Linux 2009-07-03 21:57:42 +00:00
Camille Wormser 6f741e7ed1 a new example, where a primitive is defined from scratch. 2009-07-03 16:25:16 +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 7bfcc3dd47 AABB tree demo: added menu to benchmark memory against number of facets.
I had to add a recursive longest edge bisection algorithm to refine a mesh without changing its geometry.
2009-07-02 21:36:22 +00:00
Camille Wormser 08cc763aa8 steeper slope at the end of the color ramp, so that we see the difference between the facet-distance and edge-distance.
(at least on the hand model)
What do think about this?
2009-07-02 12:25:23 +00:00
Camille Wormser 81d2b1bcd7 remove some compilation warnings 2009-07-02 12:03:18 +00:00
Pierre Alliez 4c3c6e3845 AABB tree: remove warnings in ascii outputs to remove warnings in the test suite. 2009-07-01 21:18:20 +00:00
Pierre Alliez f22533c055 AABB tree: removed unused files. 2009-07-01 21:07:48 +00:00
Pierre Alliez 92760b731a AABB demo: removed status bar 2009-07-01 21:00:02 +00:00
Pierre Alliez 1d6e776431 AABB tree: some more cleanup. 2009-07-01 20:49:03 +00:00
Pierre Alliez bc80ee2e5c AABB tree: point out some (level 4) warnings for L.Rineau. 2009-07-01 20:23:41 +00:00
Pierre Alliez 08e9db05ae aabb tree demo: better option for inside points + ascii progress bar. 2009-07-01 20:12:40 +00:00
Pierre Alliez dffabd3115 aabb tree demo:
- shorter code for benchmarking 
- benchmarking duration made as an option
2009-07-01 19:58:06 +00:00
Pierre Alliez 514f1e8973 AABB tree demo: better file structuring and cleanup. 2009-07-01 19:08:48 +00:00
Pierre Alliez 18611be7bd aabb data: normalize model. 2009-07-01 13:36:42 +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 c74f3dbb59 aabb tree demo: added thermal color ramp for unsigned distance function 2009-07-01 11:56:25 +00:00
Camille Wormser a09dfcf193 un mot dans la sortie pour expliquer qu'il ne faut pas tenir compte du premier appel (pour le moment) 2009-07-01 08:11:07 +00:00
Camille Wormser 2d951c676f calls the first distance benchmark two times: the first one is used to populate the cache... 2009-07-01 08:07:09 +00:00
Pierre Alliez 8c1a65f2ac aabb tree demo: added signed and unsigned distance functions to facets, unsigned to edges. 2009-06-30 22:06:04 +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 9c96611659 aabb tree demo: add one small hand model 2009-06-30 20:19:03 +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 98118bddce aabb tree demo: distance benchs (strange compilation issue on Windows) 2009-06-30 12:15:06 +00:00
Pierre Alliez 125d8cab6b aabb tree: attempt to fix compilation issue 2009-06-30 08:42:01 +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 bf70fa2c9e more on AABB demo (simple unsigned distance function to facets)
must fix compilation issue
2009-06-29 20:17:33 +00:00
Pierre Alliez 5c0b091370 more on AABB demo 2009-06-29 17:00:29 +00:00
Pierre Alliez 1dfddba18a more on AABB demo 2009-06-29 15:55:58 +00:00
Pierre Alliez 8b2c3807de moved AABB demo, thanks Laurent for pointing this out. 2009-06-29 13:00:44 +00:00
Pierre Alliez b18696af81 more on AABB demo 2009-06-29 11:46:43 +00:00
Laurent Rineau b037450304 Fix a VC++-ism. 2009-06-29 11:20:39 +00:00
Pierre Alliez e220203a60 aabb demo: more code cleanup
one attempt to add shortcut for a menu
2009-06-28 21:15:31 +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 eb8b4c0c73 aabb demo: more code cleanup 2009-06-28 20:19:46 +00:00
Pierre Alliez 891219e704 aabb tree demo: change data models, remove two unnecessary files. 2009-06-28 19:59:58 +00:00
Pierre Alliez 21e59e43d8 aabb tree demo: simplified menus (only two for benchmarking distances and intersections)
the demo must stay as simple as possible.
2009-06-28 19:44:02 +00:00
Pierre Alliez 0c22c8e729 aabb tree : added menu to generate and display a set of points intersecting the edges of a polyhedron. 2009-06-28 18:07:17 +00:00
Pierre Alliez c2e51c88d4 aabb tree : added menu to generate and display a set of points intersecting the facets of a polyhedron.
more view and edit menus.
2009-06-28 07:53:44 +00:00
Pierre Alliez 071f2f6a55 aabb tree : added menu to generate and display a set of segments intersecting the facets of a polyhedron. 2009-06-28 07:15:26 +00:00
Pierre Alliez 56ff4a3a32 aabb tree qt-based demo: added menu to generate and display a set of points inside a polyhedron.
next to come: signed and unsigned distance functions, and benchmarking of distances, intersection to both edges and facets.
2009-06-27 21:41:06 +00:00
Pierre Alliez 360f2a73d7 aabb tree: initial qt-based demo 2009-06-27 20:33:46 +00:00
Pierre Alliez 8f3cbf217e aabb tree: more code cleanup 2009-06-27 15:26:09 +00:00
Pierre Alliez dfa149a2d7 aabb tree: more code cleanup 2009-06-27 15:19:29 +00:00
Pierre Alliez 4c19729e16 aabb tree: a bit of code cleanup 2009-06-27 06:44:31 +00:00
Pierre Alliez a46598daa8 aabb tree: polishing user manual 2009-06-26 17:55:17 +00:00
Pierre Alliez dc0f8c60ce aabb tree: cleanup test formatting 2009-06-26 15:18:35 +00:00
Stéphane Tayeb c8dc1d84f7 Add a CGAL_assertion (prevents std::bad_alloc). 2009-06-26 11:58:17 +00:00
Stéphane Tayeb f3d154f62f Remove warning. Fix wrong assert. 2009-06-26 11:43:05 +00:00
Pierre Alliez 0a0ebfa501 aabb tree: split facet examples into distance and intersection 2009-06-26 11:17:08 +00:00
Pierre Alliez 330640c7e2 aabb tree: more on tests 2009-06-25 20:45:09 +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 e2f3435d32 aabb tree: one more example 2009-06-25 19:21:40 +00:00
Camille Wormser 680e80157d adds some typename 2009-06-25 15:03:45 +00:00
Pierre Alliez d61f26ea11 aabb tree: more on user manual 2009-06-24 19:31:57 +00:00
Pierre Alliez fd1f03e4d4 aabb tree: more on tests 2009-06-24 19:23:36 +00:00
Pierre Alliez 88c549f6b1 aabb tree: more on tests 2009-06-23 20:26:45 +00:00
Pierre Alliez a52576ec1f aabb tree: remove warning 2009-06-23 15:02:11 +00:00
Pierre Alliez 7928121683 AABB tree: added canonical tetrahedron for testing 2009-06-19 10:11:01 +00:00
Stéphane Tayeb d454f0d1c4 * Fix aabb_distance_triangle_hint_test (check was buggy)
* Remove kd-tree construction in generic test function (must be done in test_impl now)
* Add aabb_naive_vs_tree_distance_segment_test
* Minor fix in naive vs tree distance tests (there is probably more to do)
2009-06-18 09:34:16 +00:00
Pierre Alliez cddf3f8606 aabb tree: fix compilation issue on VC++ (I guess on Linux this worked fine) 2009-06-17 19:41:46 +00:00
Stéphane Tayeb f76d00c650 Add naive vs tree distance test for triangles. 2009-06-17 16:07:52 +00:00
Pierre Alliez 4ca25c817a AABB tree: use pinion model for testing 2009-06-17 14:17:36 +00:00
Pierre Alliez 4b277b85f2 AABB tree: added pinion for testing 2009-06-17 10:23:19 +00:00
Stéphane Tayeb c5fdd0eb17 remove boost_filesystem includes (causes compilation error on MacOSX). 2009-06-17 07:20:10 +00:00
Pierre Alliez 80fee750c6 AABB tree tests
- get rid of boost filesystem business - as requires boost lib dependency
- fix warning
2009-06-16 22:22:02 +00:00
Stéphane Tayeb 1f4b3347ef Add tree vs naive implementation test. It checks that AABB_tree implementation gives the same results than naive iteration over primitives. 2009-06-15 15:45:26 +00:00
Stéphane Tayeb 761a218fff * Fix configuration error (boost_system is now optional)
* Fix singular iterator copy construction error (build with -D_GLIBCXX_DEBUG)
2009-06-09 08:10:21 +00:00
Stéphane Tayeb adce605e3e Fix MacOS X link error. 2009-06-08 15:45:19 +00:00
Stéphane Tayeb c337944925 Add typedef on template parameter AABBTraits in class AABB_node (CC-5.90_F7 error). 2009-06-08 08:29:46 +00:00
Stéphane Tayeb 53ab3851ae Fix check_outputs() function. 2009-06-08 07:59:09 +00:00
Camille Wormser e03e9fb4fd changes needed for the Polyhedron demo to compile 2009-06-05 18:04:47 +00:00
Stéphane Tayeb c83f4d6812 Remove compiler warnings. 2009-06-03 09:40:47 +00:00
Stéphane Tayeb 1d9db3f4c0 Fix error with boost::filesystem. 2009-05-26 16:15:51 +00:00
Pierre Alliez af2ffa9abd AABB tree: fixes on tests 2009-05-25 07:57:24 +00:00
Pierre Alliez f7250d8f19 AABB tree: speed test now parameterizable by duration. 2009-05-20 08:15:50 +00:00
Pierre Alliez 18bbbad67a AABB tree: use boost::filesystem to loop through all .off files. 2009-05-19 15:38:27 +00:00
Stéphane Tayeb ec8551727d Remove one wrong call to timer.stop(). 2009-05-19 14:38:41 +00:00
Pierre Alliez c9964aa7ac AABB tree: more on tests 2009-05-18 20:33:04 +00:00
Pierre Alliez 45ed27682d AABB tree: more on tests 2009-05-18 20:22:25 +00:00
Stéphane Tayeb 729ba7be05 Test suite code factorization. Minor fix (return type) in AABB_tree.h. 2009-05-18 14:26:29 +00:00
Pierre Alliez 3395e5f699 AABB tree: removed bimba from the test 2009-05-18 09:37:06 +00:00
Stéphane Tayeb 04b5499caf Improve clip in triangle_ray/line/seg intersection construction. There is more to do i think. 2009-05-15 17:22:03 +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
Stéphane Tayeb 8bde72f327 * remove workaround for weighted point from AABB_traits
* simplify code of AABB_tree::First_intersection_traits
* change intersection(ray,triangle) and intersection(line,triangle):
returned object is now an empty object, a point or a segment
* remove do_intersect test from Intersection::operator() of
AABB_traits: intersection(ray,triangle) and
intersection(line,triangle) do it.
2009-05-14 10:07:55 +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 ea1d578227 forgot to save this one before 2009-05-14 08:23:12 +00:00
Camille Wormser cc5f9e604f sorry, unintended change 2009-05-14 08:22:32 +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 993c393cd4 forgotten detail 2009-05-11 23:30:04 +00:00
Camille Wormser 0d63e6c207 the Traits now conforms fuly to the documentation 2009-05-11 23:17:40 +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
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