00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00045
#ifndef __vtkMassProperties_h
00046
#define __vtkMassProperties_h
00047
00048
#include "vtkProcessObject.h"
00049
00050
class vtkPolyData;
00051
00052 class VTK_GRAPHICS_EXPORT vtkMassProperties :
public vtkProcessObject
00053 {
00054
public:
00056
static vtkMassProperties *
New();
00057
00058 vtkTypeRevisionMacro(vtkMassProperties,
vtkProcessObject);
00059
void PrintSelf(ostream& os,
vtkIndent indent);
00060
00062 double GetVolume() {this->Update();
return this->Volume;}
00063
00065
00067 double GetVolumeX() {this->Update();
return this->VolumeX;}
00068 double GetVolumeY() {this->Update();
return this->VolumeY;}
00069 double GetVolumeZ() {this->Update();
return this->VolumeZ;}
00071
00073
00075 double GetKx() {this->Update();
return this->Kx;}
00076 double GetKy() {this->Update();
return this->Ky;}
00077 double GetKz() {this->Update();
return this->Kz;}
00079
00081 double GetSurfaceArea() {this->Update();
return this->SurfaceArea;}
00082
00084
00087 double GetNormalizedShapeIndex()
00088 {this->Update();
return this->NormalizedShapeIndex;}
00090
00091
void Update();
00092
00093
void SetInput(
vtkPolyData *input);
00094
vtkPolyData *GetInput();
00095
00096
protected:
00097 vtkMassProperties();
00098 ~vtkMassProperties();
00099
00100
void Execute();
00101
00102 double SurfaceArea;
00103 double Volume;
00104 double VolumeX;
00105 double VolumeY;
00106 double VolumeZ;
00107 double Kx;
00108 double Ky;
00109 double Kz;
00110 double NormalizedShapeIndex;
00111 vtkTimeStamp ExecuteTime;
00112
00113
private:
00114 vtkMassProperties(
const vtkMassProperties&);
00115
void operator=(
const vtkMassProperties&);
00116 };
00117
00118
#endif
00119
00120