Commit Graph

195 Commits

Author SHA1 Message Date
Stéphane Tayeb 1e4358dc07 Fix warning. 2009-10-20 07:03:58 +00:00
Stéphane Tayeb 99a5c3160a Fix compilation error. 2009-10-15 06:40:45 +00:00
Stéphane Tayeb aa3e601755 Computation and code factorization (to avoid early roundings). 2009-10-14 08:22:24 +00:00
Stéphane Tayeb cfa88ab257 * Fix Triangle_3_line_3_intersection.h (implementation inspired from Triangle_3_line_3_do_intersect.h)
* Add test for triangle_3/line_3 intersection (should be enriched maybe) in file aabb_intersection.cpp
* Test exact_exact kernel in aabb_do_intersect_test.cpp
2009-10-09 14:09:14 +00:00
Stéphane Tayeb 9ba530384f * Fix Triangle_3_segment_3_intersection.h (implementation inspired from Triangle_3_segment_3_do_intersect.h)
* Add test for triangle_3 segment_3 intersection (should be enriched maybe)
* Test more kernels in aabb_do_intersect_test.cpp
2009-10-05 09:41:47 +00:00
Stéphane Tayeb 5f464aec46 Merge [r51090:51960]
From branches/CGAL-3.5-branch/AABB_tree to trunk/AABB_tree

r51953 | stayeb | 2009-09-16 13:17:12 +0200 (Wed, 16 Sep 2009) | 1 line
* Fix AABB_tree missing default ctor.

r51936 | stayeb | 2009-09-14 19:37:18 +0200 (Mon, 14 Sep 2009) | 2 lines
* Fix ray_bbox & line_bbox do_intersect predicates for filtered kernels
* add a small test for do_intersect(seg/ray/line, bbox) queries

r51932 | lrineau | 2009-09-14 15:32:24 +0200 (Mon, 14 Sep 2009) | 3 lines
* Fix predicates of <CGAL/AABB_intersection.h>, so that they are correctly filtered when called from the global function template CGAL::do_intersect

r51931 | stayeb | 2009-09-14 15:22:12 +0200 (Mon, 14 Sep 2009) | 1 line
* Fix bbox_3_segment_3 intersection for filtered kernels.

r51868 | lrineau | 2009-09-07 17:01:48 +0200 (Mon, 07 Sep 2009) | 2 lines
* Fix the non-filtering of BBox_3-Segment_3 intersection.
2009-09-18 12:49:03 +00:00
Pierre Alliez 63d3ba8f0d default constructor. 2009-09-15 10:36:40 +00:00
Pierre Alliez bfaee9aae4 adds default constructor. 2009-09-15 10:01:58 +00:00
Sylvain Pion 8573fe26ce Rename CGALi to internal. 2009-08-24 17:10:04 +00:00
Laurent Rineau ccd0fcc73f Merged revisions 51083 via svnmerge from
svn+ssh://scm.gforge.inria.fr/svn/cgal/branches/CGAL-3.5-branch

........
  r51083 | stayeb | 2009-08-06 09:48:42 +0200 (Thu, 06 Aug 2009) | 1 line
  
  Minor fix: include CGAL/intersections.h instead of CGAL/intersection_3.h.
........
2009-08-18 14:13:54 +00:00
Pierre Alliez d987180d75 fix copyrights. 2009-08-07 18:57:08 +00:00
Sylvain Pion 7e0db3191b Fix & homogenize Copyright header lines :
- Copyrigth -> Copyright
- ETHZ (Suisse) -> ETH Zurich (Switzerland)
2009-08-07 11:18:32 +00:00
Laurent Rineau f81561f3d4 Add copyright and license header 2009-07-31 21:06:50 +00:00
Laurent Rineau 968b31d684 Move the non-documented AABB_polyhedral_oracle.h to the polyhedron demo. 2009-07-22 14:06:10 +00:00
Stéphane Tayeb 0a784e8d1f Fix AABB_polyhedral_oracle (needed by Polyhedron_demo). 2009-07-22 08:18:13 +00:00
Pierre Alliez 8baebaeded some cleaning 2009-07-16 12:39:08 +00:00
Camille Wormser 6261018859 memory check 2009-07-16 12:25:46 +00:00
Pierre Alliez eb645bed0c AABB tree: fix quibble in comment. 2009-07-16 06:11:29 +00:00
Pierre Alliez cd199a7504 AABB tree: added one message to track the last remaining error in the test suite. 2009-07-16 06:07:41 +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 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
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 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 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 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 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 35170ac299 aabb tree: added performance section [to be completed with distance queries and curves] 2009-06-29 21:06:26 +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
Stéphane Tayeb c8dc1d84f7 Add a CGAL_assertion (prevents std::bad_alloc). 2009-06-26 11:58:17 +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 88c549f6b1 aabb tree: more on tests 2009-06-23 20:26:45 +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 c337944925 Add typedef on template parameter AABBTraits in class AABB_node (CC-5.90_F7 error). 2009-06-08 08:29:46 +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
Pierre Alliez c9964aa7ac AABB tree: more on tests 2009-05-18 20:33:04 +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
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
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 f47e9f1f67 one more primitive,
more consistent names
2009-05-14 08:20:50 +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 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 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 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 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
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
Pierre Alliez db287f0e56 AABB tree: more on internal KD-tree used to accelerate the distance queries. 2009-05-07 10:51:01 +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
Pierre Alliez db918ecafe AABB tree: undo folder restructuring 2009-05-05 11:51:48 +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
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 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
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 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 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 6c4f25b95b AABB: rename to less_x/y/z 2009-04-27 18:13:06 +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 73364294e5 AABB tree: fix CR. 2009-04-26 18:24:15 +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