CGAL 6.0 - Quadtrees, Octrees, and Orthtrees
Loading...
Searching...
No Matches
CGAL::Orthtree_traits_face_graph< TriangleMesh, VertexPointMap > Struct Template Reference

#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
TriangleMesha model of FaceListGraph with all faces being triangles
VertexPointMapa 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