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 
65 class vtkAbstractArray;
67 class vtkIdList;
68 
69 class VTKCOMMONDATAMODEL_EXPORT vtkDataSetAttributesFieldList
70 {
71 public:
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 
149 protected:
155 
156 private:
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.
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.
virtual vtkSmartPointer< vtkAbstractArray > CreateArray(int type) const
Called to create an output array for the given type.
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:143
a simple class to control print indentation
Definition: vtkIndent.h:119
@ function
Definition: vtkX3D.h:255
@ type
Definition: vtkX3D.h:522
int vtkIdType
Definition: vtkType.h:332