Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::mesh::MeshUniqueIdMng Class Reference

Mesh uniqueId() numbering manager. More...

#include <arcane/mesh/MeshUniqueIdMng.h>

Inheritance diagram for Arcane::mesh::MeshUniqueIdMng:
Collaboration diagram for Arcane::mesh::MeshUniqueIdMng:

Public Member Functions

 MeshUniqueIdMng (ITraceMng *tm)
void setFaceBuilderVersion (Int32 n) override
 Sets the face numbering version.
Int32 faceBuilderVersion () const override
 Face numbering version.
void setEdgeBuilderVersion (Int32 n) override
 Sets the edge numbering version.
Int32 edgeBuilderVersion () const override
 Edge numbering version.
void setUseNodeUniqueIdToGenerateEdgeAndFaceUniqueId (bool v) override
 Indicates whether the uniqueIds() of edges and faces are determined based on the uniqueIds() of the nodes they consist of.
bool isUseNodeUniqueIdToGenerateEdgeAndFaceUniqueId () const override
 Indicates the mechanism used to number edges or faces.
Public Member Functions inherited from Arcane::TraceAccessor
 TraceAccessor (ITraceMng *m)
 Constructs an accessor via the trace manager m.
 TraceAccessor (const TraceAccessor &rhs)
 Copy constructor.
TraceAccessoroperator= (const TraceAccessor &rhs)
 Copy assignment operator.
virtual ~TraceAccessor ()
 Frees resources.
ITraceMngtraceMng () const
 Trace manager.
TraceMessage info () const
 Flow for an information message.
TraceMessage pinfo () const
 Flow for a parallel information message.
TraceMessage info (char category) const
 Flow for an information message of a given category.
TraceMessage pinfo (char category) const
 Flow for a parallel information message of a given category.
TraceMessage info (bool v) const
 Flow for an information message.
TraceMessage warning () const
 Flow for a warning message.
TraceMessage pwarning () const
TraceMessage error () const
 Flow for an error message.
TraceMessage perror () const
TraceMessage log () const
 Flow for a log message.
TraceMessage plog () const
 Flow for a log message.
TraceMessage logdate () const
 Flow for a log message preceded by the date.
TraceMessage fatal () const
 Flow for a fatal error message.
TraceMessage pfatal () const
 Flow for a parallel fatal error message.
TraceMessageDbg debug (Trace::eDebugLevel=Trace::Medium) const
 Flow for a debug message.
Trace::eDebugLevel configDbgLevel () const
 Debug level of the configuration file.
TraceMessage info (Int32 verbose_level) const
 Flow for an information message of a given level.
TraceMessage linfo () const
 Flow for an information message with the local information level of this instance.
TraceMessage linfo (Int32 relative_level) const
 Flow for an information message with the local information level of this instance.
void fatalMessage (const StandaloneTraceMessage &o) const
Public Member Functions inherited from Arcane::IMeshUniqueIdMng
virtual ~IMeshUniqueIdMng ()=default
 Frees resources.

Private Member Functions

void _initFaceVersion ()
void _initEdgeVersion ()

Private Attributes

Int32 m_face_builder_version = 1
Int32 m_edge_builder_version = 1
bool m_use_node_uid_to_generate_edge_and_face_uid = false

Additional Inherited Members

Protected Member Functions inherited from Arcane::TraceAccessor
void _setLocalVerboseLevel (Int32 v)
Int32 _localVerboseLevel () const

Detailed Description

Mesh uniqueId() numbering manager.

Definition at line 34 of file MeshUniqueIdMng.h.

Constructor & Destructor Documentation

◆ MeshUniqueIdMng()

Arcane::mesh::MeshUniqueIdMng::MeshUniqueIdMng ( ITraceMng * tm)
explicit

Definition at line 32 of file MeshUniqueIdMng.cc.

Member Function Documentation

◆ _initEdgeVersion()

void Arcane::mesh::MeshUniqueIdMng::_initEdgeVersion ( )
private

Definition at line 99 of file MeshUniqueIdMng.cc.

◆ _initFaceVersion()

