Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
UnstructuredMeshConnectivity.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/* UnstructuredMeshConnectivity.h (C) 2000-2025 */
9/* */
10/* Connectivity information for an unstructured mesh. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_UNSTRUCTUREDMESHCONNECTIVITY_H
13#define ARCANE_CORE_UNSTRUCTUREDMESHCONNECTIVITY_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/core/IndexedItemConnectivityView.h"
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22namespace Arcane
23{
24
25/*---------------------------------------------------------------------------*/
26/*---------------------------------------------------------------------------*/
27
34class ARCANE_CORE_EXPORT UnstructuredMeshConnectivityView
35{
36 public:
37
38 UnstructuredMeshConnectivityView() = default;
39 explicit UnstructuredMeshConnectivityView(IMesh* m) { setMesh(m); }
40
41 public:
42
43 void setMesh(IMesh* m);
44
45 public:
46
47 IndexedCellNodeConnectivityView cellNode() const
48 {
49 _checkValid();
50 return m_cell_node_connectivity_view;
51 }
52 IndexedCellEdgeConnectivityView cellEdge() const
53 {
54 _checkValid();
55 return m_cell_edge_connectivity_view;
56 }
57 IndexedCellFaceConnectivityView cellFace() const
58 {
59 _checkValid();
60 return m_cell_face_connectivity_view;
61 }
62
63 IndexedFaceNodeConnectivityView faceNode() const
64 {
65 _checkValid();
66 return m_face_node_connectivity_view;
67 }
68 IndexedFaceEdgeConnectivityView faceEdge() const
69 {
70 _checkValid();
71 return m_face_edge_connectivity_view;
72 }
73 IndexedFaceCellConnectivityView faceCell() const
74 {
75 _checkValid();
76 return m_face_cell_connectivity_view;
77 }
78
79 IndexedNodeEdgeConnectivityView nodeEdge() const
80 {
81 _checkValid();
82 return m_node_edge_connectivity_view;
83 }
84 IndexedNodeFaceConnectivityView nodeFace() const
85 {
86 _checkValid();
87 return m_node_face_connectivity_view;
88 }
89 IndexedNodeCellConnectivityView nodeCell() const
90 {
91 _checkValid();
92 return m_node_cell_connectivity_view;
93 }
94
95 IndexedEdgeNodeConnectivityView edgeNode() const
96 {
97 _checkValid();
98 return m_edge_node_connectivity_view;
99 }
100 IndexedEdgeFaceConnectivityView edgeFace() const
101 {
102 _checkValid();
103 return m_edge_face_connectivity_view;
104 }
105 IndexedEdgeCellConnectivityView edgeCell() const
106 {
107 _checkValid();
108 return m_edge_cell_connectivity_view;
109 }
110
111 private:
112
113 IndexedCellNodeConnectivityView m_cell_node_connectivity_view;
114 IndexedCellEdgeConnectivityView m_cell_edge_connectivity_view;
115 IndexedCellFaceConnectivityView m_cell_face_connectivity_view;
116
117 IndexedFaceNodeConnectivityView m_face_node_connectivity_view;
118 IndexedFaceEdgeConnectivityView m_face_edge_connectivity_view;
119 IndexedFaceCellConnectivityView m_face_cell_connectivity_view;
120
121 IndexedNodeEdgeConnectivityView m_node_edge_connectivity_view;
122 IndexedNodeFaceConnectivityView m_node_face_connectivity_view;
123 IndexedNodeCellConnectivityView m_node_cell_connectivity_view;
124
125 IndexedEdgeNodeConnectivityView m_edge_node_connectivity_view;
126 IndexedEdgeFaceConnectivityView m_edge_face_connectivity_view;
127 IndexedEdgeCellConnectivityView m_edge_cell_connectivity_view;
128
129 IMesh* m_mesh = nullptr;
130
131 private:
132
133 void _checkValid() const;
134};
135
136/*---------------------------------------------------------------------------*/
137/*---------------------------------------------------------------------------*/
138
139} // End namespace Arcane
140
141/*---------------------------------------------------------------------------*/
142/*---------------------------------------------------------------------------*/
143
144#endif
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --