template<class FaceGraph, class VertexPointPMap = Default, class OneFaceGraphPerTree = Tag_true, class CacheDatum = Tag_false>
class CGAL::AABB_face_graph_triangle_primitive< FaceGraph, VertexPointPMap, OneFaceGraphPerTree, CacheDatum >
Primitive type for a facet of a polyhedral surface.
It wraps a handle to a facet of a polyhedron to a 3D triangle. The polyhedron from which the primitive is built should not be deleted while the AABB tree holding the primitive is in use. The triangle type of the primitive (Datum
) is CGAL::Kernel_traits< boost::property_traits< VertexPointPMap >::value_type >::Kernel::Triangle_3
.
- Is Model Of:
AABBPrimitiveWithSharedData
- Template Parameters
-
FaceGraph | is a model of the face graph concept. |
VertexPointPMap | is a property map with boost::graph_traits<FaceGraph>::vertex_descriptor as key type and a CGAL Kernel Point_3 as value type. The default is typename boost::property_map< FaceGraph,vertex_point_t>::type . |
OneFaceGraphPerTree | is either CGAL::Tag_true or CGAL::Tag_false . In the former case, we guarantee that all the primitives will be from a common FaceGraph and some data will be factorized so that the size of the primitive is reduced. In the latter case, the primitives can be from different graphs and extra storage is required in the primitives. The default is CGAL::Tag_true . |
CacheDatum | is 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 (datum is not stored). |
- See also
AABBPrimitive
-
AABB_primitive<Id,ObjectPropertyMap,PointPropertyMapPolyhedron,ExternalPropertyMaps,CacheDatum>
-
AABB_halfedge_graph_segment_primitive<HalfedgeGraph,OneHalfedgeGraphPerTree,CacheDatum>
- Examples:
- AABB_tree/AABB_face_graph_triangle_example.cpp, AABB_tree/AABB_insertion_example.cpp, AABB_tree/AABB_polyhedron_facet_distance_example.cpp, AABB_tree/AABB_polyhedron_facet_intersection_example.cpp, and AABB_tree/AABB_ray_shooting_example.cpp.