CGAL 6.0 - Polygon Mesh Processing
Loading...
Searching...
No Matches
Corrected Curvature Computation

Functions to compute the corrected curvatures of a polygon mesh.

Classes

struct  CGAL::Polygon_mesh_processing::Principal_curvatures_and_directions< GT >
 a struct for storing principal curvatures and directions. More...
 

Functions

template<typename PolygonMesh , typename NamedParameters = CGAL::parameters::Default_named_parameters>
void CGAL::Polygon_mesh_processing::interpolated_corrected_curvatures (const PolygonMesh &pmesh, const NamedParameters &np=parameters::default_values())
 computes the interpolated corrected curvatures across the mesh pmesh.
 
template<typename VertexDescriptor , typename PolygonMesh , typename NamedParameters = CGAL::parameters::Default_named_parameters>
void CGAL::Polygon_mesh_processing::interpolated_corrected_curvatures (VertexDescriptor v, const PolygonMesh &pmesh, const NamedParameters &np=parameters::default_values())
 computes the interpolated corrected curvatures at a vertex v.
 

Function Documentation

◆ interpolated_corrected_curvatures() [1/2]

template<typename PolygonMesh , typename NamedParameters = CGAL::parameters::Default_named_parameters>
void CGAL::Polygon_mesh_processing::interpolated_corrected_curvatures ( const PolygonMesh &  pmesh,
const NamedParameters &  np = parameters::default_values() 
)

#include <CGAL/Polygon_mesh_processing/interpolated_corrected_curvatures.h>

computes the interpolated corrected curvatures across the mesh pmesh.

By providing mean, Gaussian and/or principal curvature and direction property maps as named parameters, the user can choose which quantities to compute.

Note
This function depends on the Eigen 3.1 (or later) library.
Template Parameters
PolygonMesha model of FaceListGraph.
NamedParametersa sequence of Named Parameters.
Parameters
pmeshthe polygon mesh.
npan optional sequence of Named Parameters among the ones listed below. GT stands for the type of the object provided to the named parameter geom_traits().
Optional Named Parameters
  • a property map associating mean curvatures to the vertices of pmesh.
  • Type: a class model of WritablePropertyMap with boost::graph_traits<PolygonMesh>::vertex_descriptor as key type and GT::FT as value type
  • Extra: If this parameter is omitted, mean curvatures will not be computed.

  • a property map associating Gaussian curvatures to the vertices of pmesh.
  • Type: a class model of WritablePropertyMap with boost::graph_traits<PolygonMesh>::vertex_descriptor as key type and GT::FT as value type.
  • Extra: If this parameter is omitted, Gaussian curvatures will not be computed.

  • a property map associating principal curvatures and directions to the vertices of pmesh.
  • Type: a class model of WritablePropertyMap with boost::graph_traits<PolygonMesh>::vertex_descriptor as key type and Principal_curvatures_and_directions<GT> as value type.
  • Extra: If this parameter is omitted, principal curvatures and directions will not be computed.

  • a strictly positive scalar value specifying the radius used for expanding curvature measures by summing measures of faces inside a ball of this radius centered at the vertex expanded from. The summed face measures are weighted by their inclusion ratio inside this ball.
  • Type: GT::FT
  • Default: -1
  • Extra: If this parameter is omitted (-1), the expansion is then just a sum of measures on faces around the vertex.

  • a property map associating points to the vertices of pmesh.
  • Type: a class model of ReadablePropertyMap with boost::graph_traits<PolygonMesh>::vertex_descriptor as key type and GT::Point_3 as value type.
  • Default: boost::get(CGAL::vertex_point, pmesh).
  • Extra: If this parameter is omitted, an internal property map for CGAL::vertex_point_t must be available in PolygonMesh.

  • a property map associating normal vectors to the vertices of pmesh.
  • Type: a class model of ReadablePropertyMap with boost::graph_traits<PolygonMesh>::vertex_descriptor as key type and GT::Vector_3 as value type.
  • Default: get(dynamic_vertex_property_t<GT::Vector_3>(), pmesh).
  • Extra: If this parameter is omitted, vertex normals will be computed using compute_vertex_normals().

  • an instance of a geometric traits class.
  • Type: a class model of Kernel
  • Default: a CGAL Kernel deduced from the point type, using CGAL::Kernel_traits.
  • Extra: The geometric traits class must be compatible with the vertex point type.

◆ interpolated_corrected_curvatures() [2/2]

template<typename VertexDescriptor , typename PolygonMesh , typename NamedParameters = CGAL::parameters::Default_named_parameters>
void CGAL::Polygon_mesh_processing::interpolated_corrected_curvatures ( VertexDescriptor  v,
const PolygonMesh &  pmesh,
const NamedParameters &  np = parameters::default_values() 
)

#include <CGAL/Polygon_mesh_processing/interpolated_corrected_curvatures.h>

computes the interpolated corrected curvatures at a vertex v.

By providing mean, Gaussian and/or principal curvature and direction property maps as named parameters, the user can choose which quantities to compute.

Note
This function depends on the Eigen 3.1 (or later) library.
Template Parameters
PolygonMesha model of FaceListGraph.
VertexDescriptormust be convertible to boost::graph_traits<PolygonMesh>::vertex_descriptor.
NamedParametersa sequence of Named Parameters.
Parameters
pmeshthe polygon mesh.
vthe vertex of pmesh to compute the curvatures at.
npan optional sequence of Named Parameters among the ones listed below. GT stands for the type of the object provided to the named parameter geom_traits().
Optional Named Parameters
  • a reference to a scalar value to store the mean curvature at the vertex v.
  • Type: std::reference_wrapper<GT::FT>.
  • Extra: If this parameter is omitted, mean curvature will not be computed.

  • a reference to a scalar value to store the Gaussian curvature at the vertex v.
  • Type: std::reference_wrapper<GT::FT>.
  • Extra: If this parameter is omitted, Gaussian curvature will not be computed.

  • a scalar value specifying the radius used for expanding curvature measures by summing measures of faces inside a ball of this radius centered at the vertex expanded from. The summed face measures are weighted by their inclusion ratio inside this ball.
  • Type: GT::FT
  • Default: -1
  • Extra: If this parameter is omitted (-1), the expansion is then just a sum of measures on faces around the vertex.

  • a property map associating points to the vertices of pmesh.
  • Type: a class model of ReadablePropertyMap with boost::graph_traits<PolygonMesh>::vertex_descriptor as key type and GT::Point_3 as value type.
  • Default: boost::get(CGAL::vertex_point, pmesh).
  • Extra: If this parameter is omitted, an internal property map for CGAL::vertex_point_t must be available in PolygonMesh.

  • a property map associating normal vectors to the vertices of pmesh.
  • Type: a class model of ReadablePropertyMap with boost::graph_traits<PolygonMesh>::vertex_descriptor as key type and GT::Vector_3 as value type.
  • Default: get(dynamic_vertex_property_t<GT::Vector_3>(), pmesh).
  • Extra: If this parameter is omitted, vertex normals will be computed using compute_vertex_normals().

  • an instance of a geometric traits class.
  • Type: a class model of Kernel
  • Default: a CGAL Kernel deduced from the point type, using CGAL::Kernel_traits.
  • Extra: The geometric traits class must be compatible with the vertex point type.