Arcane  v3.16.0.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
MeshAccessor.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/* MeshAccessor.h (C) 2000-2020 */
9/* */
10/* Accès aux informations d'un maillage. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_MESHACCESSOR_H
13#define ARCANE_MESHACCESSOR_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/ItemTypes.h"
18#include "arcane/VariableTypedef.h"
19#include "arcane/MeshHandle.h"
20
21/*---------------------------------------------------------------------------*/
22/*---------------------------------------------------------------------------*/
23
24namespace Arcane
25{
26
27/*---------------------------------------------------------------------------*/
28/*---------------------------------------------------------------------------*/
29
30class ISubDomain;
31class IMesh;
32
33/*---------------------------------------------------------------------------*/
34/*---------------------------------------------------------------------------*/
39class ARCANE_CORE_EXPORT MeshAccessor
40{
41 public:
42
43 ARCCORE_DEPRECATED_2020("Use constructor with MeshHande")
44 MeshAccessor(ISubDomain* sd);
45 MeshAccessor(IMesh* mesh);
46 MeshAccessor(const MeshHandle& mesh_handle);
47
48 public:
49
51 Integer nbCell() const;
53 Integer nbFace() const;
55 Integer nbEdge() const;
57 Integer nbNode() const;
58
61
63 NodeGroup allNodes() const;
65 EdgeGroup allEdges() const;
67 FaceGroup allFaces() const;
69 CellGroup allCells() const;
71 FaceGroup outerFaces() const;
79 NodeGroup ownNodes() const;
87 CellGroup ownCells() const;
95 FaceGroup ownFaces() const;
103 EdgeGroup ownEdges() const;
104
105
106 public:
107
108 inline IMesh* mesh() const { return m_mesh_handle.mesh(); }
109 inline const MeshHandle& meshHandle() const { return m_mesh_handle; }
110
111 private:
112
113 MeshHandle m_mesh_handle;
114};
115
116/*---------------------------------------------------------------------------*/
117/*---------------------------------------------------------------------------*/
118
119} // End namespace Arcane
120
121/*---------------------------------------------------------------------------*/
122/*---------------------------------------------------------------------------*/
123
124#endif
Interface du gestionnaire d'un sous-domaine.
Definition ISubDomain.h:74
EdgeGroup allEdges() const
Retourne le groupe contenant toutes les arêtes.
EdgeGroup ownEdges() const
Groupe contenant toutes les arêtes propres à ce domaine.
FaceGroup ownFaces() const
Groupe contenant toutes les faces propres à ce domaine.
CellGroup allCells() const
Retourne le groupe contenant toutes les mailles.
CellGroup ownCells() const
Retourne le groupe contenant toutes les mailles propres à ce domaine.
FaceGroup allFaces() const
Retourne le groupe contenant toutes les faces.
Integer nbNode() const
Retourne le nombre de noeuds du maillage.
NodeGroup ownNodes() const
Retourne le groupe contenant tous les noeuds propres à ce domaine.
NodeGroup allNodes() const
Retourne le groupe contenant tous les noeuds.
Integer nbEdge() const
Retourne le nombre d'arêtes du maillage.
Integer nbCell() const
Retourne le nombre de mailles du maillage.
Integer nbFace() const
Retourne le nombre de faces du maillage.
FaceGroup outerFaces() const
Retourne le groupe contenant toutes les faces de le frontière.
VariableNodeReal3 & nodesCoordinates() const
Retourne les coordonnées des noeuds du maillage.
Handle sur un maillage.
Definition MeshHandle.h:47
ItemGroupT< Cell > CellGroup
Groupe de mailles.
Definition ItemTypes.h:183
ItemGroupT< Face > FaceGroup
Groupe de faces.
Definition ItemTypes.h:178
ItemGroupT< Edge > EdgeGroup
Groupe d'arêtes.
Definition ItemTypes.h:173
ItemGroupT< Node > NodeGroup
Groupe de noeuds.
Definition ItemTypes.h:167
MeshVariableScalarRefT< Node, Real3 > VariableNodeReal3
Grandeur au noeud de type coordonnées.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Int32 Integer
Type représentant un entier.