PlaneDirectionManagerData.h
Go to the documentation of this file.00001 #ifndef PlaneDirectionManagerData_H_
00002 #define PlaneDirectionManagerData_H_
00003
00004 #include <math.h>
00005
00006 #include "PlanesOperations.h"
00007
00008
00009 #include <iostream>
00010
00011 #include <vtkArrowSource.h>
00012
00013 #include <vtkPolyDataMapper.h>
00014 #include <vtkActor.h>
00015 #include <vtkProperty.h>
00016 #include <vtkMatrix4x4.h>
00017 #include <vtkTransform.h>
00018
00019
00020 class PlaneDirectionManagerData : public PlanesOperations {
00021
00022 public:
00023 PlaneDirectionManagerData(int radio, double colour[3], int opacity);
00024 ~PlaneDirectionManagerData();
00025
00026 void setPoint0(double x,double y,double z){
00027 p0[0] = x;
00028 p0[1] = y;
00029 p0[2] = z;
00030 }
00031 void setPoint1(double x,double y,double z){
00032 p1[0] = x;
00033 p1[1] = y;
00034 p1[2] = z;
00035 }
00036 void setPoint2(double x,double y,double z){
00037 p2[0] = x;
00038 p2[1] = y;
00039 p2[2] = z;
00040 }
00041 double* getPoint0(){
00042 return p0;
00043 }
00044 double* getPoint1(){
00045 return p1;
00046 }
00047 double* getPoint2(){
00048 return p2;
00049 }
00050
00051 void UpdateActor();
00052
00053 vtkProp3D* GetActor();
00054
00055 double* GetDirection(){
00056 return _dir;
00057 }
00058
00059 void ChangeColour(double r,double g,double b);
00060
00061 private:
00062 double* p0;
00063 double* p1;
00064 double* p2;
00065 int _radio;
00066 double* _colour;
00067 int _opacity;
00068 double* _dir;
00069
00070 vtkArrowSource *_vtkarrow;
00071 vtkPolyDataMapper *_arrowMapper;
00072 vtkActor *_arrowActor;
00073
00074 double* GetMidPoint();
00075
00076 };
00077
00078 #endif