VTK  9.2.6
vtkAppendDataSets.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkAppendDataSets.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
45 #ifndef vtkAppendDataSets_h
46 #define vtkAppendDataSets_h
47 
48 #include "vtkFiltersCoreModule.h" // For export macro
49 #include "vtkPointSetAlgorithm.h"
50 
51 class vtkDataSet;
53 
54 class VTKFILTERSCORE_EXPORT vtkAppendDataSets : public vtkPointSetAlgorithm
55 {
56 public:
57  static vtkAppendDataSets* New();
59  void PrintSelf(ostream& os, vtkIndent indent) override;
60 
62 
67  vtkGetMacro(MergePoints, bool);
68  vtkSetMacro(MergePoints, bool);
69  vtkBooleanMacro(MergePoints, bool);
71 
73 
80  vtkSetClampMacro(Tolerance, double, 0.0, VTK_DOUBLE_MAX);
81  vtkGetMacro(Tolerance, double);
83 
85 
90  vtkSetMacro(ToleranceIsAbsolute, bool);
91  vtkGetMacro(ToleranceIsAbsolute, bool);
92  vtkBooleanMacro(ToleranceIsAbsolute, bool);
94 
96 
105  vtkSetMacro(OutputDataSetType, int);
106  vtkGetMacro(OutputDataSetType, int);
108 
110 
115  vtkSetClampMacro(OutputPointsPrecision, int, SINGLE_PRECISION, DEFAULT_PRECISION);
116  vtkGetMacro(OutputPointsPrecision, int);
118 
124 
125 protected:
127  ~vtkAppendDataSets() override;
128 
129  // Usual data generation method
130  int RequestDataObject(vtkInformation* request, vtkInformationVector** inputVector,
131  vtkInformationVector* outputVector) override;
133  virtual int RequestUpdateExtent(vtkInformation*, vtkInformationVector**, vtkInformationVector*);
134  int FillInputPortInformation(int port, vtkInformation* info) override;
135 
136  // If true we will attempt to merge points. Must also not have
137  // ghost cells defined.
139 
140  // Tolerance used for point merging
141  double Tolerance;
142 
143  // If true, tolerance is used as is. If false, tolerance is multiplied by
144  // the diagonal of the bounding box of the input.
146 
147  // Output data set type.
149 
150  // Precision of output points.
152 
153 private:
154  vtkAppendDataSets(const vtkAppendDataSets&) = delete;
155  void operator=(const vtkAppendDataSets&) = delete;
156 
157  // Get all input data sets that have points, cells, or both.
158  // Caller must delete the returned vtkDataSetCollection.
159  vtkDataSetCollection* GetNonEmptyInputs(vtkInformationVector** inputVector);
160 };
161 
162 #endif
maintain an unordered list of dataset objects
#define VTK_DOUBLE_MAX
Definition: vtkType.h:165
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:62
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
int vtkTypeBool
Definition: vtkABI.h:69
a simple class to control print indentation
Definition: vtkIndent.h:39
Superclass for algorithms that produce output of the same type as input.
Appends one or more datasets together into a single output vtkPointSet.
static vtkPointSetAlgorithm * New()
Store zero or more vtkInformation instances.