Arcane  4.2.1.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
PTScotchMeshPartitioner_axl.h
1/*---------------------------------------------------------------------------*/
2/*---------------------------------------------------------------------------*/
3// #WARNING#: This file has been generated automatically. Do not edit.
4// Axlstar version 1.0
5/*---------------------------------------------------------------------------*/
6/*---------------------------------------------------------------------------*/
7
8#ifndef ARCANE_CASEOPTION_AXLSTAR_PTSCOTCHMESHPARTITIONER_H
9#define ARCANE_CASEOPTION_AXLSTAR_PTSCOTCHMESHPARTITIONER_H
10
11/*---------------------------------------------------------------------------*/
12/*---------------------------------------------------------------------------*/
13
14#include "arcane/utils/String.h"
15
16#include "arcane/CaseOptions.h"
17#include "arcane/CaseOptionsMulti.h"
18#include "arcane/CaseOptionBuildInfo.h"
19#include "arcane/XmlNodeList.h"
20
21/*---------------------------------------------------------------------------*/
22/*---------------------------------------------------------------------------*/
23
24ARCANE_BEGIN_NAMESPACE
25
26/*---------------------------------------------------------------------------*/
27/*---------------------------------------------------------------------------*/
28
30class CaseOptionsPTScotchMeshPartitioner
31{
32public:
33
34 /*-------------------------------------------------------------------------*/
35 /*--------------------------- Complex Options -----------------------------*/
36 /*-------------------------------------------------------------------------*/
37
38 /*-------------------------------------------------------------------------*/
39 /*--------------------------- Non Complex Options -------------------------*/
40 /*-------------------------------------------------------------------------*/
41
42 CaseOptionsPTScotchMeshPartitioner(Arcane::ICaseOptions* co)
43 : m_case_options(co)
44 , dumpGraph(Arcane::CaseOptionBuildInfo(_configList(),
45 /* name */ "dump-graph", _element(),
46 /* default */ "false",
47 /* min-occurs */ 1,
48 /* max-occurs */ 1,
49 /* optional */ false))
50 , checkGraph(Arcane::CaseOptionBuildInfo(_configList(),
51 /* name */ "check-graph", _element(),
52 /* default */ "false",
53 /* min-occurs */ 1,
54 /* max-occurs */ 1,
55 /* optional */ false))
56 , strategy(Arcane::CaseOptionBuildInfo(_configList(),
57 /* name */ "strategy", _element(),
58 /* default */ "",
59 /* min-occurs */ 1,
60 /* max-occurs */ 1,
61 /* optional */ false))
62 {
63
64addAlternativeNodeName(
65 /* language */ Arcane::String("fr"),
66 /* alternative name */ Arcane::String("PTScotch"));
67 }
68
69public:
70 // Interfaces for main CaseOptions
71
72 bool getDumpGraph() { return dumpGraph(); }
73 Arcane::ICaseFunction* getDumpGraphFunction() { return dumpGraph.function(); }
74 Arcane::IStandardFunction* getDumpGraphStandardFunction() { return dumpGraph.standardFunction(); }
75 bool getCheckGraph() { return checkGraph(); }
76 Arcane::ICaseFunction* getCheckGraphFunction() { return checkGraph.function(); }
77 Arcane::IStandardFunction* getCheckGraphStandardFunction() { return checkGraph.standardFunction(); }
78 Arcane::String getStrategy() { return strategy(); }
79 Arcane::ICaseFunction* getStrategyFunction() { return strategy.function(); }
80 Arcane::IStandardFunction* getStrategyStandardFunction() { return strategy.standardFunction(); }
81
82
83
84 // Interfaces for complex options
85
86
87public:
88
89 Arcane::ICaseOptions* caseOptions() const
90 {
91 return m_case_options.get();
92 }
93
94 Arcane::ICaseOptionList* configList() const
95 {
96 return m_case_options->configList();
97 }
98
99 void setCaseModule(Arcane::IModule* m)
100 {
101 m_case_options->setCaseModule(m);
102 }
103
104 void setCaseServiceInfo(Arcane::IServiceInfo* si)
105 {
106 m_case_options->setCaseServiceInfo(si);
107 }
108
109 void addAlternativeNodeName(const Arcane::String& lang,
110 const Arcane::String& name)
111 {
112 m_case_options->addAlternativeNodeName(lang,name);
113 }
114
115private:
116
117 Arcane::ICaseOptionList* _configList() const { return configList(); }
118 Arcane::XmlNode _element() const { return Arcane::XmlNode(); }
119
120private:
121
122 static Arcane::ICaseOptions* _createCaseOption(Arcane::ICaseMng* cm,Arcane::ICaseOptions* co);
123
125
126public:
127
128
129 Arcane::CaseOptionBool dumpGraph;
130 Arcane::CaseOptionBool checkGraph;
131 Arcane::CaseOptionString strategy;
132};
133
134/*---------------------------------------------------------------------------*/
135/*---------------------------------------------------------------------------*/
136
137ARCANE_END_NAMESPACE
138
139/*---------------------------------------------------------------------------*/
140/*---------------------------------------------------------------------------*/
141
142#endif
143
144
145
146/*---------------------------------------------------------------------------*/
147/*---------------------------------------------------------------------------*/
148// #WARNING#: This file has been generated automatically. Do not edit.
149// Axlstar version 1.0
150/*---------------------------------------------------------------------------*/
151/*---------------------------------------------------------------------------*/
152#ifndef ARCANE_SERVICE_AXLSTAR_PTSCOTCHMESHPARTITIONER_H
153#define ARCANE_SERVICE_AXLSTAR_PTSCOTCHMESHPARTITIONER_H
154/*---------------------------------------------------------------------------*/
155/*---------------------------------------------------------------------------*/
156
157#include "arcane/core/VariableTypes.h"
158#include "arcane/core/ServiceInfo.h"
159#include "arcane/core/ISubDomain.h"
160#include "arcane/core/ServiceBuildInfo.h"
162#include "arcane/core/ServiceRegisterer.h"
163#include "arcane/core/BasicService.h"
164
165#ifndef ARCANE_HAS_SPECIFIC_BASIC_SERVICE
166// Code pour les versions de Arcane avant la 3.8 qui ne possèdent pas les
167// classes de base spécifiques pour les services
168namespace Arcane
169{
170using BasicCaseOptionService = BasicService;
171using BasicSubDomainService = BasicService;
172using BasicMeshService = BasicService;
173}
174#endif
175
176/*---------------------------------------------------------------------------*/
177/*---------------------------------------------------------------------------*/
178
179namespace Arcane
180{
181
182/*---------------------------------------------------------------------------*/
183/*---------------------------------------------------------------------------*/
184
185class CaseOptionsPTScotchMeshPartitioner;
186
187/*---------------------------------------------------------------------------*/
188/*---------------------------------------------------------------------------*/
189
192 : public MeshPartitionerBase
193{
194public:
195 // NOTE GG: attention code dupliqué avec 'ServiceT4CaseAndStrong'. Bien reporter les modifications
196 template <typename ServiceClassType> static void fillServiceInfo(Arcane::ServiceInfo* si)
197 {
198 si->setCaseOptionsFileName("PTScotchMeshPartitioner_arcane_std");
199 si->setAxlVersion(0.0);
200 si->setDefaultTagName("p-t-scotch-mesh-partitioner");
201 si->setAxlContent(getAxlContent());
202 si->setTagName("PTScotch","fr");
206);
207 }
208
209public:
210
213 : MeshPartitionerBase(sbi)
214 , m_options(nullptr)
215 {
217 if (co) {
219 }
220
221 }
222
225 {
226 delete m_options;
227 }
228
229
230public:
231
234
235private:
236
239
240protected:
241
243private:
245 {
246 const Arcane::Byte* content = (const Arcane::Byte*)"";
247 Arcane::Span<const Arcane::Byte> bytes(content,0);
248 int file_version = 1;
249 return Arcane::FileContent(bytes,file_version,"");
250 }
251};
252
253/*---------------------------------------------------------------------------*/
254/*---------------------------------------------------------------------------*/
255
256#define ARCANE_REGISTER_SERVICE_PTSCOTCHMESHPARTITIONER(service_name,class_name) \
257 ARCANE_REGISTER_AXL_SERVICE(class_name,Arcane::ServiceProperty(#service_name,Arcane::ST_CaseOption,\
258 Arcane::SFP_None ))
259
260/*---------------------------------------------------------------------------*/
261/*---------------------------------------------------------------------------*/
262
263} // End namespace Arcane
264
265/*---------------------------------------------------------------------------*/
266/*---------------------------------------------------------------------------*/
267
268#endif
269
Ce fichier contient les différentes fabriques de services et macro pour enregistrer les services.
#define ARCANE_SERVICE_INTERFACE(ainterface)
Macro pour déclarer une interface lors de l'enregistrement d'un service.
CaseOptionsPTScotchMeshPartitioner * m_options
Options du jeu de données du service.
ArcanePTScotchMeshPartitionerObject(const Arcane::ServiceBuildInfo &sbi)
Constructeur.
CaseOptionsPTScotchMeshPartitioner * options() const
Options du jeu de données du service.
static Arcane::FileContent getAxlContent()
Variables du service.
Classe de base de service lié à un sous-domaine.
Informations pour construire une option de jeu de données.
Description et contenu d'un fichier.
Definition FileContent.h:32
Interface d'une fonction du jeu de données.
Interface du gestionnaire de cas.
Definition ICaseMng.h:56
Interface d'une liste d'options du jeu de données.
Interface d'une liste d'options du jeu de données.
Interface d'un partitionneur de maillage.
Interface d'un partitionneur de maillage.
Interface d'un module.
Definition IModule.h:39
Interface des informations d'un service ou d'un module.
Interface gérant une fonction standard.
Informations d'un service.
Definition ServiceInfo.h:46
Encapsulation d'un pointeur avec compteur de référence.
static void registerToServiceInfo(ServiceInfo *si, const Interfaces &... args)
Enregistre dans le service les fabriques pour les interfacs Interfaces.
ICaseOptions * caseOptions() const
Accès au ICaseOptions associé.
Structure contenant les informations pour créer un service.
Vue d'un tableau d'éléments de type T.
Definition Span.h:633
Chaîne de caractères unicode.
Noeud d'un arbre DOM.
Definition XmlNode.h:51
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
unsigned char Byte
Type d'un octet.
Definition BaseTypes.h:42