Commit Graph

206 Commits

Author SHA1 Message Date
Philipp Möller e17201c286 Remove superfluous styling 2013-01-25 11:24:12 +01:00
Laurent Rineau 34327e9688 Merge remote-tracking branch 'origin/AABB_tree-fix_documentation-lrineau' 2013-01-22 17:22:41 +01:00
Laurent Rineau 65750effb1 Improve the documentation of the class template AABB_tree
- Group the documented methods that were not.
- Document typedefs that are used in the methods declarations.
- Use \tparam when relevant.
- Fix a comment block that was prefixed with '    ///' or '\t\t///'
  depending on the lines. That one is particularily nasty because the
  difference between lines is invisible. But that was confusing Doxygen.
- plus minor fixes
2013-01-16 15:04:17 +01:00
Laurent Rineau 827a70e110 Fix crashes when the AABB tree contains only one primitive.
An extra test program has been added to test all functions of the API with
a singleton AABB tree.
2013-01-16 10:39:52 +01:00
Laurent Rineau fc3061c822 Bug fix: fix AABB_tree doc and code about preconditions !empty()
The AABB_tree code had several assertions checkinng that the tree was not
empty. Those preconditions were not documented. There was several places in
the code were it was not really required that the tree is not empty.

This patch rationalizes the preconditions: only the function `bbox()` and
the queries about distances or closest things now require that the tree is
not empty.
2013-01-15 17:19:11 +01:00
Sébastien Loriot 4b252e8cc2 add missing backticks 2013-01-08 17:50:28 +01:00
Sébastien Loriot 318c280932 less linking 2013-01-07 19:26:50 +01:00
Andreas Fabri d16be07906 polish AABB Tree 2012-12-27 20:36:04 +01:00
Sébastien Loriot 533b9f07b3 BUG: typedef has moved 2012-11-28 12:05:02 +01:00
Sébastien Loriot 4ec9529581 Merge branch 'doxy-port-pmoeller'
Conflicts:
	.gitattributes
	Surface_reconstruction_points_3/include/CGAL/Poisson_reconstruction_function.h
	Surface_reconstruction_points_3/include/CGAL/Reconstruction_triangulation_3.h
	Surface_reconstruction_points_3/include/CGAL/k_nearest_neighbor.h
2012-11-27 10:05:41 +01:00
Andreas Fabri 625f9f6cd7 after git merge remotes/origin/hot-fixes-for-Git 2012-11-20 13:02:17 +01:00
Philipp Möller 8f19c3d595 Remove size_type from TraversalTraits.
There is no reason for TraversalTraits to know the size_type (or any
of the other typedefs) and removing it prevents an unnecessary
instantiation of AABB_tree and a funky include.
2012-10-23 14:56:26 +00:00
Sébastien Loriot fb244b47b4 remove empty destructor 2012-10-10 12:41:11 +00:00
Sébastien Loriot 9b44f4f7d8 AABB_tree is finished 2012-10-10 12:31:37 +00:00
Philipp Möller 37778547bf Fix example to point to paths similar to a flat layout 2012-10-01 18:02:44 +00:00
Philipp Möller 864aebe2e5 Merge next.
This commit also updates the respective mock-headers when the
corresponding .tex documentation has changed. This has been the case for:

AABB_tree/doc_tex/AABB_tree_ref/AABBGeomTraits.tex
AABB_tree/doc_tex/AABB_tree_ref/AABBTraits.tex
AABB_tree/doc_tex/AABB_tree_ref/AABB_traits.tex
Mesh_3/doc_tex/Mesh_3_ref/parameters_features.tex
Mesh_3/doc_tex/Mesh_3_ref/parameters_no_features.tex
Number_types/doc_tex/NumberTypeSupport_ref/Interval_nt.tex
Number_types/doc_tex/NumberTypeSupport_ref/Lazy_exact_nt.tex
Spatial_searching/doc_tex/Spatial_searching_ref/Search_traits_2.tex
Spatial_searching/doc_tex/Spatial_searching_ref/Search_traits_3.tex
Triangulation_2/doc_tex/Triangulation_2_ref/Constrained_Delaunay_triangulation_2.tex
2012-09-12 14:14:22 +00:00
Andreas Fabri 632d2c7b76 template parameter AT got replaced by AABBTraits 2012-09-04 11:45:35 +00:00
Philipp Möller e2b79eb9db Manually move AABB_tree here 2012-08-29 15:27:03 +00:00
Sébastien Loriot 8f22de68ce concept bugfix
* CODE+DOC: Bbox_3 is a nested type in CGAL's Kernel; the code uses Bbox_3
* DOC: Add Compute_squared_distance_3 in AABBGeomTraits as it is needed by AABBTraits
* DOC: remove Splitting_direction from AABBTraits as it is not used
* DOC: Squared_distance in AABBTraits is only used between two points
  (I guess the confusion from the fact that nearest_point use the other
   version but without using the AABBTraits model).
* CODE+DOC add the function to construct Squared_distance functor in AABBTraits + AABB_traits
  and use it instead of AABBTraits::Compute_squared_distance_3 which was not in the concept
* DOC: remove from AABB_traits types Ray_3, Line_3 and Segment_3 that are not required by AABBTraits
* CODE: The code was using AABBTraits::Point which is not in the concept. Use Point_3 instead
* CODE: reorder typedefs in AABB_traits to match concept order
2012-08-28 12:21:57 +00:00
Marc Glisse a758751485 Remove / comment out unused local typedefs. Fix one place where FT was used instead of RT (homogeneous coordinates, probably never compiled). 2012-07-28 06:21:06 +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
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