CGAL 4.11 - 3D Fast Intersection and Distance Computation (AABB Tree)
|
#include <CGAL/AABB_face_graph_triangle_primitive.h>
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
.
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). |
AABBPrimitive
AABB_primitive<Id,ObjectPropertyMap,PointPropertyMapPolyhedron,ExternalPropertyMaps,CacheDatum>
AABB_halfedge_graph_segment_primitive<HalfedgeGraph,OneHalfedgeGraphPerTree,CacheDatum>
Public Member Functions | |
template<class Iterator > | |
AABB_face_graph_triangle_primitive (Iterator it, const FaceGraph &graph, VertexPointPMap_ vppm) | |
AABB_face_graph_triangle_primitive (Id id, const FaceGraph &graph, VertexPointPMap_ vppm) | |
Constructs a primitive. More... | |
Static Public Member Functions | |
static unspecified_type | construct_shared_data (FaceGraph &graph) |
If OneFaceGraphPerTree is CGAL::Tag_true, constructs a Shared_data object from a reference to the polyhedon graph . | |
Types | |
typedef boost::property_traits < VertexPointPMap > ::value_type | Point |
The point type. | |
typedef Kernel_traits< Point > ::Kernel::Triangle_3 | Datum |
Geometric data type. | |
typedef boost::graph_traits < FaceGraph >::face_descriptor | Id |
Id type. | |
CGAL::AABB_face_graph_triangle_primitive< FaceGraph, VertexPointPMap, OneFaceGraphPerTree, CacheDatum >::AABB_face_graph_triangle_primitive | ( | Iterator | it, |
const FaceGraph & | graph, | ||
VertexPointPMap_ | vppm | ||
) |
Iterator | an input iterator with Id as value type. Constructs a primitive. If VertexPointPMap is the default of the class, an additional constructor is available with vppm set to get(vertex_point, graph) . |
CGAL::AABB_face_graph_triangle_primitive< FaceGraph, VertexPointPMap, OneFaceGraphPerTree, CacheDatum >::AABB_face_graph_triangle_primitive | ( | Id | id, |
const FaceGraph & | graph, | ||
VertexPointPMap_ | vppm | ||
) |
Constructs a primitive.
If VertexPointPMap
is the default of the class, an additional constructor is available with vppm
set to get(vertex_point, graph)
.