VTK  9.7.20260727
vtkReflectionUtilities.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
9
10#ifndef vtkReflectionUtilities_h
11#define vtkReflectionUtilities_h
12
13#include "vtkAlgorithm.h" // for vtkAlgorithm class
15#include "vtkUnstructuredGrid.h" // for vtkUnstructuredGrid class
16
17VTK_ABI_NAMESPACE_BEGIN
18
20{
21
27 vtkFieldData* fd, std::vector<std::pair<vtkIdType, int>>& reflectableArrays);
28
33void FindAllReflectableArrays(std::vector<std::pair<vtkIdType, int>>& reflectableArrays,
34 vtkDataSetAttributes* inData, bool reflectAllInputArrays);
35
40void ReflectTuple(double* tuple, int* mirrorDir, int nComp);
41
55void ReflectReflectableArrays(std::vector<std::pair<vtkIdType, int>>& reflectableArrays,
56 vtkDataSetAttributes* inData, vtkDataSetAttributes* outData, vtkIdType i, int mirrorDir[3],
57 int mirrorSymmetricTensorDir[6], int mirrorTensorDir[9], vtkIdType id);
58
70 vtkIdType numInputPoints, bool copyInput);
71
86void ProcessUnstructuredGrid(vtkDataSet* input, vtkUnstructuredGrid* output, double constant[3],
87 int mirrorDir[3], int mirrorSymmetricTensorDir[6], int mirrorTensorDir[9], bool copyInput,
88 bool reflectAllInputArrays, vtkAlgorithm* algorithm);
89
93void CopyAndReflect(vtkDataSetAttributes* inAttr, vtkDataSetAttributes* outAttr, int mirrorDir[3],
94 int mirrorSymmetricTensorDir[6], int mirrorTensorDir[9], bool reflectAll);
95}
96
97VTK_ABI_NAMESPACE_END
98
99#endif
represent and manipulate attribute data in a dataset
abstract class to specify dataset behavior
Definition vtkDataSet.h:165
Represents and manipulates a collection of data arrays.
dataset represents arbitrary combinations of all possible cell types
Reflection methods for Unstructured Grid.
void FindAllReflectableArrays(std::vector< std::pair< vtkIdType, int > > &reflectableArrays, vtkDataSetAttributes *inData, bool reflectAllInputArrays)
If reflectAllInputArrays is true, calls FindReflectableArrays.
void ReflectTuple(double *tuple, int *mirrorDir, int nComp)
Reflect each component of the provided tuple according to the provided mirrorDir using the provided n...
void ProcessUnstructuredGrid(vtkDataSet *input, vtkUnstructuredGrid *output, double constant[3], int mirrorDir[3], int mirrorSymmetricTensorDir[6], int mirrorTensorDir[9], bool copyInput, bool reflectAllInputArrays, vtkAlgorithm *algorithm)
Generate the reflection of the input dataset as an unstructured grid.
void CopyAndReflect(vtkDataSetAttributes *inAttr, vtkDataSetAttributes *outAttr, int mirrorDir[3], int mirrorSymmetricTensorDir[6], int mirrorTensorDir[9], bool reflectAll)
Copy all arrays and reflect the relevant ones.
vtkIdType ReflectNon3DCellInternal(vtkDataSet *input, vtkUnstructuredGrid *output, vtkIdType cellId, vtkIdType numInputPoints, bool copyInput)
Generate new, non-3D cell and return the generated cell id.
void FindReflectableArrays(vtkFieldData *fd, std::vector< std::pair< vtkIdType, int > > &reflectableArrays)
method to determine which arrays from a field data can be reflected and store them in the provided re...
void ReflectReflectableArrays(std::vector< std::pair< vtkIdType, int > > &reflectableArrays, vtkDataSetAttributes *inData, vtkDataSetAttributes *outData, vtkIdType i, int mirrorDir[3], int mirrorSymmetricTensorDir[6], int mirrorTensorDir[9], vtkIdType id)
Reflect the i-th tuple of each array in reflectableArrays.
int vtkIdType
Definition vtkType.h:363
#define vtkAlgorithm