VTK  9.6.20260516
vtkMarchingCellsContourCases.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
3
4#ifndef vtkMarchingCellsContourCases_h
5#define vtkMarchingCellsContourCases_h
6
7#include "vtkCommonDataModelModule.h"
8
9#include <cstdint> // For uint8_t
10
55VTK_ABI_NAMESPACE_BEGIN
56class VTKCOMMONDATAMODEL_EXPORT vtkMarchingCellsContourCases
57{
58public:
60
66 using LineCase = int[3];
67 static const LineCase* GetLineCases();
68 static const LineCase& GetLineCase(uint8_t caseIndex);
70
72
78 using TriangleCase = int[3];
80 static const TriangleCase& GetTriangleCase(uint8_t caseIndex);
82
84
91 using PixelCase = int[5];
92 static const PixelCase* GetPixelCases();
93 static const PixelCase& GetPixelCase(uint8_t caseIndex);
95
97
102 using QuadCase = int[5];
103 static const QuadCase* GetQuadCases();
104 static const QuadCase& GetQuadCase(uint8_t caseIndex);
106
108
113 using TetraCase = int[7];
114 static const TetraCase* GetTetraCases();
115 static const TetraCase& GetTetraCase(uint8_t caseIndex);
117
119
127 using VoxelCase = int[16];
128 static const VoxelCase* GetVoxelCases();
129 static const VoxelCase& GetVoxelCase(uint8_t caseIndex);
131
133
138 using HexahedronCase = int[16];
140 static const HexahedronCase& GetHexahedronCase(uint8_t caseIndex);
142
144
149 using WedgeCase = int[13];
150 static const WedgeCase* GetWedgeCases();
151 static const WedgeCase& GetWedgeCase(uint8_t caseIndex);
153
155
160 using PyramidCase = int[13];
162 static const PyramidCase& GetPyramidCase(uint8_t caseIndex);
164
172 using CellCase = const int*;
173 static CellCase GetCellCase(int cellType, uint8_t caseIndex);
174
176
183 using TetraCaseWithPolygons = int[6];
185 static const TetraCaseWithPolygons& GetTetraCaseWithPolygons(uint8_t caseIndex);
187
189
197 using VoxelCaseWithPolygons = int[17];
199 static const VoxelCaseWithPolygons& GetVoxelCaseWithPolygons(uint8_t caseIndex);
201
203
212
214
221 using WedgeCaseWithPolygons = int[10];
223 static const WedgeCaseWithPolygons& GetWedgeCaseWithPolygons(uint8_t caseIndex);
225
227
236 static const PyramidCaseWithPolygons& GetPyramidCaseWithPolygons(uint8_t caseIndex);
238
262 using CellCaseWithPolygons = const int*;
263 static CellCaseWithPolygons GetCellCaseWithPolygons(int cellType, uint8_t caseIndex);
264
272 using Edge = int[2];
273 using EdgeArray = const Edge*;
274 static EdgeArray GetCellEdges(int cellType);
275};
276VTK_ABI_NAMESPACE_END
277
278#endif // vtkMarchingCellsContourCases_h
Lookup tables for marching cells contouring.
int[9] PyramidCaseWithPolygons
Polygon case tables for a pyramid cell (VTK_PYRAMID).
static const PixelCase & GetPixelCase(uint8_t caseIndex)
Case tables for a pixel cell (VTK_PIXEL).
int[13] WedgeCase
Case tables for a wedge cell (VTK_WEDGE).
static const PyramidCaseWithPolygons & GetPyramidCaseWithPolygons(uint8_t caseIndex)
Polygon case tables for a pyramid cell (VTK_PYRAMID).
static const PixelCase * GetPixelCases()
Case tables for a pixel cell (VTK_PIXEL).
int[7] TetraCase
Case tables for a tetrahedron cell (VTK_TETRA).
int[16] VoxelCase
Case tables for a voxel cell (VTK_VOXEL).
int[3] TriangleCase
Case tables for a triangle cell (VTK_TRIANGLE).
static const TriangleCase & GetTriangleCase(uint8_t caseIndex)
Case tables for a triangle cell (VTK_TRIANGLE).
static const PyramidCaseWithPolygons * GetPyramidCasesWithPolygons()
Polygon case tables for a pyramid cell (VTK_PYRAMID).
static const HexahedronCase & GetHexahedronCase(uint8_t caseIndex)
Case tables for a hexahedron cell (VTK_HEXAHEDRON).
int[10] WedgeCaseWithPolygons
Polygon case tables for a wedge cell (VTK_WEDGE).
int[17] VoxelCaseWithPolygons
Polygon case tables for a voxel cell (VTK_VOXEL).
static const PyramidCase * GetPyramidCases()
Case tables for a pyramid cell (VTK_PYRAMID).
int[3] LineCase
Case tables for a line cell (VTK_LINE).
static const WedgeCase * GetWedgeCases()
Case tables for a wedge cell (VTK_WEDGE).
static const TetraCaseWithPolygons * GetTetraCasesWithPolygons()
Polygon case tables for a tetrahedron cell (VTK_TETRA).
int[6] TetraCaseWithPolygons
Polygon case tables for a tetrahedron cell (VTK_TETRA).
static const WedgeCaseWithPolygons * GetWedgeCasesWithPolygons()
Polygon case tables for a wedge cell (VTK_WEDGE).
static const WedgeCase & GetWedgeCase(uint8_t caseIndex)
Case tables for a wedge cell (VTK_WEDGE).
static const TetraCaseWithPolygons & GetTetraCaseWithPolygons(uint8_t caseIndex)
Polygon case tables for a tetrahedron cell (VTK_TETRA).
static const QuadCase & GetQuadCase(uint8_t caseIndex)
Case tables for a quad cell (VTK_QUAD).
static const PyramidCase & GetPyramidCase(uint8_t caseIndex)
Case tables for a pyramid cell (VTK_PYRAMID).
static const VoxelCaseWithPolygons * GetVoxelCasesWithPolygons()
Polygon case tables for a voxel cell (VTK_VOXEL).
int[5] PixelCase
Case tables for a pixel cell (VTK_PIXEL).
static EdgeArray GetCellEdges(int cellType)
static const HexahedronCaseWithPolygons * GetHexahedronCasesWithPolygons()
Polygon case tables for a hexahedron cell (VTK_HEXAHEDRON).
static const VoxelCase & GetVoxelCase(uint8_t caseIndex)
Case tables for a voxel cell (VTK_VOXEL).
static const VoxelCaseWithPolygons & GetVoxelCaseWithPolygons(uint8_t caseIndex)
Polygon case tables for a voxel cell (VTK_VOXEL).
int[13] PyramidCase
Case tables for a pyramid cell (VTK_PYRAMID).
int[16] HexahedronCase
Case tables for a hexahedron cell (VTK_HEXAHEDRON).
static CellCase GetCellCase(int cellType, uint8_t caseIndex)
static const WedgeCaseWithPolygons & GetWedgeCaseWithPolygons(uint8_t caseIndex)
Polygon case tables for a wedge cell (VTK_WEDGE).
static const LineCase * GetLineCases()
Case tables for a line cell (VTK_LINE).
static const TriangleCase * GetTriangleCases()
Case tables for a triangle cell (VTK_TRIANGLE).
static const TetraCase * GetTetraCases()
Case tables for a tetrahedron cell (VTK_TETRA).
int[2] Edge
Returns the edge definitions for the given cell type as an array of point index pairs,...
const int * CellCase
Generic interface to retrieve a contour case entry for any supported cell type.
static CellCaseWithPolygons GetCellCaseWithPolygons(int cellType, uint8_t caseIndex)
const int * CellCaseWithPolygons
Generic interface to retrieve a contour case entry that generates polygons or line segments for any s...
static const LineCase & GetLineCase(uint8_t caseIndex)
Case tables for a line cell (VTK_LINE).
static const TetraCase & GetTetraCase(uint8_t caseIndex)
Case tables for a tetrahedron cell (VTK_TETRA).
static const HexahedronCase * GetHexahedronCases()
Case tables for a hexahedron cell (VTK_HEXAHEDRON).
static const VoxelCase * GetVoxelCases()
Case tables for a voxel cell (VTK_VOXEL).
static const HexahedronCaseWithPolygons & GetHexahedronCaseWithPolygons(uint8_t caseIndex)
Polygon case tables for a hexahedron cell (VTK_HEXAHEDRON).
int[17] HexahedronCaseWithPolygons
Polygon case tables for a hexahedron cell (VTK_HEXAHEDRON).
int[5] QuadCase
Case tables for a quad cell (VTK_QUAD).
static const QuadCase * GetQuadCases()
Case tables for a quad cell (VTK_QUAD).