Commit Graph

172 Commits

Author SHA1 Message Date
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 fbb8eefc2c more on examples 2009-05-04 20:19:22 +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
Gaël Guennebaud 10f9aa181c fix compilation 2009-05-04 15:15:46 +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
Pierre Alliez 7bc16c5c48 AABB tree: made two sub-folders to store intersections and (later) traversal_traits 2009-05-02 12:13:32 +00:00
Pierre Alliez 2d22df1c41 AABB tree: more on Point_and_primitive in traversal traits 2009-05-02 09:45:20 +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
Stéphane Tayeb 6575fdb2e8 Fix compilation error. 2009-04-30 14:06:46 +00:00
Stéphane Tayeb fde6e4f260 * add workaround for weighted point (TOFIX)
* add AABB_const_polyhedron_edge_primitive
2009-04-30 14:04:45 +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 d2c99fc698 AABB tree: split user manual into several .tex files.
more on API.
2009-04-29 20:38:40 +00:00
Pierre Alliez fbc8c064d1 AABB tree: type fix. 2009-04-29 15:10:16 +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
Pierre Alliez 5074de058e AABB tree: rename segment to edge 2009-04-29 13:44:35 +00:00
Pierre Alliez 7c56be7711 AABB tree: more on tests 2009-04-29 13:43:38 +00:00
Pierre Alliez b96d8c442c AABB: fix clear_and_insert
remove lucy model (too big)
2009-04-28 20:04:23 +00:00
Pierre Alliez a86c346e54 AABB: implemented two new functions suggested by Andreas:
void clear(void)
bool clear_and_insert(begin,beyond)
2009-04-28 15:29:37 +00:00
Stéphane Tayeb cf794d7a17 add forgotten file (r48979). 2009-04-28 15:14:34 +00:00
Stéphane Tayeb 7d85cbdd57 * Remove ad-hoc code from AABBTraits:
- add nearest_point_3(Point_3, Triangle_3, Point_3)
  - updates Projecting_traits of AABB_tree
* Fix test compilation (linux x64).
2009-04-28 15:12:51 +00:00
Pierre Alliez aabc226876 AABB: fix ref to opcode. and few fixes in introduction. 2009-04-28 14:47:22 +00:00
Pierre Alliez 052850c95f AABB: document two new functions suggested by Andreas:
void clear(void)
void clear_and_insert(begin,beyond)
(we let the append() function for another release)

