Arcane  v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
MeshArea.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/* MeshArea.h (C) 2000-2005 */
9/* */
10/* Zone du maillage. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_MESHAREA_H
13#define ARCANE_MESHAREA_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17
18#include "arcane/IMeshArea.h"
19#include "arcane/ItemGroup.h"
20
21/*---------------------------------------------------------------------------*/
22/*---------------------------------------------------------------------------*/
23
24ARCANE_BEGIN_NAMESPACE
25
26/*---------------------------------------------------------------------------*/
27/*---------------------------------------------------------------------------*/
28
29class IParallelMng;
30
31/*---------------------------------------------------------------------------*/
32/*---------------------------------------------------------------------------*/
33/*!
34 * \brief Zone du maillage.
35 */
36class ARCANE_CORE_EXPORT MeshArea
37: public IMeshArea
38{
39 public:
40
41 MeshArea(IMesh* mesh);
42 virtual ~MeshArea();
43
44 public:
45
46 //! Sous-domaine associé
47 virtual ISubDomain* subDomain();
48
49 //! Gestionnaire de trace associé
50 virtual ITraceMng* traceMng();
51
52 //! Maillage auquel appartient la zone
53 virtual IMesh* mesh();
54
55 public:
56
57 //! Nombre de noeuds du maillage
58 virtual Integer nbNode();
59
60 //! Nombre d'arêtes du maillage
61 virtual Integer nbEdge();
62
63 //! Nombre de faces du maillage
64 virtual Integer nbFace();
65
66 //! Nombre de mailles du maillage
67 virtual Integer nbCell();
68
69 //! Nombre d'éléments du genre \a ik
70 virtual Integer nbItem(eItemKind ik);
71
72 public:
73
74 //! Groupe de tous les noeuds
75 virtual NodeGroup allNodes();
76
77 //! Groupe de tous les arêtes
78 virtual EdgeGroup allEdges();
79
80 //! Groupe de toutes les faces
81 virtual FaceGroup allFaces();
82
83 //! Groupe de toutes les mailles
84 virtual CellGroup allCells();
85
86 //! Groupe de toutes les entités du genre \a item_kind
87 virtual ItemGroup allItems(eItemKind item_kind);
88
89 //! Groupe de tous les noeuds propres au domaine
90 virtual NodeGroup ownNodes();
91
92 //! Groupe de tous les arêtes propres au domaine
93 virtual EdgeGroup ownEdges();
94
95 //! Groupe de toutes les faces propres au domaine
96 virtual FaceGroup ownFaces();
97
98 //! Groupe de toutes les mailles propres au domaine
99 virtual CellGroup ownCells();
100
101 //! Groupe de toutes les entités propres au sous-domaine du genre \a item_kind
102 virtual ItemGroup ownItems(eItemKind item_kind);
103
104 public:
105
106 //void setArea(const NodeGroup& nodes,const EdgeGroup& edges,
107 //const FaceGroup& faces,const CellGroup& cells);
108
109 void setArea(const NodeGroup& nodes,const CellGroup& cells);
110
111 protected:
112
113 IMesh* m_mesh;
114 ISubDomain* m_sub_domain;
115 ITraceMng* m_trace_mng;
116 NodeGroup m_all_nodes;
117 EdgeGroup m_all_edges;
118 FaceGroup m_all_faces;
119 CellGroup m_all_cells;
120};
121
122/*---------------------------------------------------------------------------*/
123/*---------------------------------------------------------------------------*/
124
125ARCANE_END_NAMESPACE
126
127/*---------------------------------------------------------------------------*/
128/*---------------------------------------------------------------------------*/
129
130#endif
131
Interface d'une zone du maillage.
Definition IMeshArea.h:41
virtual NodeGroup ownNodes()=0
Groupe de tous les noeuds propres au domaine.
virtual CellGroup allCells()=0
Groupe de toutes les mailles.
virtual ITraceMng * traceMng()=0
Gestionnaire de trace associé
virtual NodeGroup allNodes()=0
Groupe de tous les noeuds.
virtual ISubDomain * subDomain()=0
Sous-domaine associé
virtual Integer nbCell()=0
Nombre de mailles du maillage.
virtual CellGroup ownCells()=0
Groupe de toutes les mailles propres au domaine.
virtual IMesh * mesh()=0
Maillage auquel appartient la zone.
virtual Integer nbNode()=0
Nombre de noeuds du maillage.
Interface du gestionnaire d'un sous-domaine.
Definition ISubDomain.h:74
Groupe d'entités de maillage.
Definition ItemGroup.h:49
Zone du maillage.
Definition MeshArea.h:38
Interface du gestionnaire de traces.
eItemKind
Genre d'entité de maillage.