Commit Graph

414 Commits

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