VTK  9.3.0
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
29 #ifndef vtkWarpScalar_h
30 #define vtkWarpScalar_h
31 
32 #include "vtkFiltersGeneralModule.h" // For export macro
33 #include "vtkPointSetAlgorithm.h"
34 
35 VTK_ABI_NAMESPACE_BEGIN
36 class vtkCellArray;
37 class vtkDataArray;
38 class vtkDataSet;
40 class vtkIdTypeArray;
41 class vtkPointSet;
43 
44 class VTKFILTERSGENERAL_EXPORT vtkWarpScalar : public vtkPointSetAlgorithm
45 {
46 public:
48 
52  static vtkWarpScalar* New();
54  void PrintSelf(ostream& os, vtkIndent indent) override;
56 
58 
61  vtkSetMacro(ScaleFactor, double);
62  vtkGetMacro(ScaleFactor, double);
64 
66 
70  vtkSetMacro(UseNormal, vtkTypeBool);
71  vtkGetMacro(UseNormal, vtkTypeBool);
72  vtkBooleanMacro(UseNormal, vtkTypeBool);
74 
76 
80  vtkSetVector3Macro(Normal, double);
81  vtkGetVectorMacro(Normal, double, 3);
83 
85 
90  vtkSetMacro(XYPlane, vtkTypeBool);
91  vtkGetMacro(XYPlane, vtkTypeBool);
92  vtkBooleanMacro(XYPlane, vtkTypeBool);
94 
96 
101  vtkSetMacro(OutputPointsPrecision, int);
102  vtkGetMacro(OutputPointsPrecision, int);
104 
106 
114  vtkGetMacro(GenerateEnclosure, bool);
115  vtkSetMacro(GenerateEnclosure, bool);
116  vtkBooleanMacro(GenerateEnclosure, bool);
118 
120 
121 protected:
123  ~vtkWarpScalar() override;
124 
126  vtkInformationVector* outputVector) override;
128 
132  unsigned int GetInputDimension(vtkDataSet* input);
136  void BuildSideWalls(vtkPointSet* output, int nInputPoints, vtkUnsignedCharArray* boundaryCells,
137  vtkIdTypeArray* boundaryFaceIndexes);
142 
143  double ScaleFactor;
145  double Normal[3];
148  bool GenerateEnclosure = false;
149 
150 private:
151  vtkWarpScalar(const vtkWarpScalar&) = delete;
152  void operator=(const vtkWarpScalar&) = delete;
153 };
154 
155 VTK_ABI_NAMESPACE_END
156 #endif
object to represent cell connectivity
Definition: vtkCellArray.h:176
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:45
represent and manipulate attribute data in a dataset
abstract class to specify dataset behavior
Definition: vtkDataSet.h:53
dynamic, self-adjusting array of vtkIdType
a simple class to control print indentation
Definition: vtkIndent.h:29
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:59
dynamic, self-adjusting array of unsigned char
deform geometry with scalar data
Definition: vtkWarpScalar.h:45
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