VTK  9.3.20240329
vtkRotationFilter.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
20 #ifndef vtkRotationFilter_h
21 #define vtkRotationFilter_h
22 
23 #include "vtkFiltersGeneralModule.h" // For export macro
25 
26 VTK_ABI_NAMESPACE_BEGIN
27 class VTKFILTERSGENERAL_EXPORT vtkRotationFilter : public vtkUnstructuredGridAlgorithm
28 {
29 public:
32  void PrintSelf(ostream& os, vtkIndent indent) override;
33 
35  {
36  USE_X = 0,
37  USE_Y = 1,
38  USE_Z = 2
39  };
40 
42 
45  vtkSetClampMacro(Axis, int, 0, 2);
46  vtkGetMacro(Axis, int);
47  void SetAxisToX() { this->SetAxis(USE_X); }
48  void SetAxisToY() { this->SetAxis(USE_Y); }
49  void SetAxisToZ() { this->SetAxis(USE_Z); }
51 
53 
56  vtkSetMacro(Angle, double);
57  vtkGetMacro(Angle, double);
59 
61 
64  vtkSetVector3Macro(Center, double);
65  vtkGetVector3Macro(Center, double);
67 
69 
74  vtkSetMacro(NumberOfCopies, int);
75  vtkGetMacro(NumberOfCopies, int);
77 
79 
83  vtkSetMacro(CopyInput, vtkTypeBool);
84  vtkGetMacro(CopyInput, vtkTypeBool);
85  vtkBooleanMacro(CopyInput, vtkTypeBool);
87 
88 protected:
90  ~vtkRotationFilter() override;
91 
94 
95  int Axis;
96  double Angle;
97  double Center[3];
100 
101 private:
102  vtkRotationFilter(const vtkRotationFilter&) = delete;
103  void operator=(const vtkRotationFilter&) = delete;
104 };
105 
106 VTK_ABI_NAMESPACE_END
107 #endif
a simple class to control print indentation
Definition: vtkIndent.h:108
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Duplicates a data set by rotation about an axis.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
static vtkRotationFilter * New()
void SetAxisToZ()
Set the axis of rotation to use.
void SetAxisToY()
Set the axis of rotation to use.
void SetAxisToX()
Set the axis of rotation to use.
~vtkRotationFilter() override
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
Superclass for algorithms that produce only unstructured grid as output.
@ info
Definition: vtkX3D.h:376
@ port
Definition: vtkX3D.h:447
int vtkTypeBool
Definition: vtkABI.h:64