VTK  9.5.20250531
vtkIntegrationLinearStrategy.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-License-Identifier: BSD-3-Clause
15#ifndef vtkIntegrationLinearStrategy_h
16#define vtkIntegrationLinearStrategy_h
17
18#include "vtkFiltersParallelModule.h" // For export macro
20
21VTK_ABI_NAMESPACE_BEGIN
22class vtkDataSet;
24class vtkGenericCell;
27
28class VTKFILTERSPARALLEL_EXPORT vtkIntegrationLinearStrategy : public vtkIntegrationStrategy
29{
30public:
32 void PrintSelf(ostream& os, vtkIndent indent) override;
34
36
40 vtkIdType numPts, const vtkIdType* cellPtIds, double& sum, double sumCenter[3],
42 int index) override;
43
45 vtkIdType numPts, const vtkIdType* cellPtIds, double& sum, double sumCenter[3],
47 int index) override;
48
50 vtkIdType numPts, const vtkIdType* cellPtIds, double& sum, double sumCenter[3],
52 int index) override;
53
55 vtkIdType pt1Id, vtkIdType pt2Id, vtkIdType pt3Id, double& sum, double sumCenter[3],
57 int index) override;
58
60 vtkIdType pt1Id, vtkIdType pt2Id, vtkIdType pt3Id, vtkIdType pt4Id, double& sum,
61 double sumCenter[3], vtkIntegrateAttributesFieldList& cellFieldList,
62 vtkIntegrateAttributesFieldList& pointFieldList, int index) override;
63
65 vtkIdType pt1Id, vtkIdType pt2Id, vtkIdType pt3Id, vtkIdType pt4Id, double& sum,
66 double sumCenter[3], vtkIntegrateAttributesFieldList& cellFieldList,
67 vtkIntegrateAttributesFieldList& pointFieldList, int index) override;
68
70 vtkIdType numPts, const vtkIdType* cellPtIds, double& sum, double sumCenter[3],
72 int index) override;
73
75 vtkIdType numPts, const vtkIdType* cellPtIds, double& sum, double sumCenter[3],
77 int index) override;
78
80 vtkIdType cellId, vtkIdType numPts, const vtkIdType* cellPtIds, vtkIdList* cellPtIdsList,
81 double& sum, double sumCenter[3], vtkIntegrateAttributesFieldList& cellFieldList,
82 vtkIntegrateAttributesFieldList& pointFieldList, int index) override;
83
85 vtkIdType cellId, vtkIdType numPts, const vtkIdType* cellPtIds, vtkIdList* cellPtIdsList,
86 double& sum, double sumCenter[3], vtkIntegrateAttributesFieldList& cellFieldList,
87 vtkIntegrateAttributesFieldList& pointFieldList, int index) override;
88
90 vtkIdType cellId, vtkIdType numPts, const vtkIdType* cellPtIds, vtkIdList* cellPtIdsList,
91 double& sum, double sumCenter[3], vtkIntegrateAttributesFieldList& cellFieldList,
92 vtkIntegrateAttributesFieldList& pointFieldList, int index) override;
93
95 vtkIdType numPts, const vtkIdType* cellPtIds, double& sum, double sumCenter[3],
97 int index) override;
98
100 vtkIdType numPts, const vtkIdType* cellPtIds, double& sum, double sumCenter[3],
102 int index) override;
103
105 vtkIdType numPts, const vtkIdType* cellPtIds, double& sum, double sumCenter[3],
107 int index) override;
108
110 vtkIdType cellId, vtkIdType numPts, vtkIdList* cellPtIds, double& sum, double sumCenter[3],
112 int index) override;
114
116
120 double volume, vtkIntegrateAttributesFieldList& fieldlist, int fieldlist_index) override;
121
123 vtkIdType pt2Id, double volume, vtkIntegrateAttributesFieldList& fieldlist,
124 int fieldlist_index) override;
125
127 vtkIdType pt2Id, vtkIdType pt3Id, double volume, vtkIntegrateAttributesFieldList& fieldlist,
128 int fieldlist_index) override;
129
131 vtkIdType pt2Id, vtkIdType pt3Id, vtkIdType pt4Id, double volume,
132 vtkIntegrateAttributesFieldList& fieldlist, int fieldlist_index) override;
134
135protected:
137 ~vtkIntegrationLinearStrategy() override = default;
138
139private:
141 void operator=(const vtkIntegrationLinearStrategy&) = delete;
142};
143
144VTK_ABI_NAMESPACE_END
145#endif
represent and manipulate attribute data in a dataset
abstract class to specify dataset behavior
Definition vtkDataSet.h:165
provides thread-safe access to cells
list of point or cell ids
Definition vtkIdList.h:133
a simple class to control print indentation
Definition vtkIndent.h:108
Helper class for vtkIntegrateAttributes.
void IntegrateGeneral1DCell(vtkDataSet *input, vtkUnstructuredGrid *output, vtkIdType cellId, vtkIdType numPts, const vtkIdType *cellPtIds, double &sum, double sumCenter[3], vtkIntegrateAttributesFieldList &cellFieldList, vtkIntegrateAttributesFieldList &pointFieldList, int index) override
Integration functions operating on many cell types.
void IntegrateData3(vtkDataSetAttributes *inda, vtkDataSetAttributes *outda, vtkIdType pt1Id, vtkIdType pt2Id, vtkIdType pt3Id, double volume, vtkIntegrateAttributesFieldList &fieldlist, int fieldlist_index) override
Integrates on data arrays depending on the number of node of the shape.
static vtkIntegrationLinearStrategy * New()
void IntegrateHexahedron(vtkDataSet *input, vtkUnstructuredGrid *output, vtkGenericCell *cell, vtkIdType cellId, vtkIdType numPts, const vtkIdType *cellPtIds, vtkIdList *cellPtIdsList, double &sum, double sumCenter[3], vtkIntegrateAttributesFieldList &cellFieldList, vtkIntegrateAttributesFieldList &pointFieldList, int index) override
Integration functions operating on many cell types.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void IntegrateQuad(vtkDataSet *input, vtkUnstructuredGrid *output, vtkIdType cellId, vtkIdType pt1Id, vtkIdType pt2Id, vtkIdType pt3Id, vtkIdType pt4Id, double &sum, double sumCenter[3], vtkIntegrateAttributesFieldList &cellFieldList, vtkIntegrateAttributesFieldList &pointFieldList, int index) override
Integration functions operating on many cell types.
void IntegratePolyLine(vtkDataSet *input, vtkUnstructuredGrid *output, vtkIdType cellId, vtkIdType numPts, const vtkIdType *cellPtIds, double &sum, double sumCenter[3], vtkIntegrateAttributesFieldList &cellFieldList, vtkIntegrateAttributesFieldList &pointFieldList, int index) override
Integration functions operating on many cell types.
void IntegrateGeneral2DCell(vtkDataSet *input, vtkUnstructuredGrid *output, vtkIdType cellId, vtkIdType numPts, const vtkIdType *cellPtIds, double &sum, double sumCenter[3], vtkIntegrateAttributesFieldList &cellFieldList, vtkIntegrateAttributesFieldList &pointFieldList, int index) override
Integration functions operating on many cell types.
void IntegrateVoxel(vtkDataSet *input, vtkUnstructuredGrid *output, vtkIdType cellId, vtkIdType numPts, const vtkIdType *cellPtIds, double &sum, double sumCenter[3], vtkIntegrateAttributesFieldList &cellFieldList, vtkIntegrateAttributesFieldList &pointFieldList, int index) override
Integration functions operating on many cell types.
void IntegrateDefault(vtkDataSet *input, vtkUnstructuredGrid *output, vtkGenericCell *cell, vtkIdType cellId, vtkIdType numPts, vtkIdList *cellPtIds, double &sum, double sumCenter[3], vtkIntegrateAttributesFieldList &cellFieldList, vtkIntegrateAttributesFieldList &pointFieldList, int index) override
Integration functions operating on many cell types.
void IntegratePixel(vtkDataSet *input, vtkUnstructuredGrid *output, vtkIdType cellId, vtkIdType numPts, const vtkIdType *cellPtIds, double &sum, double sumCenter[3], vtkIntegrateAttributesFieldList &cellFieldList, vtkIntegrateAttributesFieldList &pointFieldList, int index) override
Integration functions operating on many cell types.
void IntegrateTriangleStrip(vtkDataSet *input, vtkUnstructuredGrid *output, vtkIdType cellId, vtkIdType numPts, const vtkIdType *cellPtIds, double &sum, double sumCenter[3], vtkIntegrateAttributesFieldList &cellFieldList, vtkIntegrateAttributesFieldList &pointFieldList, int index) override
Integration functions operating on many cell types.
void IntegrateTriangle(vtkDataSet *input, vtkUnstructuredGrid *output, vtkIdType cellId, vtkIdType pt1Id, vtkIdType pt2Id, vtkIdType pt3Id, double &sum, double sumCenter[3], vtkIntegrateAttributesFieldList &cellFieldList, vtkIntegrateAttributesFieldList &pointFieldList, int index) override
Integration functions operating on many cell types.
void IntegrateWedge(vtkDataSet *input, vtkUnstructuredGrid *output, vtkGenericCell *cell, vtkIdType cellId, vtkIdType numPts, const vtkIdType *cellPtIds, vtkIdList *cellPtIdsList, double &sum, double sumCenter[3], vtkIntegrateAttributesFieldList &cellFieldList, vtkIntegrateAttributesFieldList &pointFieldList, int index) override
Integration functions operating on many cell types.
void IntegratePyramid(vtkDataSet *input, vtkUnstructuredGrid *output, vtkGenericCell *cell, vtkIdType cellId, vtkIdType numPts, const vtkIdType *cellPtIds, vtkIdList *cellPtIdsList, double &sum, double sumCenter[3], vtkIntegrateAttributesFieldList &cellFieldList, vtkIntegrateAttributesFieldList &pointFieldList, int index) override
Integration functions operating on many cell types.
void IntegrateData4(vtkDataSetAttributes *inda, vtkDataSetAttributes *outda, vtkIdType pt1Id, vtkIdType pt2Id, vtkIdType pt3Id, vtkIdType pt4Id, double volume, vtkIntegrateAttributesFieldList &fieldlist, int fieldlist_index) override
Integrates on data arrays depending on the number of node of the shape.
void IntegratePolygon(vtkDataSet *input, vtkUnstructuredGrid *output, vtkIdType cellId, vtkIdType numPts, const vtkIdType *cellPtIds, double &sum, double sumCenter[3], vtkIntegrateAttributesFieldList &cellFieldList, vtkIntegrateAttributesFieldList &pointFieldList, int index) override
Integration functions operating on many cell types.
void IntegrateGeneral3DCell(vtkDataSet *input, vtkUnstructuredGrid *output, vtkIdType cellId, vtkIdType numPts, const vtkIdType *cellPtIds, double &sum, double sumCenter[3], vtkIntegrateAttributesFieldList &cellFieldList, vtkIntegrateAttributesFieldList &pointFieldList, int index) override
Integration functions operating on many cell types.
void IntegrateData1(vtkDataSetAttributes *inda, vtkDataSetAttributes *outda, vtkIdType pt1Id, double volume, vtkIntegrateAttributesFieldList &fieldlist, int fieldlist_index) override
Integrates on data arrays depending on the number of node of the shape.
void IntegrateTetrahedron(vtkDataSet *input, vtkUnstructuredGrid *output, vtkIdType cellId, vtkIdType pt1Id, vtkIdType pt2Id, vtkIdType pt3Id, vtkIdType pt4Id, double &sum, double sumCenter[3], vtkIntegrateAttributesFieldList &cellFieldList, vtkIntegrateAttributesFieldList &pointFieldList, int index) override
Integration functions operating on many cell types.
~vtkIntegrationLinearStrategy() override=default
void IntegrateData2(vtkDataSetAttributes *inda, vtkDataSetAttributes *outda, vtkIdType pt1Id, vtkIdType pt2Id, double volume, vtkIntegrateAttributesFieldList &fieldlist, int fieldlist_index) override
Integrates on data arrays depending on the number of node of the shape.
abstract class to define an integration strategy for vtkIntegrateAttributes
dataset represents arbitrary combinations of all possible cell types
int vtkIdType
Definition vtkType.h:332