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
34class vtkDataSet;
35
36class VTKFILTERSGENERAL_EXPORT vtkReflectionFilter : public vtkDataObjectAlgorithm
37{
38public:
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
93protected:
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
126private:
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
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
static vtkReflectionFilter * New()
~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.