CGAL 6.2 - Quadtrees, Octrees, and Orthtrees: CGAL::Orthtree_traits_face_graph< TriangleMesh, VertexPointMap > Struct Template Reference

CGAL 6.2 - Quadtrees, Octrees, and Orthtrees

Loading...
Searching...
No Matches
List of all members | Classes
CGAL::Orthtree_traits_face_graph< TriangleMesh, VertexPointMap > Struct Template Reference
Reference Manual » Traits

`#include <CGAL/Orthtree_traits_face_graph.h>`

## Inherits from

CGAL::Orthtree_traits_base< Kernel_traits< boost::property_traits< VertexPointMap >::value_type >::type, 3 >.

## Definition

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.

## Classes
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...

## Types
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 &)>

## Operations
auto | construct_root_node_bbox_object () const
auto | construct_root_node_contents_object () const
auto | distribute_node_contents_object () const

## Additional Inherited Members
Public Types inherited from CGAL::Orthtree_traits_base< Kernel_traits< boost::property_traits< VertexPointMap >::value_type >::type, 3 >
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 Public Attributes inherited from CGAL::Orthtree_traits_base< Kernel_traits< boost::property_traits< VertexPointMap >::value_type >::type, 3 >
static constexpr int | dimension