Andreas Fabri
970460ec0b
Use std::priority_heap if boost version < 1.50
2016-05-02 10:27:55 +02:00
Andreas Fabri
12579a1214
Fix VC++ max problem
2016-05-01 17:37:11 +02:00
Sébastien Loriot
03f9c56c76
Make the code matching the submission
...
- rename first_intersection_and_primitive to first_intersection
- update examples and test
- switch on the function doc
- add implementation for first_intersected_primitive
2016-04-26 17:12:15 +02:00
Andreas Fabri
84ebe802ae
Add the second function implementation skeleton
2016-04-26 17:12:14 +02:00
Andreas Fabri
285341bb57
Rename ray_intersection() to first_intersection()
2016-04-26 17:12:14 +02:00
Philipp Möller
e4e4e48ea5
Unused object warning
2016-04-26 17:12:14 +02:00
Philipp Möller
54d8839ac9
Comment out the do_intersect tests
...
They caused a performance problem when used with the tweaked AABB_traits
of Surface_mesh_segmentation.
2016-04-26 17:11:09 +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
0db0027414
Performance bug
2016-04-26 17:11:01 +02:00
Philipp Möller
bfb36df712
Add the ability to use skip functor
2016-04-26 17:10:59 +02:00
Philipp Möller
4d08cf6d33
Add a do_intersect test before intersection
2016-04-26 17:10:55 +02:00
Philipp Möller
b6e60ba6dc
Make the correct part of Node_ptr const
2016-04-26 17:10:54 +02:00
Philipp Möller
901c27724b
Use boost::priority_queue
2016-04-26 17:10:53 +02:00
Philipp Möller
8eded0292f
use visitation instead of get
2016-04-26 17:10:51 +02:00
Philipp Möller
ced2b87170
static_assert type equality
...
Ray is just a template parameter to avoid instantiation of this
function, make sure it is the type we expect.
2016-04-26 17:10:47 +02:00
Philipp Möller
2148ae6d4f
Directly use Ray type and avoid a function template
2016-04-26 17:10:37 +02:00
Philipp Möller
4466eb5df3
Simplify types a bit
2016-04-26 17:10:36 +02:00
Philipp Möller
5aef4c4ca5
Add missing base cases
2016-04-26 17:10:35 +02:00
Philipp Möller
33bc6f125f
Make child and data of a Node public
...
This is necessary so that other algorithms can traverse the hierarchy.
2016-04-26 17:10:34 +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
69d7662ddc
Fix wrong template arguments
2016-04-26 17:10:29 +02:00
Philipp Möller
b1e99b3c71
Add is_ray_intersection_geomtraits
...
This meta-function can be used to make a somewhat accurate guess if the
argument is a model of the yet to be written
AABBRayIntersectionGeomTraits.
2016-04-26 17:10:26 +02:00
Philipp Möller
f6bed4128e
Forgot copy-right header
2016-04-26 17:10:25 +02:00
Philipp Möller
2af2aa324d
Handle case 2 and 3
2016-04-26 17:10:16 +02:00
Philipp Möller
5cd89bd981
fixup
2016-04-26 17:10:15 +02:00
Philipp Möller
e7b3a7a97c
Handle both inner nodes
2016-04-26 17:10:13 +02:00
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
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
67414ef0c8
fix default point property map used in BGL primitives
2015-01-19 11:57:43 +01: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
6638bff59a
add the missing 2 args version
2014-07-02 10:56:10 +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
Andreas Fabri
5c454cec64
add missing includes
2013-09-13 12:43:01 +02:00
Sébastien Loriot
5666173947
typos and missing static
2013-07-30 07:38:41 +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
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
f6c016257d
fix encoding problem in license header
2013-06-24 08:39:43 +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
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
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
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
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