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 =========================================================================*/
28 #ifndef vtkReflectionFilter_h
29 #define vtkReflectionFilter_h
30 
31 #include "vtkFiltersGeneralModule.h" // For export macro
32 #include "vtkDataObjectAlgorithm.h"
34 class vtkDataSet;
35 
36 class VTKFILTERSGENERAL_EXPORT vtkReflectionFilter : public vtkDataObjectAlgorithm
37 {
38 public:
40 
42  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
43 
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 
58 
61  vtkSetClampMacro(Plane, int, 0, 8);
62  vtkGetMacro(Plane, int);
63  void SetPlaneToX() { this->SetPlane(USE_X); };
64  void SetPlaneToY() { this->SetPlane(USE_Y); };
65  void SetPlaneToZ() { this->SetPlane(USE_Z); };
66  void SetPlaneToXMin() { this->SetPlane(USE_X_MIN); };
67  void SetPlaneToYMin() { this->SetPlane(USE_Y_MIN); };
68  void SetPlaneToZMin() { this->SetPlane(USE_Z_MIN); };
69  void SetPlaneToXMax() { this->SetPlane(USE_X_MAX); };
70  void SetPlaneToYMax() { this->SetPlane(USE_Y_MAX); };
71  void SetPlaneToZMax() { this->SetPlane(USE_Z_MAX); };
73 
75 
79  vtkSetMacro(Center, double);
80  vtkGetMacro(Center, double);
82 
84 
88  vtkSetMacro(CopyInput, int);
89  vtkGetMacro(CopyInput, int);
90  vtkBooleanMacro(CopyInput, int);
92 
93 protected:
95  ~vtkReflectionFilter() VTK_OVERRIDE;
96 
102  int RequestDataObject(vtkInformation*,
104  vtkInformationVector*) VTK_OVERRIDE;
105 
109  virtual int RequestDataInternal(vtkDataSet* input, vtkUnstructuredGrid* output,
110  double bounds[6]);
111 
115  virtual int ComputeBounds(vtkDataObject* input, double bounds[6]);
116 
117  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
118  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
119 
120  int Plane;
121  double Center;
122  int CopyInput;
123 
124  void FlipVector(double tuple[3], int mirrorDir[3]);
125 
126 private:
127  vtkReflectionFilter(const vtkReflectionFilter&) VTK_DELETE_FUNCTION;
128  void operator=(const vtkReflectionFilter&) VTK_DELETE_FUNCTION;
129 };
130 
131 #endif
132 
133 
vtkReflectionFilter::SetPlaneToZ
void SetPlaneToZ()
Definition: vtkReflectionFilter.h:65
vtkReflectionFilter::SetPlaneToZMin
void SetPlaneToZMin()
Definition: vtkReflectionFilter.h:68
vtkReflectionFilter::SetPlaneToYMax
void SetPlaneToYMax()
Definition: vtkReflectionFilter.h:70
vtkReflectionFilter::New
static vtkReflectionFilter * New()
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:42
vtkDataObjectAlgorithm
Superclass for algorithms that produce only data object as output.
Definition: vtkDataObjectAlgorithm.h:44
vtkReflectionFilter::~vtkReflectionFilter
~vtkReflectionFilter() override
vtkReflectionFilter::vtkReflectionFilter
vtkReflectionFilter()
vtkX3D::port
@ port
Definition: vtkX3D.h:447
vtkReflectionFilter::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkReflectionFilter::SetPlaneToY
void SetPlaneToY()
Definition: vtkReflectionFilter.h:64
vtkReflectionFilter::SetPlaneToYMin
void SetPlaneToYMin()
Definition: vtkReflectionFilter.h:67
vtkReflectionFilter
reflects a data set across a plane
Definition: vtkReflectionFilter.h:37
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:40
vtkReflectionFilter::SetPlaneToX
void SetPlaneToX()
Definition: vtkReflectionFilter.h:63
vtkReflectionFilter::SetPlaneToXMin
void SetPlaneToXMin()
Definition: vtkReflectionFilter.h:66
vtkDataSet
abstract class to specify dataset behavior
Definition: vtkDataSet.h:63
vtkBooleanMacro
vtkBooleanMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:87
vtkSetMacro
vtkSetMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
vtkReflectionFilter::SetPlaneToZMax
void SetPlaneToZMax()
Definition: vtkReflectionFilter.h:71
vtkX3D::info
@ info
Definition: vtkX3D.h:376
vtkUnstructuredGrid
dataset represents arbitrary combinations of all possible cell types
Definition: vtkUnstructuredGrid.h:83
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:69