tests: enrich todo list.
2009-04-28 09:44:08 +00:00
Pierre Alliez fd573fc4c8 AABB: more on testing: measure tree construction time, speed for all query types, across several kernels. 2009-04-27 20:37:47 +00:00
Pierre Alliez 6c4f25b95b AABB: rename to less_x/y/z 2009-04-27 18:13:06 +00:00
Pierre Alliez 911c74c590 AABB: more to fix Andreas remarks. 2009-04-27 18:00:27 +00:00
Pierre Alliez 38c6ba35e3 AABB: added 100k triangle lucy model for the tests (others are toys)
added it to dont_submit
2009-04-27 17:16:30 +00:00
Pierre Alliez b563d29270 AABB tree: the projection does not construct the KD-tree at the first projection query anymore. for efficient projection queries either the user calls for its explicit construction during the AABB construction or calls "construct_search_Tree()". otherwise the first primitive reference point is used as (naive) hint. 2009-04-27 15:36:35 +00:00
Stéphane Tayeb 50a9d76db0 Fix polyhedral oracle. Add class AABB_const_polyhedron_triangle_primitive. 2009-04-27 13:25:46 +00:00
Stéphane Tayeb 836f48cd9c Fix compilation errors (linux x64). 2009-04-27 12:42:04 +00:00
Pierre Alliez 9401251b51 AABB tree: attempt to fix compilation on Linux 2009-04-27 11:45:38 +00:00
Laurent Saboret 9c77d89703 Fixed compilation errors (Linux/g++) 2009-04-27 10:40:34 +00:00
Pierre Alliez 18c93be7bc AABB tree: replace xref/yref/zref and point_on by a single reference_point() function for primitive.
NOTE: the reference point is used both for sorting the primitives and for constructing the search KD-tree
2009-04-27 08:58:19 +00:00
Pierre Alliez b9c28d07aa AABB tree: rename is_smaller to is_contained
another code cleanup
2009-04-26 21:48:18 +00:00
Pierre Alliez a8188eb668 AABB tree: test all intersection types for triangles 2009-04-26 21:29:47 +00:00
Pierre Alliez 2421c82abe AABB tree: added (commented) example of projection against a set of segments.
does not compile for now
2009-04-26 20:59:43 +00:00
Pierre Alliez 73364294e5 AABB tree: fix CR. 2009-04-26 18:24:15 +00:00
Pierre Alliez 8a09dd36c1 AABB tree: cleanup doc. 2009-04-26 18:22:02 +00:00
Pierre Alliez c55ae25215 AABB tree: more on projection (added all point_on() functions to primitives) 2009-04-26 18:19:05 +00:00
Pierre Alliez 8cf7099289 AABB tree: rename intersection file 2009-04-26 18:09:40 +00:00
Pierre Alliez 3a3c75c66e AABB tree: rename intersection files 2009-04-26 17:32:34 +00:00
Pierre Alliez 9df9f8a9f1 AABB tree: added internal search tree (CGAL K-orth search tree) to accelerate the projection queries.
substantial complication... may be improved.
2009-04-26 16:22:46 +00:00
Pierre Alliez e52c14ffc9 AABB tree: more on doc. 2009-04-26 14:39:35 +00:00
Pierre Alliez 4018a88be9 polyhedron demo: fix compilation of remeshing plugin 2009-04-26 14:25:30 +00:00
Pierre Alliez abaeb0ef5c AABB tree: rename Polyhedron_tree to Tree in examples and test 2009-04-26 14:15:27 +00:00
Pierre Alliez 24e3bc0c22 AABB tree: added two primitive types for triangle and segment to make two examples simpler.
rename Object type to Datum type within primitive as it was conflicting with CGAL Object type
2009-04-26 13:46:48 +00:00
Pierre Alliez cde6fb8ad0 AABB tree: added fourth examples with (segment) edges of a polyhedron 2009-04-26 09:27:42 +00:00
Pierre Alliez 3358154717 AABB tree: start adding tests. 2009-04-25 22:21:53 +00:00
Pierre Alliez 20e319a2b9 AABB tree: todo list on tests, remove one mesh data 2009-04-24 22:28:34 +00:00
Pierre Alliez 3316b50890 AABB tree: more comments on examples - added one projection 2009-04-24 22:09:40 +00:00
Pierre Alliez aea8cce7ad AABB tree: one more example with segment 2009-04-24 21:47:52 +00:00
Pierre Alliez e5696fa009 AABB tree: reuse existing file AABB_polyhedron_triangle_primitive.h for the example 2009-04-24 14:38:08 +00:00
Pierre Alliez ce4a6039f5 AABB tree: added two examples (one compiles fine) 2009-04-24 14:11:17 +00:00
Pierre Alliez aeb4889551 AABB tree: move files up 2009-04-24 13:35:41 +00:00
Pierre Alliez 19503da319 AABB tree: add CMake files for examples and tests 2009-04-24 13:20:18 +00:00
Pierre Alliez bc218b5d22 AABB tree: doc 2009-04-24 13:00:46 +00:00
Pierre Alliez be16a94b73 fix link to examples 2009-04-24 12:33:08 +00:00
Pierre Alliez f28804008c fix link to examples 2009-04-24 12:30:56 +00:00
Pierre Alliez f5724113f7 AABB tree: added shark in .eps format 2009-04-24 12:30:44 +00:00
Pierre Alliez 476cf9aeb1 AABB tree: rename triangle primitive to polyhedron triangle primitive 2009-04-24 11:51:03 +00:00
Pierre Alliez 07c87ae231 AABB tree: deleted TrianglePrimtive concept - there is no point to have it 2009-04-24 11:45:39 +00:00
Pierre Alliez 3e25916b51 AABB tree: added two examples and alter doc where the data type is now the Object type. 2009-04-24 11:29:00 +00:00
Pierre Alliez f01b6e147f AABB tree: important pass on the documentation from A.Fabri's review and several discussions with S.Tayeb, L.Rineau and C.Wormser.
remove all _type suffixes to types
distinguish datum from data
A primitive wraps a "geometric object" and an Id - not a primitive and an ide (confusing)
added any_intersected_primitive() to be consistant
2009-04-24 09:42:43 +00:00
Pierre Alliez ec08e7f711 ABABB tree : prepare folders for tests 2009-04-23 15:16:50 +00:00
Stéphane Tayeb c4b6628106 * Projection query correction.
* Remove old code.
2009-04-23 07:38:53 +00:00
Pierre Alliez 9f43b3a035 AABB tree: more on documentation. 2009-04-22 08:22:00 +00:00
Stéphane Tayeb 333e2f0401 First step to CGAL 3.5 specs. 2009-04-22 08:11:45 +00:00
Pierre Alliez 31992dd000 AABB tree: things to be fixed (intersections) 2009-04-21 12:29:26 +00:00
Pierre Alliez 0e7d36fa48 AABB tree: add image for ps compilation and added .ppt source file to dont_submit 2009-04-17 08:41:11 +00:00
Pierre Alliez c057e74544 AABB tree: higher res image for user manual. 2009-04-17 08:24:21 +00:00
Pierre Alliez 2c8b9956cb AABB tree: user manual (added figure and implementation details section) 2009-04-16 15:08:01 +00:00
Pierre Alliez 37b3262e71 AABB tree: added doc 2009-04-16 11:22:16 +00:00
Laurent Rineau 3654111856 Ooops: fix a bug I introduced myself since revision 48240, which was:
" - Rewrite of longest_axis(), which was quite strange, and switch to double,
      as CGAL::Bbox_3 coordinates are always double."

