Arcane  v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
IMeshMng.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/* IMeshMng.h (C) 2000-2020 */
9/* */
10/* Interface du gestionnaire des maillages. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_IMESHMNG_H
13#define ARCANE_IMESHMNG_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/ArcaneTypes.h"
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22namespace Arcane
23{
24
25/*---------------------------------------------------------------------------*/
26/*---------------------------------------------------------------------------*/
27/*!
28 * \brief Interface du gestionnaire des maillages.
29 *
30 * Cette interface gère une liste de maillages et permet de créér des maillages
31 * ou récupérer un maillage existant à partir de son nom.
32 *
33 * La création de maillage se fait via 'IMeshFactoryMng' dont une instance
34 * est récupérable via meshFactoryMng(). La création effective de maillage ne peut
35 * avoir lieu qu'après lecture du jeu de données. Il est par contre possible
36 * de créér une référence (via createMeshHandle()) sur un maillage à n'importe quel
37 * moment.
38 */
39class ARCANE_CORE_EXPORT IMeshMng
40{
41 public:
42
43 //! Libère les ressources.
44 virtual ~IMeshMng() = default;
45
46 public:
47
48 //! Gestionnaire de trace associé à ce gestionnaire
49 virtual ITraceMng* traceMng() const = 0;
50
51 //! Fabrique de maillages associée à ce gestionnaire
52 virtual IMeshFactoryMng* meshFactoryMng() const = 0;
53
54 //! Gestionnaire de variables associé à ce gestionnaire
55 virtual IVariableMng* variableMng() const = 0;
56
57 public:
58
59 /*!
60 * \brief Recherche le maillage de nom \a name.
61 *
62 * Si le maillage n'est pas trouvé, la méthode lance une exception
63 * si \a throw_exception vaut \a true ou retourne *nullptr* si \a throw_exception
64 * vaut \a false.
65 */
66 virtual MeshHandle* findMeshHandle(const String& name, bool throw_exception) = 0;
67
68 /*!
69 * \brief Recherche le maillage de nom \a name.
70 *
71 * Si le maillage n'est pas trouvé, la méthode lance une exception.
72 */
73 virtual MeshHandle findMeshHandle(const String& name) = 0;
74
75 /*!
76 * \brief Créé et retourne un handle pour un maillage de nom \a name.
77 *
78 * Lève une exception si un handle associé à ce nom existe déjà.
79 */
80 virtual MeshHandle createMeshHandle(const String& name) = 0;
81
82 /*!
83 * \brief Détruit le maillage associé à \a handle.
84 *
85 * Le maillage doit être un maillage implémentant IPrimaryMesh.
86 *
87 * \warning \a handle ne doit plus être utilisé après cet appel
88 * et le maillage associé non plus. S'il reste des références à ces deux
89 * objets, le comportement est indéfini.
90 */
91 virtual void destroyMesh(MeshHandle handle) = 0;
92
93 //! Handle pour le maillage par défaut.
94 virtual MeshHandle defaultMeshHandle() const = 0;
95};
96
97/*---------------------------------------------------------------------------*/
98/*---------------------------------------------------------------------------*/
99
100} // End namespace Arcane
101
102/*---------------------------------------------------------------------------*/
103/*---------------------------------------------------------------------------*/
104
105#endif
Interface du gestionnaire de fabriques de maillages.
Interface du gestionnaire des maillages.
Definition IMeshMng.h:40
virtual ITraceMng * traceMng() const =0
Gestionnaire de trace associé à ce gestionnaire.
virtual ~IMeshMng()=default
Libère les ressources.
virtual MeshHandle findMeshHandle(const String &name)=0
Recherche le maillage de nom name.
virtual IVariableMng * variableMng() const =0
Gestionnaire de variables associé à ce gestionnaire.
virtual void destroyMesh(MeshHandle handle)=0
Détruit le maillage associé à handle.
virtual MeshHandle createMeshHandle(const String &name)=0
Créé et retourne un handle pour un maillage de nom name.
virtual IMeshFactoryMng * meshFactoryMng() const =0
Fabrique de maillages associée à ce gestionnaire.
virtual MeshHandle * findMeshHandle(const String &name, bool throw_exception)=0
Recherche le maillage de nom name.
virtual MeshHandle defaultMeshHandle() const =0
Handle pour le maillage par défaut.
Interface du gestionnaire de variables.
Handle sur un maillage.
Definition MeshHandle.h:47
Interface du gestionnaire de traces.
Chaîne de caractères unicode.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-