CGAL 6.2 - Polygon Mesh Processing

Loading...
Searching...
No Matches
Classes | Functions
Corrected Curvature Computation
Reference Manual

##

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

  PolygonMesh | a model of `VertexListGraph` and `FaceListGraph`.
  NamedParameters | a sequence of Named Parameters.

Parameters

  pmesh | the polygon mesh.
  np | an 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. |

Examples
  Polygon_mesh_processing/interpolated_corrected_curvatures_PH.cpp, Polygon_mesh_processing/interpolated_corrected_curvatures_SM.cpp, and Polygon_mesh_processing/interpolated_corrected_curvatures_vertex.cpp.

## ◆ 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

  PolygonMesh | a model of `FaceListGraph`.
  VertexDescriptor | must be convertible to `boost::graph_traits<PolygonMesh>::vertex_descriptor`.
  NamedParameters | a sequence of Named Parameters.

Parameters

  pmesh | the polygon mesh.
  v | the vertex of `pmesh` to compute the curvatures at.
  np | an 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 reference to a `Principal_curvatures_and_directions<GT>` object to store the principal curvatures and directions at the vertex `v`. Type: `std::reference_wrapper<Principal_curvatures_and_directions<GT>>`. Extra: If this parameter is omitted, principal curvatures and directions 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. |