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