Go to the documentation of this file.
39 #ifndef __OPENFLUID_WARE_SIMULATORSIGNATUREMACROS_HPP__
40 #define __OPENFLUID_WARE_SIMULATORSIGNATUREMACROS_HPP__
49 #define BEGIN_SIMULATOR_SIGNATURE(id) \
51 OPENFLUID_PLUGIN openfluid::ware::SimulatorSignature* WARESIGNATURE_PROC_DECL() \
53 openfluid::ware::SimulatorSignature* Signature = new openfluid::ware::SimulatorSignature(); \
54 Signature->setABIVersion(openfluid::config::FULL_VERSION); \
61 #define END_SIMULATOR_SIGNATURE \
74 #define DECLARE_DOMAIN(domain) Signature->Domain = domain;
79 #define DECLARE_PROCESS(process) Signature->Process = process;
84 #define DECLARE_METHOD(method) Signature->Method = method;
97 #define DECLARE_USED_PARAMETER(name,description,unit) \
98 Signature->HandledData.UsedParams\
99 .push_back(openfluid::ware::SignatureDataItem((name),description,unit));
104 #define DECLARE_SIMULATOR_PARAM(name,description,unit) DECLARE_USED_PARAMETER(name,description,unit)
113 #define DECLARE_REQUIRED_PARAMETER(name,description,unit) \
114 Signature->HandledData.RequiredParams\
115 .push_back(openfluid::ware::SignatureDataItem((name),description,unit));
129 #define DECLARE_PRODUCED_VARIABLE(name,uclass,description,unit) \
130 Signature->HandledData.ProducedVars\
131 .push_back(openfluid::ware::SignatureTypedSpatialDataItem((name),uclass,description,unit));
136 #define DECLARE_PRODUCED_VAR(name,uclass,description,unit) DECLARE_PRODUCED_VARIABLE(name,uclass,description,unit)
146 #define DECLARE_UPDATED_VARIABLE(name,uclass,description,unit) \
147 Signature->HandledData.UpdatedVars\
148 .push_back(openfluid::ware::SignatureTypedSpatialDataItem((name),uclass,description,unit));
153 #define DECLARE_UPDATED_VAR(name,uclass,description,unit) DECLARE_UPDATED_VARIABLE(name,uclass,description,unit)
163 #define DECLARE_REQUIRED_VARIABLE(name,uclass,description,unit) \
164 Signature->HandledData.RequiredVars\
165 .push_back(openfluid::ware::SignatureTypedSpatialDataItem((name),uclass,description,unit));
170 #define DECLARE_REQUIRED_VAR(name,uclass,description,unit) DECLARE_REQUIRED_VARIABLE(name,uclass,description,unit)
180 #define DECLARE_USED_VARIABLE(name,uclass,description,unit) \
181 Signature->HandledData.UsedVars\
182 .push_back(openfluid::ware::SignatureTypedSpatialDataItem((name),uclass,description,unit));
187 #define DECLARE_USED_VAR(name,uclass,description,unit) DECLARE_USED_VARIABLE(name,uclass,description,unit)
197 #define DECLARE_PRODUCED_ATTRIBUTE(name,uclass,description,unit) \
198 Signature->HandledData.ProducedAttribute\
199 .push_back(openfluid::ware::SignatureSpatialDataItem((name),uclass,description,unit));
209 #define DECLARE_REQUIRED_ATTRIBUTE(name,uclass,description,unit) \
210 Signature->HandledData.RequiredAttribute\
211 .push_back(openfluid::ware::SignatureSpatialDataItem((name),uclass,description,unit));
221 #define DECLARE_USED_ATTRIBUTE(name,uclass,description,unit) \
222 Signature->HandledData.UsedAttribute\
223 .push_back(openfluid::ware::SignatureSpatialDataItem((name),uclass,description,unit));
230 #define DECLARE_USED_EVENTS(uclass) Signature->HandledData.UsedEventsOnUnits.push_back(uclass);
238 #define DECLARE_UPDATED_UNITSGRAPH(description) Signature->HandledUnitsGraph.UpdatedUnitsGraph = (description);
247 #define DECLARE_UPDATED_UNITSCLASS(uclass,description) \
248 Signature->HandledUnitsGraph.UpdatedUnitsClass\
249 .push_back(openfluid::ware::SignatureUnitsClassItem(uclass,description));
256 #define DECLARE_REQUIRED_EXTRAFILE(name) \
257 Signature->HandledData.RequiredExtraFiles.push_back(name);
264 #define DECLARE_USED_EXTRAFILE(name) \
265 Signature->HandledData.UsedExtraFiles.push_back(name);
271 #define DECLARE_SCHEDULING_UNDEFINED \
272 Signature->TimeScheduling.setAsUndefined();
278 #define DECLARE_SCHEDULING_DEFAULT \
279 Signature->TimeScheduling.setAsDefaultDeltaT();
286 #define DECLARE_SCHEDULING_FIXED(deltat) \
287 Signature->TimeScheduling.setAsFixed(deltat);
295 #define DECLARE_SCHEDULING_RANGE(min,max) \
296 Signature->TimeScheduling.setAsRange(min,max);