Commit Graph

73 Commits

Author SHA1 Message Date
Philipp Möller 7c26fcb8b8 Parenthesis for max and min 2016-04-26 17:10:24 +02:00
Philipp Möller a8f5e3f867 Use the slab method to compute intersection_distance
This code still relies on the types to be CGAL types.
2016-04-26 17:10:22 +02:00
Philipp Möller 01ef95783d Add prototype for Intersection_distance 2016-04-26 17:10:21 +02:00
Philipp Möller 88acc3d1b3 Fix indentation of class intersection
Wrong indentation on nested classes made this tricky to decipher and
worth the change.
2016-04-26 17:10:20 +02:00
Sébastien Loriot 5d9219c96d AABB-tree bugfix: perfect forward of arguments in C++11 and by ref otherwise
this was a bug because the shared data were copied
2014-07-02 12:23:52 +02:00
Laurent Rineau 48f9c4c06c Fix AABB_tree use of set_shared_data
That function set_shared_data is never tested in CGAL, happened not to
be callable using its documented API. I do not understand why there is
an additional template parameter 'PrimtiveType'. That commit removes it.

(cherry picked from commit 99790a0d39864c3d2e72d18876f41603ab94a5a5)
2014-01-13 18:56:48 +01:00
Sébastien Loriot 0d3d71d482 fixes after updating the branch and the documentation 2013-06-19 10:55:05 +02:00
Sébastien Loriot 7cb2874da2 doxygen: fix documentation look 2013-06-19 10:40:41 +02:00
Sébastien Loriot 06fc6dc039 add the doxygen documentation corresponding to the doc_tex modifications 2013-06-18 19:55:20 +02:00
Sébastien Loriot e74c1b1df8 move into AABB_tree sub-namespace 2013-06-18 14:14:24 +02:00
Sébastien Loriot 650f9b4295 Merge branch 'AABB_tree-one_primitive_per_object-sloriot-old' into AABB_tree-one_primitive_per_object-sloriot
Conflicts:
	.gitattributes
	AABB_tree/doc_tex/AABB_tree_ref/AABBGeomTraits.tex
	AABB_tree/doc_tex/AABB_tree_ref/AABBTraits.tex
	AABB_tree/dont_submit
	AABB_tree/include/CGAL/AABB_traits.h
	AABB_tree/include/CGAL/AABB_tree.h
	AABB_tree/include/CGAL/internal/AABB_tree/AABB_traversal_traits.h
	AABB_tree/test/AABB_tree/AABB_test_util.h
	AABB_tree/test/AABB_tree/aabb_correctness_triangle_test.cpp
	AABB_tree/test/AABB_tree/aabb_distance_edge_test.cpp
	AABB_tree/test/AABB_tree/aabb_distance_triangle_hint_test.cpp
	AABB_tree/test/AABB_tree/aabb_distance_triangle_test.cpp
	AABB_tree/test/AABB_tree/aabb_intersection_triangle_test.cpp
	Boolean_set_operations_2/examples/Boolean_set_operations_2/bezier_traits_adapter2.cpp
	Installation/cmake/modules/CGAL_Common.cmake
	Installation/cmake/modules/CGAL_CreateSingleSourceCGALProgram.cmake
	Installation/cmake/modules/CGAL_Macros.cmake
	Installation/cmake/modules/CGAL_SetupBoost.cmake
	Installation/cmake/modules/CGAL_SetupDependencies.cmake
	Installation/cmake/modules/CGAL_SetupGMP.cmake
	Installation/cmake/modules/CGAL_SetupGMPXX.cmake
	Installation/cmake/modules/CGAL_SetupLEDA.cmake
	Installation/cmake/modules/CGAL_SetupMPFI.cmake
	Installation/cmake/modules/CGAL_SetupNTL.cmake
	Installation/cmake/modules/CGAL_SetupRS.cmake
	Installation/cmake/modules/CGAL_UseMPFI.cmake
	Installation/cmake/modules/CGAL_UseNTL.cmake
	Installation/cmake/modules/CGAL_UseRS.cmake
	Installation/cmake/modules/CGAL_VersionUtils.cmake
	Interval_skip_list/examples/Interval_skip_list/isl_terrain.pts
	Linear_cell_complex/examples/Linear_cell_complex/linear_cell_complex_3_triangulation.cpp
	Maintenance/svn_server/hooks/Mail/Sender/CType/Ext.pm
	Point_set_processing_3/include/CGAL/property_map.h
	Principal_component_analysis/include/CGAL/linear_least_squares_fitting_cuboids_3.h
	Principal_component_analysis/include/CGAL/linear_least_squares_fitting_segments_3.h
	Principal_component_analysis/include/CGAL/linear_least_squares_fitting_tetrahedra_3.h
	Principal_component_analysis/test/Principal_component_analysis/linear_least_squares_fitting_segments_3.cpp
	Principal_component_analysis/test/Principal_component_analysis/linear_least_squares_fitting_spheres_3.cpp
	Scripts/developer_scripts/list_package_files.rb
	Scripts/developer_scripts/mirror_all_packages.rb
	Scripts/developer_scripts/mirror_package.rb
	Scripts/developer_scripts/mirror_package_files.rb
	Scripts/developer_scripts/remove_package_files_from_build_tree.rb
	Surface_mesh_parameterization/examples/Surface_mesh_parameterization/CMakeLists.txt
	Surface_reconstruction_points_3/demo/Surface_reconstruction_points_3/PS_demo_normal_estimation_plugin.cpp
	Surface_reconstruction_points_3/doc_tex/Surface_reconstruction_points_3/contouring.tex
	Surface_reconstruction_points_3/doc_tex/Surface_reconstruction_points_3/output.tex
