#include <vtkCurvatures.h>
Inheritance diagram for vtkCurvatures:
vtkCurvatures takes a polydata input and computes the curvature of the mesh at each point. Four possible methods of computation are available :
Gauss Curvature discrete Gauss curvature (K) computation, K(vertex v) = 2*PI-{facet neighbs f of v} (angle_f at v) The contribution of every facet is for the moment weighted by Area(facet)/3 The units of Gaussian Curvature are [1/m^2]
Mean Curvature H(vertex v) = average over edges neighbs e of H(e) H(edge e) = length(e)*dihedral_angle(e) NB: dihedral_angle is the ORIENTED angle between -PI and PI, this means that the surface is assumed to be orientable the computation creates the orientation The units of Mean Curvature are [1/m]
Maximum (k_max) and Minimum (k_min) Principal Curvatures k_max = H + sqrt(H^2 - K) k_min = H - sqrt(H^2 - K) Excepting spherical and planar surfaces which have equal principal curvatures, the curvature at a point on a surface varies with the direction one "sets off" from the point. For all directions, the curvature will pass through two extrema: a minimum (k_min) and a maximum (k_max) which occur at mutually orthogonal directions to each other.
NB. The sign of the Gauss curvature is a geometric ivariant, it should be +ve when the surface looks like a sphere, -ve when it looks like a saddle, however, the sign of the Mean curvature is not, it depends on the convention for normals - This code assumes that normals point outwards (ie from the surface of a sphere outwards). If a given mesh produces curvatures of opposite senses then the flag InvertMeanCurvature can be set and the Curvature reported by the Mean calculation will be inverted.
Definition at line 86 of file vtkCurvatures.h.
Public Types | |
typedef vtkPolyDataToPolyDataFilter | Superclass |
Public Member Functions | |
virtual const char * | GetClassName () |
virtual int | IsA (const char *type) |
void | PrintSelf (ostream &os, vtkIndent indent) |
virtual void | SetCurvatureType (int) |
virtual int | GetCurvatureType () |
void | SetCurvatureTypeToGaussian () |
void | SetCurvatureTypeToMean () |
void | SetCurvatureTypeToMaximum () |
void | SetCurvatureTypeToMinimum () |
virtual void | SetInvertMeanCurvature (int) |
virtual int | GetInvertMeanCurvature () |
virtual void | InvertMeanCurvatureOn () |
virtual void | InvertMeanCurvatureOff () |
Static Public Member Functions | |
int | IsTypeOf (const char *type) |
vtkCurvatures * | SafeDownCast (vtkObject *o) |
vtkCurvatures * | New () |
Protected Member Functions | |
vtkCurvatures () | |
void | Execute () |
void | GetGaussCurvature () |
void | GetMeanCurvature () |
void | GetMaximumCurvature () |
void | GetMinimumCurvature () |
Protected Attributes | |
int | CurvatureType |
int | InvertMeanCurvature |
|
Reimplemented from vtkPolyDataToPolyDataFilter. Definition at line 89 of file vtkCurvatures.h. |
|
|
|
Reimplemented from vtkPolyDataToPolyDataFilter. |
|
Return 1 if this class type is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeRevisionMacro found in vtkSetGet.h. Reimplemented from vtkPolyDataToPolyDataFilter. |
|
Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeRevisionMacro found in vtkSetGet.h. Reimplemented from vtkPolyDataToPolyDataFilter. |
|
Reimplemented from vtkPolyDataToPolyDataFilter. |
|
Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes. Reimplemented from vtkPolyDataToPolyDataFilter. |
|
Construct with curvature type set to Gauss Reimplemented from vtkAlgorithm. |
|
Set/Get Curvature type VTK_CURVATURE_GAUSS: Gaussian curvature, stored as DataArray "Gauss_Curvature" VTK_CURVATURE_MEAN : Mean curvature, stored as DataArray "Mean_Curvature" |
|
Set/Get Curvature type VTK_CURVATURE_GAUSS: Gaussian curvature, stored as DataArray "Gauss_Curvature" VTK_CURVATURE_MEAN : Mean curvature, stored as DataArray "Mean_Curvature" |
|
Set/Get Curvature type VTK_CURVATURE_GAUSS: Gaussian curvature, stored as DataArray "Gauss_Curvature" VTK_CURVATURE_MEAN : Mean curvature, stored as DataArray "Mean_Curvature" Definition at line 101 of file vtkCurvatures.h. References VTK_CURVATURE_GAUSS. |
|
Set/Get Curvature type VTK_CURVATURE_GAUSS: Gaussian curvature, stored as DataArray "Gauss_Curvature" VTK_CURVATURE_MEAN : Mean curvature, stored as DataArray "Mean_Curvature" Definition at line 103 of file vtkCurvatures.h. References VTK_CURVATURE_MEAN. |
|
Set/Get Curvature type VTK_CURVATURE_GAUSS: Gaussian curvature, stored as DataArray "Gauss_Curvature" VTK_CURVATURE_MEAN : Mean curvature, stored as DataArray "Mean_Curvature" Definition at line 105 of file vtkCurvatures.h. References VTK_CURVATURE_MAXIMUM. |
|
Set/Get Curvature type VTK_CURVATURE_GAUSS: Gaussian curvature, stored as DataArray "Gauss_Curvature" VTK_CURVATURE_MEAN : Mean curvature, stored as DataArray "Mean_Curvature" Definition at line 107 of file vtkCurvatures.h. References VTK_CURVATURE_MINIMUM. |
|
Set/Get the flag which inverts the mean curvature calculation for meshes with inward pointing normals (default false) |
|
Set/Get the flag which inverts the mean curvature calculation for meshes with inward pointing normals (default false) |
|
Set/Get the flag which inverts the mean curvature calculation for meshes with inward pointing normals (default false) |
|
Set/Get the flag which inverts the mean curvature calculation for meshes with inward pointing normals (default false) |
|
This method is the old style execute method Reimplemented from vtkSource. |
|
discrete Gauss curvature (K) computation, cf http://www-ipg.umds.ac.uk/p.batchelor/curvatures/curvatures.html |
|
|
|
Maximum principal curvature k_max = H + sqrt(H^2 -K) |
|
Minimum principal curvature k_min = H - sqrt(H^2 -K) |
|
Definition at line 140 of file vtkCurvatures.h. |
|
Definition at line 141 of file vtkCurvatures.h. |