VTK  9.6.20260612
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
32
33#ifndef vtkAppendDataSets_h
34#define vtkAppendDataSets_h
35
36#include "vtkFiltersCoreModule.h" // For export macro
38#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
39
40VTK_ABI_NAMESPACE_BEGIN
42class vtkDataSet;
44
45class VTKFILTERSCORE_EXPORT VTK_MARSHALAUTO vtkAppendDataSets : public vtkPointSetAlgorithm
46{
47public:
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
119 vtkGetMacro(OutputPointsPrecision, int);
121
127
128protected:
131
132 // Usual data generation method
134 vtkInformationVector* outputVector) override;
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
156private:
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
169VTK_ABI_NAMESPACE_END
170#endif
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
vtkTypeBool ProcessRequest(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
see vtkAlgorithm for details
virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
static vtkAppendDataSets * New()
~vtkAppendDataSets() override
int RequestDataObject(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
This is called by the superclass.
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkDataObjectMeshCache is a class to store and reuse the mesh of a vtkDataSet, while forwarding data ...
maintain an unordered list of dataset objects
abstract class to specify dataset behavior
Definition vtkDataSet.h:166
a simple class to control print indentation
Definition vtkIndent.h:108
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Allocate and hold a VTK object.
Definition vtkNew.h:168
int vtkTypeBool
Definition vtkABI.h:64
#define VTK_DOUBLE_MAX
Definition vtkType.h:202
#define VTK_MARSHALAUTO