Arcane  v3.16.9.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
VtkCellTypes.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2025 CEA (www.cea.fr) IFPEN (www.ifpenergiesnouvelles.com)
4// See the top-level COPYRIGHT file for details.
5// SPDX-License-Identifier: Apache-2.0
6//-----------------------------------------------------------------------------
7/*---------------------------------------------------------------------------*/
8/* VtkCellTypes.h (C) 2000-2025 */
9/* */
10/* Définitions des types de maille de VTK. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_INTERNAL_VTKCELLTYPES_H
13#define ARCANE_CORE_INTERNAL_VTKCELLTYPES_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22namespace Arcane
23{
24class ItemTypeInfo;
25}
26
27namespace Arcane::VtkUtils
28{
29
30// Les valeurs de 'VTK_*' sont issues des sources de VTK 9.2.
31// Elles sont définies dans le fichier 'Common/DataModel/vtkCellType'.
32
33// Linear cells
34const unsigned char VTK_EMPTY_CELL = 0;
35const unsigned char VTK_VERTEX = 1;
36const unsigned char VTK_POLY_VERTEX = 2;
37const unsigned char VTK_LINE = 3;
38const unsigned char VTK_POLY_LINE = 4;
39const unsigned char VTK_TRIANGLE = 5;
40const unsigned char VTK_TRIANGLE_STRIP = 6;
41const unsigned char VTK_POLYGON = 7;
42const unsigned char VTK_PIXEL = 8;
43const unsigned char VTK_QUAD = 9;
44const unsigned char VTK_TETRA = 10;
45const unsigned char VTK_VOXEL = 11;
46const unsigned char VTK_HEXAHEDRON = 12;
47const unsigned char VTK_WEDGE = 13;
48const unsigned char VTK_PYRAMID = 14;
49const unsigned char VTK_PENTAGONAL_PRISM = 15;
50const unsigned char VTK_HEXAGONAL_PRISM = 16;
51
52// Quadratic, isoparametric cells
53const unsigned char VTK_QUADRATIC_EDGE = 21;
54const unsigned char VTK_QUADRATIC_TRIANGLE = 22;
55const unsigned char VTK_QUADRATIC_QUAD = 23;
56const unsigned char VTK_QUADRATIC_POLYGON = 36;
57const unsigned char VTK_QUADRATIC_TETRA = 24;
58const unsigned char VTK_QUADRATIC_HEXAHEDRON = 25;
59const unsigned char VTK_QUADRATIC_WEDGE = 26;
60const unsigned char VTK_QUADRATIC_PYRAMID = 27;
61const unsigned char VTK_BIQUADRATIC_QUAD = 28;
62const unsigned char VTK_TRIQUADRATIC_HEXAHEDRON = 29;
63const unsigned char VTK_TRIQUADRATIC_PYRAMID = 37;
64const unsigned char VTK_QUADRATIC_LINEAR_QUAD = 30;
65const unsigned char VTK_QUADRATIC_LINEAR_WEDGE = 31;
66const unsigned char VTK_BIQUADRATIC_QUADRATIC_WEDGE = 32;
67const unsigned char VTK_BIQUADRATIC_QUADRATIC_HEXAHEDRON = 33;
68const unsigned char VTK_BIQUADRATIC_TRIANGLE = 34;
69
70// Cubic, isoparametric cell
71const unsigned char VTK_CUBIC_LINE = 35;
72
73// Special class of cells formed by convex group of points
74const unsigned char VTK_CONVEX_POINT_SET = 41;
75
76// Polyhedron cell (consisting of polygonal faces)
77const unsigned char VTK_POLYHEDRON = 42;
78
79// Higher order cells in parametric form
80const unsigned char VTK_PARAMETRIC_CURVE = 51;
81const unsigned char VTK_PARAMETRIC_SURFACE = 52;
82const unsigned char VTK_PARAMETRIC_TRI_SURFACE = 53;
83const unsigned char VTK_PARAMETRIC_QUAD_SURFACE = 54;
84const unsigned char VTK_PARAMETRIC_TETRA_REGION = 55;
85const unsigned char VTK_PARAMETRIC_HEX_REGION = 56;
86
87// Higher order cells
88const unsigned char VTK_HIGHER_ORDER_EDGE = 60;
89const unsigned char VTK_HIGHER_ORDER_TRIANGLE = 61;
90const unsigned char VTK_HIGHER_ORDER_QUAD = 62;
91const unsigned char VTK_HIGHER_ORDER_POLYGON = 63;
92const unsigned char VTK_HIGHER_ORDER_TETRAHEDRON = 64;
93const unsigned char VTK_HIGHER_ORDER_WEDGE = 65;
94const unsigned char VTK_HIGHER_ORDER_PYRAMID = 66;
95const unsigned char VTK_HIGHER_ORDER_HEXAHEDRON = 67;
96
97// Arbitrary order Lagrange elements (formulated separated from generic higher order cells)
98const unsigned char VTK_LAGRANGE_CURVE = 68;
99const unsigned char VTK_LAGRANGE_TRIANGLE = 69;
100const unsigned char VTK_LAGRANGE_QUADRILATERAL = 70;
101const unsigned char VTK_LAGRANGE_TETRAHEDRON = 71;
102const unsigned char VTK_LAGRANGE_HEXAHEDRON = 72;
103const unsigned char VTK_LAGRANGE_WEDGE = 73;
104const unsigned char VTK_LAGRANGE_PYRAMID = 74;
105
106// Arbitrary order Bezier elements (formulated separated from generic higher order cells)
107const unsigned char VTK_BEZIER_CURVE = 75;
108const unsigned char VTK_BEZIER_TRIANGLE = 76;
109const unsigned char VTK_BEZIER_QUADRILATERAL = 77;
110const unsigned char VTK_BEZIER_TETRAHEDRON = 78;
111const unsigned char VTK_BEZIER_HEXAHEDRON = 79;
112const unsigned char VTK_BEZIER_WEDGE = 80;
113const unsigned char VTK_BEZIER_PYRAMID = 81;
114
115// Invalid value to detect unsupported Arcane type
116const unsigned char VTK_BAD_ARCANE_TYPE = 255;
117
118extern "C++" ARCANE_CORE_EXPORT Int16
119vtkToArcaneCellType(int vtk_type, Int32 nb_node);
120
121extern "C++" ARCANE_CORE_EXPORT unsigned char
122arcaneToVtkCellType(Int16 arcane_type);
123
124extern "C++" ARCANE_CORE_EXPORT unsigned char
125arcaneToVtkCellType(const ItemTypeInfo* arcane_type);
126
127// Les valeurs pour les types 'CellGhostTypes' et 'PointGhostTypes' sont définies
128// dans le fichier vtkDataSetAttributes.h.
129enum CellGhostTypes
130{
131 DUPLICATECELL = 1, // the cell is present on multiple processors
132 HIGHCONNECTIVITYCELL = 2, // the cell has more neighbors than in a regular mesh
133 LOWCONNECTIVITYCELL = 4, // the cell has less neighbors than in a regular mesh
134 REFINEDCELL = 8, // other cells are present that refines it.
135 EXTERIORCELL = 16, // the cell is on the exterior of the data set
136 HIDDENCELL = 32 // the cell is needed to maintain connectivity, but the data values should be ignored.
137};
138
139enum PointGhostTypes
140{
141 DUPLICATEPOINT = 1, // the point is present on multiple processors
142 HIDDENPOINT = 2 // the point is needed to maintain connectivity, but the data values should be ignored.
143};
144
145
146/*---------------------------------------------------------------------------*/
147/*---------------------------------------------------------------------------*/
148
149} // namespace Arcane::VtkUtils
150
151/*---------------------------------------------------------------------------*/
152/*---------------------------------------------------------------------------*/
153
154#endif
Déclarations des types généraux de Arcane.
Infos sur un type d'entité du maillage.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
std::int16_t Int16
Type entier signé sur 16 bits.
std::int32_t Int32
Type entier signé sur 32 bits.