VTK
vtkReflectionFilter.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkReflectionFilter.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
27 #ifndef vtkReflectionFilter_h
28 #define vtkReflectionFilter_h
29 
30 #include "vtkFiltersGeneralModule.h" // For export macro
31 #include "vtkDataObjectAlgorithm.h"
33 class vtkDataSet;
34 
36 {
37 public:
39 
41  void PrintSelf(ostream &os, vtkIndent indent);
42 
43 //BTX
45  {
46  USE_X_MIN = 0,
47  USE_Y_MIN = 1,
48  USE_Z_MIN = 2,
49  USE_X_MAX = 3,
50  USE_Y_MAX = 4,
51  USE_Z_MAX = 5,
52  USE_X = 6,
53  USE_Y = 7,
54  USE_Z = 8
55  };
56 //ETX
57 
59 
60  vtkSetClampMacro(Plane, int, 0, 8);
61  vtkGetMacro(Plane, int);
62  void SetPlaneToX() { this->SetPlane(USE_X); };
63  void SetPlaneToY() { this->SetPlane(USE_Y); };
64  void SetPlaneToZ() { this->SetPlane(USE_Z); };
65  void SetPlaneToXMin() { this->SetPlane(USE_X_MIN); };
66  void SetPlaneToYMin() { this->SetPlane(USE_Y_MIN); };
67  void SetPlaneToZMin() { this->SetPlane(USE_Z_MIN); };
68  void SetPlaneToXMax() { this->SetPlane(USE_X_MAX); };
69  void SetPlaneToYMax() { this->SetPlane(USE_Y_MAX); };
70  void SetPlaneToZMax() { this->SetPlane(USE_Z_MAX); };
72 
74 
76  vtkSetMacro(Center, double);
77  vtkGetMacro(Center, double);
79 
81 
83  vtkSetMacro(CopyInput, int);
84  vtkGetMacro(CopyInput, int);
85  vtkBooleanMacro(CopyInput, int);
87 
88 protected:
91 
93 
99 
101 
103  double bounds[6]);
105 
107  virtual int ComputeBounds(vtkDataObject* input, double bounds[6]);
108 
111 
112  int Plane;
113  double Center;
115 
116  void FlipVector(double tuple[3], int mirrorDir[3]);
117 
118 private:
119  vtkReflectionFilter(const vtkReflectionFilter&); // Not implemented
120  void operator=(const vtkReflectionFilter&); // Not implemented
121 };
122 
123 #endif
124 
125 
vtkReflectionFilter::~vtkReflectionFilter
~vtkReflectionFilter()
vtkReflectionFilter::SetPlaneToZ
void SetPlaneToZ()
Definition: vtkReflectionFilter.h:64
vtkReflectionFilter::FlipVector
void FlipVector(double tuple[3], int mirrorDir[3])
vtkReflectionFilter::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)
vtkReflectionFilter::Center
double Center
Definition: vtkReflectionFilter.h:113
vtkReflectionFilter::SetPlaneToZMin
void SetPlaneToZMin()
Definition: vtkReflectionFilter.h:67
vtkReflectionFilter::SetPlaneToYMax
void SetPlaneToYMax()
Definition: vtkReflectionFilter.h:69
vtkReflectionFilter::New
static vtkReflectionFilter * New()
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:41
vtkDataObjectAlgorithm
Superclass for algorithms that produce only data object as output.
Definition: vtkDataObjectAlgorithm.h:43
vtkTypeMacro
#define vtkTypeMacro(thisClass, superclass)
Definition: vtkSetGet.h:642
vtkReflectionFilter::vtkReflectionFilter
vtkReflectionFilter()
vtkgl::input
GLenum GLenum GLenum input
Definition: vtkgl.h:15941
vtkX3D::port
@ port
Definition: vtkX3D.h:447
vtkSetClampMacro
#define vtkSetClampMacro(name, type, min, max)
Definition: vtkSetGet.h:143
vtkReflectionFilter::SetPlaneToY
void SetPlaneToY()
Definition: vtkReflectionFilter.h:63
vtkReflectionFilter::RequestData
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
vtkFiltersGeneralModule.h
vtkReflectionFilter::SetPlaneToYMin
void SetPlaneToYMin()
Definition: vtkReflectionFilter.h:66
vtkReflectionFilter
reflects a data set across a plane
Definition: vtkReflectionFilter.h:36
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkReflectionFilter::SetPlaneToX
void SetPlaneToX()
Definition: vtkReflectionFilter.h:62
vtkReflectionFilter::SetPlaneToXMin
void SetPlaneToXMin()
Definition: vtkReflectionFilter.h:65
vtkReflectionFilter::RequestDataInternal
virtual int RequestDataInternal(vtkDataSet *input, vtkUnstructuredGrid *output, double bounds[6])
VTKFILTERSGENERAL_EXPORT
#define VTKFILTERSGENERAL_EXPORT
Definition: vtkFiltersGeneralModule.h:15
vtkReflectionFilter::CopyInput
int CopyInput
Definition: vtkReflectionFilter.h:114
vtkGetMacro
#define vtkGetMacro(name, type)
Definition: vtkSetGet.h:93
vtkReflectionFilter::FillInputPortInformation
virtual int FillInputPortInformation(int port, vtkInformation *info)
vtkDataSet
abstract class to specify dataset behavior
Definition: vtkDataSet.h:62
vtkBooleanMacro
vtkBooleanMacro(IgnoreDriverBugs, bool)
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:86
vtkSetMacro
vtkSetMacro(IgnoreDriverBugs, bool)
vtkReflectionFilter::SetPlaneToZMax
void SetPlaneToZMax()
Definition: vtkReflectionFilter.h:70
vtkX3D::info
@ info
Definition: vtkX3D.h:376
vtkReflectionFilter::RequestDataObject
virtual int RequestDataObject(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
vtkReflectionFilter::ComputeBounds
virtual int ComputeBounds(vtkDataObject *input, double bounds[6])
vtkReflectionFilter::Plane
int Plane
Definition: vtkReflectionFilter.h:112
vtkUnstructuredGrid
dataset represents arbitrary combinations of all possible cell types
Definition: vtkUnstructuredGrid.h:82
vtkDataObjectAlgorithm.h
vtkReflectionFilter::ReflectionPlane
ReflectionPlane
Definition: vtkReflectionFilter.h:45
vtkDataObject
general representation of visualization data
Definition: vtkDataObject.h:65
vtkReflectionFilter::SetPlaneToXMax
void SetPlaneToXMax()
Definition: vtkReflectionFilter.h:68