Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
MeshUniqueIdMng.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2026 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/* MeshUniqueIdMng.h (C) 2000-2025 */
9/* */
10/* Mesh uniqueId() numbering manager. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_MESH_MESHUNIQUEIDMNG_H
13#define ARCANE_MESH_MESHUNIQUEIDMNG_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/utils/TraceAccessor.h"
18
19#include "arcane/core/IMeshUniqueIdMng.h"
20
21#include "arcane/mesh/MeshGlobal.h"
22
23/*---------------------------------------------------------------------------*/
24/*---------------------------------------------------------------------------*/
25
26namespace Arcane::mesh
27{
28
29/*---------------------------------------------------------------------------*/
30/*---------------------------------------------------------------------------*/
34class ARCANE_MESH_EXPORT MeshUniqueIdMng
35: public TraceAccessor
36, public IMeshUniqueIdMng
37{
38 public:
39
40 explicit MeshUniqueIdMng(ITraceMng* tm);
41
42 public:
43
44 void setFaceBuilderVersion(Int32 n) override;
45 Int32 faceBuilderVersion() const override { return m_face_builder_version; }
46
47 void setEdgeBuilderVersion(Int32 n) override;
48 Int32 edgeBuilderVersion() const override { return m_edge_builder_version; }
49
50 void setUseNodeUniqueIdToGenerateEdgeAndFaceUniqueId(bool v) override;
52 {
53 return m_use_node_uid_to_generate_edge_and_face_uid;
54 }
55
56 private:
57
58 Int32 m_face_builder_version = 1;
59 Int32 m_edge_builder_version = 1;
60 bool m_use_node_uid_to_generate_edge_and_face_uid = false;
61
62 private:
63
64 void _initFaceVersion();
65 void _initEdgeVersion();
66};
67
68/*---------------------------------------------------------------------------*/
69/*---------------------------------------------------------------------------*/
70
71} // End namespace Arcane::mesh
72
73/*---------------------------------------------------------------------------*/
74/*---------------------------------------------------------------------------*/
75
76#endif
TraceAccessor(ITraceMng *m)
Constructs an accessor via the trace manager m.
bool isUseNodeUniqueIdToGenerateEdgeAndFaceUniqueId() const override
Indicates the mechanism used to number edges or faces.
void setFaceBuilderVersion(Int32 n) override
Sets the face numbering version.
Int32 edgeBuilderVersion() const override
Edge numbering version.
Int32 faceBuilderVersion() const override
Face numbering version.
std::int32_t Int32
Signed integer type of 32 bits.