Arcane  v3.16.4.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
IItemConnectivityAccessor.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2025 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/* IItemConnectivityAccessor.h (C) 2000-2025 */
9/* */
10/* Interface des accesseurs des connectivité des entités. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_IITEMCONNECTIVITYACCESSOR_H
13#define ARCANE_CORE_IITEMCONNECTIVITYACCESSOR_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/utils/ArrayView.h"
18#include "arcane/utils/String.h"
19
21
22/*---------------------------------------------------------------------------*/
23/*---------------------------------------------------------------------------*/
24
25namespace Arcane
26{
27
28/*---------------------------------------------------------------------------*/
29/*---------------------------------------------------------------------------*/
30/*!
31 * \brief Interface pour gérer l'accès à une connectivité.
32 */
33class ARCANE_CORE_EXPORT IItemConnectivityAccessor
34{
35 friend ConnectivityItemVector;
36
37 public:
38
39 virtual ~IItemConnectivityAccessor() = default;
40
41 public:
42
43 //! Nombre d'entité connectées à l'entité source de numéro local \a lid
44 virtual Integer nbConnectedItem(ItemLocalId lid) const = 0;
45
46 //! localId() de la \a index-ième entitée connectées à l'entité source de numéro local \a lid
47 virtual Int32 connectedItemLocalId(ItemLocalId lid, Integer index) const = 0;
48
49 protected:
50
51 //! Implémente l'initialisation de \a civ pour cette connectivitée.
52 virtual void _initializeStorage(ConnectivityItemVector* civ) = 0;
53
54 //! Remplit \a con_items avec les entités connectées à \a item.
55 virtual ItemVectorView _connectedItems(ItemLocalId item, ConnectivityItemVector& con_items) const = 0;
56};
57
58/*---------------------------------------------------------------------------*/
59/*---------------------------------------------------------------------------*/
60
61} // namespace Arcane
62
63/*---------------------------------------------------------------------------*/
64/*---------------------------------------------------------------------------*/
65
66#endif
Déclarations de types sur les entités.
Interface pour gérer l'accès à une connectivité.
virtual ItemVectorView _connectedItems(ItemLocalId item, ConnectivityItemVector &con_items) const =0
Remplit con_items avec les entités connectées à item.
virtual Int32 connectedItemLocalId(ItemLocalId lid, Integer index) const =0
localId() de la index-ième entitée connectées à l'entité source de numéro local lid
virtual void _initializeStorage(ConnectivityItemVector *civ)=0
Implémente l'initialisation de civ pour cette connectivitée.
virtual Integer nbConnectedItem(ItemLocalId lid) const =0
Nombre d'entité connectées à l'entité source de numéro local lid.
Index d'un Item dans une variable.
Definition ItemLocalId.h:41
Vue sur un vecteur d'entités.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Int32 Integer
Type représentant un entier.
std::int32_t Int32
Type entier signé sur 32 bits.