00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkReflectionFilter.h,v $ 00005 Language: C++ 00006 00007 Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen 00008 All rights reserved. 00009 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00010 00011 This software is distributed WITHOUT ANY WARRANTY; without even 00012 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00013 PURPOSE. See the above copyright notice for more information. 00014 00015 =========================================================================*/ 00042 #ifndef __vtkReflectionFilter_h 00043 #define __vtkReflectionFilter_h 00044 00045 #include "vtkDataSetToUnstructuredGridFilter.h" 00046 00047 #define VTK_USE_X_MIN 0 00048 #define VTK_USE_Y_MIN 1 00049 #define VTK_USE_Z_MIN 2 00050 #define VTK_USE_X_MAX 3 00051 #define VTK_USE_Y_MAX 4 00052 #define VTK_USE_Z_MAX 5 00053 00054 class VTK_GRAPHICS_EXPORT vtkReflectionFilter : public vtkDataSetToUnstructuredGridFilter 00055 { 00056 public: 00057 static vtkReflectionFilter *New(); 00058 00059 vtkTypeRevisionMacro(vtkReflectionFilter, vtkDataSetToUnstructuredGridFilter); 00060 void PrintSelf(ostream &os, vtkIndent indent); 00061 00062 vtkSetClampMacro(Plane, int, 0, 5); 00063 vtkGetMacro(Plane, int); 00064 void SetPlaneToXMin() { this->SetPlane(VTK_USE_X_MIN); }; 00065 void SetPlaneToYMin() { this->SetPlane(VTK_USE_Y_MIN); }; 00066 void SetPlaneToZMin() { this->SetPlane(VTK_USE_Z_MIN); }; 00067 void SetPlaneToXMax() { this->SetPlane(VTK_USE_X_MAX); }; 00068 void SetPlaneToYMax() { this->SetPlane(VTK_USE_Y_MAX); }; 00069 void SetPlaneToZMax() { this->SetPlane(VTK_USE_Z_MAX); }; 00070 00071 protected: 00072 vtkReflectionFilter(); 00073 ~vtkReflectionFilter(); 00074 00075 void Execute(); 00076 00077 int Plane; 00078 00079 private: 00080 vtkReflectionFilter(const vtkReflectionFilter&); // Not implemented 00081 void operator=(const vtkReflectionFilter&); // Not implemented 00082 }; 00083 00084 #endif 00085 00086