Commit Graph

356 Commits

Author SHA1 Message Date
Philipp Möller 3abe4ed2c2 Add basic algorithm outline 2016-04-26 17:10:12 +02:00
Philipp Möller 4cc9d34cb5 Add prototypes and implementation file 2016-04-26 17:10:11 +02:00
Sébastien Loriot b2196fca0c remove non-needed OpenGL instructions 2016-01-18 13:17:41 +01:00
Andreas Fabri 56bfaa2746 merge 2016-01-05 17:06:04 +01:00
Andreas Fabri 88596c38ce bugfix: the datum was a segment not a triangle 2015-12-16 16:58:27 +01:00
Andreas Fabri 0b2b5ee1e6 Add an AAB tree primitive for C3T3 facets 2015-12-11 16:15:36 +01:00
Andreas Fabri 547be5cd2a Use wrapper for the very basic mutex locking 2015-09-04 08:42:34 +02:00
Maxime Gimeno 89348a1ab9 cut_plugin fixed
- replaced the missing modified files by the originals
- added a reference to a vector of floats in traits so that it fills it instead of drawing the bboxes
2015-04-24 15:59:23 +02:00
Sébastien Loriot 1cc4f732f6 use Default for vertex point property map 2015-01-19 12:16:47 +01:00
Sébastien Loriot 67414ef0c8 fix default point property map used in BGL primitives 2015-01-19 11:57:43 +01:00
Sébastien Loriot aeaed0d18a remove deprecated constructor that conflict with the new one 2014-10-24 10:12:16 +02:00
Sébastien Loriot e5a44099e9 add additional constructor to allow building a primitive from a descriptor 2014-10-23 17:03:48 +02:00
Sébastien Loriot 9999dc8f0e add missing include so that tags are defined 2014-07-04 17:24:06 +02:00
Sébastien Loriot dfe0b88d2f AABB tree primitives should not include Polyhedron specific files
I also renamed a file only used in these primitives
2014-07-04 17:24:05 +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
Sébastien Loriot 326b604e58 add missing shared data constructor from 2 args 2014-07-02 11:29:32 +02:00
Sébastien Loriot e412f6c2e5 fix the const correctness of FaceGraph and HalfedgeGraph primitives
The BGL is not const correct by design choice. Passing a const Graph as
  template parameter to the primitive type is error prone.
  This will make the life easier to the user.
2014-07-02 11:28:58 +02:00
Sébastien Loriot 6638bff59a add the missing 2 args version 2014-07-02 10:56:10 +02:00
Sébastien Loriot 4791498376 fix availability of a constructor for Polyhedron backward compatibility 2014-07-01 16:43:26 +02:00
Sébastien Loriot 97342ad6f6 backward compatibility with const Polyhedron 2014-06-24 16:38:03 +02:00
Andreas Fabri 67fa385190 A FaceGraph is any model of the concept face graph 2014-06-11 15:15:09 +02:00
Andreas Fabri 56f58c1945 Add backward compatibility code 2014-06-11 10:22:46 +02:00
Sébastien Loriot d0dfac3caa facet_handle -> face_descriptor 2014-06-05 21:29:01 +02:00
Andreas Fabri 3d7d596e6b Use vertex_point property map so that it now also compiled with OpenMesh 2014-06-05 15:29:49 +02:00
Andreas Fabri 2c4c38809d switch internally to BGL API in mesh segmentation. We still have to deal with the point property maps 2014-06-05 12:05:54 +02:00
Andreas Fabri 4a37f74122 switch to new BGL API 2014-06-04 21:28:59 +02:00
Andreas Fabri e95c3d452c Switch to new BGL API in package AABB_tree 2014-05-24 08:55:43 +02:00
Andreas Fabri 2ed7784521 trivial fix for master 2014-04-15 18:22:22 +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
Laurent Rineau cb6ce3f448 Fix a typo: missing space 2014-01-10 16:44:33 +01:00
Sébastien Loriot ee3ce8985f fix the way the specialization of graph_traits are documentated 2013-12-03 12:03:00 +01:00
Andreas Fabri 5c454cec64 add missing includes 2013-09-13 12:43:01 +02:00
Sébastien Loriot f5f6b034a6 Merge branch 'AABB_tree-fix_graph_primitives-local'
This fixes the graph primitives that were only model of
AABBPrimitiveWithSharedData, and also remove the artificial compatibility
with deprecated primitives that are not needed since we want to make users
use the new method.

