VTK  9.1.0
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
128protected:
134
135private:
136 class vtkInternals;
137 std::unique_ptr<vtkInternals> Internals;
138
140 void operator=(vtkDataSetAttributesFieldList&) = delete;
141};
142
143#endif
144// VTK-HeaderTest-Exclude: vtkDataSetAttributesFieldList.h
Abstract superclass for all arrays.
helps manage arrays from multiple vtkDataSetAttributes.
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 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:140
a simple class to control print indentation
Definition: vtkIndent.h:113
Hold a reference to a vtkObjectBase instance.
int vtkIdType
Definition: vtkType.h:332