FMU2Wrapper::FMU2Wrapper(fmi2String instanceName, fmi2String GUID, const fmi2CallbackFunctions *functions, fmi2Boolean loggingOn) : _globalSettings(), _functions(*functions), callbackLogger(_functions.logger) { _instanceName = instanceName; _GUID = GUID; // setup logger _logger = NULL; _logCategories = 0x0000; if (loggingOn) { // only instantiate logger if requested as it is not thread save setDebugLogging(loggingOn, 0, NULL); } // setup model _model = createSystemFMU(&_globalSettings); _model->initializeMemory(); _model->initializeFreeVariables(); _needUpdate = true; _stringBuffer.resize(_model->getDimString()); _clockTick = new bool[_model->getDimClock()]; _clockSubactive = new bool[_model->getDimClock()]; std::fill(_clockTick, _clockTick + _model->getDimClock(), false); std::fill(_clockSubactive, _clockSubactive + _model->getDimClock(), false); _nclockTick = 0; }
FMU2Wrapper::FMU2Wrapper(fmi2String instanceName, fmi2String GUID, const fmi2CallbackFunctions *functions, fmi2Boolean loggingOn) : _global_settings(), _functions(*functions), logger(_functions.logger), componentEnvironment(_functions.componentEnvironment), instanceName(_instanceName), logCategories(_logCategories) { _instanceName = instanceName; _GUID = GUID; _logCategories = loggingOn? 0xFFFF: 0x0000; _model = createSystemFMU(&_global_settings); _model->initialize(); _string_buffer.resize(_model->getDimString()); _clock_buffer = new bool[_model->getDimClock()]; std::fill(_clock_buffer, _clock_buffer + _model->getDimClock(), false); _nclock_active = 0; }