VTK  9.7.1
vtkCellGridTransform.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
18 #ifndef vtkCellGridTransform_h
19 #define vtkCellGridTransform_h
20 
21 #include "vtkCellGridAlgorithm.h"
22 #include "vtkFiltersCellGrid.h" // For export macro
23 
24 VTK_ABI_NAMESPACE_BEGIN
26 
27 class VTKFILTERSCELLGRID_EXPORT vtkCellGridTransform : public vtkCellGridAlgorithm
28 {
29 public:
31 
35  static vtkCellGridTransform* New();
37  void PrintSelf(ostream& os, vtkIndent indent) override;
39 
43  vtkMTimeType GetMTime() override;
44 
48  class Query : public vtkCellGridQuery
49  {
50  public:
52 
56  static Query* New();
58  void PrintSelf(ostream& os, vtkIndent indent) override;
60 
62  Query();
63  ~Query() override;
64 
68  vtkMTimeType GetMTime() override;
69 
71 
74  virtual void SetTransform(vtkAbstractTransform*);
75  vtkGetObjectMacro(Transform, vtkAbstractTransform);
77 
79 
82  virtual void SetCellAttribute(vtkCellAttribute*);
83  vtkGetObjectMacro(CellAttribute, vtkCellAttribute);
85 
87 
92  vtkSetMacro(OutputPointsPrecision, int);
93  vtkGetMacro(OutputPointsPrecision, int);
95 
96  // bool Initialize() override;
97  // bool Finalize() override;
98 
101  vtkDataArray* CreateNewDataArray(vtkDataArray* input) const;
102 
103  protected:
104  vtkCellAttribute* CellAttribute{ nullptr };
106  int OutputPointsPrecision{ vtkAlgorithm::DesiredOutputPrecision::DEFAULT_PRECISION };
107  };
108 
109  void SetTransform(vtkAbstractTransform* tfm);
110  void SetCellAttribute(vtkCellAttribute* att);
111 
112 protected:
114  ~vtkCellGridTransform() override;
115 
117 
119 
120 private:
122  void operator=(const vtkCellGridTransform&) = delete;
123 };
124 
125 VTK_ABI_NAMESPACE_END
126 #endif
Perform an operation on cells in a vtkCellMetadata instance.
Store vtkAlgorithm input/output information.
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:318
static vtkCellGridAlgorithm * New()
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
Superclass for algorithms that produce only polydata as output.
a simple class to control print indentation
Definition: vtkIndent.h:28
A function defined over the physical domain of a vtkCellGrid.
A cell-grid query for applying a transform to a cell-grid.
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:44
superclass for all geometric transformations
virtual vtkMTimeType GetMTime()
Return this object's modified time.
transform points and associated normals and vectors
Allocate and hold a VTK object.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
Store zero or more vtkInformation instances.