2013-06-18 11:50:30 +02:00
Sébastien Loriot 34362d2a0f update how Intersection_and_primitive_id get the type and update its doc
We use meta programming to remove the optional rather than relying on
Intersection_traits (since it depends on GeomTraits)
2013-05-23 12:31:42 +02:00
Sébastien Loriot 7e6a880aa4 update AABB_tree documentation 2013-05-23 10:56:42 +02:00
Sébastien Loriot 75ebdeaeeb update the replacement of Object_and_primitive_id ...
... to be a pair< variant<XXX>, Primitive_id > rather than
pair<optional<variant<XXX> >, Primitive_id >

The rational is that the optional around the variant here is not needed
since there is one around the pair.
2013-05-21 18:39:23 +02:00
Sébastien Loriot f97d6b8bd9 s/boost::result_of/cpp11::result_of/g 2013-03-14 10:38:13 +01:00
Sébastien Loriot d6905c61be Merge branch 'Kernel-replace_object-pmoeller-old' into Kernel-replace_object-pmoeller
Conflicts:
	AABB_tree/include/CGAL/AABB_tree.h
	Circular_kernel_2/include/CGAL/Circular_kernel_2/internal_functions_on_line_arc_2.h
	Intersections_3/include/CGAL/Intersections_3/intersection_3_1_impl.h
	Kernel_23/doc/Kernel_23/CGAL/intersections.h
	Kernel_23/doc/Kernel_23/Concepts/FunctionObjectConcepts.h
	STL_Extension/doc/STL_Extension/CGAL/iterator.h
