CutModelFigure.h
Go to the documentation of this file.00001 #ifndef CUTTINGMODELFIGURE_H_
00002 #define CUTTINGMODELFIGURE_H_
00003
00004 #include "vtkTransform.h"
00005 #include "vtkPolyData.h"
00006
00007 class CutModelFigure
00008 {
00009 public:
00010 CutModelFigure(){}
00011
00012 virtual ~CutModelFigure(){}
00013
00014 virtual void SetPosition(double x,double y, double z){
00015 _px = x;
00016 _py = y;
00017 _pz = z;
00018 }
00019
00020 virtual void SetScale(double sx,double sy, double sz){
00021 _sx = sx;
00022 _sy = sy;
00023 _sz = sz;
00024 }
00025
00026 virtual void SetRotation(double alfa,double beta, double teta){
00027 _alfa = alfa;
00028 _beta = beta;
00029 _teta = teta;
00030 }
00031
00032 virtual void SetSpacing(double spcX,double spcY, double spcZ){
00033 _spcX = spcX;
00034 _spcY = spcY;
00035 _spcZ = spcZ;
00036 }
00037
00038 virtual void SetVtkTransform(vtkTransform *transform){
00039 double *orient = transform->GetOrientation();
00040 _alfa = orient[0];
00041 _beta = orient[1];
00042 _teta = orient[2];
00043
00044 double *scale = transform->GetScale();
00045 _sx = scale[0];
00046 _sy = scale[1];
00047 _sz = scale[2];
00048
00049 double *position = transform->GetPosition();
00050 _px = position[0];
00051 _py = position[1];
00052 _pz = position[2];
00053
00054
00055 }
00056 virtual void SetInversVtkTransform(vtkTransform *inverstransform){
00057 _inversModel = inverstransform;
00058 }
00059
00060 virtual bool IfPointInside(double x, double y, double z) = 0;
00061 virtual double GetTheoricVolume()=0;
00062 virtual vtkPolyData* getPolyData()=0;
00063
00064 private:
00065 double _px;
00066 double _py;
00067 double _pz;
00068 double _alfa;
00069 double _beta;
00070 double _teta;
00071 double _spcX;
00072 double _spcY;
00073 double _spcZ;
00074 char *GetName;
00075 protected:
00076 double _sx;
00077 double _sy;
00078 double _sz;
00079 vtkTransform *_inversModel;
00080 vtkTransform *_matrixModel;
00081 };
00082
00083 #endif