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::VERSION_FULL); \ 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);