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
38 #ifndef vtkWarpScalar_h
39 #define vtkWarpScalar_h
40 
41 #include "vtkFiltersGeneralModule.h" // For export macro
42 #include "vtkPointSetAlgorithm.h"
43 
44 VTK_ABI_NAMESPACE_BEGIN
45 class vtkCellArray;
46 class vtkDataArray;
47 class vtkDataSet;
49 class vtkIdTypeArray;
50 class vtkPointSet;
52 
53 class VTKFILTERSGENERAL_EXPORT vtkWarpScalar : public vtkPointSetAlgorithm
54 {
55 public:
57 
61  static vtkWarpScalar* New();
63  void PrintSelf(ostream& os, vtkIndent indent) override;
65 
67 
70  vtkSetMacro(ScaleFactor, double);
71  vtkGetMacro(ScaleFactor, double);
73 
75 
79  vtkSetMacro(UseNormal, vtkTypeBool);
80  vtkGetMacro(UseNormal, vtkTypeBool);
81  vtkBooleanMacro(UseNormal, vtkTypeBool);
83 
85 
89  vtkSetVector3Macro(Normal, double);
90  vtkGetVectorMacro(Normal, double, 3);
92 
94 
99  vtkSetMacro(XYPlane, vtkTypeBool);
100  vtkGetMacro(XYPlane, vtkTypeBool);
101  vtkBooleanMacro(XYPlane, vtkTypeBool);
103 
105 
110  vtkSetMacro(OutputPointsPrecision, int);
111  vtkGetMacro(OutputPointsPrecision, int);
113 
115 
123  vtkGetMacro(GenerateEnclosure, bool);
124  vtkSetMacro(GenerateEnclosure, bool);
125  vtkBooleanMacro(GenerateEnclosure, bool);
127 
129 
130 protected:
132  ~vtkWarpScalar() override;
133 
135  vtkInformationVector* outputVector) override;
137 
141  unsigned int GetInputDimension(vtkDataSet* input);
145  void BuildSideWalls(vtkPointSet* output, int nInputPoints, vtkUnsignedCharArray* boundaryCells,
146  vtkIdTypeArray* boundaryFaceIndexes);
151 
152  double ScaleFactor;
154  double Normal[3];
157  bool GenerateEnclosure = false;
158 
159 private:
160  vtkWarpScalar(const vtkWarpScalar&) = delete;
161  void operator=(const vtkWarpScalar&) = delete;
162 };
163 
164 VTK_ABI_NAMESPACE_END
165 #endif
object to represent cell connectivity
Definition: vtkCellArray.h:185
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:54
represent and manipulate attribute data in a dataset
abstract class to specify dataset behavior
Definition: vtkDataSet.h:62
dynamic, self-adjusting array of vtkIdType
a simple class to control print indentation
Definition: vtkIndent.h:38
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:68
dynamic, self-adjusting array of unsigned char
deform geometry with scalar data
Definition: vtkWarpScalar.h:54
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