VTK  9.2.5
vtkDataSetAttributesFieldList.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkDataSetAttributesFieldList.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=========================================================================*/
55#ifndef vtkDataSetAttributesFieldList_h
56#define vtkDataSetAttributesFieldList_h
57
58#include "vtkCommonDataModelModule.h" // For export macro
59#include "vtkSmartPointer.h" // for vtkSmartPointer
60#include "vtkSystemIncludes.h"
61
62#include <functional> // for std::function
63#include <memory> // for unique_ptr
64
67class vtkIdList;
68
69class VTKCOMMONDATAMODEL_EXPORT vtkDataSetAttributesFieldList
70{
71public:
76 vtkDataSetAttributesFieldList(int number_of_inputs = 0);
78 void PrintSelf(ostream& os, vtkIndent indent);
79
83 void Reset();
84
92
98
104
106
112 void CopyAllocate(vtkDataSetAttributes* output, int ctype, vtkIdType sz, vtkIdType ext) const;
113 void CopyData(int inputIndex, vtkDataSetAttributes* input, vtkIdType fromId,
114 vtkDataSetAttributes* output, vtkIdType toId) const;
115 void CopyData(int inputIndex, vtkDataSetAttributes* input, vtkIdType inputStart,
116 vtkIdType numValues, vtkDataSetAttributes* output, vtkIdType outStart) const;
117 void InterpolatePoint(int inputIndex, vtkDataSetAttributes* input, vtkIdList* inputIds,
118 double* weights, vtkDataSetAttributes* output, vtkIdType toId) const;
120
125 void TransformData(int inputIndex, vtkDataSetAttributes* input, vtkDataSetAttributes* output,
126 std::function<void(vtkAbstractArray*, vtkAbstractArray*)> op) const;
127
134
147 void BuildPrototype(vtkDataSetAttributes* protoDSA, vtkDataSetAttributes* ordering = nullptr);
148
149protected:
155
156private:
157 class vtkInternals;
158 std::unique_ptr<vtkInternals> Internals;
159
161 void operator=(vtkDataSetAttributesFieldList&) = delete;
162};
163
164#endif
165// VTK-HeaderTest-Exclude: vtkDataSetAttributesFieldList.h
Abstract superclass for all arrays.
helps manage arrays from multiple vtkDataSetAttributes.
int GetNumberOfArrays()
This method can be used to determine the number of arrays remaining after intersection or union opera...
void PrintSelf(ostream &os, vtkIndent indent)
void Reset()
Initializes the field list to empty.
void InitializeFieldList(vtkDataSetAttributes *dsa)
Initialize the field list.
virtual vtkSmartPointer< vtkAbstractArray > CreateArray(int type) const
Called to create an output array for the given type.
void BuildPrototype(vtkDataSetAttributes *protoDSA, vtkDataSetAttributes *ordering=nullptr)
A convenience function that builds a prototype / template dataset attributes for initializing the pro...
void IntersectFieldList(vtkDataSetAttributes *dsa)
Update the field list for an intersection of arrays registered so far and those in dsa.
void InterpolatePoint(int inputIndex, vtkDataSetAttributes *input, vtkIdList *inputIds, double *weights, vtkDataSetAttributes *output, vtkIdType toId) const
These methods can called to generate and update the output vtkDataSetAttributes.
void TransformData(int inputIndex, vtkDataSetAttributes *input, vtkDataSetAttributes *output, std::function< void(vtkAbstractArray *, vtkAbstractArray *)> op) const
Use this method to provide a custom callback function to invoke for each array in the input and corre...
void CopyData(int inputIndex, vtkDataSetAttributes *input, vtkIdType inputStart, vtkIdType numValues, vtkDataSetAttributes *output, vtkIdType outStart) const
These methods can called to generate and update the output vtkDataSetAttributes.
void CopyAllocate(vtkDataSetAttributes *output, int ctype, vtkIdType sz, vtkIdType ext) const
These methods can called to generate and update the output vtkDataSetAttributes.
void UnionFieldList(vtkDataSetAttributes *dsa)
Update the field list for an union of arrays registered so far and those in dsa.
void CopyData(int inputIndex, vtkDataSetAttributes *input, vtkIdType fromId, vtkDataSetAttributes *output, vtkIdType toId) const
These methods can called to generate and update the output vtkDataSetAttributes.
vtkDataSetAttributesFieldList(int number_of_inputs=0)
number_of_inputs parameter is not required and only provided for backwards compatibility.
represent and manipulate attribute data in a dataset
list of point or cell ids
Definition: vtkIdList.h:34
a simple class to control print indentation
Definition: vtkIndent.h:40
Hold a reference to a vtkObjectBase instance.
int vtkIdType
Definition: vtkType.h:332