Graphics/vtkReflectionFilter.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00027 #ifndef __vtkReflectionFilter_h
00028 #define __vtkReflectionFilter_h
00029
00030 #include "vtkDataSetToUnstructuredGridFilter.h"
00031
00032 class VTK_GRAPHICS_EXPORT vtkReflectionFilter : public vtkDataSetToUnstructuredGridFilter
00033 {
00034 public:
00035 static vtkReflectionFilter *New();
00036
00037 vtkTypeRevisionMacro(vtkReflectionFilter, vtkDataSetToUnstructuredGridFilter);
00038 void PrintSelf(ostream &os, vtkIndent indent);
00039
00040
00041 enum ReflectionPlane
00042 {
00043 USE_X_MIN = 0,
00044 USE_Y_MIN = 1,
00045 USE_Z_MIN = 2,
00046 USE_X_MAX = 3,
00047 USE_Y_MAX = 4,
00048 USE_Z_MAX = 5,
00049 USE_X = 6,
00050 USE_Y = 7,
00051 USE_Z = 8
00052 };
00053
00054
00056
00057 vtkSetClampMacro(Plane, int, 0, 8);
00058 vtkGetMacro(Plane, int);
00059 void SetPlaneToX() { this->SetPlane(USE_X); };
00060 void SetPlaneToY() { this->SetPlane(USE_Y); };
00061 void SetPlaneToZ() { this->SetPlane(USE_Z); };
00062 void SetPlaneToXMin() { this->SetPlane(USE_X_MIN); };
00063 void SetPlaneToYMin() { this->SetPlane(USE_Y_MIN); };
00064 void SetPlaneToZMin() { this->SetPlane(USE_Z_MIN); };
00065 void SetPlaneToXMax() { this->SetPlane(USE_X_MAX); };
00066 void SetPlaneToYMax() { this->SetPlane(USE_Y_MAX); };
00067 void SetPlaneToZMax() { this->SetPlane(USE_Z_MAX); };
00069
00071
00073 vtkSetMacro(Center, double);
00074 vtkGetMacro(Center, double);
00076
00077 protected:
00078 vtkReflectionFilter();
00079 ~vtkReflectionFilter();
00080
00081 void Execute();
00082
00083 int Plane;
00084 double Center;
00085
00086 void FlipVector(double tuple[3], int mirrorDir[3]);
00087
00088 private:
00089 vtkReflectionFilter(const vtkReflectionFilter&);
00090 void operator=(const vtkReflectionFilter&);
00091 };
00092
00093 #endif
00094
00095