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"
36class ARCANE_CORE_EXPORT MshMeshGenerationInfo
48 : m_dimension(dimension)
59 bool isNull()
const {
return m_dimension == (-1); }
60 Int32 dimension()
const {
return m_dimension; }
61 Int64 tag()
const {
return m_tag; }
62 const String& name()
const {
return m_name; }
66 Int32 m_dimension = -1;
106 class MshEntitiesNodes
110 MshEntitiesNodes(
Int64 tag,
Int64 physical_tag)
112 , m_physical_tag(physical_tag)
117 Int64 tag()
const {
return m_tag; }
118 Int64 physicalTag()
const {
return m_physical_tag; }
123 Int64 m_physical_tag = -1;
127 class MshEntitiesWithNodes
134 , m_physical_tag(physical_tag)
139 Int32 dimension()
const {
return m_dimension; }
140 Int64 tag()
const {
return m_tag; }
141 Int64 physicalTag()
const {
return m_physical_tag; }
145 Int32 m_dimension = -1;
147 Int64 m_physical_tag = -1;
154 Int32 m_entity_dim = -1;
155 Int32 m_entity_tag = -1;
156 Int32 m_entity_tag_master = -1;
160 Int32 m_nb_corresponding_node = 0;
170 bool hasValues()
const {
return !m_periodic_list.empty(); }
179 explicit MshMeshGenerationInfo(
IMesh*
mesh);
183 static MshMeshGenerationInfo* getReference(
IMesh*
mesh,
bool create);
190 for (
auto& x : entities_with_nodes_list[dimension - 1])
195 MshEntitiesNodes* findNodeEntities(
Int64 tag)
197 for (
auto& x : entities_nodes_list)
203 MshPhysicalName findPhysicalName(
Int32 dimension,
Int64 tag)
const
205 return physical_name_list.find(dimension, tag);
210 MshPhysicalNameList physical_name_list;
211 UniqueArray<MshEntitiesNodes> entities_nodes_list;
212 FixedArray<UniqueArray<MshEntitiesWithNodes>, 3> entities_with_nodes_list;
213 MshPeriodicInfo m_periodic_info;
217 IMesh* m_mesh =
nullptr;
Declarations of Arcane's general types.
Base class for 1D data vectors.
void clear()
Removes the elements from the array.
void add(ConstReferenceType val)
Adds element val to the end of the array.
Unicode character string.
1D data vector with value semantics (STL style).
Information on periodicity.
UniqueArray< double > m_affine_values
List of affine values.
UniqueArray< Int64 > m_corresponding_nodes
List of pairs (slave node uniqueId, master node unique()).
Brief information about the '$PhysicalNames' block.
FixedArray< UniqueArray< MshPhysicalName >, 4 > m_physical_names
List by dimension of the elements of the $PhysicalNames block.
MshPhysicalName find(Int32 dimension, Int64 tag) const
Retrieves the physical name associated with tag tag.
Brief information about a physical name.
MshPhysicalName()=default
Constructs a null physical name.
bool isNull() const
Indicates if the physical name is not defined.
std::int64_t Int64
Signed integer type of 64 bits.
std::int32_t Int32
Signed integer type of 32 bits.