-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Updating the AABB-tree to work in both 2D and 3D #8057
Conversation
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
The documentation is built. It will be available, after a few minutes, here: https://cgal.github.io/8057/v0/Manual/index.html |
// AABB_traits_intersection_base brings in the Intersection_distance predicate, | ||
// if GeomTraits is a model RayIntersectionGeomTraits. | ||
template <typename GeomTraits, bool ray_intersection_geom_traits=Is_ray_intersection_geomtraits<GeomTraits>::value> | ||
struct AABB_traits_intersection_base; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Don't they need the _3
suffix?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I only renamed to avoid the _2 that would be misleading in the context of this PR. If nothing can be shared it indeed should be _3
Co-authored-by: Andreas Fabri <[email protected]>
- `CGAL::AABB_triangle_primitive_2<GeomTraits, Iterator, CacheDatum>` | ||
- `CGAL::AABB_segment_primitive_2<GeomTraits, Iterator, CacheDatum>` | ||
- `CGAL::AABB_triangle_primitive_3<GeomTraits, Iterator, CacheDatum>` | ||
- `CGAL::AABB_segment_primitive_3<GeomTraits, Iterator, CacheDatum>` | ||
- `CGAL::AABB_primitive<Id,ObjectPropertyMap,PointPropertyMap,ExternalPropertyMaps,CacheDatum>` | ||
- `CGAL::AABB_halfedge_graph_segment_primitive<HalfedgeGraph,Vpm,OneHalfedgeGraphPerTree,CacheDatum>` | ||
- `CGAL::AABB_face_graph_triangle_primitive<FaceGraph,Vpm,OneFaceGraphPerTree,CacheDatum>` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here an equivalent would be useful when we shoot rays inside a polygon.
AABB_tree/doc/AABB_tree/Concepts/AABBRayIntersectionGeomTraits_2.h
Outdated
Show resolved
Hide resolved
AABB_tree/doc/AABB_tree/Concepts/AABBRayIntersectionGeomTraits_2.h
Outdated
Show resolved
Hide resolved
AABB_tree/doc/AABB_tree/Concepts/AABBRayIntersectionGeomTraits_3.h
Outdated
Show resolved
Hide resolved
AABB_tree/doc/AABB_tree/Concepts/AABBRayIntersectionGeomTraits_2.h
Outdated
Show resolved
Hide resolved
@@ -145,21 +138,21 @@ typedef unspecified_type Compare_distance; | |||
|
|||
/*! | |||
A functor object to compute closest point from the query on a primitive. Provides the operator: | |||
`Point_3 operator()(const Query& query, const Primitive& primitive, const Point_3 & closest);` which returns the closest point to `query`, among `closest` and all points of the primitive. | |||
`Point operator()(const Query& query, const Primitive& primitive, const Point & closest);` which returns the closest point to `query`, among `closest` and all points of the primitive. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry, but even with the explanation it's not clear to me and I don't know how I would implement this.
We can put it aside because it's not really what the PR is about...
@@ -5,12 +5,12 @@ | |||
|
|||
/*! | |||
\addtogroup PkgAABBTreeRef | |||
\cgalPkgDescriptionBegin{3D Fast Intersection and Distance Computation,PkgAABBTree} | |||
\cgalPkgDescriptionBegin{2D and 3D Fast Intersection and Distance Computation,PkgAABBTree} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
\cgalPkgDescriptionBegin{2D and 3D Fast Intersection and Distance Computation,PkgAABBTree} | |
\cgalPkgDescriptionBegin{Fast Intersection and Distance Computation,PkgAABBTree} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
WIth or without 2D and 3D
seems fine. The AABBTree should be able to handle d dimensions.
Co-authored-by: Mael <[email protected]>
Successfully tested in CGAL-6.0-Ic-228 |
This pull-request was previously marked with the label |
Successfully tested in CGAL-6.0-Ic-235 |
As far as I can see, this package deprecates template<typename GeomTraits, typename AABBPrimitive, typename BboxMap = Default>
using AABB_traits = AABB_traits_3<GeomTraits, AABBPrimitive, BboxMap>; And similar for a new template classes about "primitives". There are only two small test files testing the for deprecated names. Can we really be confident it is enough to trust that the compatibility is working well enough? |
If you first apply the |
@sloriot Can you please fix https://github.com/CGAL/cgal-swig-bindings? See https://github.com/CGAL/cgal-swig-bindings/actions/runs/9144362571/job/25142119159#step:9:731 With all the downstream packagers testing our releases automatically, even the beta ones, that compilation error is a blocker for CGAL-6.0-beta1. |
Done in CGAL/cgal-swig-bindings#270 |
Make the AABB-tree dimension agnostic
Todo
Release Management