Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::IMeshUniqueIdMng Class Referenceabstract

#include <arcane/core/IMeshUniqueIdMng.h>

Inheritance diagram for Arcane::IMeshUniqueIdMng:
Collaboration diagram for Arcane::IMeshUniqueIdMng:

Public Member Functions

virtual ~IMeshUniqueIdMng ()=default
 Frees resources.
virtual void setFaceBuilderVersion (Integer n)=0
 Sets the face numbering version.
virtual Integer faceBuilderVersion () const =0
 Face numbering version.
virtual void setEdgeBuilderVersion (Integer n)=0
 Sets the edge numbering version.
virtual Integer edgeBuilderVersion () const =0
 Edge numbering version.
virtual void setUseNodeUniqueIdToGenerateEdgeAndFaceUniqueId (bool v)=0
 Indicates whether the uniqueIds() of edges and faces are determined based on the uniqueIds() of the nodes they consist of.
virtual bool isUseNodeUniqueIdToGenerateEdgeAndFaceUniqueId () const =0
 Indicates the mechanism used to number edges or faces.

Detailed Description

Interface of the uniqueId() numbering manager for mesh entities.

This manager allows managing the calculation of uniqueIds() for entities of the mesh that are implicitly created as faces or edges.

Definition at line 36 of file IMeshUniqueIdMng.h.

Member Function Documentation

◆ edgeBuilderVersion()

virtual Integer Arcane::IMeshUniqueIdMng::edgeBuilderVersion ( ) const
pure virtual

Edge numbering version.

Implemented in Arcane::mesh::MeshUniqueIdMng.

◆ faceBuilderVersion()

virtual Integer Arcane::IMeshUniqueIdMng::faceBuilderVersion ( ) const
pure virtual

Face numbering version.

Implemented in Arcane::mesh::MeshUniqueIdMng.

◆ isUseNodeUniqueIdToGenerateEdgeAndFaceUniqueId()

virtual bool Arcane::IMeshUniqueIdMng::isUseNodeUniqueIdToGenerateEdgeAndFaceUniqueId ( ) const
pure virtual

Indicates the mechanism used to number edges or faces.

Implemented in Arcane::mesh::MeshUniqueIdMng.

◆ setEdgeBuilderVersion()

virtual void Arcane::IMeshUniqueIdMng::setEdgeBuilderVersion ( Integer n)
pure virtual

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.

Implemented in Arcane::mesh::MeshUniqueIdMng.

◆ setFaceBuilderVersion()

virtual void Arcane::IMeshUniqueIdMng::setFaceBuilderVersion ( Integer n)
pure virtual

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.

Implemented in Arcane::mesh::MeshUniqueIdMng.

◆ setUseNodeUniqueIdToGenerateEdgeAndFaceUniqueId()

virtual void Arcane::IMeshUniqueIdMng::setUseNodeUniqueIdToGenerateEdgeAndFaceUniqueId ( bool v)
pure virtual

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.

Implemented in Arcane::mesh::MeshUniqueIdMng.


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