VTK: Filters/Core/vtkAppendDataSets.h Source File

| VTK 9.3.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
39 VTK_ABI_NAMESPACE_BEGIN
40 class vtkDataSet;
41 class vtkDataSetCollection;
42
43 class VTKFILTERSCORE_EXPORT vtkAppendDataSets : public vtkPointSetAlgorithm
44 {
45 public:
46 static vtkAppendDataSets* New();
47 vtkTypeMacro(vtkAppendDataSets, vtkPointSetAlgorithm);
48 void PrintSelf(ostream& os, vtkIndent indent) override;
49
51
56 vtkGetMacro(MergePoints, bool);
57 vtkSetMacro(MergePoints, bool);
58 vtkBooleanMacro(MergePoints, bool);
60
62
69 vtkSetClampMacro(Tolerance, double, 0.0, VTK_DOUBLE_MAX);
70 vtkGetMacro(Tolerance, double);
72
74
79 vtkSetMacro(ToleranceIsAbsolute, bool);
80 vtkGetMacro(ToleranceIsAbsolute, bool);
81 vtkBooleanMacro(ToleranceIsAbsolute, bool);
83
85
94 vtkSetMacro(OutputDataSetType, int);
95 vtkGetMacro(OutputDataSetType, int);
97
99
104 vtkSetClampMacro(OutputPointsPrecision, int, SINGLE_PRECISION, DEFAULT_PRECISION);
105 vtkGetMacro(OutputPointsPrecision, int);
107
111 vtkTypeBool ProcessRequest(
112 vtkInformation*, vtkInformationVector**, vtkInformationVector*) override;
113
114 protected:
115 vtkAppendDataSets();
116 ~vtkAppendDataSets() override;
117
118 // Usual data generation method
119 int RequestDataObject(vtkInformation* request, vtkInformationVector** inputVector,
120 vtkInformationVector* outputVector) override;
121 int RequestData(vtkInformation*, vtkInformationVector**, vtkInformationVector*) override;
122 virtual int RequestUpdateExtent(vtkInformation*, vtkInformationVector**, vtkInformationVector*);
123 int FillInputPortInformation(int port, vtkInformation* info) override;
124
125 // If true we will attempt to merge points. Must also not have
126 // ghost cells defined.
127 bool MergePoints;
128
129 // Tolerance used for point merging
130 double Tolerance;
131
132 // If true, tolerance is used as is. If false, tolerance is multiplied by
133 // the diagonal of the bounding box of the input.
134 bool ToleranceIsAbsolute;
135
136 // Output data set type.
137 int OutputDataSetType;
138
139 // Precision of output points.
140 int OutputPointsPrecision;
141
142 private:
143 vtkAppendDataSets(const vtkAppendDataSets&) = delete;
144 void operator=(const vtkAppendDataSets&) = delete;
145
146 // Get all input data sets that have points, cells, or both.
147 // Caller must delete the returned vtkDataSetCollection.
148 vtkDataSetCollection* GetNonEmptyInputs(vtkInformationVector** inputVector);
149 };
150
151 VTK_ABI_NAMESPACE_END
152 #endif
vtkAppendDataSets
Appends one or more datasets together into a single output vtkPointSet.
Definition: vtkAppendDataSets.h:44
vtkAppendDataSets::RequestData
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
vtkAppendDataSets::OutputDataSetType
int OutputDataSetType
Definition: vtkAppendDataSets.h:137
vtkAppendDataSets::vtkAppendDataSets
vtkAppendDataSets()
vtkAppendDataSets::ProcessRequest
vtkTypeBool ProcessRequest(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
see vtkAlgorithm for details
vtkAppendDataSets::New
static vtkAppendDataSets * New()
vtkAppendDataSets::MergePoints
bool MergePoints
Definition: vtkAppendDataSets.h:127
vtkAppendDataSets::RequestUpdateExtent
virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
vtkAppendDataSets::~vtkAppendDataSets
~vtkAppendDataSets() override
vtkAppendDataSets::RequestDataObject
int RequestDataObject(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
This is called by the superclass.
vtkAppendDataSets::FillInputPortInformation
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
vtkAppendDataSets::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkAppendDataSets::OutputPointsPrecision
int OutputPointsPrecision
Definition: vtkAppendDataSets.h:140
vtkAppendDataSets::Tolerance
double Tolerance
Definition: vtkAppendDataSets.h:130
vtkAppendDataSets::ToleranceIsAbsolute
bool ToleranceIsAbsolute
Definition: vtkAppendDataSets.h:134
vtkDataSetCollection
maintain an unordered list of dataset objects
Definition: vtkDataSetCollection.h:30
vtkDataSet
abstract class to specify dataset behavior
Definition: vtkDataSet.h:62
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:38
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:40
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:72
vtkPointSetAlgorithm
Superclass for algorithms that produce output of the same type as input.
Definition: vtkPointSetAlgorithm.h:33
vtkX3D::info
@ info
Definition: vtkX3D.h:376
vtkX3D::port
@ port
Definition: vtkX3D.h:447
vtkTypeBool
int vtkTypeBool
Definition: vtkABI.h:64
vtkPointSetAlgorithm.h
VTK_DOUBLE_MAX
#define VTK_DOUBLE_MAX
Definition: vtkType.h:154