Arcane  4.2.1.0
Developer documentation
Loading...
Searching...
No Matches
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
This file contains the various service factories and macros for registering services.
#define ARCANE_SERVICE_INTERFACE(ainterface)
Macro to declare an interface when registering a 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.
Base class of a service linked to a subdomain.
Information for building a dataset option.
Description and content of a file.
Definition FileContent.h:33
Interface of a dataset function.
Case manager interface.
Definition ICaseMng.h:57
Interface for a data set options list.
Interface for a list of data set options.
Interface of a mesh partitioner.
Interface of a mesh partitioner.
Interface of a module.
Definition IModule.h:40
Interface for service or module information.
Interface managing a standard function.
Information about a service.
Definition ServiceInfo.h:51
Encapsulation of a pointer with a reference counter.
static void registerToServiceInfo(ServiceInfo *si, const Interfaces &... args)
Registers the factories for the Interfaces interfaces in the service.
ICaseOptions * caseOptions() const
Access to the associated ICaseOptions.
Structure containing the information to create a service.
View of an array of elements of type T.
Definition Span.h:633
Node of a DOM tree.
Definition XmlNode.h:51
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
unsigned char Byte
Type of a byte.
Definition BaseTypes.h:42