That fix will re-improve the query time.
2009-04-10 17:02:54 +00:00
Laurent Rineau 58f1842820 Improve again the construction time of an AABB_tree (by factor of 5 to 1). 2009-04-10 17:00:10 +00:00
Laurent Rineau 7a340e9d8d Improve the construction time of an AABB_tree for free (by using
std::nth_element, instead of std::sort).
2009-04-09 19:50:51 +00:00
Laurent Saboret 425cc63967 Fixed compilation warnings with VC++ 2009-04-07 14:01:14 +00:00
Laurent Rineau 69cc456852 typo : lenght -> length
(Thanks to Sylvain Pion.)
2009-04-06 12:25:12 +00:00
Laurent Rineau 9b9d32c208 The polyhedral oracle can now be used by Mesh_3. 2009-04-06 12:10:42 +00:00
Laurent Rineau 85bd8c4adb Add a member function AABB_tree::count_intersections 2009-04-06 12:10:09 +00:00
Laurent Rineau d51fcf2fa2 Make AABB_node::max_lenght public, so that AABB_tree can use it. 2009-04-06 12:09:32 +00:00
Laurent Saboret cb2644dab9 Revert revision 48625 that does not compile with g++ 2009-04-03 17:26:19 +00:00
Laurent Saboret 7d659c7483 Fixed compilation warnings with VC++ 2009-04-03 12:38:46 +00:00
Laurent Rineau f86c071b04 - Add constness to AABB_tree,
- Add a method bbox() to AABB_tree, that returns its bounding box.
- Add a method size(), that returns the number of nodes.
- Add a method traversal to AABB_tree, so that one can call it with a
  user-made traversal traits class.
- Add a Drawing_traits traits class, that draws the tree with OpenGL.
- Add predicates and constructions so that one can call
  AABB_tree::intersection with Kernel::Plane_3 as query, and Segment_3 as
  result type.
- New query function AABB_tree::all_intersections.
- The member function AABB_node::intersection is now templatized with a new
  template parameter 'Result', so that the result is not hardcoded to be
  'Point'.
- Three new constructions, for the intersection (and not only do_intersect)
  between a Triangle_3 and (Plane_3, Ray_3, Segment_3).
  (NOTE: That has not been tested intensively. And the intersection with
  Ray_3 and Segment_3 does not handle co-planar intersections, for the
  moment.)
2009-03-30 14:15:33 +00:00
Laurent Rineau 9f3a3e323b Fixes for non-Windows compilers. 2009-03-30 14:05:56 +00:00
Laurent Rineau e13b94d625 Factorize the code between Ray/Line/Segment, using templates. 2009-03-02 11:10:37 +00:00
Laurent Rineau 288525ba5f - Rewrite of longest_axis(), which was quite strange, and switch to double,
as CGAL::Bbox_3 coordinates are always double.
2009-02-26 18:04:56 +00:00