Successfully tested in CGAL-4.3-Ic-107
  One example on the platform i686_Linux-2.6_g++-4.1.2_CentOS-5.1-O3 indicates
  an error, but after checking it is a floating point computation threshold
  issue. The example expects an error to be below 1e-10 and it is 1.1e-10.
Approved by the interim release manager
2013-07-31 17:32:15 +02:00
Sébastien Loriot 5666173947 typos and missing static 2013-07-30 07:38:41 +02:00
Sébastien Loriot a5eb2fa0b4 missing backquote 2013-07-30 07:15:11 +02:00
Sébastien Loriot b6737e6b0f fix the graph primitive when they don't have shared data 2013-07-29 18:47:17 +02:00
Sébastien Loriot 0864336a66 remove compatibility with original polyhedron primitives
there is no need to maintain such an artificial compatibility, the old
primitives are still in CGAL.
2013-07-29 17:17:56 +02:00
Sébastien Loriot 29a64aca9c bugfix: OneHalfedgeGraphPerTree was not correctly forwarded 2013-07-29 10:18:02 +02:00
Sébastien Loriot 88f265be1c re-document OneFaceGraphPerTree 2013-07-29 10:16:27 +02:00
Sébastien Loriot ddda698034 inline the nested class Intersection_and_primitive_id in the documentation 2013-07-24 17:06:35 +02:00
Sébastien Loriot c2fc43a8df make doxygen picking the correct return type 2013-07-24 16:59:01 +02:00
Sébastien Loriot 79442d98ee doc typo 2013-07-24 16:43:07 +02:00
Sébastien Loriot 9c0808cad1 fix name of classes that do not respect CGAL naming conventions
AABB_HalfedgeGraph_segment_primitive -> AABB_halfedge_graph_segment_primitive
AABB_FaceGraph_triangle_primitive -> AABB_face_graph_triangle_primitive
2013-07-23 17:46:50 +02:00
Sébastien Loriot 2bf7690f57 rename template parameter cache_datum to CacheDatum
template parameter should be camel case
2013-07-22 14:52:16 +02:00
Sébastien Loriot f61c8acc07 fix warning in the documentation 2013-07-04 19:16:58 +02:00
Sébastien Loriot 6735255fd0 The vertex point property map can be external for non-CGAL graph implementation
This is a bugfix of the API
2013-07-03 12:51:09 +02:00
Sébastien Loriot 940cd2bf33 bugfix: use the traits data member otherwise the shared_data cannot be used 2013-06-27 20:55:16 +02:00
Sébastien Loriot 42dbc14ffe use class in the forward declaration too 2013-06-24 08:45:39 +02:00
Sébastien Loriot f6c016257d fix encoding problem in license header 2013-06-24 08:39:43 +02:00
Sébastien Loriot 45c61f0061 remove Id template parameter from graph primitives that cannot be changed 2013-06-21 17:51:27 +02:00
Sébastien Loriot baac01b0b7 add missing template keyword
detected by Apple clang
2013-06-21 09:42:56 +02:00
Sébastien Loriot df7daacddc fix constness issue 2013-06-20 10:35:44 +02:00
Sébastien Loriot d2bf82c8e5 document FaceGraph triangle primitive to be only for Polyhedron 2013-06-19 19:28:19 +02:00
Sébastien Loriot 9822a1a403 document operations for backward compatibility 2013-06-19 19:15:58 +02:00
Sébastien Loriot c64e8b00cf Revert "backward compatibility is ensured by the 2nd template parameter set to Tag_true"
This reverts commit ca32c286f6.
2013-06-19 19:07:56 +02:00
Sébastien Loriot 9934b020c6 fix the triangle FaceGraph primitive to work with Polyhedron 2013-06-19 18:02:05 +02:00
Sébastien Loriot ca32c286f6 backward compatibility is ensured by the 2nd template parameter set to Tag_true 2013-06-19 17:42:38 +02:00
Sébastien Loriot f395759b35 the segment and triangle primitive are now compatible with the former classes
even if they were not documented, they were used in examples
2013-06-19 16:55:29 +02:00
Sébastien Loriot caf3bdfac8 fix copy-paste error 2013-06-19 16:55:06 +02:00
Sébastien Loriot 876b2c6cfc add a default constructor to AABB_tree 2013-06-19 16:54:21 +02:00
Sébastien Loriot 0f42b2f33b AABB_segment_primitive and AABB_triangle_primitive model AABBPrimitive 2013-06-19 11:34:28 +02: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 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