VTK  9.3.20240327
vtkWarpScalar.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
98 #ifndef vtkWarpScalar_h
99 #define vtkWarpScalar_h
100 
101 #include "vtkFiltersGeneralModule.h" // For export macro
102 #include "vtkPointSetAlgorithm.h"
103 
104 VTK_ABI_NAMESPACE_BEGIN
105 class vtkCellArray;
106 class vtkDataArray;
107 class vtkDataSet;
109 class vtkIdTypeArray;
110 class vtkPointSet;
112 
113 class VTKFILTERSGENERAL_EXPORT vtkWarpScalar : public vtkPointSetAlgorithm
114 {
115 public:
117 
121  static vtkWarpScalar* New();
123  void PrintSelf(ostream& os, vtkIndent indent) override;
125 
127 
130  vtkSetMacro(ScaleFactor, double);
131  vtkGetMacro(ScaleFactor, double);
133 
135 
139  vtkSetMacro(UseNormal, vtkTypeBool);
140  vtkGetMacro(UseNormal, vtkTypeBool);
141  vtkBooleanMacro(UseNormal, vtkTypeBool);
143 
145 
149  vtkSetVector3Macro(Normal, double);
150  vtkGetVectorMacro(Normal, double, 3);
152 
154 
159  vtkSetMacro(XYPlane, vtkTypeBool);
160  vtkGetMacro(XYPlane, vtkTypeBool);
161  vtkBooleanMacro(XYPlane, vtkTypeBool);
163 
165 
170  vtkSetMacro(OutputPointsPrecision, int);
171  vtkGetMacro(OutputPointsPrecision, int);
173 
175 
183  vtkGetMacro(GenerateEnclosure, bool);
184  vtkSetMacro(GenerateEnclosure, bool);
185  vtkBooleanMacro(GenerateEnclosure, bool);
187 
189 
190 protected:
192  ~vtkWarpScalar() override;
193 
195  vtkInformationVector* outputVector) override;
197 
201  unsigned int GetInputDimension(vtkDataSet* input);
205  void BuildSideWalls(vtkPointSet* output, int nInputPoints, vtkUnsignedCharArray* boundaryCells,
206  vtkIdTypeArray* boundaryFaceIndexes);
211 
212  double ScaleFactor;
214  double Normal[3];
217  bool GenerateEnclosure = false;
218 
219 private:
220  vtkWarpScalar(const vtkWarpScalar&) = delete;
221  void operator=(const vtkWarpScalar&) = delete;
222 };
223 
224 VTK_ABI_NAMESPACE_END
225 #endif
object to represent cell connectivity
Definition: vtkCellArray.h:285
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:154
represent and manipulate attribute data in a dataset
abstract class to specify dataset behavior
Definition: vtkDataSet.h:165
dynamic, self-adjusting array of vtkIdType
a simple class to control print indentation
Definition: vtkIndent.h:108
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Superclass for algorithms that produce output of the same type as input.
concrete class for storing a set of points
Definition: vtkPointSet.h:97
dynamic, self-adjusting array of unsigned char
deform geometry with scalar data
vtkTypeBool UseNormal
~vtkWarpScalar() override
int RequestDataObject(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
This is called by the superclass.
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods for instantiation, obtaining type information, and printing.
double ScaleFactor
unsigned int GetInputDimension(vtkDataSet *input)
Check the topological dimension of the data set (only used when SideWallsActive)
vtkTypeBool XYPlane
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
void AppendArrays(vtkDataSetAttributes *setData)
Append the values in the arrays of the array attribute collection to themselves.
void BuildSideWalls(vtkPointSet *output, int nInputPoints, vtkUnsignedCharArray *boundaryCells, vtkIdTypeArray *boundaryFaceIndexes)
When GenerateEnclosure is active, construct the cells between the base and warped surfaces.
int OutputPointsPrecision
static vtkWarpScalar * New()
Standard methods for instantiation, obtaining type information, and printing.
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
@ Normal
Definition: vtkX3D.h:45
@ info
Definition: vtkX3D.h:376
@ port
Definition: vtkX3D.h:447
int vtkTypeBool
Definition: vtkABI.h:64