VTK  9.2.6
vtkPointInterpolator.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkPointInterpolator.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=========================================================================*/
68#ifndef vtkPointInterpolator_h
69#define vtkPointInterpolator_h
70
71#include "vtkDataSetAlgorithm.h"
72#include "vtkFiltersPointsModule.h" // For export macro
73#include "vtkStdString.h" // For vtkStdString ivars
74#include <vector> //For STL vector
75
77class vtkIdList;
78class vtkDoubleArray;
80class vtkCharArray;
81
82class VTKFILTERSPOINTS_EXPORT vtkPointInterpolator : public vtkDataSetAlgorithm
83{
84public:
86
92 void PrintSelf(ostream& os, vtkIndent indent) override;
94
96
106
114
116
122 vtkGetObjectMacro(Locator, vtkAbstractPointLocator);
124
126
132 vtkGetObjectMacro(Kernel, vtkInterpolationKernel);
134
136 {
137 MASK_POINTS = 0,
138 NULL_VALUE = 1,
139 CLOSEST_POINT = 2
140 };
141
143
154 vtkSetMacro(NullPointsStrategy, int);
155 vtkGetMacro(NullPointsStrategy, int);
156 void SetNullPointsStrategyToMaskPoints() { this->SetNullPointsStrategy(MASK_POINTS); }
157 void SetNullPointsStrategyToNullValue() { this->SetNullPointsStrategy(NULL_VALUE); }
158 void SetNullPointsStrategyToClosestPoint() { this->SetNullPointsStrategy(CLOSEST_POINT); }
160
162
168 vtkSetMacro(ValidPointsMaskArrayName, vtkStdString);
169 vtkGetMacro(ValidPointsMaskArrayName, vtkStdString);
171
173
178 vtkSetMacro(NullValue, double);
179 vtkGetMacro(NullValue, double);
181
183
187 void AddExcludedArray(const vtkStdString& excludedArray)
188 {
189 this->ExcludedArrays.push_back(excludedArray);
190 this->Modified();
191 }
193
195
199 {
200 this->ExcludedArrays.clear();
201 this->Modified();
202 }
204
208 int GetNumberOfExcludedArrays() { return static_cast<int>(this->ExcludedArrays.size()); }
209
211
214 const char* GetExcludedArray(int i)
215 {
216 if (i < 0 || i >= static_cast<int>(this->ExcludedArrays.size()))
217 {
218 return nullptr;
219 }
220 return this->ExcludedArrays[i].c_str();
221 }
223
225
231 vtkSetMacro(PromoteOutputArrays, bool);
232 vtkBooleanMacro(PromoteOutputArrays, bool);
233 vtkGetMacro(PromoteOutputArrays, bool);
235
237
241 vtkSetMacro(PassPointArrays, bool);
242 vtkBooleanMacro(PassPointArrays, bool);
243 vtkGetMacro(PassPointArrays, bool);
245
247
251 vtkSetMacro(PassCellArrays, bool);
252 vtkBooleanMacro(PassCellArrays, bool);
253 vtkGetMacro(PassCellArrays, bool);
255
257
261 vtkSetMacro(PassFieldArrays, bool);
262 vtkBooleanMacro(PassFieldArrays, bool);
263 vtkGetMacro(PassFieldArrays, bool);
265
270
271protected:
274
277
279 double NullValue;
282
283 std::vector<vtkStdString> ExcludedArrays;
284
286
290
294
298 virtual void Probe(vtkDataSet* input, vtkDataSet* source, vtkDataSet* output);
299
305
310 vtkImageData* input, int dims[3], double origin[3], double spacing[3]);
311
312private:
314 void operator=(const vtkPointInterpolator&) = delete;
315};
316
317#endif
abstract class to quickly locate points in 3-space
Proxy object to connect input/output ports.
dynamic, self-adjusting array of char
general representation of visualization data
Superclass for algorithms that produce output of the same type as input.
abstract class to specify dataset behavior
Definition vtkDataSet.h:63
dynamic, self-adjusting array of double
list of point or cell ids
Definition vtkIdList.h:34
topologically and geometrically regular array of data
a simple class to control print indentation
Definition vtkIndent.h:40
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
base class for interpolation kernels
virtual void Modified()
Update the modification time for this object.
interpolate over point cloud using various kernels
vtkInterpolationKernel * Kernel
int GetNumberOfExcludedArrays()
Return the number of excluded arrays.
std::vector< vtkStdString > ExcludedArrays
void SetNullPointsStrategyToNullValue()
Specify a strategy to use when encountering a "null" point during the interpolation process.
void AddExcludedArray(const vtkStdString &excludedArray)
Adds an array to the list of arrays which are to be excluded from the interpolation process.
vtkStdString ValidPointsMaskArrayName
void SetSourceData(vtkDataObject *source)
Specify the dataset Pc that will be probed by the input points P.
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods for instantiating, obtaining type information, and printing.
vtkDataObject * GetSource()
Specify the dataset Pc that will be probed by the input points P.
virtual void PassAttributeData(vtkDataSet *input, vtkDataObject *source, vtkDataSet *output)
Call at end of RequestData() to pass attribute data respecting the PassCellArrays,...
void SetSourceConnection(vtkAlgorithmOutput *algOutput)
Specify the dataset Pc that will be probed by the input points P.
static vtkPointInterpolator * New()
Standard methods for instantiating, obtaining type information, and printing.
int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called within ProcessRequest when each filter in the pipeline decides what portion of its inp...
virtual void Probe(vtkDataSet *input, vtkDataSet *source, vtkDataSet *output)
Virtual for specialized subclass(es)
void SetNullPointsStrategyToClosestPoint()
Specify a strategy to use when encountering a "null" point during the interpolation process.
vtkAbstractPointLocator * Locator
void SetKernel(vtkInterpolationKernel *kernel)
Specify an interpolation kernel.
void ExtractImageDescription(vtkImageData *input, int dims[3], double origin[3], double spacing[3])
Internal method to extract image metadata.
~vtkPointInterpolator() override
void ClearExcludedArrays()
Clears the contents of excluded array list.
void SetNullPointsStrategyToMaskPoints()
Specify a strategy to use when encountering a "null" point during the interpolation process.
const char * GetExcludedArray(int i)
Return the name of the ith excluded array.
vtkMTimeType GetMTime() override
Get the MTime of this object also considering the locator and kernel.
int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called within ProcessRequest when a request asks for Information.
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called within ProcessRequest when a request asks the algorithm to do its work.
void SetLocator(vtkAbstractPointLocator *locator)
Specify a point locator.
Wrapper around std::string to keep symbols short.
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
vtkTypeUInt32 vtkMTimeType
Definition vtkType.h:287