CGAL 6.3 - Fast Intersection and Distance Computation (AABB Tree)
Loading...
Searching...
No Matches
CGAL::AABB_indexed_triangle_primitive_3< GeomTraits, PointRange, FaceRange, CacheDatum, PointMap > Class Template Reference

#include <CGAL/AABB_indexed_triangle_primitive_3.h>

Definition

template<class GeomTraits, class PointRange, class FaceRange, class CacheDatum = Tag_false, class PointMap = Identity_property_map<typename PointRange::value_type>>
class CGAL::AABB_indexed_triangle_primitive_3< GeomTraits, PointRange, FaceRange, CacheDatum, PointMap >

Primitive type that uses as an identifier an index into a range of triplets of indices as its value_type.

The range of triplets and the range of points must not be invalidated while the AABB tree holding this primitive is in use.

Is model of
AABBPrimitive
Template Parameters
GeomTraitsis a traits class providing the nested type Point_3 and Triangle_3. It also provides the functor Construct_triangle_3 that has an operator taking three Point_3 as parameters and returns a Triangle_3
PointRangeis a model of RandomAccessRange. Its value type needs to be compatible to PointMap or Point_3 in the default case.
FaceRangeis a model of RandomAccessRange. Its value type needs to a RandomAccessRange of size 3 with value_type begin std::size_t.
CacheDatumis either CGAL::Tag_true or CGAL::Tag_false. In the former case, the datum is stored in the primitive, while in the latter it is constructed on the fly to reduce the memory footprint. The default is CGAL::Tag_false, that is the datum is not stored.
PointMapis a model of ReadablePropertyMap with its key type being the value type of PointRange and the value type being a Point_3. The default is CGAL::Identity_property_map<PointRange::value_type>.
See also
AABBPrimitive
AABB_primitive<Id,ObjectPropertyMap,PointPropertyMapPolyhedron,ExternalPropertyMaps,CacheDatum>
AABB_segment_primitive_2<GeomTraits,Iterator,CacheDatum>
AABB_triangle_primitive_2<GeomTraits,Iterator,CacheDatum>
AABB_triangle_primitive_3<GeomTraits,Iterator,CacheDatum>

Public Member Functions

template<class PM = PointMap, std::enable_if_t< std::is_default_constructible_v< PM >, int > = 0>
 AABB_indexed_triangle_primitive_3 (Face_const_iterator it, const PointRange &, const FaceRange &triangles)
 constructor from an iterator