26#ifndef __vtkboneTensorOfInertia_h
27#define __vtkboneTensorOfInertia_h
64 vtkSetMacro(UseSpecificValue,
int);
65 vtkGetMacro(UseSpecificValue,
int);
66 vtkBooleanMacro(UseSpecificValue,
int);
73 vtkGetMacro(SpecificValue,
int);
80 vtkSetMacro(UseThresholds,
int);
81 vtkGetMacro(UseThresholds,
int);
82 vtkBooleanMacro(UseThresholds,
int);
89 vtkGetMacro(LowerThreshold,
double);
96 vtkGetMacro(UpperThreshold,
double);
106 vtkGetMacro(Volume,
double);
111 vtkGetMacro(Mass,
double);
116 vtkGetVector3Macro(CenterOfMass,
double);
135 vtkGetVector3Macro(PrincipalAxisClosestToX,
double);
136 vtkGetVector3Macro(PrincipalAxisClosestToY,
double);
137 vtkGetVector3Macro(PrincipalAxisClosestToZ,
double);
143 vtkGetVector3Macro(PrincipalMoments,
double);
145 {
return this->PrincipalMoments[0];}
147 {
return this->PrincipalMoments[1];}
149 {
return this->PrincipalMoments[2];}
210 double CenterOfMass[3];
214 double PrincipalMoments[3];
215 double PrincipalAxisClosestToX[3];
216 double PrincipalAxisClosestToY[3];
217 double PrincipalAxisClosestToZ[3];
void operator=(const vtkObjectBase &)
calculates the tensor of inertia.
virtual int ProcessRequest(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
static void TranslateTensorOfInertia(vtkboneTensor *T1, double r1[3], double mass, double r2[3], vtkboneTensor *T2)
static void TranslateTensorOfInertiaFromCOM(vtkboneTensor *T0, double mass, double r[3], vtkboneTensor *T)
void GetTensorOfInertia(vtkboneTensor *MOI)
virtual int ProcessImage(vtkImageData *image)
double GetPrincipalMoment2()
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
void SetInputData(int, vtkDataObject *)
void GetTensorOfInertiaAboutOrigin(vtkboneTensor *MOI)
double GetCenterOfMassX()
static void TranslateTensorOfInertiaToCOM(vtkboneTensor *T, double mass, double r[3], vtkboneTensor *T0)
static vtkboneTensorOfInertia * New()
double GetCenterOfMassY()
vtkboneTensor * TensorOfInertia
void PrintSelf(ostream &os, vtkIndent indent) override
~vtkboneTensorOfInertia()
double GetPrincipalMoment1()
vtkMatrix3x3 * Eigenvectors
double GetCenterOfMassZ()
void SetUpperThreshold(double v)
void SetSpecificValue(int v)
vtkboneTensor * TensorOfInertiaAboutOrigin
void SetLowerThreshold(double v)
virtual int FillInputPortInformation(int port, vtkInformation *info) override
void GetEigenvectors(vtkMatrix3x3 *A)
double GetPrincipalMoment0()
virtual int ProcessUnstructuredGrid(vtkUnstructuredGrid *grid)
void SetInputData(vtkDataObject *)
supporting class to enable assignment and referencing of tensors