Commit Graph

195 Commits

Author SHA1 Message Date
Sébastien Loriot be1de01b22 *update AABB_primitive: the property maps must operate on Id!
*correct and complete implementation for HalfhedgeGraph models
2012-05-10 15:51:45 +00:00
Sébastien Loriot 388d53e0a3 correct enable_if 2012-05-10 08:19:38 +00:00
Sébastien Loriot 31d6ebe9bf *add primitive types for HalfedgeGraph and FaceGraph (wip)
*clean up triangle and segment primitive
2012-05-09 17:11:09 +00:00
Sébastien Loriot 6efd7f7954 * remove a template parameter to primitive caching
* add a generic class that has two property map as template parameter to define a aabb_tree primitive
2012-05-09 07:14:49 +00:00
Sébastien Loriot 6e72bfd1a7 add a point property map to access reference_point, with a default that uses datum() 2012-05-04 14:59:14 +00:00
Sébastien Loriot ed6ac1f4fd rename Property maps template parameter
set primitive caching to false by default
2012-05-04 14:49:27 +00:00
Sébastien Loriot 58156fb1e9 merge from next 2012-05-04 12:24:50 +00:00
Laurent Rineau b435af6afd Add svn:eol-style=native. Rewrite EOLs accordingly. 2012-02-15 13:03:09 +00:00
Laurent Rineau e0bc688832 Bug fix
<CGAL/internal/AABB_tree/nearest_point_segment_3.h> was doing stupid things
if there was a degenerate segment in the AABB tree.
2012-02-15 13:02:25 +00:00
Laurent Rineau 09d86739d0 Recode eol of two files: dos2unix, and add the eol-style=native svn property 2012-02-14 10:43:34 +00:00
Laurent Rineau 8f59fd9592 Turn QPL into LGPLv3+ 2012-01-13 16:33:35 +00:00
Andreas Fabri 77b9fd79db Remove ETHZ copyright, as Camille's contribution during his postdoc was minor 2011-09-29 15:34:00 +00:00
Sébastien Loriot 5e0c09d8ce For backward compatibility reasons and according to this article:
http://gotw.ca/gotw/006.htm, accelerate_distance_queries and 
clear_search_tree should be const.

To guarantee the read-only thread-safety, a mutex for the construction
of the internal kd-tree is used.
At the same time, optimize accelerate_distance_queries() to not
redo computation if nothing has changed in the aabb_tree.

Note that clear_search_tree does not need to be thread-safe as it is private.
2011-09-09 08:31:38 +00:00
Sébastien Loriot c93ba3a215 remove temporary comment 2011-09-08 16:03:23 +00:00
Sébastien Loriot f8449dcec4 more efficient usage of mutex. The lock is only done
if the build need to be done. We have an extra "if (m_need_build)"
but otherwise we would need to use mutex::try_lock() which results
in more code and as efficient.
2011-09-08 15:54:44 +00:00
Sébastien Loriot a09f6640f5 remove non-const version of root_node added in r65337
for backward compatibility. It is not documented and not
used (in a non-const context).
2011-09-08 12:02:06 +00:00
Sébastien Loriot 795ab80486 use a mutex in const function root_node to protect the non const call to
build()

The class AABB_tree is now read-only thread-safe
2011-09-08 08:56:16 +00:00
Sébastien Loriot eed2074f7f Fix constness issues in AABB_tree
*remove mutable data members
  *accelerate_distance_queries is not const
  *clear_search_tree is not const
  *root_node() const returns a const Node*
  *add root_note() non-const version
  *update documentation of AABB_tree class. function constness was not documented
  *update changes.html
2011-09-07 09:55:59 +00:00
Sébastien Loriot 578d41a962 deprecate AABB_polyhedron_*_primitive
add triangle and segment property_map from polyhedron simplices
update examples to use these property maps with modified primitive classes.
2011-07-25 06:22:05 +00:00
Sébastien Loriot 7a0b2326e1 add property_map as template parameter of segment and triangle primitive
and add a template parameter to enable or disable the caching of the
or object inside the primitive.

Pb to handle: in case the object is not cached, point() might be
expansive
2011-07-20 21:59:14 +00:00
Laurent Rineau 72f323a5dd The bbox() of AABB_tree can return a const reference. 2011-04-07 12:54:35 +00:00
Laurent Rineau 6f390c482e Add a missing #include of OpenGL headers. 2011-01-10 16:26:44 +00:00
Sébastien Loriot 12e8540bbe merge from candidate branch. 2011-01-10 10:46:16 +00:00
Laurent Rineau 8b08eb2b5b Fix -pedantic error. 2010-09-28 21:23:13 +00:00
Sébastien Loriot 1daecf3943 move BBox vs {sphere,plane,triangle} do_intersect from AABB_tree to Intersections_3,
and update accordingly include directives. Update testsuite

remove unneed CMakeLists.txt from AABBtree testsuite

