vtkReflectionFilter.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00039 #ifndef __vtkReflectionFilter_h
00040 #define __vtkReflectionFilter_h
00041
00042 #include "vtkDataSetToUnstructuredGridFilter.h"
00043
00044 class VTK_GRAPHICS_EXPORT vtkReflectionFilter : public vtkDataSetToUnstructuredGridFilter
00045 {
00046 public:
00047 static vtkReflectionFilter *New();
00048
00049 vtkTypeRevisionMacro(vtkReflectionFilter, vtkDataSetToUnstructuredGridFilter);
00050 void PrintSelf(ostream &os, vtkIndent indent);
00051
00052
00053 enum ReflectionPlane
00054 {
00055 USE_X_MIN = 0,
00056 USE_Y_MIN = 1,
00057 USE_Z_MIN = 2,
00058 USE_X_MAX = 3,
00059 USE_Y_MAX = 4,
00060 USE_Z_MAX = 5,
00061 USE_X = 6,
00062 USE_Y = 7,
00063 USE_Z = 8
00064 };
00065
00066
00068
00069 vtkSetClampMacro(Plane, int, 0, 8);
00070 vtkGetMacro(Plane, int);
00071 void SetPlaneToX() { this->SetPlane(USE_X); };
00072 void SetPlaneToY() { this->SetPlane(USE_Y); };
00073 void SetPlaneToZ() { this->SetPlane(USE_Z); };
00074 void SetPlaneToXMin() { this->SetPlane(USE_X_MIN); };
00075 void SetPlaneToYMin() { this->SetPlane(USE_Y_MIN); };
00076 void SetPlaneToZMin() { this->SetPlane(USE_Z_MIN); };
00077 void SetPlaneToXMax() { this->SetPlane(USE_X_MAX); };
00078 void SetPlaneToYMax() { this->SetPlane(USE_Y_MAX); };
00079 void SetPlaneToZMax() { this->SetPlane(USE_Z_MAX); };
00081
00083
00085 vtkSetMacro(Center, double);
00086 vtkGetMacro(Center, double);
00088
00090
00092 vtkSetMacro(CopyInput, int);
00093 vtkGetMacro(CopyInput, int);
00094 vtkBooleanMacro(CopyInput, int);
00096
00097 protected:
00098 vtkReflectionFilter();
00099 ~vtkReflectionFilter();
00100
00101 void Execute();
00102
00103 int Plane;
00104 double Center;
00105 int CopyInput;
00106
00107 void FlipVector(double tuple[3], int mirrorDir[3]);
00108
00109 private:
00110 vtkReflectionFilter(const vtkReflectionFilter&);
00111 void operator=(const vtkReflectionFilter&);
00112 };
00113
00114 #endif
00115
00116