VTK  9.7.1
vtkAppendDataSets.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
33 #ifndef vtkAppendDataSets_h
34 #define vtkAppendDataSets_h
35 
36 #include "vtkFiltersCoreModule.h" // For export macro
37 #include "vtkPointSetAlgorithm.h"
38 #include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
39 
40 VTK_ABI_NAMESPACE_BEGIN
42 class vtkDataSet;
44 
45 class VTKFILTERSCORE_EXPORT VTK_MARSHALAUTO vtkAppendDataSets : public vtkPointSetAlgorithm
46 {
47 public:
48  static vtkAppendDataSets* New();
50  void PrintSelf(ostream& os, vtkIndent indent) override;
51 
53 
58  vtkGetMacro(MergePoints, bool);
59  vtkSetMacro(MergePoints, bool);
60  vtkBooleanMacro(MergePoints, bool);
62 
64 
70  vtkGetMacro(UseImplicitArray, bool);
71  vtkSetMacro(UseImplicitArray, bool);
72  vtkBooleanMacro(UseImplicitArray, bool);
74 
76 
83  vtkSetClampMacro(Tolerance, double, 0.0, VTK_DOUBLE_MAX);
84  vtkGetMacro(Tolerance, double);
86 
88 
93  vtkSetMacro(ToleranceIsAbsolute, bool);
94  vtkGetMacro(ToleranceIsAbsolute, bool);
95  vtkBooleanMacro(ToleranceIsAbsolute, bool);
97 
99 
108  vtkSetMacro(OutputDataSetType, int);
109  vtkGetMacro(OutputDataSetType, int);
111 
113 
118  vtkSetClampMacro(OutputPointsPrecision, int, SINGLE_PRECISION, DEFAULT_PRECISION);
119  vtkGetMacro(OutputPointsPrecision, int);
121 
127 
128 protected:
130  ~vtkAppendDataSets() override;
131 
132  // Usual data generation method
133  int RequestDataObject(vtkInformation* request, vtkInformationVector** inputVector,
134  vtkInformationVector* outputVector) override;
136  virtual int RequestUpdateExtent(vtkInformation*, vtkInformationVector**, vtkInformationVector*);
137  int FillInputPortInformation(int port, vtkInformation* info) override;
138 
139  // If true we will attempt to merge points. Must also not have
140  // ghost cells defined.
142 
143  // Tolerance used for point merging
144  double Tolerance;
145 
146  // If true, tolerance is used as is. If false, tolerance is multiplied by
147  // the diagonal of the bounding box of the input.
149 
150  // Output data set type.
152 
153  // Precision of output points.
155 
156 private:
157  vtkAppendDataSets(const vtkAppendDataSets&) = delete;
158  void operator=(const vtkAppendDataSets&) = delete;
159 
160  bool UseImplicitArray = false;
161 
162  // Get all input data sets that have points, cells, or both.
163  // Caller must delete the returned vtkDataSetCollection.
164  vtkDataSetCollection* GetNonEmptyInputs(vtkInformationVector** inputVector);
165 
167 };
168 
169 VTK_ABI_NAMESPACE_END
170 #endif
maintain an unordered list of dataset objects
#define VTK_DOUBLE_MAX
Definition: vtkType.h:202
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called by the superclass.
Store vtkAlgorithm input/output information.
vtkTypeBool ProcessRequest(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
See vtkAlgorithm for details.
virtual int RequestDataObject(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
abstract class to specify dataset behavior
Definition: vtkDataSet.h:56
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods for instantiation, obtaining type information, and printing instances of the class...
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
int vtkTypeBool
Definition: vtkABI.h:64
a simple class to control print indentation
Definition: vtkIndent.h:28
Superclass for algorithms that process vtkPointSet input.
Appends one or more datasets together into a single output vtkPointSet.
static vtkPointSetAlgorithm * New()
Standard methods for instantiation, obtaining type information, and printing instances of the class...
Store zero or more vtkInformation instances.
#define VTK_MARSHALAUTO
vtkDataObjectMeshCache is a class to store and reuse the mesh of a vtkDataSet, while forwarding data ...