Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

dox/Graphics/vtkReflectionFilter.h

Go to the documentation of this file.
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkReflectionFilter.h,v $ 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 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 //BTX 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 //ETX 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&); // Not implemented 00090 void operator=(const vtkReflectionFilter&); // Not implemented 00091 }; 00092 00093 #endif 00094 00095