12#ifndef ARCANE_INDEXEDITEMCONNECTIVITYVIEW_H
13#define ARCANE_INDEXEDITEMCONNECTIVITYVIEW_H
17#include "arcane/Item.h"
18#include "arcane/IItemFamily.h"
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)
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);
195template<
typename ItemType>
201 using ItemLocalIdType =
typename ItemType::LocalIdType;
203 using ItemLocalId2 =
typename BaseClass::ItemLocalId2;
223template<
typename ItemType>
229 using ItemLocalIdType =
typename ItemType::LocalIdType;
231 using ItemLocalId2 =
typename BaseClass::ItemLocalId2;
251template<
typename ItemType>
257 using ItemLocalIdType =
typename ItemType::LocalIdType;
259 using ItemLocalId2 =
typename BaseClass::ItemLocalId2;
279template<
typename ItemType>
285 using ItemLocalIdType =
typename ItemType::LocalIdType;
287 using ItemLocalId2 =
typename BaseClass::ItemLocalId2;
307template<
typename ItemType>
313 using ItemLocalIdType =
typename ItemType::LocalIdType;
315 using ItemLocalId2 =
typename BaseClass::ItemLocalId2;
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 __host__ __device__ ItemLocalId2 itemId(ItemLocalId1 lid, Int32 index) const
i-ème entitée connectée à l'entité lid
constexpr __host__ __device__ ItemLocalIdViewType items(ItemLocalId1 lid) const
Liste des entités connectées à l'entité lid.
constexpr __host__ __device__ ItemLocalIdViewType itemIds(ItemLocalId1 lid) const
Liste des entités connectées à l'entité lid.
Classe de base d'une vue sur une connectivité non structurée.
__host__ __device__ ItemLocalIdListViewT< Item > items(ItemLocalId lid) const
Liste des entités connectées à l'entité lid.
constexpr __host__ __device__ Int32 nbSourceItem() const
Nombre d'entités source.
__host__ __device__ Int32 nbItem(ItemLocalId lid) const
Nombre d'entités connectées à l'entité lid.
Classe de base d'une vue sur une connectivité non structurée.
__host__ __device__ Int32 nbItem(ItemLocalId lid) const
Nombre d'entités connectées à l'entité lid.
constexpr __host__ __device__ Int32 nbSourceItem() const
Nombre d'entités source.
__host__ __device__ ItemLocalIdListViewT< Item > items(ItemLocalId lid) const
Liste des entités connectées à l'entité lid.
__host__ __device__ ItemLocalIdViewType cells(ItemLocalIdType lid) const
Liste des mailles connectées à l'entité lid.
__host__ __device__ ItemLocalId2 cellId(ItemLocalIdType lid, Int32 index) const
i-ème maille connectée à l'entité lid
__host__ __device__ ItemLocalIdViewType cellIds(ItemLocalIdType lid) const
Liste des mailles connectées à l'entité lid.
__host__ __device__ Int32 nbCell(ItemLocalIdType lid) const
Nombre de mailles connectées à l'entité lid.
__host__ __device__ Int32 nbDof(ItemLocalIdType lid) const
Nombre de DoFs connectés à l'entité lid.
__host__ __device__ ItemLocalId2 dofId(ItemLocalIdType lid, Int32 index) const
i-ème DoF connecté à l'entité lid
__host__ __device__ ItemLocalIdViewType dofIds(ItemLocalIdType lid) const
Liste des DoFs connectées à l'entité lid.
__host__ __device__ ItemLocalIdViewType dofs(ItemLocalIdType lid) const
Liste des DoFs connectées à l'entité lid.
__host__ __device__ ItemLocalIdViewType edgeIds(ItemLocalIdType lid) const
Liste des arêtes connectées à l'entité lid.
__host__ __device__ ItemLocalId2 edgeId(ItemLocalIdType lid, Int32 index) const
i-ème arête connectée à l'entité lid
__host__ __device__ Int32 nbEdge(ItemLocalIdType lid) const
Nombre d'arêtes connectées à l'entité lid.
__host__ __device__ ItemLocalIdViewType edges(ItemLocalIdType lid) const
Liste des arêtes connectées à l'entité lid.
__host__ __device__ ItemLocalIdViewType faces(ItemLocalIdType lid) const
Liste des faces connectées à l'entité lid.
__host__ __device__ Int32 nbFace(ItemLocalIdType lid) const
Nombre de faces connectées à l'entité lid.
__host__ __device__ ItemLocalId2 faceId(ItemLocalIdType lid, Int32 index) const
i-ème face connectée à l'entité lid
__host__ __device__ ItemLocalIdViewType faceIds(ItemLocalIdType lid) const
Liste des faces connectées à l'entité lid.
__host__ __device__ ItemLocalIdViewType nodes(ItemLocalIdType lid) const
Liste des noeuds connectés à l'entité lid.
__host__ __device__ ItemLocalId2 nodeId(ItemLocalIdType lid, Int32 index) const
i-ème noeud connecté à l'entité lid
__host__ __device__ ItemLocalIdViewType nodeIds(ItemLocalIdType lid) const
Liste des noeuds connectés à l'entité lid.
__host__ __device__ Int32 nbNode(ItemLocalIdType lid) const
Nombre de noeuds connectés à l'entité lid.
Index d'un Item dans une variable.
static eItemKind kind()
Genre de l'entité
Classe de base d'un élément de maillage.
Référence à une instance.
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.