12#ifndef ARCANE_CORE_INTERNAL_MSHMESHGENERATIONINFO_H
13#define ARCANE_CORE_INTERNAL_MSHMESHGENERATIONINFO_H
17#include "arcane/utils/String.h"
18#include "arcane/utils/FixedArray.h"
19#include "arcane/utils/UniqueArray.h"
35class ARCANE_CORE_EXPORT MshMeshGenerationInfo
47 : m_dimension(dimension)
57 bool isNull()
const {
return m_dimension == (-1); }
58 Int32 dimension()
const {
return m_dimension; }
59 Int64 tag()
const {
return m_tag; }
60 const String& name()
const {
return m_name; }
64 Int32 m_dimension = -1;
104 class MshEntitiesNodes
108 MshEntitiesNodes(
Int64 tag,
Int64 physical_tag)
110 , m_physical_tag(physical_tag)
115 Int64 tag()
const {
return m_tag; }
116 Int64 physicalTag()
const {
return m_physical_tag; }
121 Int64 m_physical_tag = -1;
125 class MshEntitiesWithNodes
132 , m_physical_tag(physical_tag)
137 Int32 dimension()
const {
return m_dimension; }
138 Int64 tag()
const {
return m_tag; }
139 Int64 physicalTag()
const {
return m_physical_tag; }
143 Int32 m_dimension = -1;
145 Int64 m_physical_tag = -1;
152 Int32 m_entity_dim = -1;
153 Int32 m_entity_tag = -1;
154 Int32 m_entity_tag_master = -1;
158 Int32 m_nb_corresponding_node = 0;
168 bool hasValues()
const {
return !m_periodic_list.empty(); }
177 explicit MshMeshGenerationInfo(
IMesh*
mesh);
181 static MshMeshGenerationInfo* getReference(
IMesh*
mesh,
bool create);
188 for (
auto& x : entities_with_nodes_list[dimension - 1])
193 MshEntitiesNodes* findNodeEntities(
Int64 tag)
195 for (
auto& x : entities_nodes_list)
201 MshPhysicalName findPhysicalName(
Int32 dimension,
Int64 tag)
const
203 return physical_name_list.find(dimension, tag);
208 MshPhysicalNameList physical_name_list;
209 UniqueArray<MshEntitiesNodes> entities_nodes_list;
210 FixedArray<UniqueArray<MshEntitiesWithNodes>, 3> entities_with_nodes_list;
211 MshPeriodicInfo m_periodic_info;
215 IMesh* m_mesh =
nullptr;
Déclarations des types généraux de Arcane.
Tableau d'items de types quelconques.
void clear()
Supprime les éléments du tableau.
void add(ConstReferenceType val)
Ajoute l'élément val à la fin du tableau.
Tableau 1D de taille fixe.
Chaîne de caractères unicode.
Vecteur 1D de données avec sémantique par valeur (style STL).
Informations sur la périodicité
UniqueArray< double > m_affine_values
Liste des valeurs affines.
UniqueArray< Int64 > m_corresponding_nodes
Liste de couples (uniqueId noeud esclave, unique() noeud maître)
Infos du bloc '$PhysicalNames'.
FixedArray< UniqueArray< MshPhysicalName >, 4 > m_physical_names
Liste par dimension des éléments du bloc $PhysicalNames.
MshPhysicalName find(Int32 dimension, Int64 tag) const
Récupère le nom physique associé au tag tag.
Infos sur un nom physique.
MshPhysicalName()=default
Construit un nom physique nul.
bool isNull() const
Indique si le nom physique n'est pas défini.
std::int64_t Int64
Type entier signé sur 64 bits.
std::int32_t Int32
Type entier signé sur 32 bits.