Commit Graph

109 Commits

Author SHA1 Message Date
Sébastien Loriot cdbe19b480 Merge pull request #3369 from maxGimeno/AABB_tree-AABB_transformed_traits-GF
[Small Feature] Add collision detection in PMP
2018-10-30 15:49:38 +01:00
Maxime Gimeno 8e64d49513 WIP: Remove the traits_base 2018-10-09 10:24:32 +02:00
Sébastien Loriot f5ef4b0034 add a naive way to intersect two AABB-trees 2018-10-09 10:24:32 +02:00
Maxime Gimeno a764322b7d Create a dummy traits and fix AABB_traits and AABBTraits implem/doc problems. 2018-10-09 10:24:31 +02:00
Sébastien Loriot 3dd0aa112d rename macro not following the convention 2018-10-08 10:28:55 +02:00
Sébastien Loriot a2e8a1c68f add the suffix Ref to doxygen link to reference 2018-10-08 10:26:56 +02:00
Sebastien Loriot ae70d9ca9f
Merge pull request #3061 from lrineau/AABB_tree-fix_for_MSVC_2017_15.7-GF
A fix for MSVC 2017 15.7 with /permissive-
2018-05-15 22:30:46 +02:00
Andreas Fabri d2b89df177 More Traits:: 2018-05-02 15:14:46 +01:00
Laurent Rineau a8bd3605a7 A fix for MSVC 2017 15.7 with /permissive-
MSVC is probably right that it was not a valid C++ code: the previous
version called a static member function of the enclosing class, without
qualification, and that static member function was defined *after*.
2018-04-26 16:16:10 +02:00
Sébastien Loriot 742a615527 fix doc warnings triggered essentially by the improvement of doxygen 2018-04-25 23:36:21 +02:00
Andreas Fabri 38b2e57b11 PMP 2018-01-17 17:59:35 +00:00
Sébastien Loriot ee57fc2d6c add SPDX identifier for files under the GPL-3+ license 2017-11-12 10:17:51 +01:00
Sébastien Loriot 081338bbcb remove backticks in arguments of \ref command 2017-08-03 13:22:51 +02:00
Andreas Fabri 360f955415 Adress todo of the github review 2017-07-18 17:20:46 +02:00
Andreas Fabri 6f6985065d fix doc 2017-07-18 17:20:46 +02:00
Andreas Fabri 5bd5fbf825 Document the default 2017-07-18 17:20:46 +02:00
Andreas Fabri 39e6ad9139 Add missing #include 2017-07-18 17:17:34 +02:00
Andreas Fabri aefd26b080 Add a template argument to AABB_traits for a face->bbox property map 2017-07-18 17:17:34 +02:00
Sébastien Loriot 50510c05ea add include directive for license of all GPL header files
done using:
ack-grep "^GPL" */package_info/*/license.txt -l | awk -F "/" '{print $1}' > /tmp/gpl_packages
for i in `cat /tmp/gpl_packages | \
          grep -v Operations_on_polyhedra | \
          grep -v Algebraic_kernel_for_circles | \
          grep -v Algebraic_kernel_for_spheres | \
          grep -v Polyhedron_IO`;
do
  echo $i
  python Scripts/developer_scripts/add_license_in_pkg_header.py $i
done
python Scripts/developer_scripts/add_license_in_pkg_header.py Operations_on_polyhedra Polygon_mesh_processing
python Scripts/developer_scripts/add_license_in_pkg_header.py Algebraic_kernel_for_circles Circular_kernel_2
python Scripts/developer_scripts/add_license_in_pkg_header.py Algebraic_kernel_for_spheres Circular_kernel_3
python Scripts/developer_scripts/add_license_in_pkg_header.py Polyhedron_IO Polyhedron
2017-01-19 15:20:25 +01:00
Sébastien Loriot 84fe181d7c Use functors instead of member functions 2016-10-28 15:07:14 +02:00
Sébastien Loriot 8359f3796e remove a no longer needed header 2016-09-01 16:05:04 +02:00
Sébastien Loriot e8939a8db1 using Construct_projected_point_3 in Closest_point as it meant to be documented 2016-09-01 16:05:03 +02:00
Sebastien Loriot 62d06a2b88 Revert "AABB_tree : fix doc vs code inconsistency" 2016-08-23 11:12:33 +02:00
Jane Tournois 2fade16c73 replace Compute_closest_point with Construct_closest_point 2016-08-10 16:48:11 +02:00
Jane Tournois 1f530e0dc8 fix an inconsistency between the code and the doc
doc mentions `Compute_closest_point_3`, and code implements `Closest_point`

since `Compute_closest_point_3` should move to the Kernel at some point, I prefer
keeping this solution.

However, for backward compatibility with possibly existing user code, I keep Closest_point
in the non-documented code.
2016-08-10 15:47:35 +02:00
Andreas Fabri 6392adf636 another min max fix for VC++ 2016-05-03 06:28:38 +02:00
Philipp Möller 3f4d185b1d Use branchless min/max 2016-04-26 17:11:06 +02:00
Philipp Möller 7cd8369ab2 Prevent division by zero 2016-04-26 17:11:04 +02:00
Philipp Möller ce6501a291 Use the original algorithm 2016-04-26 17:11:03 +02:00
Philipp Möller b086fc6ec6 Return 0. for t_near < 0.
If t_near is smaller than 0. it means that the ray starts inside the
bounding box. t_near is the intersection point at the outside of the
box, but the actual intersection is at the start of the ray.
2016-04-26 17:11:02 +02:00
Philipp Möller 83d7396cd8 Throw in some const 2016-04-26 17:10:57 +02:00
Philipp Möller f94a74b93a Document that AABB_traits can also model AABBRayIntersectionTraits 2016-04-26 17:10:41 +02:00
Philipp Möller 08f7efd1d2 Only use functors in Intersection_distance 2016-04-26 17:10:39 +02:00
Philipp Möller 2540612e97 Drop-in for as_ray_parameter
This needs to be replaced with a non-hacky solution.
2016-04-26 17:10:33 +02:00
Philipp Möller f4a506ed73 Fix wrong identifier names 2016-04-26 17:10:30 +02:00
Philipp Möller 0e883861b5 Move Intersection_distance into its own base
This is necessary so that we only define it if the GeomTraits meet the
necessary requirements.
2016-04-26 17:10:27 +02:00
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