#include <figureCuttingModel.h>
Public Member Functions | |
figureCuttingModel () | |
virtual | ~figureCuttingModel () |
void | SetPosition (double x, double y, double z) |
double | GetPositionX () |
double | GetPositionY () |
double | GetPositionZ () |
void | SetScale (double sx, double sy, double sz) |
double | GetScaleX () |
double | GetScaleY () |
double | GetScaleZ () |
void | SetRotation (double alfa, double beta, double teta) |
double | GetAngleAlfa () |
double | GetAngleBeta () |
double | GetAngleTeta () |
void | SetSpacing (double spcX, double spcY, double spcZ) |
void | CalculeMatrix () |
void | CalculeInversMatrix () |
virtual bool | IfPointInside (double x, double y, double z) |
vtkTransform * | GetVtkTransform () |
virtual double | GetTheoricVolume () |
virtual const char * | GetName () |
Protected Attributes | |
double | _sx |
double | _sy |
double | _sz |
vtkTransform * | _inversModel |
vtkTransform * | _matrixModel |
vtkTransform * | _matrixVisual |
Private Attributes | |
double | _px |
double | _py |
double | _pz |
double | _alfa |
double | _beta |
double | _teta |
double | _spcX |
double | _spcY |
double | _spcZ |
Definition at line 6 of file figureCuttingModel.h.
figureCuttingModel::figureCuttingModel | ( | ) |
Definition at line 7 of file figureCuttingModel.cxx.
References _inversModel, _matrixModel, _matrixVisual, _spcX, _spcY, and _spcZ.
00008 { 00009 _inversModel = vtkTransform::New(); 00010 _matrixModel = vtkTransform::New(); 00011 _matrixVisual = vtkTransform::New(); 00012 00013 _spcX=1; 00014 _spcY=1; 00015 _spcZ=1; 00016 }
figureCuttingModel::~figureCuttingModel | ( | ) | [virtual] |
Definition at line 18 of file figureCuttingModel.cxx.
References _inversModel.
00019 { 00020 _inversModel->Delete(); 00021 }
void figureCuttingModel::CalculeInversMatrix | ( | ) |
Definition at line 65 of file figureCuttingModel.cxx.
References _inversModel, and _matrixModel.
Referenced by wxPanelCuttingImageData::OnExtract().
00066 { 00067 _inversModel->Identity (); 00068 _inversModel->Concatenate ( _matrixModel ); 00069 _inversModel->Inverse(); 00070 }
void figureCuttingModel::CalculeMatrix | ( | ) |
Definition at line 45 of file figureCuttingModel.cxx.
References _alfa, _beta, _matrixModel, _matrixVisual, _px, _py, _pz, _spcX, _spcY, _spcZ, _sx, _sy, _sz, and _teta.
00046 { 00047 _matrixModel->Identity(); 00048 _matrixModel->Translate(_px,_py,_pz); 00049 _matrixModel->RotateY(_beta); 00050 _matrixModel->RotateX(_alfa); 00051 _matrixModel->RotateY(_teta); 00052 _matrixModel->Scale(_sx,_sy,_sz); 00053 00054 _matrixVisual->Identity(); 00055 _matrixVisual->Translate( _px*_spcX , _py*_spcY , _pz*_spcZ ); 00056 _matrixVisual->RotateY(_beta); 00057 _matrixVisual->RotateX(_alfa); 00058 _matrixVisual->RotateY(_teta); 00059 _matrixVisual->Scale( _sx*_spcX , _sy*_spcY , _sz*_spcZ ); 00060 00061 }
double figureCuttingModel::GetAngleAlfa | ( | ) |
Definition at line 126 of file figureCuttingModel.cxx.
References _alfa.
00127 { 00128 return _alfa; 00129 }
double figureCuttingModel::GetAngleBeta | ( | ) |
Definition at line 131 of file figureCuttingModel.cxx.
References _beta.
00132 { 00133 return _beta; 00134 }
double figureCuttingModel::GetAngleTeta | ( | ) |
Definition at line 136 of file figureCuttingModel.cxx.
References _teta.
00137 { 00138 return _teta; 00139 }
const char * figureCuttingModel::GetName | ( | ) | [virtual] |
Reimplemented in figureCuttingCubeModel, figureCuttingCylinderModel, and figureCuttingSphereModel.
Definition at line 141 of file figureCuttingModel.cxx.
double figureCuttingModel::GetPositionX | ( | ) |
Definition at line 96 of file figureCuttingModel.cxx.
References _px.
00097 { 00098 return _px; 00099 }
double figureCuttingModel::GetPositionY | ( | ) |
Definition at line 101 of file figureCuttingModel.cxx.
References _py.
00102 { 00103 return _py; 00104 }
double figureCuttingModel::GetPositionZ | ( | ) |
Definition at line 106 of file figureCuttingModel.cxx.
References _pz.
00107 { 00108 return _pz; 00109 }
double figureCuttingModel::GetScaleX | ( | ) |
Definition at line 111 of file figureCuttingModel.cxx.
References _sx.
00112 { 00113 return _sx; 00114 }
double figureCuttingModel::GetScaleY | ( | ) |
Definition at line 116 of file figureCuttingModel.cxx.
References _sy.
00117 { 00118 return _sy; 00119 }
double figureCuttingModel::GetScaleZ | ( | ) |
Definition at line 121 of file figureCuttingModel.cxx.
References _sz.
00122 { 00123 return _sz; 00124 }
double figureCuttingModel::GetTheoricVolume | ( | ) | [virtual] |
Reimplemented in figureCuttingCubeModel, figureCuttingCylinderModel, and figureCuttingSphereModel.
Definition at line 90 of file figureCuttingModel.cxx.
Referenced by wxPanelCuttingImageData::OnExtract().
vtkTransform * figureCuttingModel::GetVtkTransform | ( | ) |
Definition at line 78 of file figureCuttingModel.cxx.
References _matrixVisual.
Referenced by wxPanelCuttingImageData::Create3DViewObjects().
00079 { 00080 return _matrixVisual; 00081 }
bool figureCuttingModel::IfPointInside | ( | double | x, | |
double | y, | |||
double | z | |||
) | [virtual] |
Reimplemented in figureCuttingCubeModel, figureCuttingCylinderModel, and figureCuttingSphereModel.
Definition at line 72 of file figureCuttingModel.cxx.
Referenced by wxPanelCuttingImageData::OnExtract().
void figureCuttingModel::SetPosition | ( | double | x, | |
double | y, | |||
double | z | |||
) |
void figureCuttingModel::SetRotation | ( | double | alfa, | |
double | beta, | |||
double | teta | |||
) |
void figureCuttingModel::SetScale | ( | double | sx, | |
double | sy, | |||
double | sz | |||
) |
void figureCuttingModel::SetSpacing | ( | double | spcX, | |
double | spcY, | |||
double | spcZ | |||
) |
double figureCuttingModel::_alfa [private] |
Definition at line 41 of file figureCuttingModel.h.
Referenced by CalculeMatrix(), GetAngleAlfa(), and SetRotation().
double figureCuttingModel::_beta [private] |
Definition at line 42 of file figureCuttingModel.h.
Referenced by CalculeMatrix(), GetAngleBeta(), and SetRotation().
vtkTransform* figureCuttingModel::_inversModel [protected] |
Definition at line 51 of file figureCuttingModel.h.
Referenced by CalculeInversMatrix(), figureCuttingModel(), figureCuttingSphereModel::IfPointInside(), figureCuttingCylinderModel::IfPointInside(), figureCuttingCubeModel::IfPointInside(), and ~figureCuttingModel().
vtkTransform* figureCuttingModel::_matrixModel [protected] |
Definition at line 52 of file figureCuttingModel.h.
Referenced by CalculeInversMatrix(), CalculeMatrix(), and figureCuttingModel().
vtkTransform* figureCuttingModel::_matrixVisual [protected] |
Definition at line 53 of file figureCuttingModel.h.
Referenced by CalculeMatrix(), figureCuttingModel(), and GetVtkTransform().
double figureCuttingModel::_px [private] |
Definition at line 38 of file figureCuttingModel.h.
Referenced by CalculeMatrix(), GetPositionX(), and SetPosition().
double figureCuttingModel::_py [private] |
Definition at line 39 of file figureCuttingModel.h.
Referenced by CalculeMatrix(), GetPositionY(), and SetPosition().
double figureCuttingModel::_pz [private] |
Definition at line 40 of file figureCuttingModel.h.
Referenced by CalculeMatrix(), GetPositionZ(), and SetPosition().
double figureCuttingModel::_spcX [private] |
Definition at line 44 of file figureCuttingModel.h.
Referenced by CalculeMatrix(), figureCuttingModel(), and SetSpacing().
double figureCuttingModel::_spcY [private] |
Definition at line 45 of file figureCuttingModel.h.
Referenced by CalculeMatrix(), figureCuttingModel(), and SetSpacing().
double figureCuttingModel::_spcZ [private] |
Definition at line 46 of file figureCuttingModel.h.
Referenced by CalculeMatrix(), figureCuttingModel(), and SetSpacing().
double figureCuttingModel::_sx [protected] |
Definition at line 48 of file figureCuttingModel.h.
Referenced by CalculeMatrix(), GetScaleX(), figureCuttingSphereModel::GetTheoricVolume(), figureCuttingCylinderModel::GetTheoricVolume(), figureCuttingCubeModel::GetTheoricVolume(), and SetScale().
double figureCuttingModel::_sy [protected] |
Definition at line 49 of file figureCuttingModel.h.
Referenced by CalculeMatrix(), GetScaleY(), figureCuttingSphereModel::GetTheoricVolume(), figureCuttingCylinderModel::GetTheoricVolume(), figureCuttingCubeModel::GetTheoricVolume(), and SetScale().
double figureCuttingModel::_sz [protected] |
Definition at line 50 of file figureCuttingModel.h.
Referenced by CalculeMatrix(), GetScaleZ(), figureCuttingSphereModel::GetTheoricVolume(), figureCuttingCylinderModel::GetTheoricVolume(), figureCuttingCubeModel::GetTheoricVolume(), and SetScale().
double figureCuttingModel::_teta [private] |
Definition at line 43 of file figureCuttingModel.h.
Referenced by CalculeMatrix(), GetAngleTeta(), and SetRotation().