#include <CGAL/Orthtree_traits_face_graph.h>
CGAL::Orthtree_traits_base< Kernel_traits< boost::property_traits< VertexPointMap >::value_type >::type, 3 >.
template<class TriangleMesh, class VertexPointMap>
struct CGAL::Orthtree_traits_face_graph< TriangleMesh, VertexPointMap >
Traits class for the Orthtree
class to be used to construct a 3D octree around a triangulated surface mesh.
Each node of the octree will store all the faces of the mesh intersected by its bounding box. The subdivision of the octree is controlled by the nested class Orthtree_traits_face_graph::Split_predicate_node_min_extent
to which the minimal extent of a node should be provided.
- Template Parameters
-
TriangleMesh | a model of FaceListGraph with all faces being triangles |
VertexPointMap | a property map associating points to the vertices of TriangleMesh |
- Is model of
OrthtreeTraitsWithData
- Examples
- Orthtree/octree_surface_mesh.cpp.
|
class | Split_predicate_node_min_extent |
| Recommended split predicate to pass to Orthtree::refine() function so that the octree is refined until a node is either empty or has an extent that would be smaller after split than the corresponding value provided to the constructor. More...
|
|
|
using | Base = Orthtree_traits_base< typename Kernel_traits< typename boost::property_traits< VertexPointMap >::value_type >::type, 3 > |
|
using | Self = Orthtree_traits_face_graph< TriangleMesh, VertexPointMap > |
|
using | Tree = Orthtree< Self > |
|
using | Point_d = typename Self::Point_d |
|
using | Bbox_d = typename Self::Bbox_d |
|
using | FT = typename Self::FT |
|
using | Cartesian_const_iterator_d = typename Self::Cartesian_const_iterator_d |
|
using | Node_index = typename Base::Node_index |
|
using | Node_data = std::vector< typename boost::graph_traits< TriangleMesh >::face_descriptor > |
|
using | Geom_traits = typename Kernel_traits< Point_d >::type |
|
using | Construct_root_node_bbox = std::function< Bbox_d()> |
|
using | Construct_root_node_contents = std::function< Node_data()> |
|
using | Distribute_node_contents = std::function< void(Node_index, Tree &, const Point_d &)> |
|
|
auto | construct_root_node_bbox_object () const |
|
auto | construct_root_node_contents_object () const |
|
auto | distribute_node_contents_object () const |
|
|
using | Node_index = std::size_t |
|
using | Kernel = Kernel_traits< boost::property_traits< VertexPointMap >::value_type >::type |
|
using | FT = typename GeomTraits::FT |
|
using | Point_d = typename GeomTraits::Point_d |
|
using | Bbox_d = typename GeomTraits::Iso_box_d |
|
using | Sphere_d = typename GeomTraits::Sphere_d |
|
using | Cartesian_const_iterator_d = typename GeomTraits::Cartesian_const_iterator_d |
|
using | Adjacency = int |
| Adjacency type.
|
|
static constexpr int | dimension |
|