Arcane  4.2.1.0
Developer documentation
Loading...
Searching...
No Matches
HoneyComb2DMeshGenerator_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_HONEYCOMB2DMESHGENERATOR_H
9#define ARCANE_CASEOPTION_AXLSTAR_HONEYCOMB2DMESHGENERATOR_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 CaseOptionsHoneyComb2DMeshGenerator
31{
32public:
33
34 /*-------------------------------------------------------------------------*/
35 /*--------------------------- Complex Options -----------------------------*/
36 /*-------------------------------------------------------------------------*/
37
38 /*-------------------------------------------------------------------------*/
39 /*--------------------------- Non Complex Options -------------------------*/
40 /*-------------------------------------------------------------------------*/
41
42 CaseOptionsHoneyComb2DMeshGenerator(Arcane::ICaseOptions* co)
43 : m_case_options(co)
44 , origin(Arcane::CaseOptionBuildInfo(_configList(),
45 /* name */ "origin", _element(),
46 /* default */ Arcane::String(),
47 /* min-occurs */ 1,
48 /* max-occurs */ 1,
49 /* optional */ false))
50 , pitchSize(Arcane::CaseOptionBuildInfo(_configList(),
51 /* name */ "pitch-size", _element(),
52 /* default */ Arcane::String(),
53 /* min-occurs */ 1,
54 /* max-occurs */ 1,
55 /* optional */ false))
56 , nbLayer(Arcane::CaseOptionBuildInfo(_configList(),
57 /* name */ "nb-layer", _element(),
58 /* default */ Arcane::String(),
59 /* min-occurs */ 1,
60 /* max-occurs */ 1,
61 /* optional */ false))
62 {
63
64 }
65
66public:
67 // Interfaces for main CaseOptions
68
69 Arcane::Real2 getOrigin() { return origin(); }
70 Arcane::ICaseFunction* getOriginFunction() { return origin.function(); }
71 Arcane::IStandardFunction* getOriginStandardFunction() { return origin.standardFunction(); }
72 Arcane::Real getPitchSize() { return pitchSize(); }
73 Arcane::ICaseFunction* getPitchSizeFunction() { return pitchSize.function(); }
74 Arcane::IStandardFunction* getPitchSizeStandardFunction() { return pitchSize.standardFunction(); }
75 Arcane::Integer getNbLayer() { return nbLayer(); }
76 Arcane::ICaseFunction* getNbLayerFunction() { return nbLayer.function(); }
77 Arcane::IStandardFunction* getNbLayerStandardFunction() { return nbLayer.standardFunction(); }
78
79
80
81 // Interfaces for complex options
82
83
84public:
85
86 Arcane::ICaseOptions* caseOptions() const
87 {
88 return m_case_options.get();
89 }
90
91 Arcane::ICaseOptionList* configList() const
92 {
93 return m_case_options->configList();
94 }
95
96 void setCaseModule(Arcane::IModule* m)
97 {
98 m_case_options->setCaseModule(m);
99 }
100
101 void setCaseServiceInfo(Arcane::IServiceInfo* si)
102 {
103 m_case_options->setCaseServiceInfo(si);
104 }
105
106 void addAlternativeNodeName(const Arcane::String& lang,
107 const Arcane::String& name)
108 {
109 m_case_options->addAlternativeNodeName(lang,name);
110 }
111
112private:
113
114 Arcane::ICaseOptionList* _configList() const { return configList(); }
115 Arcane::XmlNode _element() const { return Arcane::XmlNode(); }
116
117private:
118
119 static Arcane::ICaseOptions* _createCaseOption(Arcane::ICaseMng* cm,Arcane::ICaseOptions* co);
120
122
123public:
124
125
126 Arcane::CaseOptionReal2 origin;
127 Arcane::CaseOptionReal pitchSize;
128 Arcane::CaseOptionInteger nbLayer;
129};
130
131/*---------------------------------------------------------------------------*/
132/*---------------------------------------------------------------------------*/
133
134ARCANE_END_NAMESPACE
135
136/*---------------------------------------------------------------------------*/
137/*---------------------------------------------------------------------------*/
138
139#endif
140
141
142
143/*---------------------------------------------------------------------------*/
144/*---------------------------------------------------------------------------*/
145// #WARNING#: This file has been generated automatically. Do not edit.
146// Axlstar version 1.0
147/*---------------------------------------------------------------------------*/
148/*---------------------------------------------------------------------------*/
149#ifndef ARCANE_SERVICE_AXLSTAR_HONEYCOMB2DMESHGENERATOR_H
150#define ARCANE_SERVICE_AXLSTAR_HONEYCOMB2DMESHGENERATOR_H
151/*---------------------------------------------------------------------------*/
152/*---------------------------------------------------------------------------*/
153
154#include "arcane/core/VariableTypes.h"
155#include "arcane/core/ServiceInfo.h"
156#include "arcane/core/ISubDomain.h"
157#include "arcane/core/ServiceBuildInfo.h"
159#include "arcane/core/ServiceRegisterer.h"
160#include "arcane/core/BasicService.h"
161
162#ifndef ARCANE_HAS_SPECIFIC_BASIC_SERVICE
163// Code pour les versions de Arcane avant la 3.8 qui ne possèdent pas les
164// classes de base spécifiques pour les services
165namespace Arcane
166{
167using BasicCaseOptionService = BasicService;
168using BasicSubDomainService = BasicService;
169using BasicMeshService = BasicService;
170}
171#endif
172
173/*---------------------------------------------------------------------------*/
174/*---------------------------------------------------------------------------*/
175
176namespace Arcane
177{
178
179/*---------------------------------------------------------------------------*/
180/*---------------------------------------------------------------------------*/
181
182class CaseOptionsHoneyComb2DMeshGenerator;
183
184/*---------------------------------------------------------------------------*/
185/*---------------------------------------------------------------------------*/
186
189 : public Arcane::BasicCaseOptionService
190 , public Arcane::IMeshBuilder
191{
192public:
193 // NOTE GG: attention code dupliqué avec 'ServiceT4CaseAndStrong'. Bien reporter les modifications
194 template <typename ServiceClassType> static void fillServiceInfo(Arcane::ServiceInfo* si)
195 {
196 si->setCaseOptionsFileName("HoneyComb2DMeshGenerator_arcane_std");
197 si->setAxlVersion(0.0);
198 si->setDefaultTagName("honey-comb2-d-mesh-generator");
199 si->setAxlContent(getAxlContent());
202);
203 }
204
205public:
206
209 : Arcane::BasicCaseOptionService(sbi)
210 , m_options(nullptr)
211 {
213 if (co) {
215 }
216
217 }
218
221 {
222 delete m_options;
223 }
224
225
226public:
227
230
231private:
232
235
236protected:
237
239private:
241 {
242 const Arcane::Byte* content = (const Arcane::Byte*)"";
243 Arcane::Span<const Arcane::Byte> bytes(content,0);
244 int file_version = 1;
245 return Arcane::FileContent(bytes,file_version,"");
246 }
247};
248
249/*---------------------------------------------------------------------------*/
250/*---------------------------------------------------------------------------*/
251
252#define ARCANE_REGISTER_SERVICE_HONEYCOMB2DMESHGENERATOR(service_name,class_name) \
253 ARCANE_REGISTER_AXL_SERVICE(class_name,Arcane::ServiceProperty(#service_name,Arcane::ST_CaseOption,\
254 Arcane::SFP_None ))
255
256/*---------------------------------------------------------------------------*/
257/*---------------------------------------------------------------------------*/
258
259} // End namespace Arcane
260
261/*---------------------------------------------------------------------------*/
262/*---------------------------------------------------------------------------*/
263
264#endif
265
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.
CaseOptionsHoneyComb2DMeshGenerator * options() const
Options du jeu de données du service.
CaseOptionsHoneyComb2DMeshGenerator * m_options
Options du jeu de données du service.
static Arcane::FileContent getAxlContent()
Variables du service.
ArcaneHoneyComb2DMeshGeneratorObject(const Arcane::ServiceBuildInfo &sbi)
Constructeur.
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 creation/reading service.
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
Class managing a 2-dimensional real vector.
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 --
Int32 Integer
Type representing an integer.
double Real
Type representing a real number.
unsigned char Byte
Type of a byte.
Definition BaseTypes.h:42