Arcane  v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
UnstructuredMeshConnectivity.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2022 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-2021 */
9/* */
10/* Informations de connectivité d'un maillage non structuré. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_UNSTRUCTUREDMESHCONNECTIVITY_H
13#define ARCANE_UNSTRUCTUREDMESHCONNECTIVITY_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/IndexedItemConnectivityView.h"
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22namespace Arcane
23{
24
25/*---------------------------------------------------------------------------*/
26/*---------------------------------------------------------------------------*/
27/*!
28 * \brief Vue sur les connectivités standards d'un maillage non structuré.
29 *
30 * Il faut appeler setMesh() avant d'utiliser les méthodes de cette classe.
31 * La méthode setMesh() doit être appelée si la cardinalité du maillage évolue.
32 */
33class ARCANE_CORE_EXPORT UnstructuredMeshConnectivityView
34{
35 public:
36
38 explicit UnstructuredMeshConnectivityView(IMesh* m){ setMesh(m); }
39
40 public:
41
42 void setMesh(IMesh* m);
43
44 public:
45
46 IndexedCellNodeConnectivityView cellNode() const
47 { _checkValid(); return m_cell_node_connectivity_view; }
48 IndexedCellEdgeConnectivityView cellEdge() const
49 { _checkValid(); return m_cell_edge_connectivity_view; }
50 IndexedCellFaceConnectivityView cellFace() const
51 { _checkValid(); return m_cell_face_connectivity_view; }
52
53 IndexedFaceNodeConnectivityView faceNode() const
54 { _checkValid(); return m_face_node_connectivity_view; }
55 IndexedFaceEdgeConnectivityView faceEdge() const
56 { _checkValid(); return m_face_edge_connectivity_view; }
57 IndexedFaceCellConnectivityView faceCell() const
58 { _checkValid(); return m_face_cell_connectivity_view; }
59
60 IndexedNodeEdgeConnectivityView nodeEdge() const
61 { _checkValid(); return m_node_edge_connectivity_view; }
62 IndexedNodeFaceConnectivityView nodeFace() const
63 { _checkValid(); return m_node_face_connectivity_view; }
64 IndexedNodeCellConnectivityView nodeCell() const
65 { _checkValid(); return m_node_cell_connectivity_view; }
66
67 IndexedEdgeNodeConnectivityView edgeNode() const
68 { _checkValid(); return m_edge_node_connectivity_view; }
69 IndexedEdgeFaceConnectivityView edgeFace() const
70 { _checkValid(); return m_edge_face_connectivity_view; }
71 IndexedEdgeCellConnectivityView edgeCell() const
72 { _checkValid(); return m_edge_cell_connectivity_view; }
73
74 private:
75
76 IndexedCellNodeConnectivityView m_cell_node_connectivity_view;
77 IndexedCellEdgeConnectivityView m_cell_edge_connectivity_view;
78 IndexedCellFaceConnectivityView m_cell_face_connectivity_view;
79
80 IndexedFaceNodeConnectivityView m_face_node_connectivity_view;
81 IndexedFaceEdgeConnectivityView m_face_edge_connectivity_view;
82 IndexedFaceCellConnectivityView m_face_cell_connectivity_view;
83
84 IndexedNodeEdgeConnectivityView m_node_edge_connectivity_view;
85 IndexedNodeFaceConnectivityView m_node_face_connectivity_view;
86 IndexedNodeCellConnectivityView m_node_cell_connectivity_view;
87
88 IndexedEdgeNodeConnectivityView m_edge_node_connectivity_view;
89 IndexedEdgeFaceConnectivityView m_edge_face_connectivity_view;
90 IndexedEdgeCellConnectivityView m_edge_cell_connectivity_view;
91
92 IMesh* m_mesh = nullptr;
93
94 private:
95
96 void _checkValid() const;
97};
98
99/*---------------------------------------------------------------------------*/
100/*---------------------------------------------------------------------------*/
101
102} // End namespace Arcane
103
104/*---------------------------------------------------------------------------*/
105/*---------------------------------------------------------------------------*/
106
107#endif
Vue sur les connectivités standards d'un maillage non structuré.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-