12#ifndef ARCANE_INDEXEDITEMCONNECTIVITYVIEW_H
13#define ARCANE_INDEXEDITEMCONNECTIVITYVIEW_H
17#include "arcane/Item.h"
18#include "arcane/IItemFamily.h"
52 constexpr ARCCORE_HOST_DEVICE Int32
nbSourceItem()
const {
return m_container_view.nbItem(); }
58 return m_container_view.itemsIds<
Item>(
lid);
60 eItemKind sourceItemKind()
const {
return m_source_kind; }
61 eItemKind targetItemKind()
const {
return m_target_kind; }
64 ARCANE_DEPRECATED_REASON(
"Y2022: This method is internal to Arcane and should be replaced by call to constructor")
77 m_container_view = view.m_container_view;
78 m_source_kind = view.m_source_kind;
79 m_target_kind = view.m_target_kind;
84 ItemConnectivityContainerView m_container_view;
85 eItemKind m_source_kind = IK_Unknown;
86 eItemKind m_target_kind = IK_Unknown;
90 [[noreturn]]
void _badConversion(eItemKind k1, eItemKind k2)
const;
94 inline void _checkValid(eItemKind k1, eItemKind k2)
const
96 if (k1 != m_source_kind || k2 != m_target_kind)
97 _badConversion(k1, k2);
118 : m_container_view(view.m_container_view)
125 constexpr ARCCORE_HOST_DEVICE Int32
nbSourceItem()
const {
return m_container_view.nbItem(); }
131 return m_container_view.itemsIds<
Item>(
lid);
144template<
typename ItemType1,
typename ItemType2>
152 using ItemLocalId1 =
typename ItemType1::LocalIdType;
153 using ItemLocalId2 =
typename ItemType2::LocalIdType;
164 view._checkValid(
k1,
k2);
184 constexpr ARCCORE_HOST_DEVICE ItemLocalId2
itemId(ItemLocalId1
lid, Int32 index)
const
195template<
typename ItemType>
201 using ItemLocalIdType =
typename ItemType::LocalIdType;
203 using ItemLocalId2 =
typename BaseClass::ItemLocalId2;
209 ARCCORE_HOST_DEVICE Int32
nbNode(ItemLocalIdType
lid)
const {
return BaseClass::nbItem(
lid); }
211 ARCCORE_HOST_DEVICE ItemLocalIdViewType
nodes(ItemLocalIdType
lid)
const {
return BaseClass::items(
lid); }
213 ARCCORE_HOST_DEVICE ItemLocalIdViewType
nodeIds(ItemLocalIdType
lid)
const {
return BaseClass::itemIds(
lid); }
215 ARCCORE_HOST_DEVICE ItemLocalId2
nodeId(ItemLocalIdType
lid,Int32 index)
const {
return BaseClass::itemId(
lid,index); }
223template<
typename ItemType>
229 using ItemLocalIdType =
typename ItemType::LocalIdType;
231 using ItemLocalId2 =
typename BaseClass::ItemLocalId2;
237 ARCCORE_HOST_DEVICE Int32
nbEdge(ItemLocalIdType
lid)
const {
return BaseClass::nbItem(
lid); }
239 ARCCORE_HOST_DEVICE ItemLocalIdViewType
edges(ItemLocalIdType
lid)
const {
return BaseClass::items(
lid); }
241 ARCCORE_HOST_DEVICE ItemLocalIdViewType
edgeIds(ItemLocalIdType
lid)
const {
return BaseClass::items(
lid); }
243 ARCCORE_HOST_DEVICE ItemLocalId2
edgeId(ItemLocalIdType
lid,Int32 index)
const {
return BaseClass::itemId(
lid,index); }
251template<
typename ItemType>
257 using ItemLocalIdType =
typename ItemType::LocalIdType;
259 using ItemLocalId2 =
typename BaseClass::ItemLocalId2;
265 ARCCORE_HOST_DEVICE Int32
nbFace(ItemLocalIdType
lid)
const {
return BaseClass::nbItem(
lid); }
267 ARCCORE_HOST_DEVICE ItemLocalIdViewType
faces(ItemLocalIdType
lid)
const {
return BaseClass::items(
lid); }
269 ARCCORE_HOST_DEVICE ItemLocalIdViewType
faceIds(ItemLocalIdType
lid)
const {
return BaseClass::items(
lid); }
271 ARCCORE_HOST_DEVICE ItemLocalId2
faceId(ItemLocalIdType
lid,Int32 index)
const {
return BaseClass::itemId(
lid,index); }
279template<
typename ItemType>
285 using ItemLocalIdType =
typename ItemType::LocalIdType;
287 using ItemLocalId2 =
typename BaseClass::ItemLocalId2;
293 ARCCORE_HOST_DEVICE Int32
nbCell(ItemLocalIdType
lid)
const {
return BaseClass::nbItem(
lid); }
295 ARCCORE_HOST_DEVICE ItemLocalIdViewType
cells(ItemLocalIdType
lid)
const {
return BaseClass::items(
lid); }
297 ARCCORE_HOST_DEVICE ItemLocalIdViewType
cellIds(ItemLocalIdType
lid)
const {
return BaseClass::items(
lid); }
299 ARCCORE_HOST_DEVICE ItemLocalId2
cellId(ItemLocalIdType
lid,Int32 index)
const {
return BaseClass::itemId(
lid,index); }
307template<
typename ItemType>
313 using ItemLocalIdType =
typename ItemType::LocalIdType;
315 using ItemLocalId2 =
typename BaseClass::ItemLocalId2;
321 ARCCORE_HOST_DEVICE Int32
nbDof(ItemLocalIdType
lid)
const {
return BaseClass::nbItem(
lid); }
323 ARCCORE_HOST_DEVICE ItemLocalIdViewType
dofs(ItemLocalIdType
lid)
const {
return BaseClass::items(
lid); }
325 ARCCORE_HOST_DEVICE ItemLocalIdViewType
dofIds(ItemLocalIdType
lid)
const {
return BaseClass::items(
lid); }
327 ARCCORE_HOST_DEVICE ItemLocalId2
dofId(ItemLocalIdType
lid,Int32 index)
const {
return BaseClass::itemId(
lid,index); }
333using IndexedCellNodeConnectivityView = IndexedItemConnectivityViewT<Cell,Node>;
334using IndexedCellEdgeConnectivityView = IndexedItemConnectivityViewT<Cell,Edge>;
335using IndexedCellFaceConnectivityView = IndexedItemConnectivityViewT<Cell,Face>;
336using IndexedCellCellConnectivityView = IndexedItemConnectivityViewT<Cell,Cell>;
337using IndexedCellDoFConnectivityView = IndexedItemConnectivityViewT<Cell,DoF>;
339using IndexedFaceNodeConnectivityView = IndexedItemConnectivityViewT<Face,Node>;
340using IndexedFaceEdgeConnectivityView = IndexedItemConnectivityViewT<Face,Edge>;
341using IndexedFaceFaceConnectivityView = IndexedItemConnectivityViewT<Face,Face>;
342using IndexedFaceCellConnectivityView = IndexedItemConnectivityViewT<Face,Cell>;
343using IndexedFaceDoFConnectivityView = IndexedItemConnectivityViewT<Face,DoF>;
345using IndexedEdgeNodeConnectivityView = IndexedItemConnectivityViewT<Edge,Node>;
346using IndexedEdgeEdgeConnectivityView = IndexedItemConnectivityViewT<Edge,Edge>;
347using IndexedEdgeFaceConnectivityView = IndexedItemConnectivityViewT<Edge,Face>;
348using IndexedEdgeCellConnectivityView = IndexedItemConnectivityViewT<Edge,Cell>;
349using IndexedEdgeDoFConnectivityView = IndexedItemConnectivityViewT<Edge,DoF>;
351using IndexedNodeNodeConnectivityView = IndexedItemConnectivityViewT<Node,Node>;
352using IndexedNodeEdgeConnectivityView = IndexedItemConnectivityViewT<Node,Edge>;
353using IndexedNodeFaceConnectivityView = IndexedItemConnectivityViewT<Node,Face>;
354using IndexedNodeCellConnectivityView = IndexedItemConnectivityViewT<Node,Cell>;
355using IndexedNodeDoFConnectivityView = IndexedItemConnectivityViewT<Node,DoF>;
357using IndexedDoFNodeConnectivityView = IndexedItemConnectivityViewT<DoF,Node>;
358using IndexedDoFEdgeConnectivityView = IndexedItemConnectivityViewT<DoF,Edge>;
359using IndexedDoFFaceConnectivityView = IndexedItemConnectivityViewT<DoF,Face>;
360using IndexedDoFCellConnectivityView = IndexedItemConnectivityViewT<DoF,Cell>;
361using IndexedDoFDoFConnectivityView = IndexedItemConnectivityViewT<DoF,DoF>;
Vue spécialisée sur une connectivité non structurée entre deux entités.
constexpr ARCCORE_HOST_DEVICE ItemLocalIdViewType itemIds(ItemLocalId1 lid) const
Liste des entités connectées à l'entité lid.
constexpr ARCCORE_HOST_DEVICE ItemLocalIdViewType items(ItemLocalId1 lid) const
Liste des entités connectées à l'entité lid.
constexpr ARCCORE_HOST_DEVICE ItemLocalId2 itemId(ItemLocalId1 lid, Int32 index) const
i-ème entitée connectée à l'entité lid
Classe de base d'une vue sur une connectivité non structurée.
ARCCORE_HOST_DEVICE Int32 nbItem(ItemLocalId lid) const
Nombre d'entités connectées à l'entité lid.
ARCCORE_HOST_DEVICE ItemLocalIdListViewT< Item > items(ItemLocalId lid) const
Liste des entités connectées à l'entité lid.
constexpr ARCCORE_HOST_DEVICE Int32 nbSourceItem() const
Nombre d'entités source.
Classe de base d'une vue sur une connectivité non structurée.
constexpr ARCCORE_HOST_DEVICE Int32 nbSourceItem() const
Nombre d'entités source.
ARCCORE_HOST_DEVICE ItemLocalIdListViewT< Item > items(ItemLocalId lid) const
Liste des entités connectées à l'entité lid.
ARCCORE_HOST_DEVICE Int32 nbItem(ItemLocalId lid) const
Nombre d'entités connectées à l'entité lid.
ARCCORE_HOST_DEVICE ItemLocalIdViewType cells(ItemLocalIdType lid) const
Liste des mailles connectées à l'entité lid.
ARCCORE_HOST_DEVICE ItemLocalId2 cellId(ItemLocalIdType lid, Int32 index) const
i-ème maille connectée à l'entité lid
ARCCORE_HOST_DEVICE ItemLocalIdViewType cellIds(ItemLocalIdType lid) const
Liste des mailles connectées à l'entité lid.
ARCCORE_HOST_DEVICE Int32 nbCell(ItemLocalIdType lid) const
Nombre de mailles connectées à l'entité lid.
ARCCORE_HOST_DEVICE ItemLocalIdViewType dofIds(ItemLocalIdType lid) const
Liste des DoFs connectées à l'entité lid.
ARCCORE_HOST_DEVICE ItemLocalId2 dofId(ItemLocalIdType lid, Int32 index) const
i-ème DoF connecté à l'entité lid
ARCCORE_HOST_DEVICE ItemLocalIdViewType dofs(ItemLocalIdType lid) const
Liste des DoFs connectées à l'entité lid.
ARCCORE_HOST_DEVICE Int32 nbDof(ItemLocalIdType lid) const
Nombre de DoFs connectés à l'entité lid.
ARCCORE_HOST_DEVICE Int32 nbEdge(ItemLocalIdType lid) const
Nombre d'arêtes connectées à l'entité lid.
ARCCORE_HOST_DEVICE ItemLocalId2 edgeId(ItemLocalIdType lid, Int32 index) const
i-ème arête connectée à l'entité lid
ARCCORE_HOST_DEVICE ItemLocalIdViewType edgeIds(ItemLocalIdType lid) const
Liste des arêtes connectées à l'entité lid.
ARCCORE_HOST_DEVICE ItemLocalIdViewType edges(ItemLocalIdType lid) const
Liste des arêtes connectées à l'entité lid.
ARCCORE_HOST_DEVICE Int32 nbFace(ItemLocalIdType lid) const
Nombre de faces connectées à l'entité lid.
ARCCORE_HOST_DEVICE ItemLocalIdViewType faces(ItemLocalIdType lid) const
Liste des faces connectées à l'entité lid.
ARCCORE_HOST_DEVICE ItemLocalId2 faceId(ItemLocalIdType lid, Int32 index) const
i-ème face connectée à l'entité lid
ARCCORE_HOST_DEVICE ItemLocalIdViewType faceIds(ItemLocalIdType lid) const
Liste des faces connectées à l'entité lid.
ARCCORE_HOST_DEVICE ItemLocalIdViewType nodeIds(ItemLocalIdType lid) const
Liste des noeuds connectés à l'entité lid.
ARCCORE_HOST_DEVICE ItemLocalId2 nodeId(ItemLocalIdType lid, Int32 index) const
i-ème noeud connecté à l'entité lid
ARCCORE_HOST_DEVICE ItemLocalIdViewType nodes(ItemLocalIdType lid) const
Liste des noeuds connectés à l'entité lid.
ARCCORE_HOST_DEVICE Int32 nbNode(ItemLocalIdType lid) const
Nombre de noeuds connectés à l'entité lid.
Vues sur les conteneurs contenant les connectivités. Cette classe permet de rendre opaque en dehors d...
Index d'un Item dans une variable.
static eItemKind kind()
Genre de l'entité
Classe de base d'un élément de maillage.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Vue d'un tableau d'éléments de type T.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
eItemKind
Genre d'entité de maillage.