vtkMassProperties Class Reference

#include <vtkMassProperties.h>

Inheritance diagram for vtkMassProperties:

Inheritance graph
[legend]
Collaboration diagram for vtkMassProperties:

Collaboration graph
[legend]

List of all members.


Detailed Description

estimate volume, area, shape index of triangle mesh

vtkMassProperties estimates the volume, the surface area, and the normalized shape index of a triangle mesh. The algorithm implemented here is based on the discrete form of the divergence theorem. The general assumption here is that the model is of closed surface. For more details see the following reference (Alyassin A.M. et al, "Evaluation of new algorithms for the interactive measurement of surface area and volume", Med Phys 21(6) 1994.).

Warning:
Currently only triangles are processed. Use vtkTriangleFilter to convert any strips or polygons to triangles.
See also:
vtkTriangleFilter
Tests:
vtkMassProperties (Tests)

Definition at line 43 of file vtkMassProperties.h.


Public Types

typedef vtkPolyDataAlgorithm Superclass

Public Member Functions

virtual const char * GetClassName ()
virtual int IsA (const char *type)
void PrintSelf (ostream &os, vtkIndent indent)
double GetVolume ()
double GetVolumeProjected ()
double GetSurfaceArea ()
double GetMinCellArea ()
double GetMaxCellArea ()
double GetVolumeX ()
double GetVolumeY ()
double GetVolumeZ ()
double GetKx ()
double GetKy ()
double GetKz ()
double GetNormalizedShapeIndex ()

Static Public Member Functions

static vtkMassPropertiesNew ()
static int IsTypeOf (const char *type)
static vtkMassPropertiesSafeDownCast (vtkObject *o)

Protected Member Functions

 vtkMassProperties ()
 ~vtkMassProperties ()
virtual int RequestData (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)

Protected Attributes

double SurfaceArea
double MinCellArea
double MaxCellArea
double Volume
double VolumeProjected
double VolumeX
double VolumeY
double VolumeZ
double Kx
double Ky
double Kz
double NormalizedShapeIndex

Member Typedef Documentation

Reimplemented from vtkPolyDataAlgorithm.

Definition at line 49 of file vtkMassProperties.h.


Constructor & Destructor Documentation

vtkMassProperties::vtkMassProperties (  )  [protected]

vtkMassProperties::~vtkMassProperties (  )  [protected]


Member Function Documentation

static vtkMassProperties* vtkMassProperties::New (  )  [static]

Constructs with initial values of zero.

Reimplemented from vtkPolyDataAlgorithm.

virtual const char* vtkMassProperties::GetClassName (  )  [virtual]

Reimplemented from vtkPolyDataAlgorithm.

static int vtkMassProperties::IsTypeOf ( const char *  name  )  [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 vtkPolyDataAlgorithm.

virtual int vtkMassProperties::IsA ( const char *  name  )  [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 vtkPolyDataAlgorithm.

static vtkMassProperties* vtkMassProperties::SafeDownCast ( vtkObject o  )  [static]

Reimplemented from vtkPolyDataAlgorithm.

void vtkMassProperties::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 vtkPolyDataAlgorithm.

double vtkMassProperties::GetVolume (  )  [inline]

Compute and return the volume.

Definition at line 53 of file vtkMassProperties.h.

double vtkMassProperties::GetVolumeProjected (  )  [inline]

Compute and return the projected volume. Typically you should compare this volume to the value returned by GetVolume if you get an error (GetVolume()-GetVolumeProjected())*10000 that is greater than GetVolume() this should identify a problem: * Either the polydata is not closed * Or the polydata contains triangle that are flipped

Definition at line 60 of file vtkMassProperties.h.

double vtkMassProperties::GetVolumeX (  )  [inline]

Compute and return the volume projected on to each axis aligned plane.

Definition at line 65 of file vtkMassProperties.h.

double vtkMassProperties::GetVolumeY (  )  [inline]

Compute and return the volume projected on to each axis aligned plane.

Definition at line 66 of file vtkMassProperties.h.

double vtkMassProperties::GetVolumeZ (  )  [inline]

Compute and return the volume projected on to each axis aligned plane.

Definition at line 67 of file vtkMassProperties.h.

double vtkMassProperties::GetKx (  )  [inline]

Compute and return the weighting factors for the maximum unit normal component (MUNC).

Definition at line 73 of file vtkMassProperties.h.

double vtkMassProperties::GetKy (  )  [inline]

Compute and return the weighting factors for the maximum unit normal component (MUNC).

Definition at line 74 of file vtkMassProperties.h.

double vtkMassProperties::GetKz (  )  [inline]

Compute and return the weighting factors for the maximum unit normal component (MUNC).

Definition at line 75 of file vtkMassProperties.h.

double vtkMassProperties::GetSurfaceArea (  )  [inline]

Compute and return the area.

Definition at line 79 of file vtkMassProperties.h.

double vtkMassProperties::GetMinCellArea (  )  [inline]

Compute and return the min cell area.

Definition at line 82 of file vtkMassProperties.h.

double vtkMassProperties::GetMaxCellArea (  )  [inline]

Compute and return the max cell area.

Definition at line 85 of file vtkMassProperties.h.

double vtkMassProperties::GetNormalizedShapeIndex (  )  [inline]

Compute and return the normalized shape index. This characterizes the deviation of the shape of an object from a sphere. A sphere's NSI is one. This number is always >= 1.0.

Definition at line 91 of file vtkMassProperties.h.

virtual int vtkMassProperties::RequestData ( vtkInformation request,
vtkInformationVector **  inputVector,
vtkInformationVector outputVector 
) [protected, virtual]

This is called by the superclass. This is the method you should override.

Reimplemented from vtkPolyDataAlgorithm.


Member Data Documentation

double vtkMassProperties::SurfaceArea [protected]

Definition at line 103 of file vtkMassProperties.h.

double vtkMassProperties::MinCellArea [protected]

Definition at line 104 of file vtkMassProperties.h.

double vtkMassProperties::MaxCellArea [protected]

Definition at line 105 of file vtkMassProperties.h.

double vtkMassProperties::Volume [protected]

Definition at line 106 of file vtkMassProperties.h.

Definition at line 107 of file vtkMassProperties.h.

double vtkMassProperties::VolumeX [protected]

Definition at line 108 of file vtkMassProperties.h.

double vtkMassProperties::VolumeY [protected]

Definition at line 109 of file vtkMassProperties.h.

double vtkMassProperties::VolumeZ [protected]

Definition at line 110 of file vtkMassProperties.h.

double vtkMassProperties::Kx [protected]

Definition at line 111 of file vtkMassProperties.h.

double vtkMassProperties::Ky [protected]

Definition at line 112 of file vtkMassProperties.h.

double vtkMassProperties::Kz [protected]

Definition at line 113 of file vtkMassProperties.h.

Definition at line 114 of file vtkMassProperties.h.


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

Generated on Sat Dec 27 13:36:05 2008 for VTK by  doxygen 1.5.6