GitHub link
PMP
The Polygon Mesh Processing Library
SurfaceCurvature Class Reference

Compute per-vertex curvature (min,max,mean,Gaussian). More...

#include <pmp/algorithms/SurfaceCurvature.h>

Public Member Functions

 SurfaceCurvature (SurfaceMesh &mesh)
 construct with mesh to be analyzed
 
 ~SurfaceCurvature ()
 destructor
 
void analyze (unsigned int post_smoothing_steps=0)
 compute curvature information for each vertex, optionally followed by some smoothing iterations of the curvature values
 
void analyze_tensor (unsigned int post_smoothing_steps=0, bool two_ring_neighborhood=false)
 compute curvature information for each vertex, optionally followed by some smoothing iterations of the curvature values
 
Scalar mean_curvature (Vertex v) const
 return mean curvature
 
Scalar gauss_curvature (Vertex v) const
 return Gaussian curvature
 
Scalar min_curvature (Vertex v) const
 return minimum (signed) curvature
 
Scalar max_curvature (Vertex v) const
 return maximum (signed) curvature
 
Scalar max_abs_curvature (Vertex v) const
 return maximum absolute curvature
 
void mean_curvature_to_texture_coordinates () const
 convert (precomputed) mean curvature to 1D texture coordinates
 
void gauss_curvature_to_texture_coordinates () const
 convert (precomputed) Gauss curvature to 1D texture coordinates
 
void max_curvature_to_texture_coordinates () const
 convert (precomputed) max. abs. curvature to 1D texture coordinates
 

Detailed Description

Curvature values for boundary vertices are interpolated from their interior neighbors. Curvature values can be smoothed. See [17] and [5] for details.