Sébastien Loriot
1d908c1c0b
remove code for CGAL_INTERSECTION_VERSION 1
2019-03-29 13:28:32 +01:00
Sébastien Loriot
affaa19327
remove workaround for non support of variadic template
2019-03-29 10:41:49 +01:00
Laurent Rineau
4d66f012c7
Merge pull request #3766 from sloriot/AABB_tree-more_robust_first_intersection
...
More robust first_intersection
2019-03-19 18:30:50 +01:00
Sébastien Loriot
3c0cc16c68
take the max coordinate instead of the non-zero one
2019-03-12 17:59:28 +01:00
Laurent Rineau
11bf3926e6
Merge branch 'releases/CGAL-4.12-branch'
2019-02-16 14:00:03 +01:00
Laurent Rineau
fdd8357915
Merge pull request #3580 from afabri/Stream_support-Color-GF
...
Fix warnings (Add/remove copy constructors, and other warnings)
Co-authored-by: Laurent Rineau <laurent.rineau@cgal.org>
Co-authored-by: Mael <mael.rouxel.labbe@geometryfactory.com>
Co-authored-by: Maxime GIMENO <maxime.gimeno@gmail.com>
2019-02-13 15:25:07 +00:00
Sébastien Loriot
0f9f217f50
add an important note for first_intersection
2019-02-12 16:10:41 +01:00
Laurent Rineau
0241fdc3eb
Compatibility with both Point_3 and Weighted_point_3
2019-02-11 13:46:06 +01:00
Laurent Rineau
d216131c79
New undocumented AABB primitive: cells of a 3D triangulation
...
The `Scene_c3t3_item` from our 3D demos now uses an AABB tree of
cells, instead of an AABB tree of triangles. That divides the number
of primitives by 4, and save times:
Before:
```
C3t3 facets AABB tree built in 22.010006904602051 wall-clock seconds
Scene_c3t3_item_priv::computeIntersections in 0.50893402099609375 wall-clock seconds
```
After:
```
C3t3 cells AABB tree built in 13.072829008102417 wall-clock seconds
Scene_c3t3_item_priv::computeIntersections in 0.41458892822265625 wall-clock seconds
```
The gain seems mostly in the construction of the tree (40% saved), and
the gain on the queries seems lower (about 20%).
2019-02-11 13:22:11 +01:00
Laurent Rineau
afc3de2894
Merge branch 'master' into Stream_support-Color-GF
2019-01-23 09:37:08 +01:00
Andreas Fabri
81d4227e57
Fix AABB tree
2019-01-10 18:40:10 +01:00
Andreas Fabri
6cc109f7c4
AABB Tree testsuite
2018-11-28 09:07:36 +01:00
Sébastien Loriot
6400cc5d5a
fix doc warning
2018-11-12 11:28:23 +01:00
Sébastien Loriot
9c9d4ea6c6
fix doc warnings
2018-11-02 14:40:53 +01:00
Sébastien Loriot
056c778305
Merge pull request #3370 from maxGimeno/AABB_tree-Change_facegraph_triangle_primitive_id-GF
...
Aabb_tree: change the id of AABB_face_graph_triangle_primitive and AABB_halfedge_graph_segment_primitive
2018-11-02 10:34:26 +01:00
Sebastien Loriot
5be2958fae
Merge pull request #3386 from maxGimeno/AABB_tree-Override_build_function_with_shared_data-GF
...
AABB_tree: Add an overload to build() for shared data
2018-11-02 10:31:22 +01:00
Sébastien Loriot
34527a3dc3
remove extra template keyword
2018-10-31 06:20:37 +01:00
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
Laurent Rineau
62c33b9df4
Merge pull request #3390 from maxGimeno/AABB_tree-Add_datum_function-GF
...
AABB_tree: add datum()
2018-10-29 10:27:57 +01:00
Maxime Gimeno
c05f2f98f8
Use the helper type but hide it in the doc
2018-10-12 10:21:13 +02:00
Maxime Gimeno
500c2a7200
Only document Datum_reference as return type
2018-10-11 10:13:26 +02:00
Maxime Gimeno
8f6d68152b
add doc
2018-10-10 12:16:22 +02:00
Maxime Gimeno
eacf880034
Add a const function datum() to AABB_tree and test.
2018-10-10 11:55:23 +02:00
Maxime Gimeno
1b5cfa66e6
Edit after review
2018-10-09 15:06:14 +02:00
Sébastien Loriot
eb8e5e5b35
change the Id in the base class + update pmaps to handle also pairs
2018-10-09 14:15:26 +02:00
Maxime Gimeno
4615c636d5
Inherit from the helper class to avoid storing the graph if tag is true.
2018-10-09 14:14:51 +02:00
Maxime Gimeno
da01fb43ee
fix doc and don't duplicate the id. Use a pointer to the graph.
2018-10-09 14:14:51 +02:00
Maxime Gimeno
1d7e07b954
Fix doc
2018-10-09 14:14:51 +02:00
Maxime Gimeno
1960e01aeb
fixes and do the same for the edges
2018-10-09 14:14:51 +02:00
Maxime Gimeno
232373c9ca
Change the Id of the AABB_face_graph_triangle_primitive so it contains the mesh if necessary.
2018-10-09 14:14:51 +02:00
Sébastien Loriot
baf27bbd6e
use const map (non-const map should be convertible to const map in practice)
2018-10-09 10:28:45 +02:00
Maxime Gimeno
3e2d61e29d
Move traits in PMP/internal
2018-10-09 10:28:43 +02:00
Sébastien Loriot
c32820fe8b
reuse conversions
2018-10-09 10:28:43 +02:00
Sébastien Loriot
caa5135c18
simplify traits and always use transformed primitives
2018-10-09 10:28:42 +02:00
Sébastien Loriot
8486cff633
add an extra flag to force the evaluation of the transformation
2018-10-09 10:28:42 +02:00
Sébastien Loriot
680191dccd
remove trailing whitespaces
2018-10-09 10:28:42 +02:00
Sébastien Loriot
3d50da882e
cosmetic changes
2018-10-09 10:28:42 +02:00
Sébastien Loriot
e6c7c34783
fix bbox computation and factorize
2018-10-09 10:28:42 +02:00
Maxime Gimeno
622509816b
Fix rotation of boxes
2018-10-09 10:24:32 +02:00
Maxime Gimeno
f236176d55
Add missing file
2018-10-09 10:24:32 +02:00
Maxime Gimeno
2c23959347
rename and transform primitives. Don't transform mesh in test.
2018-10-09 10:24:32 +02:00
Maxime Gimeno
8e64d49513
WIP: Remove the traits_base
2018-10-09 10:24:32 +02:00
Maxime Gimeno
48c0cc02a2
Add Filtered_predicates support
2018-10-09 10:24:32 +02:00
Maxime Gimeno
36fd62f8c6
Add benchmark for tree intersection
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
d2f4e19e36
Add transformations to the new traits and add a test for it.
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
Maxime Gimeno
79e54aedd8
indentation
2018-10-08 14:26:44 +02:00
Maxime Gimeno
7990fd4f27
Add an overload to build() for shared data
2018-10-08 14:14:49 +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
Sébastien Loriot
543495e8e0
build the kd-tree only if the AABB-tree is built
...
this avoid issues when using thread where the kd-tree is used
while being reconstructed
2018-07-18 17:40:09 +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
Laurent Rineau
599f7c3b73
Merge pull request #2965 from sloriot/AABB_tree-Add_primitive_constructor
...
Add a constructor from iterator on id for AABB_primitive
2018-03-30 10:56:38 +02:00
Sébastien Loriot
4befc177c8
update requirements in the doc
2018-03-28 15:44:50 +02:00
Sébastien Loriot
f36657ca2b
add constructor from iterator
2018-03-27 21:07:24 +02:00
Maxime Gimeno
bc2410d4ad
Fixes
2018-02-28 11:40:49 +01:00
Maxime Gimeno
2156017402
Remove native gl.h include and native gl code in Surface_mesher/archive
2018-02-28 10:36:26 +01:00
Andreas Fabri
7675141f2b
AABB_tree
2018-01-17 19:43:47 +00: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
Laurent Rineau
d878561809
Merge pull request #2102 from afabri/Kernel_Weighted_point_without_conversion-GF
...
Remove implicit conversions between points and weighted points
2017-07-03 12:08:57 +02:00
Mael Rouxel-Labbé
1624867249
Renamed a variable for clarity
2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé
dc648c9cc2
Removed unnecessary semicolons
2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé
e63de324ec
Use traits rather than .point() to access the bare point of weighted point
2017-06-28 10:14:35 +02:00
Andreas Fabri
60fa986e1f
make the Polyhedron demo mesh_3_plugin work
2017-06-28 10:14:35 +02:00
Sébastien Loriot
f348671e03
update doc that should have been updated when FaceGraph has been introduced
2017-06-26 10:08:42 +02:00
Laurent Rineau
376c2dd002
Merge pull request #1852 from maxGimeno/Doxygen_compare-GF
...
Compare two documentation outputs
2017-06-13 10:18:28 +02:00
Sébastien Loriot
0270ec473a
Merge pull request #1255 from afabri/CGAL-license_check-GF
...
Add a license check mechanism
2017-01-25 17:14:55 +01:00
Sébastien Loriot
2e1e2a28e6
Merge remote-tracking branch 'cgal/releases/CGAL-4.9-branch'
2017-01-25 17:07:10 +01:00
Sébastien Loriot
37cbdd065c
handle the case when the ray intersection is a segment
2017-01-24 14:19:56 +01:00
Maxime Gimeno
82860688d1
Fix the doc to avoid diffs between 1.8.4 and 1.8.13 outputs
2017-01-24 09:39:23 +01:00
Laurent Rineau
143f6042f7
Merge pull request #1833 from sloriot/AABB_tree-fix_ray_shooting
...
.. from a merge of branch 'cgal/releases/CGAL-4.9-branch'.
2017-01-19 17:38:42 +01: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
40a54cf932
fix a typo for computing the relative distance
2017-01-13 16:22:57 +01:00
Maxime Gimeno
1face074bf
Add offset support for the Cut_plugin
2016-12-02 12:03:46 +01:00
Sébastien Loriot
84fe181d7c
Use functors instead of member functions
2016-10-28 15:07:14 +02:00
Sébastien Loriot
98ebf748e0
add missing requirement for the point type
2016-10-28 11:36:53 +02:00
Laurent Rineau
d02ab0c626
Merge pull request #1575 from afabri/Spatial_searching-document_build-GF
...
Add the documentation for Kd_tree::build()
2016-10-18 11:06:37 +02:00
Laurent Rineau
f2e7050364
Merge pull request #1428 from sloriot/AABB_tree-fix_Closest_point
...
Fix implementation of AABB_traits::Closest_point
2016-10-17 10:03:20 +02:00
Andreas Fabri
64a901a863
Add the documentation for Kd_tree::build() and unify it with AABB_tree::build.
...
The latter was in a Section 'Advanced' (not \cgalAdvanced, just a \heading).
They are now both in the Section `Creation`.
2016-10-13 10:07:48 +02:00
Laurent Rineau
1c19028e5b
Merge pull request #1267 from maxGimeno/Random_generator-GF
...
Random generator
2016-10-05 13:02:29 +02:00
Sébastien Loriot
e2f7efa58a
clean up
2016-09-28 10:45:45 +02:00
Maxime Gimeno
35a328b1bf
Move Halfedge_and_face_graph_property_maps.h to BGL.
2016-09-28 10:45:45 +02:00
Maxime Gimeno
a88981ddf5
Make the doc of the file just basic comments so the clas sis not officially documented.
2016-09-21 15:15:03 +02:00
Maxime Gimeno
5649c3f56b
Renaming
...
- Rename AABB_C3T3_triangle_primitive in AABB_triangulation_3_triangle_primitive and change the doc accordingly.
2016-09-20 12:22:01 +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
Sébastien Loriot
c751ab4310
Add operators for segment and triangle types in Construct_projected_point_3
...
the original implementation comes from the AABB-tree package
2016-09-01 16:04:55 +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
Maxime Gimeno
f8b9520764
Fix for Source_point_from_edge_descriptor::get().
2016-07-01 16:20:02 +02:00
Laurent Rineau
bc457b086a
Fix a documentation bug
...
`boost::get(vertex_point, graph)` may not compile, if the graph is not a CGAL face graph. Example: when it is an OpenMesh, in the `OpenMesh` namespace.
2016-06-09 13:05:32 +02:00
Andreas Fabri
6392adf636
another min max fix for VC++
2016-05-03 06:28:38 +02:00
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
Andreas Fabri
b56c436ee6
Use boost::lambda::constant() - thank you Philipp
2016-04-26 17:12:17 +02:00
Sébastien Loriot
48a493893f
fix indentation issues
2016-04-26 17:12:16 +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
37e4ddb107
const&
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
2fabd2c170
Add the second function; change changes.html
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
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
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
83d7396cd8
Throw in some const
2016-04-26 17:10:57 +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
e3fdda3bc0
Integrate changes from the submission
2016-04-26 17:10:46 +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
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
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
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
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
Philipp Möller
90542aa0ab
Add the doc for ray_intersection
2016-04-26 17:10:18 +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
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
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