14#include "arcane/core/UnstructuredMeshConnectivity.h"
16#include "arcane/utils/FatalErrorException.h"
18#include "arcane/core/IMesh.h"
19#include "arcane/core/IItemFamily.h"
20#include "arcane/core/internal/IItemFamilyInternal.h"
34inline constexpr Int32 _IDX(Node*) {
return ItemInternalConnectivityList::NODE_IDX; }
35inline constexpr Int32 _IDX(Edge*) {
return ItemInternalConnectivityList::EDGE_IDX; }
36inline constexpr Int32 _IDX(Face*) {
return ItemInternalConnectivityList::FACE_IDX; }
37inline constexpr Int32 _IDX(Cell*) {
return ItemInternalConnectivityList::CELL_IDX; }
39template<
typename ConnectivityView>
inline void
40_internalInit(ConnectivityView& cview,IMesh* mesh)
42 using ItemType1 =
typename ConnectivityView::ItemType1Type;
43 using ItemType2 =
typename ConnectivityView::ItemType2Type;
48 IItemFamily* family = mesh->itemFamily(ik1);
49 ItemInternalConnectivityList* clist = family->_internalApi()->unstructuredItemInternalConnectivityList();
50 auto item_index_type = _IDX((ItemType2*)
nullptr);
51 auto container_view = clist->containerView(item_index_type);
52 cview = IndexedItemConnectivityViewBase(container_view,ik1,ik2);
59void UnstructuredMeshConnectivityView::
64 _internalInit(m_cell_node_connectivity_view,mesh);
65 _internalInit(m_cell_edge_connectivity_view,mesh);
66 _internalInit(m_cell_face_connectivity_view,mesh);
68 _internalInit(m_face_node_connectivity_view,mesh);
69 _internalInit(m_face_edge_connectivity_view,mesh);
70 _internalInit(m_face_cell_connectivity_view,mesh);
72 _internalInit(m_node_edge_connectivity_view,mesh);
73 _internalInit(m_node_face_connectivity_view,mesh);
74 _internalInit(m_node_cell_connectivity_view,mesh);
76 _internalInit(m_edge_node_connectivity_view,mesh);
77 _internalInit(m_edge_face_connectivity_view,mesh);
78 _internalInit(m_edge_cell_connectivity_view,mesh);
84void UnstructuredMeshConnectivityView::
88 ARCANE_FATAL(
"Can not use unitialised UnstructuredMeshConnectivityView.\n"
89 "Call the method setMesh() before");
#define ARCANE_FATAL(...)
Macro envoyant une exception FatalErrorException.
static eItemKind kind()
Genre de l'entité
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
eItemKind
Genre d'entité de maillage.