#include "figureCuttingModel.h" //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- figureCuttingModel::figureCuttingModel() { _inversModel = vtkTransform::New(); _matrixModel = vtkTransform::New(); _matrixVisual = vtkTransform::New(); _spcX=1; _spcY=1; _spcZ=1; } //---------------------------------------------------------------------------- figureCuttingModel::~figureCuttingModel() // virtual { _inversModel->Delete(); } //---------------------------------------------------------------------------- void figureCuttingModel::SetPosition(double x,double y, double z) { _px=x; _py=y; _pz=z; } //---------------------------------------------------------------------------- void figureCuttingModel::SetScale(double sx,double sy, double sz) { _sx=sx; _sy=sy; _sz=sz; } //---------------------------------------------------------------------------- void figureCuttingModel::SetRotation(double alfa,double beta, double teta) { _alfa=alfa; _beta=beta; _teta=teta; } //---------------------------------------------------------------------------- void figureCuttingModel::CalculeMatrix() { _matrixModel->Identity(); _matrixModel->Translate(_px,_py,_pz); _matrixModel->RotateY(_beta); _matrixModel->RotateX(_alfa); _matrixModel->RotateY(_teta); _matrixModel->Scale(_sx,_sy,_sz); _matrixVisual->Identity(); _matrixVisual->Translate( _px*_spcX , _py*_spcY , _pz*_spcZ ); _matrixVisual->RotateY(_beta); _matrixVisual->RotateX(_alfa); _matrixVisual->RotateY(_teta); _matrixVisual->Scale( _sx*_spcX , _sy*_spcY , _sz*_spcZ ); } //---------------------------------------------------------------------------- void figureCuttingModel::CalculeInversMatrix() { _inversModel->Identity (); _inversModel->Concatenate ( _matrixModel ); _inversModel->Inverse(); } //---------------------------------------------------------------------------- bool figureCuttingModel::IfPointInside(double x, double y, double z) // virtual { return true; } //---------------------------------------------------------------------------- vtkTransform *figureCuttingModel::GetVtkTransform() { return _matrixVisual; } //---------------------------------------------------------------------------- //void figureCuttingModel::SetVtkTransform(vtkTransform *matrix) //{ // _matrixModel = matrix; //} //---------------------------------------------------------------------------- double figureCuttingModel::GetTheoricVolume() // virtual { return 0; } //---------------------------------------------------------------------------- double figureCuttingModel::GetPositionX() { return _px; } //---------------------------------------------------------------------------- double figureCuttingModel::GetPositionY() { return _py; } //---------------------------------------------------------------------------- double figureCuttingModel::GetPositionZ() { return _pz; } //---------------------------------------------------------------------------- double figureCuttingModel::GetScaleX() { return _sx; } //---------------------------------------------------------------------------- double figureCuttingModel::GetScaleY() { return _sy; } //---------------------------------------------------------------------------- double figureCuttingModel::GetScaleZ() { return _sz; } //---------------------------------------------------------------------------- double figureCuttingModel::GetAngleAlfa() { return _alfa; } //---------------------------------------------------------------------------- double figureCuttingModel::GetAngleBeta() { return _beta; } //---------------------------------------------------------------------------- double figureCuttingModel::GetAngleTeta() { return _teta; } //---------------------------------------------------------------------------- char *figureCuttingModel::GetName() // virtual { return "--"; } //---------------------------------------------------------------------------- void figureCuttingModel::SetSpacing(double spcX,double spcY, double spcZ) { _spcX = spcX; _spcY = spcY; _spcZ = spcZ; }