Arcane  v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
ITimeLoop.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/* ITimeLoop.h (C) 2000-2014 */
9/* */
10/* Interface d'une boucle en temps. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_ITIMELOOP_H
13#define ARCANE_ITIMELOOP_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/ArcaneTypes.h"
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22ARCANE_BEGIN_NAMESPACE
23
24/*---------------------------------------------------------------------------*/
25/*---------------------------------------------------------------------------*/
26
27class IApplication;
28class TimeLoopEntryPointInfo;
29typedef Collection<TimeLoopEntryPointInfo> TimeLoopEntryPointInfoCollection;
30class TimeLoopSingletonServiceInfo;
31typedef Collection<TimeLoopSingletonServiceInfo> TimeLoopSingletonServiceInfoCollection;
32class IConfiguration;
33
34/*---------------------------------------------------------------------------*/
35/*---------------------------------------------------------------------------*/
36/*!
37 * \ingroup Module
38 * \brief Interface d'une boucle en temps.
39 */
40class ARCANE_CORE_EXPORT ITimeLoop
41{
42 public:
43 /*! @name Point d'appel
44 Endroit ou est utilisé le point d'entrée.
45 */
46 //@{
47 //! appelé pendant la boucle de calcul
48 static const char* WComputeLoop;
49 //! appelé lors de la lecture du jeu de données
50 static const char* WBuild;
51 //! appelé pendant l'initialisation, l'initialisation d'une reprise ou d'un nouveau cas
52 static const char* WInit;
53 //! appelé pour restaurer les variables lors d'un retour arrière
54 static const char* WRestore;
55 //! appelé après un changement de maillage
56 static const char* WOnMeshChanged;
57 //! appelé après un raffinement de maillage
58 static const char* WOnMeshRefinement;
59 //! appelé lors de la terminaison du code.
60 static const char* WExit;
61 //@}
62
63 public:
64
65 virtual ~ITimeLoop() {} //!< Libère les ressources.
66
67 public:
68
69 //! Construit la boucle en temps
70 virtual void build() =0;
71
72 public:
73
74 //! Application
75 virtual IApplication* application() const =0;
76
77 public:
78
79 //! Nom de la boucle en temps
80 virtual String name() const =0;
81
82 //! Titre de la boucle en temps
83 virtual String title() const =0;
84
85 //! Positionne le titre de la boucle en temps
86 virtual void setTitle(const String&) =0;
87
88 //! Description de la boucle en temps
89 virtual String description() const =0;
90
91 //! Positionne la description de la boucle en temps
92 virtual void setDescription(const String&) =0;
93
94 //! Liste des noms des modules obligatoires.
96
97 //! Positionne la liste des des modules obligatoires.
99
100 //! Liste des noms des modules facultatifs.
102
103 //! Positionne la liste des des modules facultatifs.
105
106 //! Liste des noms des points d'entrée pour le point d'appel \a where.
108
109 //! Positionne la liste des noms des points d'entrée pour le point d'appel \a where
110 virtual void setEntryPoints(const String& where,const TimeLoopEntryPointInfoCollection&) =0;
111
112 //! Liste des classes utilisateurs associées à la boucle en temps.
113 virtual StringCollection userClasses() const =0;
114
115 //! Retourne la liste des classes associées à la boucle en temps.
116 virtual void setUserClasses(const StringCollection&) =0;
117
118 //! Liste services singletons
120
121 //! Positionne la liste des services singletons.
123
124 //! Options de configuration
126};
127
128/*---------------------------------------------------------------------------*/
129/*---------------------------------------------------------------------------*/
130
131ARCANE_END_NAMESPACE
132
133/*---------------------------------------------------------------------------*/
134/*---------------------------------------------------------------------------*/
135
136#endif
137
Interface de l'application.
Interface d'une configuration.
Interface d'une boucle en temps.
Definition ITimeLoop.h:41
virtual void setUserClasses(const StringCollection &)=0
Retourne la liste des classes associées à la boucle en temps.
static const char * WRestore
appelé pour restaurer les variables lors d'un retour arrière
Definition ITimeLoop.h:54
virtual StringCollection optionalModulesName() const =0
Liste des noms des modules facultatifs.
virtual void setRequiredModulesName(const StringCollection &)=0
Positionne la liste des des modules obligatoires.
virtual String title() const =0
Titre de la boucle en temps.
virtual IApplication * application() const =0
Application.
virtual TimeLoopEntryPointInfoCollection entryPoints(const String &where) const =0
Liste des noms des points d'entrée pour le point d'appel where.
static const char * WOnMeshChanged
appelé après un changement de maillage
Definition ITimeLoop.h:56
virtual void setTitle(const String &)=0
Positionne le titre de la boucle en temps.
virtual void setSingletonServices(const TimeLoopSingletonServiceInfoCollection &c)=0
Positionne la liste des services singletons.
static const char * WExit
appelé lors de la terminaison du code.
Definition ITimeLoop.h:60
virtual void build()=0
Construit la boucle en temps.
virtual IConfiguration * configuration()=0
Options de configuration.
virtual StringCollection requiredModulesName() const =0
Liste des noms des modules obligatoires.
virtual TimeLoopSingletonServiceInfoCollection singletonServices() const =0
Liste services singletons.
virtual String description() const =0
Description de la boucle en temps.
static const char * WOnMeshRefinement
appelé après un raffinement de maillage
Definition ITimeLoop.h:58
virtual ~ITimeLoop()
Libère les ressources.
Definition ITimeLoop.h:65
virtual void setDescription(const String &)=0
Positionne la description de la boucle en temps.
virtual void setOptionalModulesName(const StringCollection &)=0
Positionne la liste des des modules facultatifs.
static const char * WBuild
appelé lors de la lecture du jeu de données
Definition ITimeLoop.h:50
static const char * WComputeLoop
appelé pendant la boucle de calcul
Definition ITimeLoop.h:48
virtual void setEntryPoints(const String &where, const TimeLoopEntryPointInfoCollection &)=0
Positionne la liste des noms des points d'entrée pour le point d'appel where.
virtual StringCollection userClasses() const =0
Liste des classes utilisateurs associées à la boucle en temps.
static const char * WInit
appelé pendant l'initialisation, l'initialisation d'une reprise ou d'un nouveau cas
Definition ITimeLoop.h:52
virtual String name() const =0
Nom de la boucle en temps.
Chaîne de caractères unicode.