Commit Graph

243 Commits

Author SHA1 Message Date
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 6144e5c45b copy-paste error: triangle should be segment! 2013-06-18 16:30:48 +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 c09ec2beaa Merge branch 'Kernel-replace_object-pmoeller'
Successfully tested in CGAL-4.3-Ic-59
Approved by the release manager

Conflicts:
	Kernel_23/doc/Kernel_23/CGAL/intersections.h
	Kernel_23/doc_tex/Kernel_23_ref/intersection.tex
	Kernel_d/doc/Kernel_d/Kernel_d.txt
	STL_Extension/doc/STL_Extension/CGAL/iterator.h
2013-06-14 14:26:05 +02:00
Sébastien Loriot 7a7f9be240 incorrect simplification: empty() is not equivalent to size()>1 2013-06-03 15:29:41 +02:00
Sébastien Loriot 8bb442ae3b fix a memory leak in the destructor of AABB_tree
the primitive container was clear before deleting the nodes
(which was not done since the container was empty)

At the same time I made the delete of the KD-tree done only
if it was constructed
2013-06-03 08:29:40 +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
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
Philipp Möller 2c83dd01c8 AABB_tree now uses result_of 2012-12-07 18:00:46 +01:00
Andreas Fabri e0acf10424 doc_tex -> doxygen of the AABB Tree documentation 2012-12-05 14:37:56 +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
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
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 dfc678846f update AABB_primitive to take into account the fact that the property maps
can be stored outside of the primitive
2012-05-14 16:10:00 +00:00
Sébastien Loriot 21cf39655e reserve to speed up allocation 2012-05-14 12:07:34 +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
Sébastien Loriot ce41bc6925 id() should be const with no ref 2012-05-11 12:14:21 +00:00
Sébastien Loriot 6c2ef90a21 remove default constructor 2012-05-10 16:41:23 +00:00
Sébastien Loriot 8a3d8e1d01 rename cache_primitive -> cache_datum 2012-05-10 16:18:33 +00:00
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