Arcane  v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
GeomType.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2022 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/* GeomType.h (C) 2000-2014 */
9/* */
10/* Enumération spécifiant le type de polygone ou polyèdre. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_GEOMETRIC_GEOMTYPE_H
13#define ARCANE_GEOMETRIC_GEOMTYPE_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/geometric/GeometricGlobal.h"
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22ARCANE_BEGIN_NAMESPACE
23GEOMETRIC_BEGIN_NAMESPACE
24
25/*---------------------------------------------------------------------------*/
26/*---------------------------------------------------------------------------*/
27
28/*---------------------------------------------------------------------------*/
29/*---------------------------------------------------------------------------*/
30
31// Doxygen ne comprend pas (dans la 1.8.7) la documentation des enum class.
32// On fait donc une fausse classe pour avoir la même notion
33
34/*!
35 * \ingroup ArcaneGeometric
36 * \brief Enumération spécifiant le type de polygone ou polyèdre associé
37 * à un élément ou une forme géométrique.
38 *
39 * NOTE: Les valeurs de cette énumération doivent correspondre à
40 * celles des IT_* définis dans ArcaneTypes.h
41 */
42
43#ifdef DOXYGEN_DOC
45{
46 public:
47
48 enum{
49 //! Élément nul
50 NullType = IT_NullType,
51 //! Sommet
52 Vertex = IT_Vertex,
53 //! Ligne
54 Line2 = IT_Line2,
55 //! Triangle
56 Triangle3 = IT_Triangle3,
57 //! Quadrangle
58 Quad4 = IT_Quad4,
59 //! Pentagone
60 Pentagon5 = IT_Pentagon5,
61 //! Hexagone
62 Hexagon6 = IT_Hexagon6,
63 //! Tétraèdre
64 Tetraedron4 = IT_Tetraedron4,
65 //! Pyramide
66 Pyramid5 = IT_Pyramid5,
67 //! Prisme
68 Pentaedron6 = IT_Pentaedron6,
69 //! Hexaèdre
70 Hexaedron8 = IT_Hexaedron8,
71 //! Prisme à base pentagonale
72 Heptaedron10 = IT_Heptaedron10,
73 //! Prisme à base hexagonale
74 Octaedron12 = IT_Octaedron12
75 }
76};
77#else
78enum class GeomType
79{
80 //! Élément nul
81 NullType = IT_NullType,
82 //! Sommet
83 Vertex = IT_Vertex,
84 //! Ligne
85 Line2 = IT_Line2,
86 //! Triangle
87 Triangle3 = IT_Triangle3,
88 //! Quadrangle
89 Quad4 = IT_Quad4,
90 //! Pentagone
91 Pentagon5 = IT_Pentagon5,
92 //! Hexagone
93 Hexagon6 = IT_Hexagon6,
94 //! Tétraèdre
95 Tetraedron4 = IT_Tetraedron4,
96 //! Pyramide
97 Pyramid5 = IT_Pyramid5,
98 //! Prisme
99 Pentaedron6 = IT_Pentaedron6,
100 //! Hexaèdre
101 Hexaedron8 = IT_Hexaedron8,
102 //! Prisme à base pentagonale
103 Heptaedron10 = IT_Heptaedron10,
104 //! Prisme à base hexagonale
105 Octaedron12 = IT_Octaedron12
106};
107#endif
108
109/*---------------------------------------------------------------------------*/
110/*---------------------------------------------------------------------------*/
111
112#ifdef ARCANE_CHECK
113#define ARCANE_GEOMETRIC_CHECKTYPE(a,b) ::Arcane::geometric::_arcaneCheckType(a,b);
114#else
115#define ARCANE_GEOMETRIC_CHECKTYPE(a,b)
116#endif
117
118extern "C++" void
119_arcaneBadType(GeomType type,GeomType wanted_type);
120
121inline void
122_arcaneCheckType(GeomType type,GeomType wanted_type)
123{
124 if (type!=wanted_type)
125 _arcaneBadType(type,wanted_type);
126}
127
128/*---------------------------------------------------------------------------*/
129/*---------------------------------------------------------------------------*/
130
131GEOMETRIC_END_NAMESPACE
132ARCANE_END_NAMESPACE
133
134/*---------------------------------------------------------------------------*/
135/*---------------------------------------------------------------------------*/
136
137#endif
138
Enumération spécifiant le type de polygone ou polyèdre associé à un élément ou une forme géométrique.
Definition GeomType.h:45