/** * Settings for AereaEffectSimulation * $Id$ * $HeadURL$ * $Author$ */ #include "settings.h" #include #include #include namespace AreaEffectSimulation { class NGLSettingsClass : public NGL::Settings { public: NGLSettingsClass() : NGL::Settings(s_iniFile.isEmpty() ? NGL::findProjectConfigFile() : s_iniFile) {} static void setIniFile(const QString &fn) { s_iniFile = fn; } static QString s_iniFile; }; QString NGLSettingsClass::s_iniFile; Q_GLOBAL_STATIC(NGLSettingsClass, s) //----------------------------------------------------------------------------- quint32 Settings::getValidityPeriodWeatherData() { // quint32 validityPeriodWeatherData = settings()->settings()->value("ZSKSWS/validityPeriodWeatherData", 60 * 15 * 1000).toUInt(); quint32 validityPeriodWeatherData = 60 * 15 * 1000; return validityPeriodWeatherData; } //----------------------------------------------------------------------------- quint32 Settings::getDusSingleMineEffectStartOffset() { return settings()->settings()->value(QStringLiteral("AES/DusSingleMineEffectStartOffset"), 30 * 1000).toUInt(); // 30 seconds default } //----------------------------------------------------------------------------- // Functional Area Supply Truck quint32 Settings::getActivationTimeAfterStopSupplyTruck() { return settings()->settings()->value(QStringLiteral("AES/ActivationTimeAfterStopSupplyTruck"), 5000).toUInt(); } quint32 Settings::getMaximumStepLengthStanding() { return settings()->settings()->value(QStringLiteral("AES/MaximumStepLengthStanding"), 20).toUInt(); } //----------------------------------------------------------------------------- qint32 Settings::getUnpairedMinesLookupRange() { return settings()->settings()->value(QStringLiteral("AES/UnpairedMinesLookupRange"), 20).toUInt(); } //----------------------------------------------------------------------------- qint32 Settings::getMineAreaByMiVSysEffectStart() { return settings()->settings()->value(QStringLiteral("AES/MineAreaMiVSysEffectStart"), 10 * 60 * 1000).toUInt(); } //----------------------------------------------------------------------------- qint32 Settings::getMaxRoundsAreaWideFire() { const qint32 valueFromConfig = settings()->settings()->value(QStringLiteral("AES/MaxRoundsAreaWideFire"), 120).toUInt(); if (valueFromConfig < 10) return 10; if (valueFromConfig > 900) return 900; return valueFromConfig; } //----------------------------------------------------------------------------- qint32 Settings::getChargeEffectAfterGlow() { return settings()->settings()->value(QStringLiteral("AES/ChargeEffectAfterGlow"), 5 * 60 * 1000).toUInt(); } //----------------------------------------------------------------------------- // Effector qint32 Settings::getEffectorIntervalFireMin() { return settings()->settings()->value(QStringLiteral("AES/EffectorIntervalFireMin"), 2 * 100).toUInt(); } qint32 Settings::getEffectorIntervalFireMax() { return settings()->settings()->value(QStringLiteral("AES/EffectorIntervalFireMax"), 3 * 100).toUInt(); } qint32 Settings::getEffectorIntervalReportFiredMin() { return settings()->settings()->value(QStringLiteral("AES/EffectorIntervalReportFiredMin"), 2 * 100).toUInt(); } qint32 Settings::getEffectorIntervalReportFiredMax() { return settings()->settings()->value(QStringLiteral("AES/EffectorIntervalReportFiredMax"), 3 * 100).toUInt(); } qint32 Settings::getEffectorIntervalReportFireReadinessMin() { return settings()->settings()->value(QStringLiteral("AES/getEffectorIntervalReportFireReadinessMin"), 2 * 100).toUInt(); } qint32 Settings::getEffectorIntervalReportFireReadinessMax() { return settings()->settings()->value(QStringLiteral("AES/getEffectorIntervalReportFireReadinessMax"), 3 * 100).toUInt(); } qint32 Settings::getEffectorInitialReportFireReadinessMin() { return settings()->settings()->value(QStringLiteral("AES/getEffectorInitialReportFireReadinessMin"), 2 * 100).toUInt(); } qint32 Settings::getEffectorInitialReportFireReadinessMax() { return settings()->settings()->value(QStringLiteral("AES/getEffectorInitialReportFireReadinessMax"), 3 * 100).toUInt(); } QString Settings::getAutomatonPattern(qint32 id) { const QString key = QStringLiteral("FIRE_PATTERN/%1").arg(id); return settings()->settings()->value(key, QStringLiteral("all,next*,all")).toString(); } //----------------------------------------------------------------------------- // EffectCluster double Settings::getScatterLenghtDefault() { return settings()->settings()->value(QStringLiteral("AES/getScatterLenghtDefault"), 15.7).toDouble(); } double Settings::getScatterWidthDefault() { return settings()->settings()->value(QStringLiteral("AES/getScatterWidthDefault"), 1.7).toDouble(); } // //----------------------------------------------------------------------------- NGL::Settings *Settings::settings() { return s(); } //----------------------------------------------------------------------------- void Settings::setIniFile(const QString &ini) { NGLSettingsClass::setIniFile(ini); } } // namespace AreaEffectSimulation