Remove Triangle_3_Plane_3 intersection from AABB_tree (I define it in Intersections_3 some days ago, thus a conflict)
2010-09-01 08:49:24 +00:00
Sébastien Loriot 4aa953888f all polyhedron primitives to be constructed from non compact container iterators 2010-08-31 13:45:38 +00:00
Stéphane Tayeb 813d775fba Add missing #include. 2010-07-08 07:35:44 +00:00
Andreas Fabri 54f913051c int -> size_type/std::size_t 2010-06-21 15:38:26 +00:00
Sébastien Loriot 52317dd49f add python script (replace_CGAL_NAMESPACE.py) to replace CGAL_BEGIN_NAMESPACE and CGAL_END_NAMESPACE
by namespace CGAL { and } //namespace CGAL. in all .h and .cpp files
in a directory.
Apply it to all packages in the trunk
Remove macro definition from the config.h file.
2010-06-09 07:37:13 +00:00
Stéphane Tayeb afdd14bb62 Fix compilation on x86-64_Linux-2.6_llvm-clang-with-g++-4.4.1_F11: use fully qualified name for cross_product call. 2010-05-20 07:02:05 +00:00
Laurent Rineau a65e49133b Fix: in <CGAL/AABB_intersections.h>,
Kernel::Do_intersect_3()(Triangle_3, Bbox_3) was available
but not Kernel::Do_intersect_3()(Bbox_3, Triangle_3).
2010-05-05 14:54:49 +00:00
Sébastien Loriot 15557626cc remove not needed break instructions (avoid warning with g++ (Debian 4.3.4-6) 4.3.4) 2010-03-31 08:45:58 +00:00
Andreas Fabri 0758e61952 fix for the case that one of the triangle vertices is on the plane 2010-02-25 11:55:20 +00:00
Sylvain Pion 85dc12f2a7 Remove empty lines at beginning and end of files
(apply Scripts/developer_scripts/remove_empty_lines.pl).
2010-02-01 12:55:28 +00:00
Stéphane Tayeb 90288a058b Move do_intersect(Bbox,Bbox/Line/Ray/Seg) and intersection(Triangle,Line/Ray/Seg) to Intersections_3. 2009-12-18 15:13:30 +00:00
Stéphane Tayeb e476966856 Change License to LGPL. Fix Copyrights. 2009-12-18 14:35:34 +00:00
Stéphane Tayeb cab2982563 Implement Sylvain's comments:
+ add missing includes
  + avoid object copies
  + replace CGAL_kernel_assertion(false) by CGAL_error()
  + use is() function of CGAL::Object
  + improve style (remove spaces, white lines...)
2009-12-16 17:03:17 +00:00
Stéphane Tayeb ab503ac11f * Fix triangle_other test
* Fix Triangle_3_Ray_3_intersection.h header
2009-11-24 13:07:45 +00:00
Stéphane Tayeb 7ff50b95a0 * Rename test files which have to be moved to kernel
* Fix header protection names
2009-11-20 17:02:39 +00:00
Stéphane Tayeb 836d042180 Fix previous commit (thanks to compiler cache...). 2009-11-20 16:57:44 +00:00
Stéphane Tayeb 6550224744 Move and rename files (prepares integration into kernel). 2009-11-20 16:38:02 +00:00
Stéphane Tayeb 854fef2f8a * Update (triangle, seg/line/ray) intersection computation
* Enrich (triangle, seg/line/ray) test suite
* Minor formatting change in Bbox_3_line_3_do_intersect.h
2009-11-20 13:09:08 +00:00
Stéphane Tayeb 4f50028d7b Minor formatting clean. 2009-11-18 08:51:51 +00:00
Stéphane Tayeb c095f38e66 Rewrite (seg/ray/line - bbox) predicates without divisions. 2009-11-17 16:41:57 +00:00
Stéphane Tayeb 3f1a416bc0 Fix syntax error. 2009-11-16 12:48:11 +00:00
Stéphane Tayeb f7a63d0ec5 revert r52901-52902 (moving predicate from AABB_tree to Intersections_3) 2009-11-10 16:58:02 +00:00
Stéphane Tayeb b869d0956d Move intersection predicates and constructions from AABB_tree to Intersection_3. 2009-11-09 12:10:23 +00:00
Pierre Alliez ca4f73b860 fix #ifdefs 2009-10-29 10:42:53 +00:00
Laurent Rineau 83912b2952 Massive fix of svn:keywords properties, and $URL$ keyword. 2009-10-20 08:59:26 +00:00
Laurent Rineau 7bf0990dbb Minor fix: the correct way to construct a FT from 0 or 1, that is
documented to work with all FT, is FT(0)/FT(1), and not
(FT)(0.0)/(FT)(1.0). The concept Field refines FromIntConstructible:
See:
  http://www.cgal.org/Manual/last/doc_html/cgal_manual/Algebraic_foundations_ref/Concept_Field.html
and follow the "refines" chain until:
  http://www.cgal.org/Manual/last/doc_html/cgal_manual/Algebraic_foundations_ref/Concept_FromIntConstructible.html
2009-10-20 07:34:13 +00:00