Graphics/vtkMassProperties.h
Go to the documentation of this file.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