Arcane  v3.14.11.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-2023 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-2023 */
9/* */
10/* Définitions des types de maille de VTK. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_STD_INTERNAL_VTKCELLTYPES_H
13#define ARCANE_STD_INTERNAL_VTKCELLTYPES_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22namespace Arcane::VtkUtils
23{
24
25// Les valeurs de 'VTK_*' sont issues des sources de VTK 9.2.
26// Elles sont définies dans le fichier 'Common/DataModel/vtkCellType'.
27
28// Linear cells
29const unsigned char VTK_EMPTY_CELL = 0;
30const unsigned char VTK_VERTEX = 1;
31const unsigned char VTK_POLY_VERTEX = 2;
32const unsigned char VTK_LINE = 3;
33const unsigned char VTK_POLY_LINE = 4;
34const unsigned char VTK_TRIANGLE = 5;
35const unsigned char VTK_TRIANGLE_STRIP = 6;
36const unsigned char VTK_POLYGON = 7;
37const unsigned char VTK_PIXEL = 8;
38const unsigned char VTK_QUAD = 9;
39const unsigned char VTK_TETRA = 10;
40const unsigned char VTK_VOXEL = 11;
41const unsigned char VTK_HEXAHEDRON = 12;
42const unsigned char VTK_WEDGE = 13;
43const unsigned char VTK_PYRAMID = 14;
44const unsigned char VTK_PENTAGONAL_PRISM = 15;
45const unsigned char VTK_HEXAGONAL_PRISM = 16;
46
47// Quadratic, isoparametric cells
48const unsigned char VTK_QUADRATIC_EDGE = 21;
49const unsigned char VTK_QUADRATIC_TRIANGLE = 22;
50const unsigned char VTK_QUADRATIC_QUAD = 23;
51const unsigned char VTK_QUADRATIC_POLYGON = 36;
52const unsigned char VTK_QUADRATIC_TETRA = 24;
53const unsigned char VTK_QUADRATIC_HEXAHEDRON = 25;
54const unsigned char VTK_QUADRATIC_WEDGE = 26;
55const unsigned char VTK_QUADRATIC_PYRAMID = 27;
56const unsigned char VTK_BIQUADRATIC_QUAD = 28;
57const unsigned char VTK_TRIQUADRATIC_HEXAHEDRON = 29;
58const unsigned char VTK_TRIQUADRATIC_PYRAMID = 37;
59const unsigned char VTK_QUADRATIC_LINEAR_QUAD = 30;
60const unsigned char VTK_QUADRATIC_LINEAR_WEDGE = 31;
61const unsigned char VTK_BIQUADRATIC_QUADRATIC_WEDGE = 32;
62const unsigned char VTK_BIQUADRATIC_QUADRATIC_HEXAHEDRON = 33;
63const unsigned char VTK_BIQUADRATIC_TRIANGLE = 34;
64
65// Cubic, isoparametric cell
66const unsigned char VTK_CUBIC_LINE = 35;
67
68// Special class of cells formed by convex group of points
69const unsigned char VTK_CONVEX_POINT_SET = 41;
70
71// Polyhedron cell (consisting of polygonal faces)
72const unsigned char VTK_POLYHEDRON = 42;
73
74// Higher order cells in parametric form
75const unsigned char VTK_PARAMETRIC_CURVE = 51;
76const unsigned char VTK_PARAMETRIC_SURFACE = 52;
77const unsigned char VTK_PARAMETRIC_TRI_SURFACE = 53;
78const unsigned char VTK_PARAMETRIC_QUAD_SURFACE = 54;
79const unsigned char VTK_PARAMETRIC_TETRA_REGION = 55;
80const unsigned char VTK_PARAMETRIC_HEX_REGION = 56;
81
82// Higher order cells
83const unsigned char VTK_HIGHER_ORDER_EDGE = 60;
84const unsigned char VTK_HIGHER_ORDER_TRIANGLE = 61;
85const unsigned char VTK_HIGHER_ORDER_QUAD = 62;
86const unsigned char VTK_HIGHER_ORDER_POLYGON = 63;
87const unsigned char VTK_HIGHER_ORDER_TETRAHEDRON = 64;
88const unsigned char VTK_HIGHER_ORDER_WEDGE = 65;
89const unsigned char VTK_HIGHER_ORDER_PYRAMID = 66;
90const unsigned char VTK_HIGHER_ORDER_HEXAHEDRON = 67;
91
92// Arbitrary order Lagrange elements (formulated separated from generic higher order cells)
93const unsigned char VTK_LAGRANGE_CURVE = 68;
94const unsigned char VTK_LAGRANGE_TRIANGLE = 69;
95const unsigned char VTK_LAGRANGE_QUADRILATERAL = 70;
96const unsigned char VTK_LAGRANGE_TETRAHEDRON = 71;
97const unsigned char VTK_LAGRANGE_HEXAHEDRON = 72;
98const unsigned char VTK_LAGRANGE_WEDGE = 73;
99const unsigned char VTK_LAGRANGE_PYRAMID = 74;
100
101// Arbitrary order Bezier elements (formulated separated from generic higher order cells)
102const unsigned char VTK_BEZIER_CURVE = 75;
103const unsigned char VTK_BEZIER_TRIANGLE = 76;
104const unsigned char VTK_BEZIER_QUADRILATERAL = 77;
105const unsigned char VTK_BEZIER_TETRAHEDRON = 78;
106const unsigned char VTK_BEZIER_HEXAHEDRON = 79;
107const unsigned char VTK_BEZIER_WEDGE = 80;
108const unsigned char VTK_BEZIER_PYRAMID = 81;
109
110extern "C++" Int16 vtkToArcaneCellType(int vtk_type, Int32 nb_node);
111extern "C++" unsigned char arcaneToVtkCellType(Int16 arcane_type);
112
113// Les valeurs pour les types 'CellGhostTypes' et 'PointGhostTypes' sont définies
114// dans le fichier vtkDataSetAttributes.h.
115enum CellGhostTypes
116{
117 DUPLICATECELL = 1, // the cell is present on multiple processors
118 HIGHCONNECTIVITYCELL = 2, // the cell has more neighbors than in a regular mesh
119 LOWCONNECTIVITYCELL = 4, // the cell has less neighbors than in a regular mesh
120 REFINEDCELL = 8, // other cells are present that refines it.
121 EXTERIORCELL = 16, // the cell is on the exterior of the data set
122 HIDDENCELL = 32 // the cell is needed to maintain connectivity, but the data values should be ignored.
123};
124
125enum PointGhostTypes
126{
127 DUPLICATEPOINT = 1, // the point is present on multiple processors
128 HIDDENPOINT = 2 // the point is needed to maintain connectivity, but the data values should be ignored.
129};
130
131
132/*---------------------------------------------------------------------------*/
133/*---------------------------------------------------------------------------*/
134
135} // namespace Arcane::VtkUtils
136
137/*---------------------------------------------------------------------------*/
138/*---------------------------------------------------------------------------*/
139
140#endif
Fichier de configuration d'Arcane.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:120