2013-03-14 10:29:31 +01:00
Sébastien Loriot 4b252e8cc2 add missing backticks 2013-01-08 17:50:28 +01:00
Andreas Fabri d16be07906 polish AABB Tree 2012-12-27 20:36:04 +01:00
Philipp Möller 2c83dd01c8 AABB_tree now uses result_of 2012-12-07 18:00:46 +01:00
Philipp Möller d198458ca7 Merge branch 'origin-gsoc2011-boost_object-pmoeller' into Kernel-replace_object-pmoeller
Conflicts:
	.gitattributes
	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
	AABB_tree/include/CGAL/AABB_traits.h
	AABB_tree/include/CGAL/AABB_tree.h
	AABB_tree/test/AABB_tree/AABB_test_util.h
	Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2/arr_queries.tex
	Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2_ref/Arr_trapezoid_ric_point_location.tex
	Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2_ref/intro.tex
	Arrangement_on_surface_2/include/CGAL/Arr_batched_point_location.h
	Arrangement_on_surface_2/include/CGAL/Arr_point_location/Arr_lm_generator_base.h
	Arrangement_on_surface_2/include/CGAL/Arr_point_location/Arr_lm_random_generator.h
	Arrangement_on_surface_2/include/CGAL/Arr_point_location/Arr_trapezoid_ric_pl_impl.h
	Arrangement_on_surface_2/include/CGAL/Arr_point_location/Arr_walk_along_line_pl_impl.h
	Arrangement_on_surface_2/include/CGAL/Arr_trapezoid_ric_point_location.h
	Arrangement_on_surface_2/test/Arrangement_on_surface_2/point_location.cpp
	Circular_kernel_2/include/CGAL/Circular_kernel_2/internal_functions_on_line_arc_2.h
	Circular_kernel_3/include/CGAL/Circular_kernel_3/internal_functions_on_circular_arc_3.h
	Circular_kernel_3/include/CGAL/Circular_kernel_3/internal_functions_on_line_arc_3.h
	Circular_kernel_3/include/CGAL/Circular_kernel_3/internal_functions_on_sphere_3.h
	Filtered_kernel/include/CGAL/Lazy.h
	Filtered_kernel/include/CGAL/Lazy_kernel.h
	Intersections_2/include/CGAL/Triangle_2_Iso_rectangle_2_intersection.h
	Intersections_2/test/Intersections_2/test_intersections_2.cpp
	Intersections_3/test/Intersections_3/test_intersections_3.cpp
	Kernel_23/doc_tex/Kernel_23_ref/intersection.tex
	Kernel_23/include/CGAL/Kernel/Type_mapper.h
	Kernel_d/doc_tex/Kernel_d_ref/Kernel.tex
2012-12-04 17:57:53 +01:00
Sébastien Loriot 533b9f07b3 BUG: typedef has moved 2012-11-28 12:05:02 +01:00
Andreas Fabri 625f9f6cd7 after git merge remotes/origin/hot-fixes-for-Git 2012-11-20 13:02:17 +01:00
Sébastien Loriot fb244b47b4 remove empty destructor 2012-10-10 12:41:11 +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
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
Sébastien Loriot 21283eab97 remove requirements of having get_reference_point and get_datum in the traits 2012-06-04 14:14:11 +00:00
Sébastien Loriot 567e637484 document previous changes
add new concept for primitive with shared data
rename Extra_data -> Shared_data
2012-06-01 15:24:17 +00:00
Sébastien Loriot f57fab0c0a *variadic version of insert, cstr and rebuild of AABB_tree
*the traits now correctly handle the storage of primitive data
*update primitives
2012-05-15 08:46:42 +00:00
Sébastien Loriot a1bdd02f36 The traits now has a base class that is used to access the reference_point
and datum of a primitive. The base class is the one that will store additional
data.
2012-05-14 17:22:07 +00:00
Sébastien Loriot 79affebe42 make the traversal and expand using the traits class
stored in the AABB_tree
2012-05-14 11:54:16 +00:00
Philipp Möller 17797b7271 Merge next into this branch. There have been conflicts in the
AABB_tree documentation, Intersections_3 and Arrangement_on_surface_2.

The merge also introduced a regression for a bug fixed in R68387 which
fixed a bug in Triangle_3 Segment_3 intersections. The relevant
testcase is in triangle_other_intersection_test.cpp.
2012-04-24 15:06:19 +00:00
Laurent Rineau 8f59fd9592 Turn QPL into LGPLv3+ 2012-01-13 16:33:35 +00:00
Philipp Möller 376b6309f4 Adapted AABB_tree to the new concept and documented the API changes 2011-11-15 17:13:09 +00:00
Philipp Möller bddbfcc8e4 Adapted AABB_tree for new intersections 2011-11-10 16:00:22 +00:00
Sébastien Loriot 12e8540bbe merge from candidate branch. 2011-01-10 10:46:16 +00:00
Stéphane Tayeb 813d775fba Add missing #include. 2010-07-08 07:35:44 +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
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 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 597f9459d5 aabb tree: some cleanup 2009-06-25 20:08:51 +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
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