#include <vtkMassProperties.h>
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.).
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 vtkMassProperties * | New () |
static int | IsTypeOf (const char *type) |
static vtkMassProperties * | SafeDownCast (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 |
vtkMassProperties::vtkMassProperties | ( | ) | [protected] |
vtkMassProperties::~vtkMassProperties | ( | ) | [protected] |
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.
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.
double vtkMassProperties::VolumeProjected [protected] |
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.
double vtkMassProperties::NormalizedShapeIndex [protected] |
Definition at line 114 of file vtkMassProperties.h.