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
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
Sébastien Loriot
ed6ac1f4fd
rename Property maps template parameter
...
set primitive caching to false by default
2012-05-04 14:49:27 +00:00
Sébastien Loriot
58156fb1e9
merge from next
2012-05-04 12:24:50 +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
b435af6afd
Add svn:eol-style=native. Rewrite EOLs accordingly.
2012-02-15 13:03:09 +00:00
Laurent Rineau
e0bc688832
Bug fix
...
<CGAL/internal/AABB_tree/nearest_point_segment_3.h> was doing stupid things
if there was a degenerate segment in the AABB tree.
2012-02-15 13:02:25 +00:00
Laurent Rineau
09d86739d0
Recode eol of two files: dos2unix, and add the eol-style=native svn property
2012-02-14 10:43:34 +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
Andreas Fabri
77b9fd79db
Remove ETHZ copyright, as Camille's contribution during his postdoc was minor
2011-09-29 15:34:00 +00:00
Sébastien Loriot
5e0c09d8ce
For backward compatibility reasons and according to this article:
...
http://gotw.ca/gotw/006.htm , accelerate_distance_queries and
clear_search_tree should be const.
To guarantee the read-only thread-safety, a mutex for the construction
of the internal kd-tree is used.
At the same time, optimize accelerate_distance_queries() to not
redo computation if nothing has changed in the aabb_tree.
Note that clear_search_tree does not need to be thread-safe as it is private.
2011-09-09 08:31:38 +00:00
Sébastien Loriot
c93ba3a215
remove temporary comment
2011-09-08 16:03:23 +00:00
Sébastien Loriot
f8449dcec4
more efficient usage of mutex. The lock is only done
...
if the build need to be done. We have an extra "if (m_need_build)"
but otherwise we would need to use mutex::try_lock() which results
in more code and as efficient.
2011-09-08 15:54:44 +00:00
Sébastien Loriot
a09f6640f5
remove non-const version of root_node added in r65337
...
for backward compatibility. It is not documented and not
used (in a non-const context).
2011-09-08 12:02:06 +00:00
Sébastien Loriot
795ab80486
use a mutex in const function root_node to protect the non const call to
...
build()
The class AABB_tree is now read-only thread-safe
2011-09-08 08:56:16 +00:00
Sébastien Loriot
eed2074f7f
Fix constness issues in AABB_tree
...
*remove mutable data members
*accelerate_distance_queries is not const
*clear_search_tree is not const
*root_node() const returns a const Node*
*add root_note() non-const version
*update documentation of AABB_tree class. function constness was not documented
*update changes.html
2011-09-07 09:55:59 +00:00
Sébastien Loriot
578d41a962
deprecate AABB_polyhedron_*_primitive
...
add triangle and segment property_map from polyhedron simplices
update examples to use these property maps with modified primitive classes.
2011-07-25 06:22:05 +00:00
Sébastien Loriot
7a0b2326e1
add property_map as template parameter of segment and triangle primitive
...
and add a template parameter to enable or disable the caching of the
or object inside the primitive.
Pb to handle: in case the object is not cached, point() might be
expansive
2011-07-20 21:59:14 +00:00
Laurent Rineau
72f323a5dd
The bbox() of AABB_tree can return a const reference.
2011-04-07 12:54:35 +00:00
Laurent Rineau
6f390c482e
Add a missing #include of OpenGL headers.
2011-01-10 16:26:44 +00:00
Sébastien Loriot
12e8540bbe
merge from candidate branch.
2011-01-10 10:46:16 +00:00
Laurent Rineau
8b08eb2b5b
Fix -pedantic error.
2010-09-28 21:23:13 +00:00
Sébastien Loriot
1daecf3943
move BBox vs {sphere,plane,triangle} do_intersect from AABB_tree to Intersections_3,
...
and update accordingly include directives. Update testsuite
remove unneed CMakeLists.txt from AABBtree testsuite
Remove Triangle_3_Plane_3 intersection from AABB_tree (I define it in Intersections_3 some days ago, thus a conflict)
2010-09-01 08:49:24 +00:00
Sébastien Loriot
4aa953888f
all polyhedron primitives to be constructed from non compact container iterators
2010-08-31 13:45:38 +00:00
Stéphane Tayeb
813d775fba
Add missing #include.
2010-07-08 07:35:44 +00:00
Andreas Fabri
54f913051c
int -> size_type/std::size_t
2010-06-21 15:38:26 +00:00
Sébastien Loriot
52317dd49f
add python script (replace_CGAL_NAMESPACE.py) to replace CGAL_BEGIN_NAMESPACE and CGAL_END_NAMESPACE
...
by namespace CGAL { and } //namespace CGAL. in all .h and .cpp files
in a directory.
Apply it to all packages in the trunk
Remove macro definition from the config.h file.
2010-06-09 07:37:13 +00:00
Stéphane Tayeb
afdd14bb62
Fix compilation on x86-64_Linux-2.6_llvm-clang-with-g++-4.4.1_F11: use fully qualified name for cross_product call.
2010-05-20 07:02:05 +00:00
Laurent Rineau
a65e49133b
Fix: in <CGAL/AABB_intersections.h>,
...
Kernel::Do_intersect_3()(Triangle_3, Bbox_3) was available
but not Kernel::Do_intersect_3()(Bbox_3, Triangle_3).
2010-05-05 14:54:49 +00:00
Sébastien Loriot
15557626cc
remove not needed break instructions (avoid warning with g++ (Debian 4.3.4-6) 4.3.4)
2010-03-31 08:45:58 +00:00
Andreas Fabri
0758e61952
fix for the case that one of the triangle vertices is on the plane
2010-02-25 11:55:20 +00:00
Sylvain Pion
85dc12f2a7
Remove empty lines at beginning and end of files
...
(apply Scripts/developer_scripts/remove_empty_lines.pl).
2010-02-01 12:55:28 +00:00
Stéphane Tayeb
90288a058b
Move do_intersect(Bbox,Bbox/Line/Ray/Seg) and intersection(Triangle,Line/Ray/Seg) to Intersections_3.
2009-12-18 15:13:30 +00:00
Stéphane Tayeb
e476966856
Change License to LGPL. Fix Copyrights.
2009-12-18 14:35:34 +00:00
Stéphane Tayeb
cab2982563
Implement Sylvain's comments:
...
+ add missing includes
+ avoid object copies
+ replace CGAL_kernel_assertion(false) by CGAL_error()
+ use is() function of CGAL::Object
+ improve style (remove spaces, white lines...)
2009-12-16 17:03:17 +00:00
Stéphane Tayeb
ab503ac11f
* Fix triangle_other test
...
* Fix Triangle_3_Ray_3_intersection.h header
2009-11-24 13:07:45 +00:00
Stéphane Tayeb
7ff50b95a0
* Rename test files which have to be moved to kernel
...
* Fix header protection names
2009-11-20 17:02:39 +00:00
Stéphane Tayeb
836d042180
Fix previous commit (thanks to compiler cache...).
2009-11-20 16:57:44 +00:00
Stéphane Tayeb
6550224744
Move and rename files (prepares integration into kernel).
2009-11-20 16:38:02 +00:00
Stéphane Tayeb
854fef2f8a
* Update (triangle, seg/line/ray) intersection computation
...
* Enrich (triangle, seg/line/ray) test suite
* Minor formatting change in Bbox_3_line_3_do_intersect.h
2009-11-20 13:09:08 +00:00
Stéphane Tayeb
4f50028d7b
Minor formatting clean.
2009-11-18 08:51:51 +00:00
Stéphane Tayeb
c095f38e66
Rewrite (seg/ray/line - bbox) predicates without divisions.
2009-11-17 16:41:57 +00:00
Stéphane Tayeb
3f1a416bc0
Fix syntax error.
2009-11-16 12:48:11 +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
Laurent Rineau
7bf0990dbb
Minor fix: the correct way to construct a FT from 0 or 1, that is
...
documented to work with all FT, is FT(0)/FT(1), and not
(FT)(0.0)/(FT)(1.0). The concept Field refines FromIntConstructible:
See:
http://www.cgal.org/Manual/last/doc_html/cgal_manual/Algebraic_foundations_ref/Concept_Field.html
and follow the "refines" chain until:
http://www.cgal.org/Manual/last/doc_html/cgal_manual/Algebraic_foundations_ref/Concept_FromIntConstructible.html
2009-10-20 07:34:13 +00:00
Stéphane Tayeb
1e4358dc07
Fix warning.
2009-10-20 07:03:58 +00:00
Stéphane Tayeb
99a5c3160a
Fix compilation error.
2009-10-15 06:40:45 +00:00
Stéphane Tayeb
aa3e601755
Computation and code factorization (to avoid early roundings).
2009-10-14 08:22:24 +00:00
Stéphane Tayeb
cfa88ab257
* Fix Triangle_3_line_3_intersection.h (implementation inspired from Triangle_3_line_3_do_intersect.h)
...
* Add test for triangle_3/line_3 intersection (should be enriched maybe) in file aabb_intersection.cpp
* Test exact_exact kernel in aabb_do_intersect_test.cpp
2009-10-09 14:09:14 +00:00
Stéphane Tayeb
9ba530384f
* Fix Triangle_3_segment_3_intersection.h (implementation inspired from Triangle_3_segment_3_do_intersect.h)
...
* Add test for triangle_3 segment_3 intersection (should be enriched maybe)
* Test more kernels in aabb_do_intersect_test.cpp
2009-10-05 09:41:47 +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
63d3ba8f0d
default constructor.
2009-09-15 10:36:40 +00:00
Pierre Alliez
bfaee9aae4
adds default constructor.
2009-09-15 10:01:58 +00:00
Sylvain Pion
8573fe26ce
Rename CGALi to internal.
2009-08-24 17:10:04 +00:00
Laurent Rineau
ccd0fcc73f
Merged revisions 51083 via svnmerge from
...
svn+ssh://scm.gforge.inria.fr/svn/cgal/branches/CGAL-3.5-branch
........
r51083 | stayeb | 2009-08-06 09:48:42 +0200 (Thu, 06 Aug 2009) | 1 line
Minor fix: include CGAL/intersections.h instead of CGAL/intersection_3.h.
........
2009-08-18 14:13:54 +00:00
Pierre Alliez
d987180d75
fix copyrights.
2009-08-07 18:57:08 +00:00
Sylvain Pion
7e0db3191b
Fix & homogenize Copyright header lines :
...
- Copyrigth -> Copyright
- ETHZ (Suisse) -> ETH Zurich (Switzerland)
2009-08-07 11:18:32 +00:00
Laurent Rineau
f81561f3d4
Add copyright and license header
2009-07-31 21:06:50 +00:00
Laurent Rineau
968b31d684
Move the non-documented AABB_polyhedral_oracle.h to the polyhedron demo.
2009-07-22 14:06:10 +00:00
Stéphane Tayeb
0a784e8d1f
Fix AABB_polyhedral_oracle (needed by Polyhedron_demo).
2009-07-22 08:18:13 +00:00
Pierre Alliez
8baebaeded
some cleaning
2009-07-16 12:39:08 +00:00
Camille Wormser
6261018859
memory check
2009-07-16 12:25:46 +00:00
Pierre Alliez
eb645bed0c
AABB tree: fix quibble in comment.
2009-07-16 06:11:29 +00:00
Pierre Alliez
cd199a7504
AABB tree: added one message to track the last remaining error in the test suite.
2009-07-16 06:07:41 +00:00
Stéphane Tayeb
b92c3902f5
Fix a bug for demo benchmark. KD-Tree is now build right after its construction (instead of at the first query).
2009-07-09 11:46:28 +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
1b26c8d562
AABB tree: fix one table line of the benchmark.
2009-07-08 12:17:31 +00:00
Pierre Alliez
de47ee0a27
AABB tree: do_intersect now calls the First_primitive traversal traits (much faster)
...
performance section updated
2009-07-08 12:02:28 +00:00
Pierre Alliez
7b0f96ca06
aabb tree: attempt to fix warning:
...
message is Triangle_3_segment_3_intersection.h:93: warning: control reaches end of non-void function
laurent (R) - can you take a look at it?
2009-07-06 19:40:54 +00:00
Pierre Alliez
9772610e5f
AABB tree: benchmark across kernels and updated intersection tests (more accurate).
...
need to fix compilation issue with EPIC kernel (I guess one include missing)
2009-07-05 13:58:00 +00:00
Pierre Alliez
1d6e776431
AABB tree: some more cleanup.
2009-07-01 20:49:03 +00:00
Pierre Alliez
bc80ee2e5c
AABB tree: point out some (level 4) warnings for L.Rineau.
2009-07-01 20:23:41 +00:00
Pierre Alliez
78d040c39a
aabb tree demo: fix one strange compilation error that happens only with VC2005 (took me hours to understand that it's probably a compiler bug).
...
benchmark distance queries in the demo and updated user manual (perf section)
2009-06-30 21:18:31 +00:00
Pierre Alliez
35170ac299
aabb tree: added performance section [to be completed with distance queries and curves]
2009-06-29 21:06:26 +00:00
Pierre Alliez
dfa149a2d7
aabb tree: more code cleanup
2009-06-27 15:19:29 +00:00
Pierre Alliez
4c19729e16
aabb tree: a bit of code cleanup
2009-06-27 06:44:31 +00:00
Pierre Alliez
a46598daa8
aabb tree: polishing user manual
2009-06-26 17:55:17 +00:00
Stéphane Tayeb
c8dc1d84f7
Add a CGAL_assertion (prevents std::bad_alloc).
2009-06-26 11:58:17 +00:00
Pierre Alliez
330640c7e2
aabb tree: more on tests
2009-06-25 20:45:09 +00:00
Pierre Alliez
597f9459d5
aabb tree: some cleanup
2009-06-25 20:08:51 +00:00
Pierre Alliez
88c549f6b1
aabb tree: more on tests
2009-06-23 20:26:45 +00:00
Stéphane Tayeb
761a218fff
* Fix configuration error (boost_system is now optional)
...
* Fix singular iterator copy construction error (build with -D_GLIBCXX_DEBUG)
2009-06-09 08:10:21 +00:00
Stéphane Tayeb
c337944925
Add typedef on template parameter AABBTraits in class AABB_node (CC-5.90_F7 error).
2009-06-08 08:29:46 +00:00
Camille Wormser
e03e9fb4fd
changes needed for the Polyhedron demo to compile
2009-06-05 18:04:47 +00:00
Stéphane Tayeb
c83f4d6812
Remove compiler warnings.
2009-06-03 09:40:47 +00:00
Pierre Alliez
c9964aa7ac
AABB tree: more on tests
2009-05-18 20:33:04 +00:00
Stéphane Tayeb
729ba7be05
Test suite code factorization. Minor fix (return type) in AABB_tree.h.
2009-05-18 14:26:29 +00:00
Stéphane Tayeb
04b5499caf
Improve clip in triangle_ray/line/seg intersection construction. There is more to do i think.
2009-05-15 17:22:03 +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
Camille Wormser
f47e9f1f67
one more primitive,
...
more consistent names
2009-05-14 08:20:50 +00:00
Pierre Alliez
75a82ec32d
AABB tree:
...
- rebuild now returns void.
2009-05-13 07:32:41 +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
Camille Wormser
614f220eb1
One last warning was missing: it appears only in the examples and not in the test suite.
...
It means we should add the Plane query case to the test suite.
2009-05-10 16:15:24 +00:00
Camille Wormser
74beff3b13
removed all warnings (-Wall -Wextra).
...
IMPORTANT THINGS
- We need to add Compute_squared_distance_3 (at least for Point_3, Point_3) to the traits requirements
- Since we use the (decorated) Traits as a template parameter for the Search_traits_3, we need to add
this as a requirement. Currently, the Search_traits_3 requests that the template parameter be a CGAL
kernel. This is much too strong!
2009-05-10 16:05:48 +00:00
Camille Wormser
0f376fb294
removed the warnings, except in one of the test cases. Working on it.
2009-05-10 15:24:04 +00:00
Pierre Alliez
0d2880a413
AABB tree:
...
- more on examples
- description
- removed leftover traces of projection after grep (two found)
2009-05-09 22:24:39 +00:00
Pierre Alliez
988c746c29
AABB tree:
...
- first pass on examples to simplify a bit
- TODO: better show variety of queries offered instead of just #intersections
2009-05-09 22:04:33 +00:00
Pierre Alliez
5b992f0ffa
AABB tree: more on distance tests with anisotropic triangle mesh model (added finger.off)
...
remove one warning
some remains in the KD-tree... was unable to remove them for now.
2009-05-09 19:57:37 +00:00
Camille Wormser
5dc7c35be3
distance queries conform to the spec
2009-05-09 10:22:45 +00:00
Pierre Alliez
4a6eb544a8
AABB tree
...
- rename m_data into m_primitives in Tree
- rename m_p_root into m_p_root_node in Tree
put back squared_distance into distance test
2009-05-09 06:57:36 +00:00
Camille Wormser
8414b99e9a
now the test suite compiles and runs! :)
2009-05-08 14:06:51 +00:00
Camille Wormser
01d0293bc5
Code is now almost up to the specification: Primitive::Id everywhere,
...
the KD-tree uses decorated points to return the Id too.
There are just a few boost::optional to add in the traits, where we still
use the old bool intersection(..., Result&) approach, and some modernization
to do in the distance computation things.
Everything compiles.
I have removed the funtion closest_primitive from the code and documentation,
since it would not be consistent with the rest of the interface, and would not
be faster than closest_point_and_primitive.
I think we are almost done, not only for the documentation, but for the code too.
2009-05-08 12:59:22 +00:00
Pierre Alliez
154ff8cfa0
AABB tree: more on distance queries
...
it remains to fix the Distance_traits
2009-05-07 21:22:24 +00:00
Pierre Alliez
c26e8531e1
AABB tree: intersections now return CGAL::Objects.
2009-05-07 21:03:21 +00:00
Pierre Alliez
e034d54b75
AABB tree: more on distance queries
...
- experiments with primitive vs point hints.
2009-05-07 13:18:17 +00:00
Pierre Alliez
db287f0e56
AABB tree: more on internal KD-tree used to accelerate the distance queries.
2009-05-07 10:51:01 +00:00
Camille Wormser
55021bdb9f
KD-tree forbids copies -> a pointer now.
2009-05-07 09:41:38 +00:00
Camille Wormser
439292a46c
solved the compilation problem for Point_and_primitive
...
temporarily disabled the kd-tree construction, not to mix two separate compilation issues. I replug it in a minute.
2009-05-07 09:24:41 +00:00
Pierre Alliez
fd017c5595
AABB tree: first version of boost::optional for any*
...
obscure compilation issue for now.
more on doc too
2009-05-07 06:44:59 +00:00
Pierre Alliez
db918ecafe
AABB tree: undo folder restructuring
2009-05-05 11:51:48 +00:00
Pierre Alliez
fbb8eefc2c
more on examples
2009-05-04 20:19:22 +00:00
Pierre Alliez
a6cf326154
AABB tree:
...
- examples primitive files in a separate folder
- more on doc from second review.
2009-05-04 20:08:00 +00:00
Gaël Guennebaud
10f9aa181c
fix compilation
2009-05-04 15:15:46 +00:00
Camille Wormser
6f050ab6ca
tentative API for dealing correctly with the degenerate cases:
...
it changes NOTHING to the existing code, except that
number_of_intersections is renamed into number_of_intersected_primitives.
2009-05-02 18:02:11 +00:00
Pierre Alliez
7bc16c5c48
AABB tree: made two sub-folders to store intersections and (later) traversal_traits
2009-05-02 12:13:32 +00:00
Pierre Alliez
2d22df1c41
AABB tree: more on Point_and_primitive in traversal traits
2009-05-02 09:45:20 +00:00
Pierre Alliez
b23fd11c04
AABB tree: document size, bbox and empty of the tree
...
note: we could rename root_bbox as simply bbox
2009-05-01 06:41:10 +00:00
Pierre Alliez
23f94c802b
AABB tree: started to implement new API
...
CAREFUL: does not compile anymore - will fix this next week.
2009-04-30 22:26:53 +00:00
Stéphane Tayeb
6575fdb2e8
Fix compilation error.
2009-04-30 14:06:46 +00:00
Stéphane Tayeb
fde6e4f260
* add workaround for weighted point (TOFIX)
...
* add AABB_const_polyhedron_edge_primitive
2009-04-30 14:04:45 +00:00
Pierre Alliez
fbc8c064d1
AABB tree: type fix.
2009-04-29 15:10:16 +00:00
Pierre Alliez
519782b2af
AABB tree: nearest_point_segment_3 added - all examples now compile fine
...
one file renamed
note: "origin" is a reserved term - better to rename it to query?
2009-04-29 15:01:36 +00:00
Pierre Alliez
b96d8c442c
AABB: fix clear_and_insert
...
remove lucy model (too big)
2009-04-28 20:04:23 +00:00
Pierre Alliez
a86c346e54
AABB: implemented two new functions suggested by Andreas:
...
void clear(void)
bool clear_and_insert(begin,beyond)
2009-04-28 15:29:37 +00:00
Stéphane Tayeb
cf794d7a17
add forgotten file (r48979).
2009-04-28 15:14:34 +00:00
Stéphane Tayeb
7d85cbdd57
* Remove ad-hoc code from AABBTraits:
...
- add nearest_point_3(Point_3, Triangle_3, Point_3)
- updates Projecting_traits of AABB_tree
* Fix test compilation (linux x64).
2009-04-28 15:12:51 +00:00
Pierre Alliez
6c4f25b95b
AABB: rename to less_x/y/z
2009-04-27 18:13:06 +00:00
Pierre Alliez
b563d29270
AABB tree: the projection does not construct the KD-tree at the first projection query anymore. for efficient projection queries either the user calls for its explicit construction during the AABB construction or calls "construct_search_Tree()". otherwise the first primitive reference point is used as (naive) hint.
2009-04-27 15:36:35 +00:00
Stéphane Tayeb
50a9d76db0
Fix polyhedral oracle. Add class AABB_const_polyhedron_triangle_primitive.
2009-04-27 13:25:46 +00:00
Stéphane Tayeb
836f48cd9c
Fix compilation errors (linux x64).
2009-04-27 12:42:04 +00:00
Pierre Alliez
9401251b51
AABB tree: attempt to fix compilation on Linux
2009-04-27 11:45:38 +00:00
Laurent Saboret
9c77d89703
Fixed compilation errors (Linux/g++)
2009-04-27 10:40:34 +00:00
Pierre Alliez
18c93be7bc
AABB tree: replace xref/yref/zref and point_on by a single reference_point() function for primitive.
...
NOTE: the reference point is used both for sorting the primitives and for constructing the search KD-tree
2009-04-27 08:58:19 +00:00
Pierre Alliez
b9c28d07aa
AABB tree: rename is_smaller to is_contained
...
another code cleanup
2009-04-26 21:48:18 +00:00
Pierre Alliez
a8188eb668
AABB tree: test all intersection types for triangles
2009-04-26 21:29:47 +00:00
Pierre Alliez
73364294e5
AABB tree: fix CR.
2009-04-26 18:24:15 +00:00
Pierre Alliez
c55ae25215
AABB tree: more on projection (added all point_on() functions to primitives)
2009-04-26 18:19:05 +00:00
Pierre Alliez
8cf7099289
AABB tree: rename intersection file
2009-04-26 18:09:40 +00:00
Pierre Alliez
3a3c75c66e
AABB tree: rename intersection files
2009-04-26 17:32:34 +00:00
Pierre Alliez
9df9f8a9f1
AABB tree: added internal search tree (CGAL K-orth search tree) to accelerate the projection queries.
...
substantial complication... may be improved.
2009-04-26 16:22:46 +00:00
Pierre Alliez
e52c14ffc9
AABB tree: more on doc.
2009-04-26 14:39:35 +00:00
Pierre Alliez
4018a88be9
polyhedron demo: fix compilation of remeshing plugin
2009-04-26 14:25:30 +00:00
Pierre Alliez
24e3bc0c22
AABB tree: added two primitive types for triangle and segment to make two examples simpler.
...
rename Object type to Datum type within primitive as it was conflicting with CGAL Object type
2009-04-26 13:46:48 +00:00
Pierre Alliez
cde6fb8ad0
AABB tree: added fourth examples with (segment) edges of a polyhedron
2009-04-26 09:27:42 +00:00
Pierre Alliez
3358154717
AABB tree: start adding tests.
2009-04-25 22:21:53 +00:00
Pierre Alliez
3316b50890
AABB tree: more comments on examples - added one projection
2009-04-24 22:09:40 +00:00
Pierre Alliez
aea8cce7ad
AABB tree: one more example with segment
2009-04-24 21:47:52 +00:00
Pierre Alliez
ce4a6039f5
AABB tree: added two examples (one compiles fine)
2009-04-24 14:11:17 +00:00
Pierre Alliez
aeb4889551
AABB tree: move files up
2009-04-24 13:35:41 +00:00
Pierre Alliez
bc218b5d22
AABB tree: doc
2009-04-24 13:00:46 +00:00
Pierre Alliez
f28804008c
fix link to examples
2009-04-24 12:30:56 +00:00
Pierre Alliez
476cf9aeb1
AABB tree: rename triangle primitive to polyhedron triangle primitive
2009-04-24 11:51:03 +00:00
Pierre Alliez
3e25916b51
AABB tree: added two examples and alter doc where the data type is now the Object type.
2009-04-24 11:29:00 +00:00
Pierre Alliez
f01b6e147f
AABB tree: important pass on the documentation from A.Fabri's review and several discussions with S.Tayeb, L.Rineau and C.Wormser.
...
remove all _type suffixes to types
distinguish datum from data
A primitive wraps a "geometric object" and an Id - not a primitive and an ide (confusing)
added any_intersected_primitive() to be consistant
2009-04-24 09:42:43 +00:00
Stéphane Tayeb
c4b6628106
* Projection query correction.
...
* Remove old code.
2009-04-23 07:38:53 +00:00
Stéphane Tayeb
333e2f0401
First step to CGAL 3.5 specs.
2009-04-22 08:11:45 +00:00
Pierre Alliez
31992dd000
AABB tree: things to be fixed (intersections)
2009-04-21 12:29:26 +00:00
Laurent Rineau
3654111856
Ooops: fix a bug I introduced myself since revision 48240, which was:
...
" - Rewrite of longest_axis(), which was quite strange, and switch to double,
as CGAL::Bbox_3 coordinates are always double."
That fix will re-improve the query time.
2009-04-10 17:02:54 +00:00
Laurent Rineau
58f1842820
Improve again the construction time of an AABB_tree (by factor of 5 to 1).
2009-04-10 17:00:10 +00:00
Laurent Rineau
7a340e9d8d
Improve the construction time of an AABB_tree for free (by using
...
std::nth_element, instead of std::sort).
2009-04-09 19:50:51 +00:00
Laurent Saboret
425cc63967
Fixed compilation warnings with VC++
2009-04-07 14:01:14 +00:00
Laurent Rineau
69cc456852
typo : lenght -> length
...
(Thanks to Sylvain Pion.)
2009-04-06 12:25:12 +00:00
Laurent Rineau
9b9d32c208
The polyhedral oracle can now be used by Mesh_3.
2009-04-06 12:10:42 +00:00
Laurent Rineau
85bd8c4adb
Add a member function AABB_tree::count_intersections
2009-04-06 12:10:09 +00:00
Laurent Rineau
d51fcf2fa2
Make AABB_node::max_lenght public, so that AABB_tree can use it.
2009-04-06 12:09:32 +00:00
Laurent Saboret
cb2644dab9
Revert revision 48625 that does not compile with g++
2009-04-03 17:26:19 +00:00
Laurent Saboret
7d659c7483
Fixed compilation warnings with VC++
2009-04-03 12:38:46 +00:00
Laurent Rineau
f86c071b04
- Add constness to AABB_tree,
...
- Add a method bbox() to AABB_tree, that returns its bounding box.
- Add a method size(), that returns the number of nodes.
- Add a method traversal to AABB_tree, so that one can call it with a
user-made traversal traits class.
- Add a Drawing_traits traits class, that draws the tree with OpenGL.
- Add predicates and constructions so that one can call
AABB_tree::intersection with Kernel::Plane_3 as query, and Segment_3 as
result type.
- New query function AABB_tree::all_intersections.
- The member function AABB_node::intersection is now templatized with a new
template parameter 'Result', so that the result is not hardcoded to be
'Point'.
- Three new constructions, for the intersection (and not only do_intersect)
between a Triangle_3 and (Plane_3, Ray_3, Segment_3).
(NOTE: That has not been tested intensively. And the intersection with
Ray_3 and Segment_3 does not handle co-planar intersections, for the
moment.)
2009-03-30 14:15:33 +00:00
Laurent Rineau
9f3a3e323b
Fixes for non-Windows compilers.
2009-03-30 14:05:56 +00:00
Laurent Rineau
e13b94d625
Factorize the code between Ray/Line/Segment, using templates.
2009-03-02 11:10:37 +00:00
Laurent Rineau
288525ba5f
- Rewrite of longest_axis(), which was quite strange, and switch to double,
...
as CGAL::Bbox_3 coordinates are always double.
2009-02-26 18:04:56 +00:00
Laurent Rineau
25d930749f
- Move the traits First_intersection_traits from AABB_node to AABB_tree.
...
- Remove AABB_node::first_intersection which is useless.
- AABB_node::traversal is no longer templated by Result_type. Instead of
passing as argument a 'result' object, and constructing a traits at each
call, the traits object is constructed once, before calling traversal,
and passed as argument.
2009-02-26 16:40:40 +00:00
Laurent Rineau
641fa903d8
Yet another move of a function, and add comments.
2009-02-26 11:48:17 +00:00
Laurent Rineau
8972f90ac3
Remove yet another PSC dependency: PSC::do_intersect does not exists! That
...
means that some do_intersect functions where never instantiated.
2009-02-26 11:39:40 +00:00
Laurent Rineau
249f582387
Move functions definitions into the class, so that one see more clearly, if
...
possible, the structure of the code.
2009-02-26 11:22:56 +00:00
Laurent Rineau
d410bbe3b4
Cosmetic: CGAL_NAMESPACE is obsolete, now. No need to confuse editors and
...
IDEs by using it.
2009-02-26 10:55:11 +00:00
Laurent Rineau
c2c562b508
Add two cosmetic "const" attributes to function of
...
"First_intersection_traits".
2009-02-26 10:28:40 +00:00
Laurent Rineau
5ec512b917
Remove the psc argument from recursive functions. That one is not used, and
...
not wanted (the aim is to remove the dependency to the type PSC).
2009-02-26 10:25:52 +00:00
Laurent Rineau
f3262130bc
Add a comment to explain the trick that uses boost::enable_if and
...
the Boost MPL:
http://www.boost.org/doc/libs/release/boost/utility/enable_if.hpp
http://www.boost.org/doc/libs/release/libs/mpl
2009-02-25 19:14:08 +00:00
Laurent Rineau
b13221cfb3
Try a use of boost::mpl::vector, to see what will happen to the testsuite
...
of Polyhedron_Demo.
(2009-02-24 16:54:31 +0100)
Update: the testsuite of CGAL-3.5-I-32 has validated that change. Great:
let's go and use MPL!
2009-02-24 15:54:31 +00:00
Laurent Saboret
6e404a5e87
Partial merge with Gyroviz AABB_tree. Very minor changes.
2008-10-17 16:03:17 +00:00
Pierre Alliez
6ae6749ad0
cleanup AABB tree: update authors, remove #undef, local includes.
2008-10-14 12:15:10 +00:00
Pierre Alliez
d0bf3a2245
AABB tree: remove knn and plucker. a bit of cleanup and update of authors.
2008-10-14 07:43:19 +00:00
Andreas Fabri
50cc203fac
Added ETHZ and authors
2008-10-14 06:04:37 +00:00
Andreas Fabri
ae5afa9774
cleanup
2008-10-13 18:45:02 +00:00
Andreas Fabri
2465573f24
Add license header
2008-10-13 18:41:47 +00:00
Laurent Rineau
9e80736743
Move AABB_tree in its own svn package (not documented for CGAL-3.4).
...
(TODO: one need copyright/license headers.)
2008-10-01 08:10:00 +00:00