Warn if profile contains empty property line, but do not crash. Cleanup JWST profile. Prevent crash when moving to early date in JWST (closes #2617)

This commit is contained in:
Alexander Bock
2023-05-10 00:58:09 +02:00
parent 25e29fccc4
commit a2c3eb2884
5 changed files with 8 additions and 56 deletions
@@ -1,7 +1,5 @@
asset.require("spice/base")
asset.require("./actions")
asset.require("scene/solarsystem/planets/earth/layers/colorlayers/terra_modis_temporal")
asset.require("scene/solarsystem/planets/earth/layers/colorlayers/esri_viirs_combo")
local sun = asset.require("scene/solarsystem/sun/sun")
local sunTransforms = asset.require("scene/solarsystem/sun/transforms")
@@ -150,52 +148,6 @@ local JWSTLabel = {
}
asset.onInitialize(function()
-- Start of data outage, use Terra instead as replacement
openspace.scriptScheduler.loadScheduledScript(
"2021 DEC 19 00:00:00",
[[openspace.setPropertyValueSingle(
"Scene.Earth.Renderable.Layers.ColorLayers.Terra_Modis_Temporal.Enabled",
true
)
openspace.setPropertyValueSingle(
"Scene.Earth.Renderable.Layers.ColorLayers.ESRI_VIIRS_Combo.Enabled",
false
)]],
[[openspace.setPropertyValueSingle(
"Scene.Earth.Renderable.Layers.ColorLayers.Terra_Modis_Temporal.Enabled",
false
)
openspace.setPropertyValueSingle(
"Scene.Earth.Renderable.Layers.ColorLayers.ESRI_VIIRS_Combo.Enabled",
true
)]],
"",
2 -- Not default group, never clear this script
)
-- End of data outage, Go back to VIIRS ESRI combo
openspace.scriptScheduler.loadScheduledScript(
"2021 DEC 30 00:00:00",
[[openspace.setPropertyValueSingle(
"Scene.Earth.Renderable.Layers.ColorLayers.Terra_Modis_Temporal.Enabled",
false
)
openspace.setPropertyValueSingle(
"Scene.Earth.Renderable.Layers.ColorLayers.ESRI_VIIRS_Combo.Enabled",
true
)]],
[[openspace.setPropertyValueSingle(
"Scene.Earth.Renderable.Layers.ColorLayers.Terra_Modis_Temporal.Enabled",
true
)
openspace.setPropertyValueSingle(
"Scene.Earth.Renderable.Layers.ColorLayers.ESRI_VIIRS_Combo.Enabled",
false
)]],
"",
2 -- Not default group, never clear this script
)
openspace.addSceneGraphNode(JWSTBand)
openspace.addSceneGraphNode(JWSTModel)
openspace.addSceneGraphNode(JWSTFov)
@@ -1,5 +1,4 @@
asset.require("spice/base") -- openspace.time.advancedTime depends on SPICE
asset.require("scene/solarsystem/planets/earth/layers/nightlayers/earth_at_night_2012")
asset.require("scene/solarsystem/planets/earth/atmosphere")
-- Function to advance a time stamp in the given number of days, hours, minutes and
+2 -6
View File
@@ -6,6 +6,7 @@
"base",
"base_keybindings",
"scene/solarsystem/planets/earth/earth",
"scene/solarsystem/planets/earth/layers/colorlayers/viirs_noaa20_temporal.asset",
"scene/solarsystem/planets/earth/satellites/satellites",
"scene/solarsystem/planets/earth/satellites/misc/hubble_trail",
"scene/solarsystem/planets/earth/lagrange_points/lagrange_points",
@@ -248,11 +249,6 @@
"type": "setPropertyValueSingle",
"value": "false"
},
{
"name": "",
"type": "setPropertyValueSingle",
"value": ""
},
{
"name": "Scene.Earth.Renderable.Layers.ColorLayers.VIIRS_NOAA20_Temporal.Enabled",
"type": "setPropertyValueSingle",
@@ -268,4 +264,4 @@
"major": 1,
"minor": 2
}
}
}
+4
View File
@@ -574,6 +574,10 @@ void Scene::setPropertiesFromProfile(const Profile& p) {
ghoul::lua::LuaState L(ghoul::lua::LuaState::IncludeStandardLibrary::Yes);
for (const Profile::Property& prop : p.properties) {
if (prop.name.empty()) {
LWARNING("Property name in profile was empty");
continue;
}
std::string uriOrRegex = prop.name;
std::string groupName;
if (doesUriContainGroupTag(uriOrRegex, groupName)) {
+2 -1
View File
@@ -227,7 +227,8 @@ std::vector<std::string> ScriptScheduler::progressTo(double newTime) {
_currentTime = newTime;
// Construct result
auto start = _scripts.begin() + prevIndex - 1;
const size_t startOffset = prevIndex == 0 ? prevIndex : prevIndex - 1;
auto start = _scripts.begin() + startOffset;
auto end = it;
for (auto iter = start; iter != _scripts.end() && iter >= end; --iter) {
std::string script = iter->universalScript.empty() ?