Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
ItemConnectivityInfo.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/* ItemConnectivityInfo.h (C) 2000-2022 */
9/* */
10/* Information on connectivity by entity type. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_MESH_ITEMCONNECTIVITYINFO_H
13#define ARCANE_MESH_ITEMCONNECTIVITYINFO_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/core/IItemConnectivityInfo.h"
18
19#include "arcane/mesh/MeshGlobal.h"
20
21/*---------------------------------------------------------------------------*/
22/*---------------------------------------------------------------------------*/
23
24namespace Arcane
25{
27class IParallelMng;
28} // namespace Arcane
29
30/*---------------------------------------------------------------------------*/
31/*---------------------------------------------------------------------------*/
32
33namespace Arcane::mesh
34{
35
36/*---------------------------------------------------------------------------*/
37/*---------------------------------------------------------------------------*/
41class ARCANE_MESH_EXPORT ItemConnectivityInfo
43{
44 enum ICI_Type
45 {
46 ICI_Node = 0,
47 ICI_Edge,
48 ICI_Face,
49 ICI_Cell
50 };
51 static const int NB_ICI = 4;
52
53 public:
54
55 ItemConnectivityInfo();
56
57 public:
58
59 Integer maxNodePerItem() const override { return m_infos[ICI_Node]; }
60 Integer maxEdgePerItem() const override { return m_infos[ICI_Edge]; }
61 Integer maxFacePerItem() const override { return m_infos[ICI_Face]; }
62 Integer maxCellPerItem() const override { return m_infos[ICI_Cell]; }
63
64 public:
65
66 void fill(ItemInternalConnectivityList* clist);
67 void reduce(IParallelMng* pm);
68
69 private:
70
71 Integer m_infos[NB_ICI];
72};
73
74/*---------------------------------------------------------------------------*/
75/*---------------------------------------------------------------------------*/
76
77} // End namespace Arcane::mesh
78
79/*---------------------------------------------------------------------------*/
80/*---------------------------------------------------------------------------*/
81
82#endif
Interface for connectivity information by entity type.
Interface of the parallelism manager for a subdomain.
Connectivity information, for an entity family, allowing transition between old and new connectivity ...
Integer maxNodePerItem() const override
Maximum number of nodes per entity.
Integer maxCellPerItem() const override
Maximum number of cells per entity.
Integer maxFacePerItem() const override
Maximum number of faces per entity.
Integer maxEdgePerItem() const override
Maximum number of edges per entity.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
Int32 Integer
Type representing an integer.