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 
Superclass for algorithms that produce only data object as output.
general representation of visualization data
Definition: vtkDataObject.h:65
abstract class to specify dataset behavior
Definition: vtkDataSet.h:63
a simple class to control print indentation
Definition: vtkIndent.h:40
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
reflects a data set across a plane
static vtkReflectionFilter * New()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
~vtkReflectionFilter() override
dataset represents arbitrary combinations of all possible cell types
@ info
Definition: vtkX3D.h:376
@ port
Definition: vtkX3D.h:447
vtkSetMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
vtkBooleanMacro(IgnoreDriverBugs, bool)
Updates the extensions string.