void Arcane::mesh::MeshUniqueIdMng::_initFaceVersion ( )
private

Definition at line 65 of file MeshUniqueIdMng.cc.

◆ edgeBuilderVersion()

Int32 Arcane::mesh::MeshUniqueIdMng::edgeBuilderVersion ( ) const
inlineoverridevirtual

Edge numbering version.

Implements Arcane::IMeshUniqueIdMng.

Definition at line 48 of file MeshUniqueIdMng.h.

◆ faceBuilderVersion()

Int32 Arcane::mesh::MeshUniqueIdMng::faceBuilderVersion ( ) const
inlineoverridevirtual

Face numbering version.

Implements Arcane::IMeshUniqueIdMng.

Definition at line 45 of file MeshUniqueIdMng.h.

◆ isUseNodeUniqueIdToGenerateEdgeAndFaceUniqueId()

bool Arcane::mesh::MeshUniqueIdMng::isUseNodeUniqueIdToGenerateEdgeAndFaceUniqueId ( ) const
inlineoverridevirtual

Indicates the mechanism used to number edges or faces.

Implements Arcane::IMeshUniqueIdMng.

Definition at line 51 of file MeshUniqueIdMng.h.

◆ setEdgeBuilderVersion()

void Arcane::mesh::MeshUniqueIdMng::setEdgeBuilderVersion ( Int32 n)
overridevirtual

Sets the edge numbering version.

Valid values are 0, 1, and 2. Value 1 works regardless of the number of cells, but the mesh must be read by a single processor. Value 2 only works if the maximum of the node uniqueIds() does not exceed 2^31.

If the version is 0, there is no renumbering. In parallel, the uniqueIds() of the faces must be consistent between subdomains.

Implements Arcane::IMeshUniqueIdMng.

Definition at line 54 of file MeshUniqueIdMng.cc.

References ARCANE_THROW.

◆ setFaceBuilderVersion()

void Arcane::mesh::MeshUniqueIdMng::setFaceBuilderVersion ( Int32 n)
overridevirtual

Sets the face numbering version.

Valid values are 0, 1, 2, and 3. The default value is 1. If the version is 0, there is no renumbering. In parallel, the uniqueIds() of the faces must be consistent between subdomains.

Implements Arcane::IMeshUniqueIdMng.

Definition at line 43 of file MeshUniqueIdMng.cc.

References ARCANE_THROW.

◆ setUseNodeUniqueIdToGenerateEdgeAndFaceUniqueId()

void Arcane::mesh::MeshUniqueIdMng::setUseNodeUniqueIdToGenerateEdgeAndFaceUniqueId ( bool v)
overridevirtual

Indicates whether the uniqueIds() of edges and faces are determined based on the uniqueIds() of the nodes they consist of.

This method must be called before setting the mesh dimension (IPrimaryMesh::setDimension()).

If active, when an edge or face is created on the fly, MeshUtils::generateHashUniqueId() is used to generate the uniqueId() of the entity. This allows automatically creating edges or faces in parallel.

Warning
If this mechanism is used, it should not be mixed with the manual creation of edges or faces (via IMeshModifier) or you must use MeshUtils::generateHashUniqueId() to generate the same identifier as the one created on the fly.

Implements Arcane::IMeshUniqueIdMng.

Definition at line 113 of file MeshUniqueIdMng.cc.

Member Data Documentation

◆ m_edge_builder_version

Int32 Arcane::mesh::MeshUniqueIdMng::m_edge_builder_version = 1
private

Definition at line 59 of file MeshUniqueIdMng.h.

◆ m_face_builder_version

Int32 Arcane::mesh::MeshUniqueIdMng::m_face_builder_version = 1
private

Definition at line 58 of file MeshUniqueIdMng.h.

◆ m_use_node_uid_to_generate_edge_and_face_uid

bool Arcane::mesh::MeshUniqueIdMng::m_use_node_uid_to_generate_edge_and_face_uid = false
private

Definition at line 60 of file MeshUniqueIdMng.h.


The documentation for this class was generated from the following files: