\( \newcommand{\E}{\mathrm{E}} \) \( \newcommand{\A}{\mathrm{A}} \) \( \newcommand{\R}{\mathrm{R}} \) \( \newcommand{\N}{\mathrm{N}} \) \( \newcommand{\Q}{\mathrm{Q}} \) \( \newcommand{\Z}{\mathrm{Z}} \) \( \def\ccSum #1#2#3{ \sum_{#1}^{#2}{#3} } \def\ccProd #1#2#3{ \sum_{#1}^{#2}{#3} }\)
CGAL 5.0 - Polygon Mesh Processing
CGAL::Polygon_mesh_processing::Location_traits< TriangleMesh, NamedParameters > Class Template Reference

#include <CGAL/Polygon_mesh_processing/locate.h>

Definition

template<typename TriangleMesh, typename NamedParameters = Named_function_parameters<bool, internal_np::all_default_t>>
class CGAL::Polygon_mesh_processing::Location_traits< TriangleMesh, NamedParameters >

Helper class whose sole purpose is to make it easier to access some useful types.

Template Parameters
TriangleMesha model of FaceListGraph
NamedParametersa sequence of Named Parameters

Public Types

typedef boost::graph_traits< TriangleMesh >::vertex_descriptor vertex_descriptor
 
typedef boost::graph_traits< TriangleMesh >::halfedge_descriptor halfedge_descriptor
 
typedef boost::graph_traits< TriangleMesh >::face_descriptor face_descriptor
 
typedef boost::variant< vertex_descriptor, halfedge_descriptor, face_descriptor > descriptor_variant
 
typedef unspecified_type VPM
 This is the type of the vertex point property map, either the one passed through the named parameters or the default, internal one of the mesh. More...
 
typedef unspecified_type Geom_traits
 The traits class, either passed as a named parameter or deduced from the Point type of the vertex property map (the point type must then be compatible with CGAL::Kernel_traits)
 
typedef boost::property_traits< VPM >::value_type Point
 
typedef Geom_traits::FT FT
 
typedef unspecified_type Ray
 Either Geom_traits::Ray_2 or Geom_traits::Ray_3, depending on the ambient dimension of the mesh.
 
typedef std::array< FT, 3 > Barycentric_coordinates
 
typedef std::pair< face_descriptor, Barycentric_coordinates > Face_location
 If tm is the input triangulated surface mesh and given the pair (f, bc) such that bc is the triplet of barycentric coordinates (w0, w1, w2), the correspondance between the coordinates in bc and the vertices of the face f is the following: More...
 

Member Typedef Documentation

◆ Face_location

template<typename TriangleMesh , typename NamedParameters = Named_function_parameters<bool, internal_np::all_default_t>>
typedef std::pair<face_descriptor, Barycentric_coordinates> CGAL::Polygon_mesh_processing::Location_traits< TriangleMesh, NamedParameters >::Face_location

If tm is the input triangulated surface mesh and given the pair (f, bc) such that bc is the triplet of barycentric coordinates (w0, w1, w2), the correspondance between the coordinates in bc and the vertices of the face f is the following:

  • w0 corresponds to source(halfedge(f, tm), tm)
  • w1 corresponds to target(halfedge(f, tm), tm)
  • w2 corresponds to target(next(halfedge(f, tm), tm), tm)

◆ VPM

template<typename TriangleMesh , typename NamedParameters = Named_function_parameters<bool, internal_np::all_default_t>>
typedef unspecified_type CGAL::Polygon_mesh_processing::Location_traits< TriangleMesh, NamedParameters >::VPM

This is the type of the vertex point property map, either the one passed through the named parameters or the default, internal one of the mesh.