Arcane  v3.15.3.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
ItemTypeInfoBuilder.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/* ItemTypeInfoBuilder.h (C) 2000-2025 */
9/* */
10/* Construction d'un type d'entité du maillage. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_ITEMTYPEINFOBUILDER_H
13#define ARCANE_CORE_ITEMTYPEINFOBUILDER_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/core/ItemTypeInfo.h"
18
19#include <array>
20
21/*---------------------------------------------------------------------------*/
22/*---------------------------------------------------------------------------*/
23
24namespace Arcane
25{
26
27/*---------------------------------------------------------------------------*/
28/*---------------------------------------------------------------------------*/
29
49: public ItemTypeInfo
50{
51 public:
52
54 enum class Dimension : Int16
55 {
56 DimUnknown = -1,
57 Dim0 = 0,
58 Dim1 = 1,
59 Dim2 = 2,
60 Dim3 = 3
61 };
62
63 public:
64
67
68 public:
69
70 ARCANE_DEPRECATED_REASON("Y2025: Use setInfo(...,Dimension dimension, ...) instead")
71 void setInfos(ItemTypeMng* mng, Int16 type_id, String type_name,
72 Int32 nb_node, Int32 nb_edge, Int32 nb_face);
73
74 ARCANE_DEPRECATED_REASON("Y2025: Use setInfo(...,Dimension dimension, ...) instead")
76 Int32 nb_node, Int32 nb_edge, Int32 nb_face);
77
81 ARCANE_DEPRECATED_REASON("Y2025: Use setInfo(...,Dimension dimension, ...) instead")
83 Int32 nb_node, Int32 nb_edge, Int32 nb_face);
84
89 Int32 nb_node, Int32 nb_edge, Int32 nb_face);
90
95 Int32 nb_node, Int32 nb_edge, Int32 nb_face);
96
105 void addEdge(Integer edge_index, Integer n0, Integer n1, Integer f_left, Integer f_right);
106
108 void addFaceVertex(Integer face_index, Integer n0);
109
111 void addFaceLine(Integer face_index, Integer n0, Integer n1);
112
114 void addFaceLine3(Integer face_index, Integer n0, Integer n1, Integer n2);
115
117 void addFaceTriangle(Integer face_index, Integer n0, Integer n1, Integer n2);
118
120 void addFaceTriangle6(Integer face_index, Integer n0, Integer n1, Integer n2,
121 Integer n3, Integer n4, Integer n5);
122
124 void addFaceQuad(Integer face_index, Integer n0, Integer n1, Integer n2, Integer n3);
125
127 void addFaceQuad8(Integer face_index, Integer n0, Integer n1, Integer n2, Integer n3,
128 Integer n4, Integer n5, Integer n6, Integer n7);
129
131 void addFacePentagon(Integer face_index, Integer n0, Integer n1, Integer n2, Integer n3, Integer n4);
132
134 void addFaceHexagon(Integer face_index, Integer n0, Integer n1, Integer n2, Integer n3,
135 Integer n4, Integer n5);
136
138 void addFaceHeptagon(Integer face_index, Integer n0, Integer n1, Integer n2, Integer n3,
139 Integer n4, Integer n5, Integer n6);
140
142 void addFaceOctogon(Integer face_index, Integer n0, Integer n1, Integer n2, Integer n3,
143 Integer n4, Integer n5, Integer n6, Integer n7);
144
146 void addFaceGeneric(Integer face_index, Integer type_id, ConstArrayView<Integer> n);
147
150
151 void setIsValidForCell(bool is_valid)
152 {
154 }
155
156 private:
157
158 void _setNbEdgeAndFace(Integer nb_edge,Integer nb_face);
159 void _checkDimension(Int16 dim);
160};
161
162/*---------------------------------------------------------------------------*/
163/*---------------------------------------------------------------------------*/
164
165} // End namespace Arcane
166
167/*---------------------------------------------------------------------------*/
168/*---------------------------------------------------------------------------*/
169
170#endif
171
Vue typée sur une liste d'entités d'une connectivité.
Type d'une entité (Item).
Definition ItemTypeId.h:32
Construction des infos d'un type d'entité du maillage.
void addFaceHexagon(Integer face_index, Integer n0, Integer n1, Integer n2, Integer n3, Integer n4, Integer n5)
Ajoute un hexagone à la liste des faces.
void addEdge(Integer edge_index, Integer n0, Integer n1, Integer f_left, Integer f_right)
Ajoute une arête à la liste des arêtes.
void addFacePentagon(Integer face_index, Integer n0, Integer n1, Integer n2, Integer n3, Integer n4)
Ajoute un pentagone à la liste des faces.
void addFaceHeptagon(Integer face_index, Integer n0, Integer n1, Integer n2, Integer n3, Integer n4, Integer n5, Integer n6)
Ajoute un heptagone à la liste des faces.
void addFaceQuad8(Integer face_index, Integer n0, Integer n1, Integer n2, Integer n3, Integer n4, Integer n5, Integer n6, Integer n7)
Ajoute un quadrilatère quadratique à la liste des faces.
void addFaceLine3(Integer face_index, Integer n0, Integer n1, Integer n2)
Ajoute une ligne quadratique à la liste des faces (pour les elements 2D)
void addFaceOctogon(Integer face_index, Integer n0, Integer n1, Integer n2, Integer n3, Integer n4, Integer n5, Integer n6, Integer n7)
Ajoute un heptagone à la liste des faces.
void addFaceGeneric(Integer face_index, Integer type_id, ConstArrayView< Integer > n)
Ajoute une face générique à la liste des faces.
void addFaceVertex(Integer face_index, Integer n0)
Ajoute un sommet à la liste des faces (pour les elements 1D)
ItemTypeInfoBuilder()=default
Constructeur par défaut.
void addFaceTriangle(Integer face_index, Integer n0, Integer n1, Integer n2)
Ajoute un triangle à la liste des faces.
void computeFaceEdgeInfos()
Calcule les relations face->arêtes.
void addFaceQuad(Integer face_index, Integer n0, Integer n1, Integer n2, Integer n3)
Ajoute un quadrilatère à la liste des faces.
void addFaceLine(Integer face_index, Integer n0, Integer n1)
Ajoute une ligne à la liste des faces (pour les elements 2D)
void addFaceTriangle6(Integer face_index, Integer n0, Integer n1, Integer n2, Integer n3, Integer n4, Integer n5)
Ajoute un triangle quadratique à la liste des faces.
Infos sur un type d'entité du maillage.
Int16 dimension() const
Dimension de l'élément (<0 si inconnu)
bool m_is_valid_for_cell
Indique si le type est valide pour une maille.
Gestionnaire des types d'entités de maillage.
Definition ItemTypeMng.h:66
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:149
Vue constante d'un tableau de type T.
Chaîne de caractères unicode.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-