figureCuttingModel.cxx

Go to the documentation of this file.
00001 
00002 #include "figureCuttingModel.h"
00003 
00004 //----------------------------------------------------------------------------
00005 //----------------------------------------------------------------------------
00006 //----------------------------------------------------------------------------
00007 figureCuttingModel::figureCuttingModel()
00008 {
00009         _inversModel    = vtkTransform::New();
00010         _matrixModel    = vtkTransform::New();
00011         _matrixVisual   = vtkTransform::New();
00012 
00013         _spcX=1;
00014         _spcY=1;
00015         _spcZ=1;
00016 }
00017 //----------------------------------------------------------------------------
00018 figureCuttingModel::~figureCuttingModel() // virtual
00019 {
00020         _inversModel->Delete();
00021 }
00022 //----------------------------------------------------------------------------
00023 void figureCuttingModel::SetPosition(double x,double y, double z)
00024 {
00025         _px=x;
00026         _py=y;
00027         _pz=z;
00028 }
00029 //----------------------------------------------------------------------------
00030 void figureCuttingModel::SetScale(double sx,double sy, double sz)
00031 {
00032         _sx=sx;
00033         _sy=sy;
00034         _sz=sz;
00035 }
00036 //----------------------------------------------------------------------------
00037 void figureCuttingModel::SetRotation(double alfa,double beta, double teta)
00038 {
00039         _alfa=alfa;
00040         _beta=beta;
00041         _teta=teta;
00042 }
00043 
00044 //----------------------------------------------------------------------------
00045 void figureCuttingModel::CalculeMatrix()
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 }
00062 
00063 
00064 //----------------------------------------------------------------------------
00065 void figureCuttingModel::CalculeInversMatrix()
00066 {
00067         _inversModel->Identity ();
00068         _inversModel->Concatenate ( _matrixModel );
00069         _inversModel->Inverse();
00070 }
00071 //----------------------------------------------------------------------------
00072 bool figureCuttingModel::IfPointInside(double x, double y, double z) // virtual
00073 {
00074         return true;
00075 }
00076 
00077 //----------------------------------------------------------------------------
00078 vtkTransform *figureCuttingModel::GetVtkTransform()
00079 {
00080         return _matrixVisual;
00081 }
00082 
00083 //----------------------------------------------------------------------------
00084 //void figureCuttingModel::SetVtkTransform(vtkTransform *matrix)
00085 //{
00086 //      _matrixModel = matrix;
00087 //}
00088 
00089 //----------------------------------------------------------------------------
00090 double figureCuttingModel::GetTheoricVolume() // virtual
00091 {
00092         return 0;
00093 }
00094 
00095 //----------------------------------------------------------------------------
00096 double figureCuttingModel::GetPositionX()
00097 {
00098         return _px;
00099 }
00100 //----------------------------------------------------------------------------
00101 double figureCuttingModel::GetPositionY()
00102 {
00103         return _py;
00104 }
00105 //----------------------------------------------------------------------------
00106 double figureCuttingModel::GetPositionZ()
00107 {
00108         return _pz;
00109 }
00110 //----------------------------------------------------------------------------
00111 double figureCuttingModel::GetScaleX()
00112 {
00113         return _sx;
00114 }
00115 //----------------------------------------------------------------------------
00116 double figureCuttingModel::GetScaleY()
00117 {
00118         return _sy;
00119 }
00120 //----------------------------------------------------------------------------
00121 double figureCuttingModel::GetScaleZ()
00122 {
00123         return _sz;
00124 }
00125 //----------------------------------------------------------------------------
00126 double figureCuttingModel::GetAngleAlfa()
00127 {
00128         return _alfa;
00129 }
00130 //----------------------------------------------------------------------------
00131 double figureCuttingModel::GetAngleBeta()
00132 {
00133         return _beta;
00134 }
00135 //----------------------------------------------------------------------------
00136 double figureCuttingModel::GetAngleTeta()
00137 {
00138         return _teta;
00139 }
00140 //----------------------------------------------------------------------------
00141 char *figureCuttingModel::GetName() // virtual
00142 {
00143         return "--";
00144 }
00145 
00146 //----------------------------------------------------------------------------
00147 void figureCuttingModel::SetSpacing(double spcX,double spcY, double spcZ)
00148 {
00149         _spcX = spcX;
00150         _spcY = spcY;
00151         _spcZ = spcZ;
00152 }

Generated on Wed Jul 29 16:35:26 2009 for creaMaracasVisu_lib by  doxygen 1.5.3