VTK  9.6.20260402
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
41VTK_ABI_NAMESPACE_BEGIN
42class VTKCOMMONDATAMODEL_EXPORT vtkMarchingCellsContourCases
43{
44public:
46
51 using LineCase = int[2];
52 static const LineCase* GetLineCases();
53 static const LineCase& GetLineCase(uint8_t caseIndex);
55
57
62 using TriangleCase = int[3];
64 static const TriangleCase& GetTriangleCase(uint8_t caseIndex);
66
68
75 using PixelCase = int[5];
76 static const PixelCase* GetPixelCases();
77 static const PixelCase& GetPixelCase(uint8_t caseIndex);
79
81
86 using QuadCase = int[5];
87 static const QuadCase* GetQuadCases();
88 static const QuadCase& GetQuadCase(uint8_t caseIndex);
90
92
97 using TetraCase = int[7];
98 static const TetraCase* GetTetraCases();
99 static const TetraCase& GetTetraCase(uint8_t caseIndex);
101
103
111 using VoxelCase = int[16];
112 static const VoxelCase* GetVoxelCases();
113 static const VoxelCase& GetVoxelCase(uint8_t caseIndex);
115
117
122 using HexahedronCase = int[16];
124 static const HexahedronCase& GetHexahedronCase(uint8_t caseIndex);
126
128
137
139
144 using WedgeCase = int[13];
145 static const WedgeCase* GetWedgeCases();
146 static const WedgeCase& GetWedgeCase(uint8_t caseIndex);
148
150
155 using PyramidCase = int[13];
157 static const PyramidCase& GetPyramidCase(uint8_t caseIndex);
159
167 using CellCase = const int*;
168 static CellCase GetCellCase(int cellType, uint8_t caseIndex);
169
176 using Edge = int[2];
177 using EdgeArray = const Edge*;
178 static EdgeArray GetCellEdges(int cellType);
179};
180VTK_ABI_NAMESPACE_END
181
182#endif // vtkMarchingCellsContourCases_h
Lookup tables for marching cells contouring.
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 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 HexahedronCase & GetHexahedronCase(uint8_t caseIndex)
Case tables for a hexahedron cell (VTK_HEXAHEDRON).
static const PyramidCase * GetPyramidCases()
Case tables for a pyramid cell (VTK_PYRAMID).
static const WedgeCase * GetWedgeCases()
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 QuadCase & GetQuadCase(uint8_t caseIndex)
Case tables for a quad cell (VTK_QUAD).
static const HexahedronWithPolygonCase * GetHexahedronWithPolygonCases()
Case tables for a hexahedron cell with polygon output (VTK_HEXAHEDRON).
static const PyramidCase & GetPyramidCase(uint8_t caseIndex)
Case tables for a pyramid cell (VTK_PYRAMID).
int[5] PixelCase
Case tables for a pixel cell (VTK_PIXEL).
static EdgeArray GetCellEdges(int cellType)
static const VoxelCase & GetVoxelCase(uint8_t caseIndex)
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)
int[2] LineCase
Case tables for a line cell (VTK_LINE).
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.
int[17] HexahedronWithPolygonCase
Case tables for a hexahedron cell with polygon output (VTK_HEXAHEDRON).
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).
int[5] QuadCase
Case tables for a quad cell (VTK_QUAD).
static const QuadCase * GetQuadCases()
Case tables for a quad cell (VTK_QUAD).
static const HexahedronWithPolygonCase & GetHexahedronWithPolygonCase(uint8_t caseIndex)
Case tables for a hexahedron cell with polygon output (VTK_HEXAHEDRON).