Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members Related Pages

# vtkCurvatures Class Reference

`#include <vtkCurvatures.h>`

Inheritance diagram for vtkCurvatures:

[legend]
Collaboration diagram for vtkCurvatures:

[legend]
List of all members.

## Detailed Description

compute curvatures (Gauss and mean) of a Polydata object

Date:
  2002/11/01 09:53:07

Revision:
  1.2

vtkCurvatures takes a polydata input and computes the curvature of the mesh at each point. Two possible methods of computation are available :

Gauss Curvature discrete Gauss curvature (K) computation, K(vertex v) = 2*PI-\sum_{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]

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.

Thanks:
  Philip Batchelor philipp.batchelor@kcl.ac.uk for creating and contributing the class and Andrew Maclean a.maclean@acfr.usyd.edu.au for cleanups and fixes

Created by:
  - Biddiscombe, John

CVS contributions (if > 5%):
  - Biddiscombe, John (93%)
  - Cedilnik, Andy (5%)

CVS logs (CVSweb):
  - .`cxx` (`/Graphics/vtkCurvatures.cxx)`
  - .`h` (`/Graphics/vtkCurvatures.h)`

Tests:
  vtkCurvatures (Tests)

Definition at line 77 of file vtkCurvatures.h.

## Public Types

typedef vtkPolyDataToPolyDataFilter | Superclass

## Public Methods

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 ()
virtual void | SetInvertMeanCurvature (int)
virtual int | GetInvertMeanCurvature ()
virtual void | InvertMeanCurvatureOn ()
virtual void | InvertMeanCurvatureOff ()

## Static Public Methods

int | IsTypeOf (const char *type)
vtkCurvatures * | SafeDownCast (vtkObject *o)
vtkCurvatures * | New ()

## Protected Methods

| vtkCurvatures ()
void | Execute ()
void | GetGaussCurvature ()
void | GetMeanCurvature ()

## Protected Attributes

int | CurvatureType
int | InvertMeanCurvature

## Member Typedef Documentation

typedef vtkPolyDataToPolyDataFilter vtkCurvatures::Superclass

| Reimplemented from vtkPolyDataToPolyDataFilter. Definition at line 80 of file vtkCurvatures.h.

## Constructor & Destructor Documentation

vtkCurvatures::vtkCurvatures | ( |  | ) | `[protected]`

## Member Function Documentation

virtual const char* vtkCurvatures::GetClassName | ( |  | ) | `[virtual]`

| Reimplemented from vtkPolyDataToPolyDataFilter.

int vtkCurvatures::IsTypeOf | ( | const char * | type | ) | `[static]`

| 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.

virtual int vtkCurvatures::IsA | ( | const char * | type | ) | `[virtual]`

| 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.

vtkCurvatures* vtkCurvatures::SafeDownCast | ( | vtkObject * | o | ) | `[static]`

| Reimplemented from vtkPolyDataToPolyDataFilter.

void vtkCurvatures::PrintSelf | ( | ostream & | os,
|  | vtkIndent | indent
| ) | `[virtual]`

| 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.

vtkCurvatures* vtkCurvatures::New | ( |  | ) | `[static]`

| Construct with curvature type set to Gauss Reimplemented from vtkObject.

virtual void vtkCurvatures::SetCurvatureType | ( | int |  | ) | `[virtual]`

| Set/Get Curvature type VTK_CURVATURE_GAUSS: Gaussian curvature, stored as DataArray "Gauss_Curvature" VTK_CURVATURE_MEAN : Mean curvature, stored as DataArray "Mean_Curvature"

virtual int vtkCurvatures::GetCurvatureType | ( |  | ) | `[virtual]`

| Set/Get Curvature type VTK_CURVATURE_GAUSS: Gaussian curvature, stored as DataArray "Gauss_Curvature" VTK_CURVATURE_MEAN : Mean curvature, stored as DataArray "Mean_Curvature"

void vtkCurvatures::SetCurvatureTypeToGaussian | ( |  | ) | `[inline]`

| 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 92 of file vtkCurvatures.h. References VTK_CURVATURE_GAUSS.

void vtkCurvatures::SetCurvatureTypeToMean | ( |  | ) | `[inline]`

| 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 94 of file vtkCurvatures.h. References VTK_CURVATURE_MEAN.

virtual void vtkCurvatures::SetInvertMeanCurvature | ( | int |  | ) | `[virtual]`

| Set/Get the flag which inverts the mean curvature calculation for meshes with inward pointing normals (default false)

virtual int vtkCurvatures::GetInvertMeanCurvature | ( |  | ) | `[virtual]`

| Set/Get the flag which inverts the mean curvature calculation for meshes with inward pointing normals (default false)

virtual void vtkCurvatures::InvertMeanCurvatureOn | ( |  | ) | `[virtual]`

| Set/Get the flag which inverts the mean curvature calculation for meshes with inward pointing normals (default false)

virtual void vtkCurvatures::InvertMeanCurvatureOff | ( |  | ) | `[virtual]`

| Set/Get the flag which inverts the mean curvature calculation for meshes with inward pointing normals (default false)

void vtkCurvatures::Execute | ( |  | ) | `[protected, virtual]`

| This method is the old style execute method Reimplemented from vtkSource.

void vtkCurvatures::GetGaussCurvature | ( |  | ) | `[protected]`

| discrete Gauss curvature (K) computation, cf http://www-ipg.umds.ac.uk/p.batchelor/curvatures/curvatures.html

void vtkCurvatures::GetMeanCurvature | ( |  | ) | `[protected]`

## Member Data Documentation

int vtkCurvatures::CurvatureType`[protected]`

| Definition at line 120 of file vtkCurvatures.h.

int vtkCurvatures::InvertMeanCurvature`[protected]`

| Definition at line 121 of file vtkCurvatures.h.

The documentation for this class was generated from the following file:

- Graphics/vtkCurvatures.h