Arcane  4.2.1.0
Developer documentation
Loading...
Searching...
No Matches
ArcaneBasicMeshSubdividerService_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_ARCANEBASICMESHSUBDIVIDERSERVICE_H
9#define ARCANE_CASEOPTION_AXLSTAR_ARCANEBASICMESHSUBDIVIDERSERVICE_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 CaseOptionsArcaneBasicMeshSubdividerService
31{
32public:
33
34 /*-------------------------------------------------------------------------*/
35 /*--------------------------- Complex Options -----------------------------*/
36 /*-------------------------------------------------------------------------*/
37
38 /*-------------------------------------------------------------------------*/
39 /*--------------------------- Non Complex Options -------------------------*/
40 /*-------------------------------------------------------------------------*/
41
42 CaseOptionsArcaneBasicMeshSubdividerService(Arcane::ICaseOptions* co)
43 : m_case_options(co)
44 , nbSubdivision(Arcane::CaseOptionBuildInfo(_configList(),
45 /* name */ "nb-subdivision", _element(),
46 /* default */ Arcane::String(),
47 /* min-occurs */ 1,
48 /* max-occurs */ 1,
49 /* optional */ false))
50 , differentElementTypeOutput(Arcane::CaseOptionBuildInfo(_configList(),
51 /* name */ "different-element-type-output", _element(),
52 /* default */ "0",
53 /* min-occurs */ 1,
54 /* max-occurs */ 1,
55 /* optional */ false))
56 {
57
58 }
59
60public:
61 // Interfaces for main CaseOptions
62
63 Arcane::Int32 getNbSubdivision() { return nbSubdivision(); }
64 Arcane::ICaseFunction* getNbSubdivisionFunction() { return nbSubdivision.function(); }
65 Arcane::IStandardFunction* getNbSubdivisionStandardFunction() { return nbSubdivision.standardFunction(); }
66 Arcane::Int32 getDifferentElementTypeOutput() { return differentElementTypeOutput(); }
67 Arcane::ICaseFunction* getDifferentElementTypeOutputFunction() { return differentElementTypeOutput.function(); }
68 Arcane::IStandardFunction* getDifferentElementTypeOutputStandardFunction() { return differentElementTypeOutput.standardFunction(); }
69
70
71
72 // Interfaces for complex options
73
74
75public:
76
77 Arcane::ICaseOptions* caseOptions() const
78 {
79 return m_case_options.get();
80 }
81
82 Arcane::ICaseOptionList* configList() const
83 {
84 return m_case_options->configList();
85 }
86
87 void setCaseModule(Arcane::IModule* m)
88 {
89 m_case_options->setCaseModule(m);
90 }
91
92 void setCaseServiceInfo(Arcane::IServiceInfo* si)
93 {
94 m_case_options->setCaseServiceInfo(si);
95 }
96
97 void addAlternativeNodeName(const Arcane::String& lang,
98 const Arcane::String& name)
99 {
100 m_case_options->addAlternativeNodeName(lang,name);
101 }
102
103private:
104
105 Arcane::ICaseOptionList* _configList() const { return configList(); }
106 Arcane::XmlNode _element() const { return Arcane::XmlNode(); }
107
108private:
109
110 static Arcane::ICaseOptions* _createCaseOption(Arcane::ICaseMng* cm,Arcane::ICaseOptions* co);
111
113
114public:
115
116
117 Arcane::CaseOptionInt32 nbSubdivision;
118 Arcane::CaseOptionInt32 differentElementTypeOutput;
119};
120
121/*---------------------------------------------------------------------------*/
122/*---------------------------------------------------------------------------*/
123
124ARCANE_END_NAMESPACE
125
126/*---------------------------------------------------------------------------*/
127/*---------------------------------------------------------------------------*/
128
129#endif
130
131
132
133/*---------------------------------------------------------------------------*/
134/*---------------------------------------------------------------------------*/
135// #WARNING#: This file has been generated automatically. Do not edit.
136// Axlstar version 1.0
137/*---------------------------------------------------------------------------*/
138/*---------------------------------------------------------------------------*/
139#ifndef ARCANE_SERVICE_AXLSTAR_ARCANEBASICMESHSUBDIVIDERSERVICE_H
140#define ARCANE_SERVICE_AXLSTAR_ARCANEBASICMESHSUBDIVIDERSERVICE_H
141/*---------------------------------------------------------------------------*/
142/*---------------------------------------------------------------------------*/
143
144#include "arcane/core/VariableTypes.h"
145#include "arcane/core/ServiceInfo.h"
146#include "arcane/core/ISubDomain.h"
147#include "arcane/core/ServiceBuildInfo.h"
149#include "arcane/core/ServiceRegisterer.h"
150#include "arcane/core/BasicService.h"
151
152#ifndef ARCANE_HAS_SPECIFIC_BASIC_SERVICE
153// Code pour les versions de Arcane avant la 3.8 qui ne possèdent pas les
154// classes de base spécifiques pour les services
155namespace Arcane
156{
157using BasicCaseOptionService = BasicService;
158using BasicSubDomainService = BasicService;
159using BasicMeshService = BasicService;
160}
161#endif
162
163/*---------------------------------------------------------------------------*/
164/*---------------------------------------------------------------------------*/
165
166namespace Arcane
167{
168
169/*---------------------------------------------------------------------------*/
170/*---------------------------------------------------------------------------*/
171
172class CaseOptionsArcaneBasicMeshSubdividerService;
173
174/*---------------------------------------------------------------------------*/
175/*---------------------------------------------------------------------------*/
176
179 : public AbstractService
181{
182public:
183 // NOTE GG: attention code dupliqué avec 'ServiceT4CaseAndStrong'. Bien reporter les modifications
184 template <typename ServiceClassType> static void fillServiceInfo(Arcane::ServiceInfo* si)
185 {
186 si->setCaseOptionsFileName("ArcaneBasicMeshSubdividerService_arcane_impl");
187 si->setAxlVersion(0.0);
188 si->setDefaultTagName("arcane-basic-mesh-subdivider-service");
189 si->setAxlContent(getAxlContent());
192);
193 }
194
195public:
196
208
214
215
216public:
217
220
221private:
222
225
226protected:
227
229private:
231 {
232 const Arcane::Byte* content = (const Arcane::Byte*)"";
233 Arcane::Span<const Arcane::Byte> bytes(content,0);
234 int file_version = 1;
235 return Arcane::FileContent(bytes,file_version,"");
236 }
237};
238
239/*---------------------------------------------------------------------------*/
240/*---------------------------------------------------------------------------*/
241
242#define ARCANE_REGISTER_SERVICE_ARCANEBASICMESHSUBDIVIDERSERVICE(service_name,class_name) \
243 ARCANE_REGISTER_AXL_SERVICE(class_name,Arcane::ServiceProperty(#service_name,Arcane::ST_CaseOption,\
244 Arcane::SFP_None ))
245
246/*---------------------------------------------------------------------------*/
247/*---------------------------------------------------------------------------*/
248
249} // End namespace Arcane
250
251/*---------------------------------------------------------------------------*/
252/*---------------------------------------------------------------------------*/
253
254#endif
255
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.
AbstractService(const ServiceBuildInfo &)
Constructor from a ServiceBuildInfo.
CaseOptionsArcaneBasicMeshSubdividerService * m_options
Options du jeu de données du service.
ArcaneArcaneBasicMeshSubdividerServiceObject(const Arcane::ServiceBuildInfo &sbi)
Constructeur.
CaseOptionsArcaneBasicMeshSubdividerService * 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 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
std::int32_t Int32
Signed integer type of 32 bits.