mirror of
https://github.com/OpenSpace/OpenSpace.git
synced 2026-03-05 03:48:34 -06:00
Merge remote-tracking branch 'origin/master' into feature/video-on-globe
This commit is contained in:
70
data/assets/actions/trails/on_off_all_minor_moons.asset
Normal file
70
data/assets/actions/trails/on_off_all_minor_moons.asset
Normal file
@@ -0,0 +1,70 @@
|
||||
local minormoons_on = {
|
||||
Identifier = "os_default.minormoons_on",
|
||||
Name = "Turn ON minor moons and trails",
|
||||
Command = [[
|
||||
local trails = openspace.getProperty('{moonTrail_minor}.Renderable.Enabled');
|
||||
local trails_fade = openspace.getProperty('{moonTrail_minor}.Renderable.Fade');
|
||||
|
||||
local moons = openspace.getProperty('{moon_minor}.Renderable.Enabled');
|
||||
local moons_fade = openspace.getProperty('{moon_minor}.Renderable.Fade');
|
||||
|
||||
for i, v in pairs(trails_fade) do
|
||||
openspace.setPropertyValueSingle(trails[i], true)
|
||||
openspace.setPropertyValueSingle(v, 1, 2, 'Linear')
|
||||
end
|
||||
|
||||
for i, v in pairs(moons_fade) do
|
||||
openspace.setPropertyValueSingle(moons[i], true)
|
||||
openspace.setPropertyValueSingle(v, 1, 2, 'Linear')
|
||||
end
|
||||
]],
|
||||
Documentation = "Turn ON minor moons and their trails for all planets in the solar system",
|
||||
GuiPath = "/Solar System/Minor Moons",
|
||||
IsLocal = true
|
||||
}
|
||||
|
||||
local minormoons_off = {
|
||||
Identifier = "os_default.minormoons_off",
|
||||
Name = "Turn OFF minor moons and trails",
|
||||
Command = [[
|
||||
local trails = openspace.getProperty('{moonTrail_minor}.Renderable.Enabled');
|
||||
local trails_fade = openspace.getProperty('{moonTrail_minor}.Renderable.Fade');
|
||||
|
||||
local moons = openspace.getProperty('{moon_minor}.Renderable.Enabled');
|
||||
local moons_fade = openspace.getProperty('{moon_minor}.Renderable.Fade');
|
||||
|
||||
for i, v in pairs(trails_fade) do
|
||||
openspace.setPropertyValueSingle(v, 0, 2, 'Linear', "openspace.setPropertyValueSingle('" .. trails[i] .. "', false)" )
|
||||
end
|
||||
|
||||
for i, v in pairs(moons_fade) do
|
||||
openspace.setPropertyValueSingle(v, 0, 2, 'Linear', "openspace.setPropertyValueSingle('" .. moons[i] .. "', false)" )
|
||||
end
|
||||
]],
|
||||
Documentation = "Turn OFF minor moons and their trails for all planets in the solar system",
|
||||
GuiPath = "/Solar System/Minor Moons",
|
||||
IsLocal = true
|
||||
}
|
||||
|
||||
asset.export("minormoons_on", minormoons_on.Identifier)
|
||||
asset.export("minormoons_off", minormoons_off.Identifier)
|
||||
|
||||
asset.onInitialize(function()
|
||||
openspace.action.registerAction(minormoons_on)
|
||||
openspace.action.registerAction(minormoons_off)
|
||||
end)
|
||||
|
||||
asset.onDeinitialize(function()
|
||||
openspace.action.removeAction(minormoons_off)
|
||||
openspace.action.removeAction(minormoons_on)
|
||||
end)
|
||||
|
||||
|
||||
asset.meta = {
|
||||
Name = "Actions - Turn ON/OFF all Minor Moons",
|
||||
Version = "1.0",
|
||||
Description = "Asset providing actions to turn ON/OFF all minor moons and their trails",
|
||||
Author = "OpenSpace Team",
|
||||
URL = "http://openspaceproject.com",
|
||||
License = "MIT license"
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
local toggle_minormoon_trails = {
|
||||
Identifier = "os_default.toggle_minormoon_trails",
|
||||
Name = "Toggle Minor Moon Trails",
|
||||
Command = [[
|
||||
local list = openspace.getProperty('{moonTrail_minor}.Renderable.Enabled');
|
||||
for _,v in pairs(list) do
|
||||
openspace.setPropertyValueSingle(v, not openspace.getPropertyValue(v))
|
||||
end
|
||||
]],
|
||||
Documentation = "Toggle on/off minor moon trails for all planets in the solar system",
|
||||
GuiPath = "/Trails",
|
||||
IsLocal = true
|
||||
}
|
||||
asset.export("toggle_minormoon_trails", toggle_minormoon_trails.Identifier)
|
||||
|
||||
asset.onInitialize(function()
|
||||
openspace.action.registerAction(toggle_minormoon_trails)
|
||||
end)
|
||||
|
||||
asset.onDeinitialize(function()
|
||||
openspace.action.removeAction(toggle_minormoon_trails)
|
||||
end)
|
||||
|
||||
|
||||
asset.meta = {
|
||||
Name = "Actions - Toggle Minor Moon Trails",
|
||||
Version = "1.0",
|
||||
Description = "Asset providing actions to toggle all minor moon trails on and off",
|
||||
Author = "OpenSpace Team",
|
||||
URL = "http://openspaceproject.com",
|
||||
License = "MIT license"
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
local bastilleday_setup_startofcme = {
|
||||
Identifier = "os.events.bastilleday.setup.startofcme",
|
||||
Name = "Reset to start of CME, no loop",
|
||||
Command = [[
|
||||
openspace.time.setTime('2000-JUL-14 10:03:00.00');
|
||||
openspace.scriptScheduler.clear();
|
||||
]],
|
||||
Documentation = "Button to reset to the the start of the CME",
|
||||
GuiPath = "/Bastille-Day 2000",
|
||||
IsLocal = false
|
||||
}
|
||||
|
||||
local bastilleday_setup_shortloop = {
|
||||
Identifier = "os.events.bastilleday.setup.shortloop",
|
||||
Name = "Loop 10:03 - 10:16, at 2 min/second",
|
||||
Command = [[
|
||||
local EndtimeShortLoop = "2000 JUL 14 10:16:00";
|
||||
local starttimescriptslowloop = "openspace.time.setTime('2000 JUL 14 10:03:00')";
|
||||
openspace.scriptScheduler.clear();
|
||||
openspace.time.setDeltaTime(120);
|
||||
openspace.time.setTime('2000-JUL-14 10:03:00.00');
|
||||
openspace.scriptScheduler.loadScheduledScript(EndtimeShortLoop, starttimescriptslowloop);
|
||||
]],
|
||||
Documentation = "New loop: Restarts time at 10:03 and stops at 10:16, sets delta time to 2 min/second (120 seconds/second)",
|
||||
GuiPath = "/Bastille-Day 2000",
|
||||
IsLocal = false
|
||||
}
|
||||
|
||||
local bastilleday_setup_standardloop = {
|
||||
Identifier = "os.events.bastilleday.setup.standardloop",
|
||||
Name = "Loop 10:03 - 11:00, at 4 min/second",
|
||||
Command = [[
|
||||
local starttimescriptslowloop = "openspace.time.setTime('2000 JUL 14 10:03:00')";
|
||||
openspace.scriptScheduler.clear();
|
||||
openspace.time.setDeltaTime(240);
|
||||
openspace.time.setTime('2000-JUL-14 10:03:00.00');
|
||||
openspace.scriptScheduler.loadScheduledScript('2000 JUL 14 11:00:00', starttimescriptslowloop);
|
||||
]],
|
||||
Documentation = "New loop: Restarts time at 10:03 and stops at 11:00, delta time to 4 min/second (240 seconds/second)",
|
||||
GuiPath = "/Bastille-Day 2000",
|
||||
IsLocal = false
|
||||
}
|
||||
|
||||
local bastilleday_setup_fastloop = {
|
||||
Identifier = "os.events.bastilleday.setup.fastloop",
|
||||
Name = "Loop 10:03 - 11.48, at 15 min/second",
|
||||
Command = [[
|
||||
local starttimescriptfastloop = "openspace.time.setTime('2000 JUL 14 10:03:00')";
|
||||
openspace.scriptScheduler.clear();
|
||||
openspace.time.setDeltaTime(900);
|
||||
openspace.time.setTime('2000-JUL-14 10:03:00.00');
|
||||
openspace.scriptScheduler.loadScheduledScript('2000 JUL 14 11:48:00', starttimescriptfastloop);
|
||||
]],
|
||||
Documentation = "Fast loop: Starts from 10:03 and sets delta time to 15 min/second (900 seconds/second)",
|
||||
GuiPath = "/Bastille-Day 2000",
|
||||
IsLocal = false
|
||||
}
|
||||
|
||||
local bastilleday_setup_longloop = {
|
||||
Identifier = "os.events.bastilleday.setup.longloop",
|
||||
Name = "Loop 09:30 - 13:00, at 4 min/second",
|
||||
Command = [[
|
||||
local starttimescriptlongloop = "openspace.time.setTime('2000 JUL 14 09:30:00')";
|
||||
openspace.scriptScheduler.clear();
|
||||
openspace.time.setDeltaTime(240);
|
||||
openspace.time.setTime('2000-JUL-14 09:30:00.00');
|
||||
openspace.scriptScheduler.loadScheduledScript('2000 JUL 14 13:00:00', starttimescriptlongloop);
|
||||
]],
|
||||
Documentation = "Long loop: Restarts time at 09:30 and stops at 11:50, delta time to 4 min/second (240 seconds/second)",
|
||||
GuiPath = "/Bastille-Day 2000",
|
||||
IsLocal = false
|
||||
}
|
||||
|
||||
asset.onInitialize(function()
|
||||
openspace.action.registerAction(bastilleday_setup_startofcme)
|
||||
openspace.action.registerAction(bastilleday_setup_shortloop)
|
||||
openspace.action.registerAction(bastilleday_setup_standardloop)
|
||||
openspace.action.registerAction(bastilleday_setup_fastloop)
|
||||
openspace.action.registerAction(bastilleday_setup_longloop)
|
||||
end)
|
||||
|
||||
asset.onDeinitialize(function()
|
||||
openspace.action.removeAction(bastilleday_setup_longloop)
|
||||
openspace.action.removeAction(bastilleday_setup_fastloop)
|
||||
openspace.action.removeAction(bastilleday_setup_standardloop)
|
||||
openspace.action.removeAction(bastilleday_setup_shortloop)
|
||||
openspace.action.removeAction(bastilleday_setup_startofcme)
|
||||
end)
|
||||
|
||||
asset.meta = {
|
||||
Name = "Bastille day actions",
|
||||
Version = "1.0",
|
||||
Description = "Asset with actions related to Bastille day",
|
||||
Author = "CCMC, OpenSpace Team",
|
||||
URL = "http://openspaceproject.com",
|
||||
License = "MIT license"
|
||||
}
|
||||
@@ -49,7 +49,7 @@ local densityVolume = {
|
||||
}
|
||||
|
||||
local toggle_volume = {
|
||||
Identifier = "density_volume.toggle_volume",
|
||||
Identifier = "os.events.bastilleday.densityvolume.togglevolume",
|
||||
Name = "Toggle volume",
|
||||
Command = propertyHelper.invert("Scene.MAS-MHD-Density-bastille-day-2000.Renderable.Enabled"),
|
||||
Documentation = "Toggle volume rendering of CME",
|
||||
@@ -72,7 +72,7 @@ asset.export(densityVolume)
|
||||
|
||||
asset.meta = {
|
||||
Name = "Predictive Science Inc. Volume Rendering Bastille Day",
|
||||
Version = "1.0",
|
||||
Version = "1.1",
|
||||
Description = "Volumetric rendering for the bastille day CME event",
|
||||
Author = "CCMC, OpenSpace team",
|
||||
URL = "https://dx.doi.org/10.3847/1538-4357/aab36d",
|
||||
|
||||
@@ -48,7 +48,7 @@ local fieldlines = {
|
||||
}
|
||||
|
||||
local toggle_fieldlines = {
|
||||
Identifier = "fieldlines.toggle_fieldlines",
|
||||
Identifier = "os.events.bastilleday.fieldlines.togglefieldlines",
|
||||
Name = "Toggle Fieldlines",
|
||||
Command = propertyHelper.invert("Scene.MAS-MHD-Fieldlines-bastille-day-2000.Renderable.Enabled"),
|
||||
Documentation = "Toggle fieldline rendering of CME",
|
||||
@@ -70,7 +70,7 @@ asset.export(fieldlines)
|
||||
|
||||
asset.meta = {
|
||||
Name = "Predictive Science Inc. Fieldlines Bastille Day",
|
||||
Version = "1.0",
|
||||
Version = "1.1",
|
||||
Description = "Magnetic fieldlines for the bastille day CME event",
|
||||
Author = "CCMC, Jonathan Grangien, Matthias Berg",
|
||||
URL = "https://dx.doi.org/10.3847/1538-4357/aab36d",
|
||||
|
||||
@@ -33,7 +33,7 @@ local fluxNodes = {
|
||||
}
|
||||
|
||||
local toggle_fluxnodes = {
|
||||
Identifier = "fluxnodes.toggle_fluxnodes",
|
||||
Identifier = "os.events.bastilleday.fluxnodes.togglefluxnodes",
|
||||
Name = "Toggle flux nodes",
|
||||
Command = propertyHelper.invert("Scene.MAS-MHD-FluxNodes-bastille-day-2000.Renderable.Enabled"),
|
||||
Documentation = "Toggle flux node rendering of CME",
|
||||
@@ -56,7 +56,7 @@ asset.export(fluxNodes)
|
||||
|
||||
asset.meta = {
|
||||
Name = "Predictive Science Inc. Flux nodes Bastille Day",
|
||||
Version = "1.0",
|
||||
Version = "1.1",
|
||||
Description = "Flux nodes for the bastille day CME event",
|
||||
Author = "CCMC, Christian Adamsson, Emilie Ho",
|
||||
URL = "https://dx.doi.org/10.3847/1538-4357/aab36d",
|
||||
|
||||
@@ -70,7 +70,7 @@ local MeridialCutplane = {
|
||||
}
|
||||
|
||||
local toggle_equatorial = {
|
||||
Identifier = "fluxnodescutplane.toggle_equatorial",
|
||||
Identifier = "os.events.bastilleday.fluxnodescutplane.toggleequatorial",
|
||||
Name = "Toggle equatorial cutplane",
|
||||
Command = propertyHelper.invert("Scene.EquatorialCutplane-bastille-day-2000.Renderable.Enabled"),
|
||||
Documentation = "Toggle equatorial cutplane of CME",
|
||||
@@ -78,7 +78,7 @@ local toggle_equatorial = {
|
||||
IsLocal = false
|
||||
}
|
||||
local toggle_meridial = {
|
||||
Identifier = "fluxnodescutplane.toggle_meridial",
|
||||
Identifier = "os.events.bastilleday.fluxnodescutplane.togglemeridial",
|
||||
Name = "Toggle meridial cutplane",
|
||||
Command = propertyHelper.invert("Scene.MeridialCutplane-bastille-day-2000.Renderable.Enabled"),
|
||||
Documentation = "Toggle meridial cutplane of CME",
|
||||
@@ -106,7 +106,7 @@ asset.export(MeridialCutplane)
|
||||
|
||||
asset.meta = {
|
||||
Name = "Predictive Science Inc. Cutplanes Bastille Days",
|
||||
Version = "1.0",
|
||||
Version = "1.1",
|
||||
Description = "Cutplanes for the bastille day CME event",
|
||||
Author = "CCMC, Christian Adamsson, Emilie Ho",
|
||||
URL = "https://dx.doi.org/10.3847/1538-4357/aab36d",
|
||||
|
||||
@@ -16,7 +16,7 @@ local legend = {
|
||||
}
|
||||
|
||||
local show_legend = {
|
||||
Identifier = "fluxnodelegend.show_legend",
|
||||
Identifier = "os.events.bastilleday.fluxnodelegend.showlegend",
|
||||
Name = "Show the legend image",
|
||||
Command = [[
|
||||
openspace.setPropertyValueSingle("ScreenSpace.LegendFluxNodes-bastille-day-2000.Opacity", 0.0);
|
||||
@@ -27,8 +27,9 @@ local show_legend = {
|
||||
GuiPath = "/Bastille-Day 2000",
|
||||
IsLocal = false
|
||||
}
|
||||
|
||||
local hide_legend = {
|
||||
Identifier = "fluxnodelegend.hide_legend",
|
||||
Identifier = "os.events.bastilleday.fluxnodelegend.hidelegend",
|
||||
Name = "Hides the legend image",
|
||||
Command = [[openspace.setPropertyValueSingle("ScreenSpace.LegendFluxNodes-bastille-day-2000.Opacity", 0.0, 2)]],
|
||||
Documentation = "Hides the legend image",
|
||||
@@ -52,7 +53,7 @@ end)
|
||||
|
||||
asset.meta = {
|
||||
Name = "Predictive Science Inc. Flux nodes legend for Bastille Days",
|
||||
Version = "1.0",
|
||||
Version = "1.1",
|
||||
Description = [[Screen space renderable image legend of flux nodes for the bastille day
|
||||
CME event]],
|
||||
Author = "Christian Adamsson, Emilie Ho",
|
||||
|
||||
@@ -5,7 +5,7 @@ local magnetogramDirectory = asset.require("./magnetogram").TexturesPath;
|
||||
local magnetograms;
|
||||
|
||||
local switch_color_layer = {
|
||||
Identifier = "magnetogram_texture.switch_color_layer",
|
||||
Identifier = "os.events.bastilleday.magnetogramtexture.switchcolorlayer",
|
||||
Name = "Next sun texture",
|
||||
Command = [[
|
||||
local textureList = openspace.globebrowsing.getLayers("Sun", "ColorLayers");
|
||||
@@ -59,7 +59,7 @@ end)
|
||||
|
||||
asset.meta = {
|
||||
Name = "Bastille Day magnetogram textures",
|
||||
Version = "1.0",
|
||||
Version = "1.1",
|
||||
Description = [[This asset adds multiple magnetogram textures to the Sun. In addition
|
||||
it provides an action to cycle through the textures. See magnetogram.asset for details
|
||||
of the textures]],
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
asset.require("../apollo_globebrowsing")
|
||||
|
||||
local apollo11_setup_landingsite = {
|
||||
Identifier = "os.missions.apollo11.setup.landingsite",
|
||||
Name = "Setup Apollo 11 landing site",
|
||||
Command = [[
|
||||
openspace.time.setTime('1969 JUL 20 20:17:40');
|
||||
openspace.setPropertyValueSingle('Scene.Moon.Renderable.Layers.HeightLayers.LRO_NAC_Apollo_11.Enabled', true);
|
||||
openspace.setPropertyValueSingle('Scene.Moon.Renderable.Layers.ColorLayers.A11_M177481212_p_longlat.Enabled', true);
|
||||
openspace.setPropertyValueSingle('Scene.Moon.Renderable.TargetLodScaleFactor', 20.11);
|
||||
openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.Anchor', 'Apollo11LemPosition');
|
||||
openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.RetargetAnchor', nil);
|
||||
openspace.setPropertyValueSingle('Scene.Apollo11MoonTrail.Renderable.Enabled', true);
|
||||
openspace.setPropertyValueSingle('Scene.Apollo11LemTrail.Renderable.Enabled', true);
|
||||
]],
|
||||
Documentation = "Setup for Apollo 11 landing site",
|
||||
GuiPath = "/Missions/Apollo/11",
|
||||
IsLocal = false
|
||||
}
|
||||
|
||||
asset.onInitialize(function()
|
||||
openspace.action.registerAction(apollo11_setup_landingsite)
|
||||
end)
|
||||
|
||||
asset.onDeinitialize(function()
|
||||
openspace.action.removeAction(apollo11_setup_landingsite)
|
||||
end)
|
||||
|
||||
asset.meta = {
|
||||
Name = "Apollo 11 Actions",
|
||||
Version = "1.0",
|
||||
Description = "Asset with actions related to the Apollo 11 mission",
|
||||
Author = "OpenSpace Team",
|
||||
URL = "http://openspaceproject.com",
|
||||
License = "MIT license"
|
||||
}
|
||||
@@ -1,3 +1,7 @@
|
||||
asset.require("spice/base")
|
||||
asset.require("../actions")
|
||||
asset.require("./actions")
|
||||
|
||||
local sun = asset.require("scene/solarsystem/sun/sun")
|
||||
local moon_transforms = asset.require("scene/solarsystem/planets/earth/moon/moon")
|
||||
|
||||
@@ -5,7 +9,6 @@ local descentKeyframes = asset.require("./lem_descent.asset")
|
||||
local descentRotationKeyframes = asset.require("./lem_descent_rotation.asset")
|
||||
|
||||
local kernels = asset.require("./kernels").kernels
|
||||
asset.require("spice/base")
|
||||
|
||||
local models = asset.syncedResource({
|
||||
Name = "Apollo Models",
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
local moon_transforms = asset.require("scene/solarsystem/planets/earth/moon/moon")
|
||||
local sun = asset.require("scene/solarsystem/sun/sun")
|
||||
asset.require("spice/base")
|
||||
asset.require("../actions")
|
||||
|
||||
local models = asset.syncedResource({
|
||||
Name = "Apollo Models",
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
asset.require("../apollo_globebrowsing")
|
||||
|
||||
local apollo17_setup_landingsite = {
|
||||
Identifier = "os.missions.apollo17.setup.landingsite",
|
||||
Name = "Setup for Apollo 17 landing site",
|
||||
Command = [[
|
||||
openspace.time.setTime('1972 DEC 12 19:47:11');
|
||||
openspace.setPropertyValueSingle('Scene.Moon.Renderable.Layers.ColorLayers.A17_travmap.BlendMode', 0.000000);
|
||||
openspace.setPropertyValueSingle('Scene.Moon.Renderable.Layers.ColorLayers.A17_travmap.Enabled', true);
|
||||
openspace.setPropertyValueSingle('Scene.Moon.Renderable.Layers.HeightLayers.LRO_NAC_Apollo_17.Enabled', true);
|
||||
openspace.setPropertyValueSingle('Scene.Moon.Renderable.Layers.ColorLayers.A17_LEM.Enabled', true);
|
||||
openspace.setPropertyValueSingle('Scene.Moon.Renderable.Layers.ColorLayers.A17_LEM.BlendMode', 0.000000);
|
||||
openspace.setPropertyValueSingle('Scene.Moon.Renderable.Layers.ColorLayers.A17_NAC_Alt_p.Enabled', true);
|
||||
openspace.setPropertyValueSingle('Scene.Moon.Renderable.Layers.ColorLayers.A17_NAC_Alt_p.BlendMode', 0.000000);
|
||||
openspace.setPropertyValueSingle('Scene.Moon.Renderable.TargetLodScaleFactor', 20.17);
|
||||
openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.Anchor', 'Apollo17LemModel');
|
||||
openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.RetargetAnchor', nil);
|
||||
openspace.setPropertyValueSingle('Scene.Moon.Renderable.Layers.ColorLayers.A17_station7.BlendMode', 0.000000);
|
||||
]],
|
||||
Documentation = "Setup for Apollo 17 landing site",
|
||||
GuiPath = "/Missions/Apollo/17",
|
||||
IsLocal = false
|
||||
}
|
||||
|
||||
asset.onInitialize(function()
|
||||
openspace.action.registerAction(apollo17_setup_landingsite)
|
||||
end)
|
||||
|
||||
asset.onDeinitialize(function()
|
||||
openspace.action.removeAction(apollo17_setup_landingsite)
|
||||
end)
|
||||
|
||||
asset.meta = {
|
||||
Name = "Apollo 17 Actions",
|
||||
Version = "1.0",
|
||||
Description = "Asset with actions related to the Apollo 11 mission",
|
||||
Author = "OpenSpace Team",
|
||||
URL = "http://openspaceproject.com",
|
||||
License = "MIT license"
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
asset.require("./lem")
|
||||
asset.require("./actions")
|
||||
asset.require("../actions")
|
||||
@@ -0,0 +1,47 @@
|
||||
local apollo8_setup_earthrise = {
|
||||
Identifier = "os.missions.apollo8.setup.earthrise",
|
||||
Name = "Set Earthrise time",
|
||||
Command = [[
|
||||
openspace.time.setPause(true);
|
||||
openspace.time.setDeltaTime(1);
|
||||
openspace.time.setTime('1968 DEC 24 16:37:31');
|
||||
openspace.navigation.setNavigationState({Anchor = 'Apollo8', Position = { 1.494592E1, 3.236777E1, -4.171296E1 }, ReferenceFrame = 'Root', Up = { 0.960608E0, -0.212013E0, 0.179675E0 }});
|
||||
openspace.setPropertyValue('*Trail.Renderable.Enabled', false);
|
||||
]],
|
||||
Documentation = "Jump to right before the earthrise photo",
|
||||
GuiPath = "/Missions/Apollo/8",
|
||||
IsLocal = false
|
||||
}
|
||||
|
||||
local apollo8_setup_launch = {
|
||||
Identifier = "os.missions.apollo8.setup.launch",
|
||||
Name = "Set Apollo 8 launch time",
|
||||
Command = [[
|
||||
openspace.time.setTime('1968-12-21T12:51:37.00');
|
||||
openspace.setPropertyValueSingle('Scene.Apollo8LaunchTrail.Renderable.Enabled', true);
|
||||
]],
|
||||
Documentation = "Jump to time right before Apollo 8 liftoff, with its trail enabled",
|
||||
GuiPath = "/Missions/Apollo/8",
|
||||
IsLocal = false
|
||||
}
|
||||
|
||||
|
||||
|
||||
asset.onInitialize(function()
|
||||
openspace.action.registerAction(apollo8_setup_earthrise)
|
||||
openspace.action.registerAction(apollo8_setup_launch)
|
||||
end)
|
||||
|
||||
asset.onDeinitialize(function()
|
||||
openspace.action.removeAction(apollo8_setup_launch)
|
||||
openspace.action.removeAction(apollo8_setup_earthrise)
|
||||
end)
|
||||
|
||||
asset.meta = {
|
||||
Name = "Apollo 8 Actions",
|
||||
Version = "1.0",
|
||||
Description = "Asset with actions related to the Apollo 8 mission",
|
||||
Author = "OpenSpace Team",
|
||||
URL = "http://openspaceproject.com",
|
||||
License = "MIT license"
|
||||
}
|
||||
@@ -1,3 +1,5 @@
|
||||
asset.require("./model")
|
||||
asset.require("./launch_model")
|
||||
asset.require("./trails")
|
||||
asset.require("./actions")
|
||||
asset.require("../actions")
|
||||
|
||||
57
data/assets/scene/solarsystem/missions/apollo/actions.asset
Normal file
57
data/assets/scene/solarsystem/missions/apollo/actions.asset
Normal file
@@ -0,0 +1,57 @@
|
||||
local toggle_moon_shading = {
|
||||
Identifier = "os.missions.apollo.moon.toggleshading",
|
||||
Name = "Toggle Moon shading",
|
||||
Command = [[
|
||||
openspace.setPropertyValueSingle('Scene.Moon.Renderable.PerformShading', not openspace.getPropertyValue('Scene.Moon.Renderable.PerformShading'));
|
||||
]],
|
||||
Documentation = "Toggles the shading of the Moon",
|
||||
GuiPath = "/Missions/Apollo",
|
||||
isLocal = false
|
||||
}
|
||||
|
||||
local focus_moon = {
|
||||
Identifier = "os.missions.apollo.moon.focus",
|
||||
Name = "Focus on Moon",
|
||||
Command = [[
|
||||
openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.Aim', '');
|
||||
openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.Anchor', 'Moon');
|
||||
openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.RetargetAnchor', nil);
|
||||
]],
|
||||
Documentation = "Set camera focus on the Moon",
|
||||
GuiPath = "/Missions/Apollo",
|
||||
isLocal = false
|
||||
}
|
||||
|
||||
local focus_earth = {
|
||||
Identifier = "os.missions.apollo.earth.focus",
|
||||
Name = "Focus on Earth",
|
||||
Command = [[
|
||||
openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.Aim', '');
|
||||
openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.Anchor', 'Earth');
|
||||
openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.RetargetAnchor', nil);
|
||||
]],
|
||||
Documentation = "Set camera focus on the Earth",
|
||||
GuiPath = "/Missions/Apollo",
|
||||
isLocal = false
|
||||
}
|
||||
|
||||
asset.onInitialize(function()
|
||||
openspace.action.registerAction(toggle_moon_shading)
|
||||
openspace.action.registerAction(focus_moon)
|
||||
openspace.action.registerAction(focus_earth)
|
||||
end)
|
||||
|
||||
asset.onDeinitialize(function()
|
||||
openspace.action.registerAction(focus_earth)
|
||||
openspace.action.registerAction(focus_moon)
|
||||
openspace.action.removeAction(toggle_moon_shading)
|
||||
end)
|
||||
|
||||
asset.meta = {
|
||||
Name = "Actions - Apollo missions",
|
||||
Version = "1.0",
|
||||
Description = "Actions related to the Apollo missions",
|
||||
Author = "OpenSpace Team",
|
||||
URL = "http://openspaceproject.com",
|
||||
License = "MIT license"
|
||||
}
|
||||
@@ -28,9 +28,45 @@ local stations = asset.syncedResource({
|
||||
Version = 1
|
||||
})
|
||||
|
||||
|
||||
local apollo_moon_togglekaguyalayer = {
|
||||
Identifier = "os.missions.apollo.moon.togglekaguyalayer",
|
||||
Name = "Toggle Kaguya layer",
|
||||
Command = [[
|
||||
openspace.setPropertyValueSingle('Scene.Moon.Renderable.Layers.ColorLayers.Kaguya_Utah.Enabled', not openspace.getPropertyValue('Scene.Moon.Renderable.Layers.ColorLayers.Kaguya_Utah.Enabled'));
|
||||
]],
|
||||
Documentation = "Toggles Moon Kaguya color layer",
|
||||
GuiPath = "/Missions/Apollo",
|
||||
IsLocal = false
|
||||
}
|
||||
|
||||
local apollo_moon_disableapollosites= {
|
||||
Identifier = "os.missions.apollo.moon.disableapollosites",
|
||||
Name = "Disable Apollo sites",
|
||||
Command = [[
|
||||
openspace.setPropertyValue('Scene.Moon.Renderable.Layers.ColorLayers.A17_*.Enabled', false);
|
||||
openspace.setPropertyValueSingle('Scene.Moon.Renderable.Layers.HeightLayers.LRO_NAC_Apollo_11.Enabled', false);
|
||||
openspace.setPropertyValueSingle('Scene.Moon.Renderable.Layers.ColorLayers.A11_M177481212_p_longlat.Enabled', false);
|
||||
openspace.setPropertyValueSingle('Scene.Apollo11MoonTrail.Renderable.Enabled', false);
|
||||
openspace.setPropertyValueSingle('Scene.Apollo11LemTrail.Renderable.Enabled', false);
|
||||
openspace.setPropertyValueSingle('Scene.Moon.Renderable.Layers.HeightLayers.LRO_NAC_Apollo_17.Enabled', false);
|
||||
]],
|
||||
Documentation = "Disable apollo site on moon when leaving",
|
||||
GuiPath = "/Missions/Apollo",
|
||||
IsLocal = false
|
||||
}
|
||||
|
||||
asset.onInitialize(function ()
|
||||
openspace.globebrowsing.addBlendingLayersFromDirectory(heightmaps, moon_transforms.Moon.Identifier)
|
||||
openspace.globebrowsing.addBlendingLayersFromDirectory(basemaps, moon_transforms.Moon.Identifier)
|
||||
openspace.globebrowsing.addBlendingLayersFromDirectory(naclighting, moon_transforms.Moon.Identifier)
|
||||
openspace.globebrowsing.addBlendingLayersFromDirectory(stations, moon_transforms.Moon.Identifier)
|
||||
|
||||
openspace.action.registerAction(apollo_moon_togglekaguyalayer)
|
||||
openspace.action.registerAction(apollo_moon_disableapollosites)
|
||||
end)
|
||||
|
||||
asset.onDeinitialize(function ()
|
||||
openspace.action.removeAction(apollo_moon_disableapollosites)
|
||||
openspace.action.removeAction(apollo_moon_togglekaguyalayer)
|
||||
end)
|
||||
|
||||
50
data/assets/scene/solarsystem/missions/insight/actions.asset
Normal file
50
data/assets/scene/solarsystem/missions/insight/actions.asset
Normal file
@@ -0,0 +1,50 @@
|
||||
local setup_insight = {
|
||||
Identifier = "os.missions.insight.setup",
|
||||
Name = "Setup scene for insight EDL",
|
||||
Command = [[
|
||||
openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.HeightLayers.Mola_Utah.Settings.Offset', -469.300000);
|
||||
openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.HeightLayers.HiRISE-LS-DEM.Settings.Offset', -470.850006);
|
||||
openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.HeightLayers.MDEM200M.Settings.Offset', -470.000000);
|
||||
openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.HeightLayers.HiRISE-LS-DEM.Enabled', true);
|
||||
openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.ColorLayers.HiRISE-LS.Enabled', true);
|
||||
openspace.time.setPause(true);
|
||||
openspace.time.setTime('2018 NOV 26 19:39:01.68');
|
||||
openspace.navigation.setNavigationState({Anchor = 'Insight',Pitch = 0.567457E-4,Position = { 1.240506E1,-1.369270E1,-2.423553E0 },ReferenceFrame = 'Root',Up = { 0.441211E0,0.247019E0,0.862737E0 },Yaw = -0.446853E-4});
|
||||
]],
|
||||
Documentation = "Set and goto Insight Landing",
|
||||
GuiPath = "/Missions/Insight",
|
||||
isLocal = false
|
||||
}
|
||||
|
||||
local setup_disablelayers = {
|
||||
Identifier = "os.missions.insight.setup.disablelayers",
|
||||
Name = "Disable insight EDL layers",
|
||||
Command = [[
|
||||
openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.HeightLayers.Mola_Utah.Settings.Offset', 0);
|
||||
openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.HeightLayers.HiRISE-LS-DEM.Settings.Offset', 0);
|
||||
openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.HeightLayers.HiRISE-LS-DEM.Enabled', false);
|
||||
openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.ColorLayers.HiRISE-LS.Enabled', false);
|
||||
]],
|
||||
Documentation = "Disable Mars layer settings used for insight EDL",
|
||||
GuiPath = "/Missions/Insight",
|
||||
isLocal = false
|
||||
}
|
||||
|
||||
asset.onInitialize(function()
|
||||
openspace.action.registerAction(setup_insight)
|
||||
openspace.action.registerAction(setup_disablelayers)
|
||||
end)
|
||||
|
||||
asset.onDeinitialize(function()
|
||||
openspace.action.removeAction(setup_disablelayers)
|
||||
openspace.action.removeAction(setup_insight)
|
||||
end)
|
||||
|
||||
asset.meta = {
|
||||
Name = "Insight Actions",
|
||||
Version = "1.0",
|
||||
Description = "Actions related to the Insight mission",
|
||||
Author = "OpenSpace Team",
|
||||
URL = "http://openspaceproject.com",
|
||||
License = "MIT license"
|
||||
}
|
||||
@@ -1,6 +1,8 @@
|
||||
asset.require("spice/base")
|
||||
asset.require("./actions")
|
||||
local sun = asset.require("scene/solarsystem/sun/sun")
|
||||
local mars = asset.require("scene/solarsystem/planets/mars/mars")
|
||||
asset.require("scene/solarsystem/planets/mars/default_layers")
|
||||
|
||||
local models = asset.syncedResource({
|
||||
Name = "Insight Models Chutes",
|
||||
|
||||
157
data/assets/scene/solarsystem/missions/jwst/actions.asset
Normal file
157
data/assets/scene/solarsystem/missions/jwst/actions.asset
Normal file
@@ -0,0 +1,157 @@
|
||||
local toggle_lagrangian_points = {
|
||||
Identifier = "os.missions.jwst.togglelagrangianpoints",
|
||||
Name = "Toggle Lagrangian points",
|
||||
Command = [[
|
||||
local list = openspace.getProperty('{lagrange_points_earth}.Renderable.Enabled');
|
||||
for _,v in pairs(list) do
|
||||
openspace.setPropertyValueSingle(v, not openspace.getPropertyValue(v))
|
||||
end
|
||||
]],
|
||||
Documentation = "Toggle points and labels for the Lagrangian points for Earth Sun system",
|
||||
GuiPath = "/JWST",
|
||||
isLocal = false
|
||||
}
|
||||
|
||||
local toggle_hudf = {
|
||||
Identifier = "os.missions.jwst.togglehudf",
|
||||
Name = "Toggle Hubble Ultra Deep Field",
|
||||
Command = [[
|
||||
local list = openspace.getProperty('{mission_jwst_hudf}.*.Enabled');
|
||||
for _,v in pairs(list) do
|
||||
openspace.setPropertyValueSingle(v, not openspace.getPropertyValue(v))
|
||||
end
|
||||
]],
|
||||
Documentation = "Toggle Hubble Ultra Deep Field image and line towards its coordinate",
|
||||
GuiPath = "/JWST",
|
||||
isLocal = false
|
||||
}
|
||||
|
||||
local toggle_l2 = {
|
||||
Identifier = "os.missions.jwst.togglel2",
|
||||
Name = "Toggle L2 line and small L2 label",
|
||||
Command = [[
|
||||
local list = openspace.getProperty('{lagrange_points_earth_l2_small}.*.Enabled');
|
||||
for _,v in pairs(list) do
|
||||
openspace.setPropertyValueSingle(v, not openspace.getPropertyValue(v))
|
||||
end
|
||||
]],
|
||||
Documentation = "Toggle L2 label, point and line",
|
||||
GuiPath = "/JWST",
|
||||
isLocal = false
|
||||
}
|
||||
|
||||
local toggle_fov = {
|
||||
Identifier = "os.missions.jwst.togglefov",
|
||||
Name = "Toggle JWST field of view and view band",
|
||||
Command = [[
|
||||
local list = openspace.getProperty('{mission_jwst_fov}.*.Enabled');
|
||||
for _,v in pairs(list) do
|
||||
openspace.setPropertyValueSingle(v, not openspace.getPropertyValue(v))
|
||||
end
|
||||
]],
|
||||
Documentation = "Toggle James Webb Space Telecope field of view and view band",
|
||||
GuiPath = "/JWST",
|
||||
isLocal = false
|
||||
}
|
||||
|
||||
local setup_launch = {
|
||||
Identifier = "os.missoins.jwst.setup.launch",
|
||||
Name = "Set to JWST launch time",
|
||||
Command = [[
|
||||
openspace.time.setDeltaTime(1);
|
||||
openspace.time.setTime('2021-12-25T12:20:01');
|
||||
]],
|
||||
Documentation = "Set the time to the launch time of JWST",
|
||||
GuiPath = "/JWST",
|
||||
isLocal = false
|
||||
}
|
||||
|
||||
local setup_detach = {
|
||||
Identifier = "os.missions.jwst.setup.detach",
|
||||
Name = "Set to JWST detach time",
|
||||
Command = [[
|
||||
openspace.time.setDeltaTime(1);
|
||||
openspace.time.setTime('2021-12-25T12:50:00');
|
||||
]],
|
||||
Documentation = "Set the time to the detach time of JWST",
|
||||
GuiPath = "/JWST",
|
||||
isLocal = false
|
||||
}
|
||||
|
||||
local toggle_sun_trail = {
|
||||
Identifier = "os.missions.jwst.togglesuntrail",
|
||||
Name = "Toggle JWST Sun trail",
|
||||
Command = [[
|
||||
local value = openspace.getPropertyValue('Scene.JWSTSunTrail.Renderable.Enabled');
|
||||
openspace.setPropertyValueSingle('Scene.JWSTSunTrail.Renderable.Enabled', not value);
|
||||
]],
|
||||
Documentation = "Toggle JWST trail relative to the Sun",
|
||||
GuiPath = "/JWST",
|
||||
isLocal = false
|
||||
}
|
||||
|
||||
local toggle_trails_except_moon = {
|
||||
Identifier = "os.missions.jwst.toggletrialsexceptmoon",
|
||||
Name = "Toggle trails (except Moon)",
|
||||
Command = [[
|
||||
local list = openspace.getProperty('{planetTrail_solarSystem}.Renderable.Enabled');
|
||||
for _,v in pairs(list) do
|
||||
openspace.setPropertyValueSingle(v, not openspace.getPropertyValue(v))
|
||||
end
|
||||
local moonlist = openspace.getProperty('{moonTrail_solarSystem}.Renderable.Enabled')
|
||||
for _,v in pairs(moonlist) do
|
||||
openspace.setPropertyValueSingle(v, not openspace.getPropertyValue(v))
|
||||
end
|
||||
openspace.setPropertyValueSingle('Scene.MoonTrail.Renderable.Enabled', true)
|
||||
]],
|
||||
Documentation = "Toggle all planet and moon trails, except the Moon",
|
||||
GuiPath = "/JWST",
|
||||
isLocal = false
|
||||
}
|
||||
|
||||
local toggle_jwst_trail = {
|
||||
Identifier = "os.missions.jwst.togglejwsttrails",
|
||||
Name = "Toggle JWST trail",
|
||||
Command = [[
|
||||
local list = {'Scene.JWSTTrailLaunch.Renderable.Enabled', 'Scene.JWSTTrailCruise.Renderable.Enabled', 'Scene.JWSTTrailCoRevOrbit.Renderable.Enabled'};
|
||||
for _,v in pairs(list) do
|
||||
openspace.setPropertyValueSingle(v, not openspace.getPropertyValue(v));
|
||||
end
|
||||
]],
|
||||
Documentation = "Toggle JWST launch, cruise and L2 co-revolving orbit trails, not the Sun trail",
|
||||
GuiPath = "/JWST",
|
||||
isLocal = false
|
||||
}
|
||||
|
||||
asset.onInitialize(function()
|
||||
openspace.action.registerAction(toggle_lagrangian_points)
|
||||
openspace.action.registerAction(toggle_hudf)
|
||||
openspace.action.registerAction(toggle_l2)
|
||||
openspace.action.registerAction(toggle_fov)
|
||||
openspace.action.registerAction(setup_launch)
|
||||
openspace.action.registerAction(setup_detach)
|
||||
openspace.action.registerAction(toggle_sun_trail)
|
||||
openspace.action.registerAction(toggle_trails_except_moon)
|
||||
openspace.action.registerAction(toggle_jwst_trail)
|
||||
end)
|
||||
|
||||
asset.onDeinitialize(function()
|
||||
openspace.action.removeAction(toggle_jwst_trail)
|
||||
openspace.action.removeAction(toggle_trails_except_moon)
|
||||
openspace.action.removeAction(toggle_sun_trail)
|
||||
openspace.action.removeAction(setup_detach)
|
||||
openspace.action.removeAction(setup_launch)
|
||||
openspace.action.removeAction(toggle_fov)
|
||||
openspace.action.removeAction(toggle_l2)
|
||||
openspace.action.removeAction(toggle_hudf)
|
||||
openspace.action.removeAction(toggle_lagrangian_points)
|
||||
end)
|
||||
|
||||
asset.meta = {
|
||||
Name = "Actions - JWST",
|
||||
Version = "1.0",
|
||||
Description = "Actions related to the JWST mission",
|
||||
Author = "OpenSpace Team",
|
||||
URL = "http://openspaceproject.com",
|
||||
License = "MIT license"
|
||||
}
|
||||
@@ -1,9 +1,11 @@
|
||||
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")
|
||||
local transforms = asset.require("./transforms")
|
||||
asset.require("spice/base")
|
||||
asset.require("scene/solarsystem/planets/earth/layers/colorlayers/terra_modis_temporal")
|
||||
asset.require("scene/solarsystem/planets/earth/layers/colorlayers/esri_viirs_combo")
|
||||
|
||||
local models = asset.syncedResource({
|
||||
Name = "JWST Model",
|
||||
@@ -218,7 +220,7 @@ asset.export(JWSTLabel)
|
||||
|
||||
asset.meta = {
|
||||
Name = "James Webb Space Telescope",
|
||||
Version = "1.0",
|
||||
Version = "1.1",
|
||||
Description = [[
|
||||
James Webb Space Telescope animated model, safe viewing band, field of view and label.
|
||||
]],
|
||||
|
||||
@@ -504,7 +504,7 @@ end
|
||||
|
||||
local function createActions()
|
||||
local playForwards = {
|
||||
Identifier = "jwst.play.forwards",
|
||||
Identifier = "os.missions.jwst.play.forwards",
|
||||
Name = "Play JWST from start",
|
||||
Command = [[
|
||||
openspace.scriptScheduler.clear(0)
|
||||
@@ -520,7 +520,7 @@ local function createActions()
|
||||
}
|
||||
|
||||
local playFromDetach = {
|
||||
Identifier = "jwst.play.detach",
|
||||
Identifier = "os.missions.jwst.play.detach",
|
||||
Name = "Play JWST from detach",
|
||||
Command = [[
|
||||
openspace.scriptScheduler.clear(0)
|
||||
@@ -538,7 +538,7 @@ local function createActions()
|
||||
}
|
||||
|
||||
local playBackwards = {
|
||||
Identifier = "jwst.play.backwards",
|
||||
Identifier = "os.missions.jwst.play.backwards",
|
||||
Name = "Play JWST from end",
|
||||
Command = [[
|
||||
openspace.scriptScheduler.clear(0)
|
||||
@@ -554,7 +554,7 @@ local function createActions()
|
||||
}
|
||||
|
||||
local clearPlay = {
|
||||
Identifier = "jwst.play.clear",
|
||||
Identifier = "os.missions.jwst.play.clear",
|
||||
Name = "Clear JWST timelapse",
|
||||
Command = [[
|
||||
openspace.scriptScheduler.clear(0)
|
||||
@@ -562,7 +562,7 @@ local function createActions()
|
||||
openspace.setPropertyValueSingle("Scene.Earth.Renderable.Layers.NightLayers.Earth_at_Night_2012.Settings.Gamma", 1.0)
|
||||
openspace.setPropertyValueSingle("Scene.EarthAtmosphere.Renderable.Enabled", true)
|
||||
local deltaTime = openspace.time.deltaTime()
|
||||
if deltaTime > 0 then
|
||||
if deltaTime >= 0 then
|
||||
openspace.time.setDeltaTime(1)
|
||||
else
|
||||
openspace.time.setDeltaTime(-1)
|
||||
@@ -574,7 +574,7 @@ local function createActions()
|
||||
}
|
||||
|
||||
local togglePlayDirection = {
|
||||
Identifier = "jwst.toggle.direction",
|
||||
Identifier = "os.missions.jwst.toggledirection",
|
||||
Name = "Toggle forwards / backwards",
|
||||
Command = [[
|
||||
-- Flip deltatime
|
||||
@@ -611,7 +611,7 @@ local function createActions()
|
||||
IsLocal = false
|
||||
}
|
||||
|
||||
return {playForwards, playFromDetach, playBackwards, clearPlay, togglePlayDirection}
|
||||
return { playForwards, playFromDetach, playBackwards, clearPlay, togglePlayDirection }
|
||||
end
|
||||
|
||||
local text = {
|
||||
@@ -623,7 +623,7 @@ local text = {
|
||||
|
||||
asset.onInitialize(function()
|
||||
actionsList = createActions()
|
||||
for i, action in ipairs(actionsList) do
|
||||
for _, action in ipairs(actionsList) do
|
||||
openspace.action.registerAction(action)
|
||||
end
|
||||
|
||||
@@ -642,7 +642,7 @@ end)
|
||||
|
||||
asset.meta = {
|
||||
Name = "James Webb Space Telescope Timelapse",
|
||||
Version = "1.0",
|
||||
Version = "1.1",
|
||||
Description = [[
|
||||
Scripts that are scheduled to alter the speed of the simulation time so the deployment
|
||||
of the James Webb Space Telescope looks smoother.
|
||||
|
||||
244
data/assets/scene/solarsystem/missions/newhorizons/actions.asset
Normal file
244
data/assets/scene/solarsystem/missions/newhorizons/actions.asset
Normal file
@@ -0,0 +1,244 @@
|
||||
local focus_newhorizons = {
|
||||
Identifier = "os.missions.newhorizons.focus",
|
||||
Name = "Focus on New Horizons",
|
||||
Command = [[
|
||||
openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.Anchor', 'NewHorizons');
|
||||
openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.Aim', '');
|
||||
openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.RetargetAnchor', nil);
|
||||
]],
|
||||
Documentation = "Sets the focus of the camera on 'NewHorizons'",
|
||||
GuiPath = "/Missions/New Horizons",
|
||||
isLocal = false
|
||||
}
|
||||
|
||||
local anchor_nh_aim_pluto = {
|
||||
Identifier = "os.missions.newhorizons.aimpluto",
|
||||
Name = "Anchor NH, Aim Pluto",
|
||||
Command = [[
|
||||
openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.Anchor', 'NewHorizons');
|
||||
openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.Aim', 'Pluto');
|
||||
openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.RetargetAnchor', nil)
|
||||
]],
|
||||
Documentation = "Anchor at New Horizons, Aim at Pluto",
|
||||
GuiPath = "/Missions/New Horizons",
|
||||
isLocal = false
|
||||
}
|
||||
|
||||
local focus_pluto = {
|
||||
Identifier = "os.missions.newhorizons.pluto.focus",
|
||||
Name = "Focus on Pluto",
|
||||
Command = [[
|
||||
openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.Anchor', 'PlutoProjection');
|
||||
openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.Aim', '');
|
||||
openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.RetargetAnchor', nil);
|
||||
]],
|
||||
Documentation = "Sets the focus of the camera on 'Pluto'",
|
||||
GuiPath = "/Missions/New Horizons",
|
||||
isLocal = false
|
||||
}
|
||||
|
||||
local focus_charon = {
|
||||
Identifier = "os.missions.newhorizons.charon.focus",
|
||||
Name = "Focus on Charon",
|
||||
Command = [[
|
||||
openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.Anchor', 'Charon');
|
||||
openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.Aim', '');
|
||||
openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.RetargetAnchor', nil);
|
||||
]],
|
||||
Documentation = "Sets the focus of the camera on 'Charon'",
|
||||
GuiPath = "/Missions/New Horizons",
|
||||
isLocal = false
|
||||
}
|
||||
|
||||
local toggle_nh_imageprojection = {
|
||||
Identifier = "os.missions.newhorizons.toggleimageprojection",
|
||||
Name = "Toggle NH Image Projection",
|
||||
Command = [[
|
||||
local enabled = openspace.getPropertyValue('Scene.PlutoProjection.Renderable.ProjectionComponent.PerformProjection');
|
||||
openspace.setPropertyValue('Scene.PlutoProjection.Renderable.ProjectionComponent.PerformProjection', not enabled);
|
||||
openspace.setPropertyValue('Scene.CharonProjection.Renderable.ProjectionComponent.PerformProjection', not enabled);
|
||||
]],
|
||||
Documentation = "Toggles New Horizons image projection",
|
||||
GuiPath = "/Missions/New Horizons",
|
||||
isLocal = false
|
||||
}
|
||||
|
||||
local clear_image_projections = {
|
||||
Identifier = "os.missions.newhorizons.clearimageprojections",
|
||||
Name = "Clear image projections",
|
||||
Command = [[
|
||||
openspace.setPropertyValue('Scene.PlutoProjection.Renderable.ProjectionComponent.ClearAllProjections', true);
|
||||
openspace.setPropertyValue('Scene.CharonProjection.Renderable.ProjectionComponent.ClearAllProjections', true);
|
||||
]],
|
||||
Documentation = "Removes all image projections from Pluto and Charon",
|
||||
GuiPath = "/Missions/New Horizons",
|
||||
isLocal = false
|
||||
}
|
||||
|
||||
local approach_time_and_projections = {
|
||||
Identifier = "os.missions.newhorizons.approach",
|
||||
Name = "Reset time and projections",
|
||||
Command = [[
|
||||
openspace.time.setTime('2015-07-14T09:00:00.00');
|
||||
openspace.setPropertyValue('Scene.PlutoProjection.Renderable.ProjectionComponent.ClearAllProjections', true);
|
||||
openspace.setPropertyValue('Scene.CharonProjection.Renderable.ProjectionComponent.ClearAllProjections', true);
|
||||
]],
|
||||
Documentation = "Jumps to the 14th of July 2015 at 0900 UTC and clears all projections",
|
||||
GuiPath = "/Missions/New Horizons",
|
||||
isLocal = false
|
||||
}
|
||||
|
||||
local increase_hightmap_pluto = {
|
||||
Identifier = "os.missions.newhorizons.pluto.increasehightmap",
|
||||
Name = "Pluto HeightExaggeration +",
|
||||
Command = [[
|
||||
openspace.setPropertyValueSingle("Scene.PlutoProjection.Renderable.HeightExaggeration", openspace.getPropertyValue("Scene.PlutoProjection.Renderable.HeightExaggeration") + 5000);
|
||||
]],
|
||||
Documentation = "Increases the height map exaggeration on Pluto",
|
||||
GuiPath = "/Missions/New Horizons",
|
||||
isLocal = false
|
||||
}
|
||||
|
||||
local decrease_hightmap_pluto = {
|
||||
Identifier = "os.missions.newhorizons.pluto.decreasehightmap",
|
||||
Name = "Pluto HeightExaggeration -",
|
||||
Command = [[
|
||||
openspace.setPropertyValueSingle("Scene.PlutoProjection.Renderable.HeightExaggeration", openspace.getPropertyValue("Scene.PlutoProjection.Renderable.HeightExaggeration") - 5000);
|
||||
]],
|
||||
Documentation = "Decreases the height map exaggeration on Pluto",
|
||||
GuiPath = "/Missions/New Horizons",
|
||||
isLocal = false
|
||||
}
|
||||
|
||||
local increase_hightmap_charon = {
|
||||
Identifier = "os.missions.newhorizons.charon.increasehightmap",
|
||||
Name = "Charon HeightExaggeration +",
|
||||
Command = [[
|
||||
openspace.setPropertyValueSingle("Scene.CharonProjection.Renderable.HeightExaggeration", openspace.getPropertyValue("Scene.CharonProjection.Renderable.HeightExaggeration") + 5000);
|
||||
]],
|
||||
Documentation = "Increases the height map exaggeration on Charon",
|
||||
GuiPath = "/Missions/New Horizons",
|
||||
isLocal = false
|
||||
}
|
||||
|
||||
local decrease_hightmap_charon = {
|
||||
Identifier = "os.missions.newhorizons.charon.decreasehightmap",
|
||||
Name = "Charon HeightExaggeration -",
|
||||
Command = [[
|
||||
openspace.setPropertyValueSingle("Scene.CharonProjection.Renderable.HeightExaggeration", openspace.getPropertyValue("Scene.CharonProjection.Renderable.HeightExaggeration") - 5000);
|
||||
]],
|
||||
Documentation = "Decreases the height map exaggeration on Charon",
|
||||
GuiPath = "/Missions/New Horizons",
|
||||
isLocal = false
|
||||
}
|
||||
|
||||
local toggle_pluto_trail = {
|
||||
Identifier = "os.missions.newhorizons.pluto.toggletrail",
|
||||
Name = "Toggle Pluto Trail",
|
||||
Command = [[
|
||||
openspace.setPropertyValueSingle('Scene.PlutoBarycentricTrail.Renderable.Enabled', not openspace.getPropertyValue('Scene.PlutoBarycentricTrail.Renderable.Enabled'));
|
||||
]],
|
||||
Documentation = "Toggles the visibility of the trail behind Pluto",
|
||||
GuiPath = "/Missions/New Horizons",
|
||||
isLocal = false
|
||||
}
|
||||
|
||||
local toggle_pluto_labels = {
|
||||
Identifier = "os.missions.newhorizons.pluto.togglelabels",
|
||||
Name = "Toggle Pluto Labels",
|
||||
Command = [[
|
||||
local list = {"Scene.PlutoText.Renderable.Enabled", "Scene.CharonText.Renderable.Enabled", "Scene.HydraText.Renderable.Enabled", "Scene.NixText.Renderable.Enabled", "Scene.KerberosText.Renderable.Enabled", "Scene.StyxText.Renderable.Enabled"};
|
||||
for _,v in pairs(list) do
|
||||
openspace.setPropertyValueSingle(v, not openspace.getPropertyValue(v))
|
||||
end
|
||||
]],
|
||||
Documentation = "Toggles the visibility of the text labels of Pluto, Charon, Hydra, Nix, Kerberos, and Styx",
|
||||
GuiPath = "/Missions/New Horizons",
|
||||
isLocal = false
|
||||
}
|
||||
|
||||
local toggle_nh_labels = {
|
||||
Identifier = "os.missions.newhorizons.togglelabels",
|
||||
Name = "Toggle New Horizons Labels",
|
||||
Command = [[
|
||||
local v = openspace.getPropertyValue("Scene.Labels.Renderable.Opacity");
|
||||
if v <= 0.5 then
|
||||
openspace.setPropertyValueSingle("Scene.Labels.Renderable.Opacity",1.0,2.0)
|
||||
else
|
||||
openspace.setPropertyValueSingle("Scene.Labels.Renderable.Opacity",0.0,2.0)
|
||||
end
|
||||
]],
|
||||
Documentation = "Toggles the visibility of the labels for the New Horizons instruments",
|
||||
GuiPath = "/Missions/New Horizons",
|
||||
isLocal = false
|
||||
}
|
||||
|
||||
local toggle_shadows = {
|
||||
Identifier = "os.missions.newhorizons.toggleshadows",
|
||||
Name = "Toggle Shadows",
|
||||
Command = [[
|
||||
openspace.setPropertyValueSingle('Scene.PlutoShadow.Renderable.Enabled', not openspace.getPropertyValue('Scene.PlutoShadow.Renderable.Enabled'));
|
||||
openspace.setPropertyValueSingle('Scene.CharonShadow.Renderable.Enabled', not openspace.getPropertyValue('Scene.CharonShadow.Renderable.Enabled'));
|
||||
]],
|
||||
Documentation = "Toggles the visibility of the shadow visualization of Pluto and Charon",
|
||||
GuiPath = "/Missions/New Horizons",
|
||||
isLocal = false
|
||||
}
|
||||
|
||||
local toggle_nh_trail = {
|
||||
Identifier = "os.missions.newhorizons.toggletrail",
|
||||
Name = "Toggle NH Trail",
|
||||
Command = [[
|
||||
openspace.setPropertyValueSingle('Scene.NewHorizonsTrailPluto.Renderable.Enabled', not openspace.getPropertyValue('Scene.NewHorizonsTrailPluto.Renderable.Enabled'));
|
||||
]],
|
||||
Documentation = "Toggles the trail of New Horizons",
|
||||
GuiPath = "/Missions/New Horizons",
|
||||
isLocal = false
|
||||
}
|
||||
|
||||
asset.onInitialize(function()
|
||||
openspace.action.registerAction(focus_newhorizons)
|
||||
openspace.action.registerAction(anchor_nh_aim_pluto)
|
||||
openspace.action.registerAction(focus_pluto)
|
||||
openspace.action.registerAction(focus_charon)
|
||||
openspace.action.registerAction(toggle_nh_imageprojection)
|
||||
openspace.action.registerAction(clear_image_projections)
|
||||
openspace.action.registerAction(approach_time_and_projections)
|
||||
openspace.action.registerAction(decrease_hightmap_pluto)
|
||||
openspace.action.registerAction(increase_hightmap_charon)
|
||||
openspace.action.registerAction(decrease_hightmap_charon)
|
||||
openspace.action.registerAction(toggle_pluto_trail)
|
||||
openspace.action.registerAction(toggle_pluto_labels)
|
||||
openspace.action.registerAction(toggle_nh_labels)
|
||||
openspace.action.registerAction(toggle_shadows)
|
||||
openspace.action.registerAction(toggle_nh_trail)
|
||||
openspace.action.registerAction(increase_hightmap_pluto)
|
||||
end)
|
||||
|
||||
asset.onDeinitialize(function()
|
||||
openspace.action.removeAction(increase_hightmap_pluto)
|
||||
openspace.action.removeAction(toggle_nh_trail)
|
||||
openspace.action.removeAction(toggle_shadows)
|
||||
openspace.action.removeAction(toggle_nh_labels)
|
||||
openspace.action.removeAction(toggle_pluto_labels)
|
||||
openspace.action.removeAction(toggle_pluto_trail)
|
||||
openspace.action.removeAction(decrease_hightmap_charon)
|
||||
openspace.action.removeAction(increase_hightmap_charon)
|
||||
openspace.action.removeAction(decrease_hightmap_pluto)
|
||||
openspace.action.removeAction(approach_time_and_projections)
|
||||
openspace.action.removeAction(clear_image_projections)
|
||||
openspace.action.removeAction(toggle_nh_imageprojection)
|
||||
openspace.action.removeAction(focus_charon)
|
||||
openspace.action.removeAction(focus_pluto)
|
||||
openspace.action.removeAction(anchor_nh_aim_pluto)
|
||||
openspace.action.removeAction(focus_newhorizons)
|
||||
end)
|
||||
|
||||
asset.meta = {
|
||||
Name = "New Horizons actions",
|
||||
Version = "1.0",
|
||||
Description = "Actions for the New Horizons mission",
|
||||
Author = "OpenSpace Team",
|
||||
URL = "http://openspaceproject.com",
|
||||
License = "MIT license"
|
||||
}
|
||||
@@ -8,6 +8,8 @@ asset.require("./charon")
|
||||
|
||||
asset.require("./othermoons")
|
||||
|
||||
asset.require("./actions")
|
||||
|
||||
local mission = asset.localResource("newhorizons.mission")
|
||||
local missionName
|
||||
|
||||
|
||||
113
data/assets/scene/solarsystem/missions/osirisrex/actions.asset
Normal file
113
data/assets/scene/solarsystem/missions/osirisrex/actions.asset
Normal file
@@ -0,0 +1,113 @@
|
||||
local focus_osirisrex = {
|
||||
Identifier = "os.missions.osirisrex.focus",
|
||||
Name = "Focus on OsirisRex",
|
||||
Command = [[
|
||||
openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.Anchor', 'OsirisRex');
|
||||
openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.Aim', '');
|
||||
openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.RetargetAnchor', nil);
|
||||
]],
|
||||
Documentation = "Sets the focus of the camera on 'OsirisRex'",
|
||||
GuiPath = "/Missions/Osiris Rex",
|
||||
isLocal = false
|
||||
}
|
||||
|
||||
local focus_bennu = {
|
||||
Identifier = "os.missions.osirisrex.bennu.focus",
|
||||
Name = "Focus on Bennu",
|
||||
Command = [[
|
||||
openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.Anchor', 'BennuBarycenter');
|
||||
openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.Aim', '');
|
||||
openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.RetargetAnchor', nil);
|
||||
]],
|
||||
Documentation = "Sets the focus of the camera on 'Bennu'",
|
||||
GuiPath = "/Missions/Osiris Rex",
|
||||
isLocal = false
|
||||
}
|
||||
|
||||
local bennu_approach_time = {
|
||||
Identifier = "os.missions.osirisrex.setup.bennuapproach",
|
||||
Name = "Set Bennu approach time",
|
||||
Command = [[
|
||||
openspace.printInfo('Set time: Approach');
|
||||
openspace.time.setTime('2018-SEP-11 21:31:01.183');
|
||||
]],
|
||||
Documentation = "Sets the time to the approach at Bennu",
|
||||
GuiPath = "/Missions/Osiris Rex",
|
||||
isLocal = false
|
||||
}
|
||||
|
||||
local bennu_survey_time = {
|
||||
Identifier = "os.missions.osirisrex.setup.bennusurvey",
|
||||
Name = "Set Bennu survey time",
|
||||
Command = [[
|
||||
openspace.printInfo('Set time: Preliminary Survey');
|
||||
openspace.time.setTime('2018-NOV-20 01:13:12.183');
|
||||
]],
|
||||
Documentation = "Sets the time to the preliminary survey of Bennu",
|
||||
GuiPath = "/Missions/Osiris Rex",
|
||||
isLocal = false
|
||||
}
|
||||
|
||||
local bennu_event_b = {
|
||||
Identifier = "os.missions.osirisrex.setup.bennueventb",
|
||||
Name = "Set orbital B event time",
|
||||
Command = [[
|
||||
openspace.printInfo('Set time: Orbital B');
|
||||
openspace.time.setTime('2019-APR-08 10:35:27.186');
|
||||
]],
|
||||
Documentation = "Sets the time to the orbital B event",
|
||||
GuiPath = "/Missions/Osiris Rex",
|
||||
isLocal = false
|
||||
}
|
||||
|
||||
local bennu_recon_event = {
|
||||
Identifier = "os.missions.osirisrex.setup.bennureconevent",
|
||||
Name = "Set recon event time",
|
||||
Command = [[
|
||||
openspace.printInfo('Set time: Recon');
|
||||
openspace.time.setTime('2019-MAY-25 03:50:31.195');
|
||||
]],
|
||||
Documentation = "Sets the time to the recon event",
|
||||
GuiPath = "/Missions/Osiris Rex",
|
||||
isLocal = false
|
||||
}
|
||||
|
||||
local toggle_sun_marker = {
|
||||
Identifier = "os.missions.osirisrex.togglesunmarker",
|
||||
Name = "Toggle Sun marker",
|
||||
Command = [[
|
||||
openspace.setPropertyValueSingle('Scene.SunMarker.Renderable.Enabled', not openspace.getPropertyValue('Scene.SunMarker.Renderable.Enabled'));
|
||||
]],
|
||||
Documentation = "Toggles the visibility of the text marking the location of the Sun",
|
||||
GuiPath = "/Missions/Osiris Rex",
|
||||
isLocal = false
|
||||
}
|
||||
|
||||
asset.onInitialize(function()
|
||||
openspace.action.registerAction(focus_osirisrex)
|
||||
openspace.action.registerAction(focus_bennu)
|
||||
openspace.action.registerAction(bennu_approach_time)
|
||||
openspace.action.registerAction(bennu_survey_time)
|
||||
openspace.action.registerAction(bennu_event_b)
|
||||
openspace.action.registerAction(bennu_recon_event)
|
||||
openspace.action.registerAction(toggle_sun_marker)
|
||||
end)
|
||||
|
||||
asset.onDeinitialize(function()
|
||||
openspace.action.removeAction(toggle_sun_marker)
|
||||
openspace.action.removeAction(bennu_recon_event)
|
||||
openspace.action.removeAction(bennu_event_b)
|
||||
openspace.action.removeAction(bennu_survey_time)
|
||||
openspace.action.removeAction(bennu_approach_time)
|
||||
openspace.action.removeAction(focus_bennu)
|
||||
openspace.action.removeAction(focus_osirisrex)
|
||||
end)
|
||||
|
||||
asset.meta = {
|
||||
Name = "OsirisRex Actions",
|
||||
Version = "1.0",
|
||||
Description = "Actions related to the OsirisRex mission",
|
||||
Author = "OpenSpace Team",
|
||||
URL = "http://openspaceproject.com",
|
||||
License = "MIT license"
|
||||
}
|
||||
@@ -116,7 +116,7 @@ local Rexis = {
|
||||
}
|
||||
|
||||
local PolyCamFov = {
|
||||
Identifier = "POLYCAM FOV",
|
||||
Identifier = "POLYCAM_FOV",
|
||||
Parent = PolyCam.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableFov",
|
||||
@@ -171,7 +171,7 @@ local nodes = {
|
||||
}
|
||||
|
||||
asset.onInitialize(function()
|
||||
for i, node in ipairs(nodes) do
|
||||
for _, node in ipairs(nodes) do
|
||||
openspace.addSceneGraphNode(node)
|
||||
end
|
||||
end)
|
||||
|
||||
@@ -5,6 +5,7 @@ asset.require("./trail")
|
||||
asset.require("scene/solarsystem/sun/marker")
|
||||
|
||||
asset.require("./script_schedule")
|
||||
asset.require("./actions")
|
||||
|
||||
local mission = asset.localResource("osirisrex.mission")
|
||||
local missionName
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
local setup_perseverance = {
|
||||
Identifier = "os.missions.perseverance.setup",
|
||||
Name = "Setup and Goto Perseverance",
|
||||
Command = [[
|
||||
openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.HeightLayers.Mola_Utah.Settings.Offset', -1685.5);
|
||||
openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.HeightLayers.HiRISE-LS-DEM.Settings.Offset', -1686.0);
|
||||
openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.HeightLayers.MDEM200M.Settings.Offset', -1686);
|
||||
openspace.time.setPause(true);
|
||||
openspace.time.setTime('2021 FEB 18 20:32:16');
|
||||
openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.HeightLayers.HiRISE-LS-DEM.Enabled', true);
|
||||
openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.ColorLayers.HiRISE-LS.Enabled', true);
|
||||
openspace.navigation.setNavigationState({Anchor = 'Perseverance',Pitch = 0.567457E-4,Position = { 1.240506E1,-1.369270E1,-2.423553E0 },ReferenceFrame = 'Root',Up = { 0.441211E0,0.247019E0,0.862737E0 },Yaw = -0.446853E-4});
|
||||
]],
|
||||
Documentation = "Sets time and layers for Perseverance landing",
|
||||
GuiPath = "/Missions/Perseverance",
|
||||
isLocal = false
|
||||
}
|
||||
|
||||
asset.onInitialize(function()
|
||||
openspace.action.registerAction(setup_perseverance)
|
||||
end)
|
||||
|
||||
asset.onDeinitialize(function()
|
||||
openspace.action.removeAction(setup_perseverance)
|
||||
end)
|
||||
|
||||
asset.meta = {
|
||||
Name = "Perseverance Actions",
|
||||
Version = "1.0",
|
||||
Description = "Actions related to the Perseverance mission",
|
||||
Author = "OpenSpace Team",
|
||||
URL = "http://openspaceproject.com",
|
||||
License = "MIT license"
|
||||
}
|
||||
@@ -1,2 +1,5 @@
|
||||
asset.require("./model")
|
||||
asset.require("./trail")
|
||||
asset.require("./actions")
|
||||
asset.require("scene/solarsystem/planets/mars/mars")
|
||||
asset.require("scene/solarsystem/planets/mars/default_layers")
|
||||
|
||||
@@ -131,13 +131,58 @@ local Trail67P = {
|
||||
}
|
||||
}
|
||||
|
||||
-- actions
|
||||
local focus_67p = {
|
||||
Identifier = "os.missions.rosetta.67p.focus",
|
||||
Name = "Focus on 67P",
|
||||
Command = [[
|
||||
openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.Anchor', '67P');
|
||||
openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.Aim', '');
|
||||
openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.RetargetAnchor', nil);
|
||||
]],
|
||||
Documentation = "Sets the focus of the camera on 67P",
|
||||
GuiPath = "/Missions/Rosetta",
|
||||
isLocal = false
|
||||
}
|
||||
|
||||
local clear_image_projections_67p = {
|
||||
Identifier = "os.missions.rosetta.67p.clearimageprojections",
|
||||
Name = "Clear 67P projections",
|
||||
Command = [[
|
||||
openspace.setPropertyValue('Scene.67P.Renderable.ProjectionComponent.ClearAllProjections', true);
|
||||
]],
|
||||
Documentation = "Removes all image projections from 67P",
|
||||
GuiPath = "/Missions/Rosetta",
|
||||
isLocal = false
|
||||
}
|
||||
|
||||
local toggle_67p_projection = {
|
||||
Identifier = "os.missions.rosetta.toggle67pprojection",
|
||||
Name = "Toggle 67P projection",
|
||||
Command = [[
|
||||
openspace.setPropertyValueSingle('Scene.67P.Renderable.ProjectionComponent.PerformProjection', not openspace.getPropertyValue('Scene.67P.Renderable.ProjectionComponent.PerformProjection'));
|
||||
]],
|
||||
Documentation = "Enables or disables the image projection on 67P",
|
||||
GuiPath = "/Missions/Rosetta",
|
||||
isLocal = false
|
||||
}
|
||||
|
||||
|
||||
asset.onInitialize(function()
|
||||
openspace.addSceneGraphNode(Barycenter)
|
||||
openspace.addSceneGraphNode(Comet67P)
|
||||
openspace.addSceneGraphNode(Trail67P)
|
||||
|
||||
openspace.action.registerAction(focus_67p)
|
||||
openspace.action.registerAction(clear_image_projections_67p)
|
||||
openspace.action.registerAction(toggle_67p_projection)
|
||||
end)
|
||||
|
||||
asset.onDeinitialize(function()
|
||||
openspace.action.removeAction(toggle_67p_projection)
|
||||
openspace.action.removeAction(clear_image_projections_67p)
|
||||
openspace.action.removeAction(focus_67p)
|
||||
|
||||
openspace.removeSceneGraphNode(Trail67P)
|
||||
openspace.removeSceneGraphNode(Comet67P)
|
||||
openspace.removeSceneGraphNode(Barycenter)
|
||||
|
||||
30
data/assets/scene/solarsystem/missions/rosetta/actions.asset
Normal file
30
data/assets/scene/solarsystem/missions/rosetta/actions.asset
Normal file
@@ -0,0 +1,30 @@
|
||||
local toggle_outer_planetary_trails = {
|
||||
Identifier = "os.missions.rosetta.toggleouterplanetarytrails",
|
||||
Name = "Toggle outer planetary trails",
|
||||
Command = [[
|
||||
local list = openspace.getProperty('{planetTrail_giants}.Renderable.Enabled');
|
||||
for _,v in pairs(list) do
|
||||
openspace.setPropertyValueSingle(v, not openspace.getPropertyValue(v))
|
||||
end
|
||||
]],
|
||||
Documentation = "Toggles the visibility of all trails further from the Sun than 67P",
|
||||
GuiPath = "/Missions/Rosetta",
|
||||
isLocal = false
|
||||
}
|
||||
|
||||
asset.onInitialize(function()
|
||||
openspace.action.registerAction(toggle_outer_planetary_trails)
|
||||
end)
|
||||
|
||||
asset.onDeinitialize(function()
|
||||
openspace.action.removeAction(toggle_outer_planetary_trails)
|
||||
end)
|
||||
|
||||
asset.meta = {
|
||||
Name = "Rosetta actions",
|
||||
Version = "1.0",
|
||||
Description = "Actions related to the rosetta mission",
|
||||
Author = "OpenSpace Team",
|
||||
URL = "http://openspaceproject.com",
|
||||
License = "MIT license"
|
||||
}
|
||||
@@ -2,7 +2,6 @@ local sun = asset.require("scene/solarsystem/sun/sun")
|
||||
local sunTransforms = asset.require("scene/solarsystem/sun/transforms")
|
||||
local transforms = asset.require("./67p")
|
||||
|
||||
|
||||
local models = asset.syncedResource({
|
||||
Name = "Rosetta Models",
|
||||
Type = "HttpSynchronization",
|
||||
@@ -556,13 +555,70 @@ local nodes = {
|
||||
PhilaeTrail
|
||||
}
|
||||
|
||||
-- actions
|
||||
local focus_rosetta = {
|
||||
Identifier = "os.missions.rosetta.focus",
|
||||
Name = "Focus on Rosetta",
|
||||
Command = [[
|
||||
openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.Anchor', 'Rosetta');
|
||||
openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.Aim', '');
|
||||
openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.RetargetAnchor', nil);
|
||||
]],
|
||||
Documentation = "Sets the focus of the camera on Rosetta",
|
||||
GuiPath = "/Missions/Rosetta",
|
||||
isLocal = false
|
||||
}
|
||||
|
||||
local setup_lander_release_time = {
|
||||
Identifier = "os.missions.rosetta.setup.landerrelease",
|
||||
Name = "Set lander release time",
|
||||
Command = [[
|
||||
openspace.time.setTime('2014-11-12T08:20:00.00');
|
||||
]],
|
||||
Documentation = "Jumps to the time when the Philae lander is released",
|
||||
GuiPath = "/Missions/Rosetta",
|
||||
isLocal = false
|
||||
}
|
||||
|
||||
local toggle_image_plane = {
|
||||
Identifier = "os.missions.rosetta.toggleimageplane",
|
||||
Name = "Toggle image plane",
|
||||
Command = [[
|
||||
openspace.setPropertyValueSingle('Scene.ImagePlaneRosetta.Renderable.Enabled', not openspace.getPropertyValue('Scene.ImagePlaneRosetta.Renderable.Enabled'));
|
||||
]],
|
||||
Documentation = "Toggles the visibility of the free floating image plane",
|
||||
GuiPath = "/Missions/Rosetta",
|
||||
isLocal = false
|
||||
}
|
||||
|
||||
local toggle_philae_trail = {
|
||||
Identifier = "os.mission.rosetta.togglephilaetrail",
|
||||
Name = "Toggle Philae trail",
|
||||
Command = [[
|
||||
openspace.setPropertyValueSingle('Scene.PhilaeTrail.Renderable.Enabled', not openspace.getPropertyValue('Scene.PhilaeTrail.Renderable.Enabled'));
|
||||
]],
|
||||
Documentation = "Toggles the visibility of Philae's trail",
|
||||
GuiPath = "/Missions/Rosetta",
|
||||
isLocal = false
|
||||
}
|
||||
|
||||
asset.onInitialize(function ()
|
||||
for i, node in ipairs(nodes) do
|
||||
for _, node in ipairs(nodes) do
|
||||
openspace.addSceneGraphNode(node)
|
||||
end
|
||||
|
||||
openspace.action.registerAction(focus_rosetta)
|
||||
openspace.action.registerAction(setup_lander_release_time)
|
||||
openspace.action.registerAction(toggle_image_plane)
|
||||
openspace.action.registerAction(toggle_philae_trail)
|
||||
end)
|
||||
|
||||
asset.onDeinitialize(function ()
|
||||
openspace.action.removeAction(toggle_philae_trail)
|
||||
openspace.action.removeAction(toggle_image_plane)
|
||||
openspace.action.removeAction(setup_lander_release_time)
|
||||
openspace.action.removeAction(focus_rosetta)
|
||||
|
||||
for i = #nodes, 1, -1 do
|
||||
openspace.removeSceneGraphNode(nodes[i])
|
||||
end
|
||||
|
||||
86
data/assets/scene/solarsystem/missions/voyager/actions.asset
Normal file
86
data/assets/scene/solarsystem/missions/voyager/actions.asset
Normal file
@@ -0,0 +1,86 @@
|
||||
local jupiter_approach = {
|
||||
Identifier = "os.missions.voyager.setup.jupiterapproach",
|
||||
Name = "Set Jupiter Approach",
|
||||
Command = [[
|
||||
openspace.time.setTime('1979-01-20T01:32:07.914')
|
||||
]],
|
||||
Documentation = "Sets the time for Voyager's approach to Jupiter",
|
||||
GuiPath = "/Missions/Voyager",
|
||||
isLocal = false
|
||||
}
|
||||
|
||||
local saturn_approach = {
|
||||
Identifier = "os.missions.voyager.setup.saturnapproach",
|
||||
Name = "Set Saturn Approach",
|
||||
Command = [[
|
||||
openspace.time.setTime('1980-10-20T07:43:42.645');
|
||||
]],
|
||||
Documentation = "Sets the time for Voyager's approach to Saturn",
|
||||
GuiPath = "/Missions/Voyager",
|
||||
isLocal = false
|
||||
}
|
||||
|
||||
local focus_jupiter = {
|
||||
Identifier = "os.missions.voyager.jupiter.focus",
|
||||
Name = "Focus on Jupiter",
|
||||
Command = [[
|
||||
openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.RetargetAnchor', nil);
|
||||
openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.Anchor', 'Jupiter');
|
||||
openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.Aim', '');
|
||||
]],
|
||||
Documentation = "Set the camera focus to Jupiter",
|
||||
GuiPath = "/Missions/Voyager",
|
||||
isLocal = false
|
||||
}
|
||||
|
||||
local focus_saturn = {
|
||||
Identifier = "os.missions.voyager.saturn.focus",
|
||||
Name = "Focus on Saturn",
|
||||
Command = [[
|
||||
openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.RetargetAnchor', nil);
|
||||
openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.Anchor', 'Saturn');
|
||||
openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.Aim', '');
|
||||
]],
|
||||
Documentation = "Sets the camera focus on Saturn",
|
||||
GuiPath = "/Missions/Voyager",
|
||||
isLocal = false
|
||||
}
|
||||
|
||||
local toggle_minormoon_trails = {
|
||||
Identifier = "os.missions.voyager.toggleminormoontrails",
|
||||
Name = "Toggle minor trails",
|
||||
Command = [[
|
||||
local list = openspace.getProperty('{moonTrail_minor}.Renderable.Enabled');
|
||||
for _,v in pairs(list) do
|
||||
openspace.setPropertyValueSingle(v, not openspace.getPropertyValue(v))
|
||||
end
|
||||
]],
|
||||
Documentation = "Toggles the trails of the minor moons",
|
||||
GuiPath = "/Trails",
|
||||
isLocal = false
|
||||
}
|
||||
|
||||
asset.onInitialize(function()
|
||||
openspace.action.registerAction(jupiter_approach)
|
||||
openspace.action.registerAction(saturn_approach)
|
||||
openspace.action.registerAction(focus_jupiter)
|
||||
openspace.action.registerAction(focus_saturn)
|
||||
openspace.action.registerAction(toggle_minormoon_trails)
|
||||
end)
|
||||
|
||||
asset.onDeinitialize(function()
|
||||
openspace.action.removeAction(toggle_minormoon_trails)
|
||||
openspace.action.removeAction(focus_saturn)
|
||||
openspace.action.removeAction(focus_jupiter)
|
||||
openspace.action.removeAction(saturn_approach)
|
||||
openspace.action.removeAction(jupiter_approach)
|
||||
end)
|
||||
|
||||
asset.meta = {
|
||||
Name = "Voyager Actions",
|
||||
Version = "1.0",
|
||||
Description = "Actions related to the Voyager 1 and 2 missions",
|
||||
Author = "OpenSpace Team",
|
||||
URL = "http://openspaceproject.com",
|
||||
License = "MIT license"
|
||||
}
|
||||
@@ -231,13 +231,34 @@ local nodes = {
|
||||
VoyagerTrailCruiseSaturnInf
|
||||
}
|
||||
|
||||
-- Actions
|
||||
|
||||
local focus_voyager1 = {
|
||||
Identifier = "os.missions.voyager.v1.focus",
|
||||
Name = "Focus on Voyager 1",
|
||||
Command = [[
|
||||
openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.RetargetAnchor', nil);
|
||||
openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.Anchor', 'Voyager_1');
|
||||
openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.Aim', '')
|
||||
]],
|
||||
Documentation = "Set camera focus to Voyager 1",
|
||||
GuiPath = "/Missions/Voyager",
|
||||
isLocal = false
|
||||
}
|
||||
|
||||
-- Initialize
|
||||
|
||||
asset.onInitialize(function()
|
||||
for i, node in ipairs(nodes) do
|
||||
openspace.addSceneGraphNode(node)
|
||||
end
|
||||
|
||||
openspace.action.registerAction(focus_voyager1)
|
||||
end)
|
||||
|
||||
asset.onDeinitialize(function()
|
||||
openspace.action.removeAction(focus_voyager1)
|
||||
|
||||
for i = #nodes, 1, -1 do
|
||||
openspace.removeSceneGraphNode(nodes[i])
|
||||
end
|
||||
|
||||
@@ -331,16 +331,38 @@ local nodes = {
|
||||
VoyagerTrailCruiseNeptuneInf
|
||||
}
|
||||
|
||||
|
||||
-- Actions
|
||||
|
||||
local focus_voyager2 = {
|
||||
Identifier = "os.missions.voyager.v2.focus",
|
||||
Name = "Focus on Voyager 2",
|
||||
Command = [[
|
||||
openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.RetargetAnchor', nil);
|
||||
openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.Anchor', 'Voyager_2');
|
||||
openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.Aim', '')
|
||||
]],
|
||||
Documentation = "Set camera focus to Voyager 2",
|
||||
GuiPath = "/Missions/Voyager",
|
||||
isLocal = false
|
||||
}
|
||||
|
||||
-- Initialize
|
||||
|
||||
asset.onInitialize(function()
|
||||
for i, node in ipairs(nodes) do
|
||||
openspace.addSceneGraphNode(node)
|
||||
end
|
||||
|
||||
openspace.action.registerAction(focus_voyager2)
|
||||
end)
|
||||
|
||||
asset.onDeinitialize(function()
|
||||
for i = #nodes, 1, -1 do
|
||||
openspace.removeSceneGraphNode(nodes[i])
|
||||
end
|
||||
|
||||
openspace.action.removeAction(focus_voyager2)
|
||||
end)
|
||||
|
||||
for i, node in ipairs(nodes) do
|
||||
|
||||
@@ -73,12 +73,45 @@ local EarthLabel = {
|
||||
}
|
||||
}
|
||||
|
||||
local focus_earth = {
|
||||
Identifier = "os.solarsystem.earth.focus",
|
||||
Name = "Focus on Earth",
|
||||
Command = [[
|
||||
openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.Aim', '');
|
||||
openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.Anchor', 'Earth');
|
||||
openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.RetargetAnchor', nil);
|
||||
]],
|
||||
Documentation = "Set camera focus on the Earth",
|
||||
GuiPath = "/Solar System/Earth",
|
||||
isLocal = false
|
||||
}
|
||||
|
||||
local toggle_earth_satellitetrails = {
|
||||
Identifier = "os.solarsystem.earth.togglesatellitetrails",
|
||||
Name = "Toggle satellite trails",
|
||||
Command = [[
|
||||
local list = openspace.getProperty('{earth_satellites}.Renderable.Enabled');
|
||||
for _,v in pairs(list) do
|
||||
openspace.setPropertyValueSingle(v, not openspace.getPropertyValue(v))
|
||||
end
|
||||
]],
|
||||
Documentation = "Toggle trails on or off for satellites around Earth",
|
||||
GuiPath = "/Solar System/Earth",
|
||||
isLocal = false
|
||||
}
|
||||
|
||||
asset.onInitialize(function()
|
||||
openspace.addSceneGraphNode(Earth)
|
||||
openspace.addSceneGraphNode(EarthLabel)
|
||||
|
||||
openspace.action.registerAction(focus_earth)
|
||||
openspace.action.registerAction(toggle_earth_satellitetrails)
|
||||
end)
|
||||
|
||||
asset.onDeinitialize(function()
|
||||
openspace.action.removeAction(toggle_earth_satellitetrails)
|
||||
openspace.action.removeAction(focus_earth)
|
||||
|
||||
openspace.removeSceneGraphNode(EarthLabel)
|
||||
openspace.removeSceneGraphNode(Earth)
|
||||
end)
|
||||
@@ -90,7 +123,7 @@ asset.export(EarthLabel)
|
||||
|
||||
asset.meta = {
|
||||
Name = "Earth",
|
||||
Version = "1.0",
|
||||
Version = "1.1",
|
||||
Description = "Earth is a special planet with special needs",
|
||||
Author = "OpenSpace Team",
|
||||
URL = "http://openspaceproject.com",
|
||||
|
||||
@@ -81,13 +81,42 @@ local MoonLabel = {
|
||||
}
|
||||
}
|
||||
|
||||
local focus_moon = {
|
||||
Identifier = "os.solarsystem.earth.moon.focus",
|
||||
Name = "Focus on Moon",
|
||||
Command = [[
|
||||
openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.Aim', '');
|
||||
openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.Anchor', 'Moon');
|
||||
openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.RetargetAnchor', nil);
|
||||
]],
|
||||
Documentation = "Set camera focus on the Moon",
|
||||
GuiPath = "/Solar System/Earth/Moon",
|
||||
isLocal = false
|
||||
}
|
||||
|
||||
local toggle_moon_shading = {
|
||||
Identifier = "os.solarsystem.earth.moon.toggleshading",
|
||||
Name = "Toggle Moon shading",
|
||||
Command = [[
|
||||
openspace.setPropertyValueSingle('Scene.Moon.Renderable.PerformShading', not openspace.getPropertyValue('Scene.Moon.Renderable.PerformShading'));
|
||||
]],
|
||||
Documentation = "Toggles the shading of the Moon",
|
||||
GuiPath = "/Solar System/Earth/Moon",
|
||||
isLocal = false
|
||||
}
|
||||
|
||||
asset.onInitialize(function()
|
||||
openspace.addSceneGraphNode(Moon)
|
||||
openspace.addSceneGraphNode(MoonLabel)
|
||||
|
||||
openspace.action.registerAction(focus_moon)
|
||||
openspace.action.registerAction(toggle_moon_shading)
|
||||
end)
|
||||
|
||||
asset.onDeinitialize(function()
|
||||
openspace.action.removeAction(toggle_moon_shading)
|
||||
openspace.action.removeAction(focus_moon)
|
||||
|
||||
openspace.removeSceneGraphNode(MoonLabel)
|
||||
openspace.removeSceneGraphNode(Moon)
|
||||
end)
|
||||
@@ -98,8 +127,8 @@ asset.export(Moon)
|
||||
|
||||
asset.meta = {
|
||||
Name = "Moon",
|
||||
Version = "1.1",
|
||||
Description = "Moon globe with labels",
|
||||
Version = "1.2",
|
||||
Description = "Moon globe with labels and actions",
|
||||
Author = "OpenSpace Team",
|
||||
URL = "http://openspaceproject.com",
|
||||
License = "MIT license"
|
||||
|
||||
@@ -116,6 +116,19 @@ local IssLabel = {
|
||||
}
|
||||
}
|
||||
|
||||
local focus_iss = {
|
||||
Identifier = "os.solarsystem.earth.iss.focus",
|
||||
Name = "Focus on ISS",
|
||||
Command = [[
|
||||
openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.Aim', '');
|
||||
openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.Anchor', 'ISS');
|
||||
openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.RetargetAnchor', nil);
|
||||
]],
|
||||
Documentation = "Refocuses the camera on the ISS",
|
||||
GuiPath = "/Solar System/Earth",
|
||||
isLocal = false
|
||||
}
|
||||
|
||||
asset.onInitialize(function ()
|
||||
local i = openspace.space.readKeplerFile(omm .. "ISS.txt", "OMM")
|
||||
issTrail.Renderable.Period = i[0].Period / (60 * 60 * 24)
|
||||
@@ -125,9 +138,12 @@ asset.onInitialize(function ()
|
||||
openspace.setPropertyValueSingle("Scene.ISSModel.Rotation.yAxisInvertObject", true)
|
||||
openspace.addSceneGraphNode(issTrail)
|
||||
|
||||
openspace.action.registerAction(focus_iss)
|
||||
end)
|
||||
|
||||
asset.onDeinitialize(function ()
|
||||
openspace.action.removeAction(focus_iss)
|
||||
|
||||
openspace.removeSceneGraphNode(issTrail)
|
||||
openspace.removeSceneGraphNode(parentNode)
|
||||
openspace.removeSceneGraphNode(iss)
|
||||
@@ -140,7 +156,7 @@ asset.export(iss)
|
||||
|
||||
asset.meta = {
|
||||
Name = "ISS",
|
||||
Version = "1.0",
|
||||
Version = "1.1",
|
||||
Description = [[Model and Trail for ISS. Model from NASA 3D models, trail from
|
||||
Celestrak]],
|
||||
Author = "OpenSpace Team",
|
||||
|
||||
@@ -6,13 +6,14 @@ local kernel = asset.require("../kernels").jup341
|
||||
|
||||
local parentIdentifier = transforms.JupiterBarycenter.Identifier
|
||||
local parentSpice = "JUPITER BARYCENTER"
|
||||
local tags = { "moon_solarSystem", "moon_giants", "moon_jupiter", "moon_ananke", "moon_minor" }
|
||||
local tags = { "moon_solarSystem", "moon_giants", "moon_jupiter", "moon_ananke", "moon_minor", "moon_minor_jupiter" }
|
||||
local trailColor = { 0.4, 0.3, 0.01 }
|
||||
local trailTags = {
|
||||
"moonTrail_solarSystem",
|
||||
"moonTrail_giants",
|
||||
"moonTrail_jupiter",
|
||||
"moonTrail_minor"
|
||||
"moonTrail_minor",
|
||||
"moonTrail_minor_jupiter"
|
||||
}
|
||||
|
||||
local anankeGroup = {
|
||||
|
||||
@@ -6,13 +6,14 @@ local kernel = asset.require("../kernels").jup341
|
||||
|
||||
local parentIdentifier = transforms.JupiterBarycenter.Identifier
|
||||
local parentSpice = "JUPITER BARYCENTER"
|
||||
local tags = { "moon_solarSystem", "moon_giants", "moon_jupiter", "moon_carme", "moon_minor" }
|
||||
local tags = { "moon_solarSystem", "moon_giants", "moon_jupiter", "moon_carme", "moon_minor", "moon_minor_jupiter" }
|
||||
local trailColor = { 0.4, 0.3, 0.01 }
|
||||
local trailTags = {
|
||||
"moonTrail_solarSystem",
|
||||
"moonTrail_giants",
|
||||
"moonTrail_jupiter",
|
||||
"moonTrail_minor"
|
||||
"moonTrail_minor",
|
||||
"moonTrail_minor_jupiter"
|
||||
}
|
||||
|
||||
local carmeGroup = {
|
||||
|
||||
@@ -6,13 +6,14 @@ local kernel = asset.require("../kernels").jup341
|
||||
|
||||
local parentIdentifier = transforms.JupiterBarycenter.Identifier
|
||||
local parentSpice = "JUPITER BARYCENTER"
|
||||
local tags = { "moon_solarSystem", "moon_giants", "moon_jupiter", "moon_carpo", "moon_minor" }
|
||||
local tags = { "moon_solarSystem", "moon_giants", "moon_jupiter", "moon_carpo", "moon_minor", "moon_minor_jupiter" }
|
||||
local trailColor = { 0.4, 0.3, 0.01 }
|
||||
local trailTags = {
|
||||
"moonTrail_solarSystem",
|
||||
"moonTrail_giants",
|
||||
"moonTrail_jupiter",
|
||||
"moonTrail_minor"
|
||||
"moonTrail_minor",
|
||||
"moonTrail_minor_jupiter"
|
||||
}
|
||||
|
||||
local carpoGroup = {
|
||||
|
||||
@@ -6,13 +6,14 @@ local kernel = asset.require("../kernels").jup341
|
||||
|
||||
local parentIdentifier = transforms.JupiterBarycenter.Identifier
|
||||
local parentSpice = "JUPITER BARYCENTER"
|
||||
local tags = { "moon_solarSystem", "moon_giants", "moon_jupiter", "moon_himalia", "moon_minor" }
|
||||
local tags = { "moon_solarSystem", "moon_giants", "moon_jupiter", "moon_himalia", "moon_minor", "moon_minor_jupiter" }
|
||||
local trailColor = { 0.4, 0.3, 0.01 }
|
||||
local trailTags = {
|
||||
"moonTrail_solarSystem",
|
||||
"moonTrail_giants",
|
||||
"moonTrail_jupiter",
|
||||
"moonTrail_minor"
|
||||
"moonTrail_minor",
|
||||
"moonTrail_minor_jupiter"
|
||||
}
|
||||
|
||||
local himaliaGroup = {
|
||||
|
||||
@@ -6,13 +6,14 @@ local kernel = asset.require("../kernels").jup341
|
||||
|
||||
local parentIdentifier = transforms.JupiterBarycenter.Identifier
|
||||
local parentSpice = "JUPITER BARYCENTER"
|
||||
local tags = { "moon_solarSystem", "moon_giants", "moon_jupiter", "moon_inner", "moon_minor" }
|
||||
local tags = { "moon_solarSystem", "moon_giants", "moon_jupiter", "moon_inner", "moon_minor", "moon_minor_jupiter" }
|
||||
local trailColor = { 0.4, 0.3, 0.01 }
|
||||
local trailTags = {
|
||||
"moonTrail_solarSystem",
|
||||
"moonTrail_giants",
|
||||
"moonTrail_jupiter",
|
||||
"moonTrail_minor"
|
||||
"moonTrail_minor",
|
||||
"moonTrail_minor_jupiter"
|
||||
}
|
||||
|
||||
local innerMoons = {
|
||||
|
||||
@@ -6,13 +6,14 @@ local kernel = asset.require("../kernels").jup341
|
||||
|
||||
local parentIdentifier = transforms.JupiterBarycenter.Identifier
|
||||
local parentSpice = "JUPITER BARYCENTER"
|
||||
local tags = { "moon_solarSystem", "moon_giants", "moon_jupiter", "moon_other", "moon_minor" }
|
||||
local tags = { "moon_solarSystem", "moon_giants", "moon_jupiter", "moon_other", "moon_minor", "moon_minor_jupiter" }
|
||||
local trailColor = { 0.4, 0.3, 0.01 }
|
||||
local trailTags = {
|
||||
"moonTrail_solarSystem",
|
||||
"moonTrail_giants",
|
||||
"moonTrail_jupiter",
|
||||
"moonTrail_minor"
|
||||
"moonTrail_minor",
|
||||
"moonTrail_minor_jupiter"
|
||||
}
|
||||
|
||||
local otherGroups = {
|
||||
|
||||
@@ -6,13 +6,14 @@ local kernel = asset.require("../kernels").jup341
|
||||
|
||||
local parentIdentifier = transforms.JupiterBarycenter.Identifier
|
||||
local parentSpice = "JUPITER BARYCENTER"
|
||||
local tags = { "moon_solarSystem", "moon_giants", "moon_jupiter", "moon_pasiphae", "moon_minor" }
|
||||
local tags = { "moon_solarSystem", "moon_giants", "moon_jupiter", "moon_pasiphae", "moon_minor", "moon_minor_jupiter" }
|
||||
local trailColor = { 0.4, 0.3, 0.01 }
|
||||
local trailTags = {
|
||||
"moonTrail_solarSystem",
|
||||
"moonTrail_giants",
|
||||
"moonTrail_jupiter",
|
||||
"moonTrail_minor"
|
||||
"moonTrail_minor",
|
||||
"moonTrail_minor_jupiter"
|
||||
}
|
||||
local pasiphaeGroup = {
|
||||
{
|
||||
|
||||
@@ -6,13 +6,14 @@ local kernel = asset.require("../kernels").jup341
|
||||
|
||||
local parentIdentifier = transforms.JupiterBarycenter.Identifier
|
||||
local parentSpice = "JUPITER BARYCENTER"
|
||||
local tags = { "moon_solarSystem", "moon_giants", "moon_jupiter", "moon_themisto", "moon_minor" }
|
||||
local tags = { "moon_solarSystem", "moon_giants", "moon_jupiter", "moon_themisto", "moon_minor", "moon_minor_jupiter" }
|
||||
local trailColor = { 0.4, 0.3, 0.01 }
|
||||
local trailTags = {
|
||||
"moonTrail_solarSystem",
|
||||
"moonTrail_giants",
|
||||
"moonTrail_jupiter",
|
||||
"moonTrail_minor"
|
||||
"moonTrail_minor",
|
||||
"moonTrail_minor_jupiter"
|
||||
}
|
||||
local themistoGroup = {
|
||||
{
|
||||
|
||||
@@ -7,10 +7,68 @@ asset.require("./minor/other_groups")
|
||||
asset.require("./minor/pasiphae_group")
|
||||
asset.require("./minor/themisto_group")
|
||||
|
||||
local minormoons_on = {
|
||||
Identifier = "os.solarsystem.jupiter.minormoonson",
|
||||
Name = "Turn ON minor moons and trails",
|
||||
Command = [[
|
||||
local trails = openspace.getProperty('{moonTrail_minor_jupiter}.Renderable.Enabled');
|
||||
local trails_fade = openspace.getProperty('{moonTrail_minor_jupiter}.Renderable.Fade');
|
||||
|
||||
local moons = openspace.getProperty('{moon_minor_jupiter}.Renderable.Enabled');
|
||||
local moons_fade = openspace.getProperty('{moon_minor_jupiter}.Renderable.Fade');
|
||||
|
||||
for i, v in pairs(trails_fade) do
|
||||
openspace.setPropertyValueSingle(trails[i], true)
|
||||
openspace.setPropertyValueSingle(v, 1, 2, 'Linear')
|
||||
end
|
||||
|
||||
for i, v in pairs(moons_fade) do
|
||||
openspace.setPropertyValueSingle(moons[i], true)
|
||||
openspace.setPropertyValueSingle(v, 1, 2, 'Linear')
|
||||
end
|
||||
]],
|
||||
Documentation = "Turn ON Jupiter's minor moons and their trails",
|
||||
GuiPath = "/Solar System/Jupiter",
|
||||
IsLocal = true
|
||||
}
|
||||
|
||||
local minormoons_off = {
|
||||
Identifier = "os.solarsystem.jupiter.minormoonsoff",
|
||||
Name = "Turn OFF minors moon and trails",
|
||||
Command = [[
|
||||
local trails = openspace.getProperty('{moonTrail_minor_jupiter}.Renderable.Enabled');
|
||||
local trails_fade = openspace.getProperty('{moonTrail_minor_jupiter}.Renderable.Fade');
|
||||
|
||||
local moons = openspace.getProperty('{moon_minor_jupiter}.Renderable.Enabled');
|
||||
local moons_fade = openspace.getProperty('{moon_minor_jupiter}.Renderable.Fade');
|
||||
|
||||
for i, v in pairs(trails_fade) do
|
||||
openspace.setPropertyValueSingle(v, 0, 2, 'Linear', "openspace.setPropertyValueSingle('" .. trails[i] .. "', false)" )
|
||||
end
|
||||
|
||||
for i, v in pairs(moons_fade) do
|
||||
openspace.setPropertyValueSingle(v, 0, 2, 'Linear', "openspace.setPropertyValueSingle('" .. moons[i] .. "', false)" )
|
||||
end
|
||||
]],
|
||||
Documentation = "Turn OFF Jupiter's minor moons and their trails",
|
||||
GuiPath = "/Solar System/Jupiter",
|
||||
IsLocal = true
|
||||
}
|
||||
|
||||
asset.onInitialize(function()
|
||||
openspace.action.registerAction(minormoons_on)
|
||||
openspace.action.registerAction(minormoons_off)
|
||||
end)
|
||||
|
||||
asset.onDeinitialize(function()
|
||||
openspace.action.removeAction(minormoons_off)
|
||||
openspace.action.removeAction(minormoons_on)
|
||||
end)
|
||||
|
||||
|
||||
asset.meta = {
|
||||
Name = "Jupiter Minor Moons",
|
||||
Version = "1.0",
|
||||
Version = "1.1",
|
||||
Description = [[Meta asset containing eight moon groups: Ananke, Carme, Carpo, Himalia,
|
||||
Pasiphae, Themisto, Inner, and Other]],
|
||||
Author = "OpenSpace Team",
|
||||
|
||||
@@ -9,13 +9,14 @@ local kernel088 = kernels.nep088
|
||||
|
||||
local parentIdentifier = transforms.NeptuneBarycenter.Identifier
|
||||
local parentSpice = "NEPTUNE BARYCENTER"
|
||||
local tags = { "moon_solarSystem", "moon_giants", "moon_neptune", "moon_inner", "moon_minor" }
|
||||
local tags = { "moon_solarSystem", "moon_giants", "moon_neptune", "moon_inner", "moon_minor", "moon_minor_neptune" }
|
||||
local trailColor = { 0.2, 0.5, 0.75 }
|
||||
local trailTags = {
|
||||
"moonTrail_solarSystem",
|
||||
"moonTrail_giants",
|
||||
"moonTrail_neptune",
|
||||
"moonTrail_minor"
|
||||
"moonTrail_minor",
|
||||
"moonTrail_minor_neptune"
|
||||
}
|
||||
|
||||
local innerMoons = {
|
||||
|
||||
@@ -9,13 +9,14 @@ local kernel088 = kernels.nep088
|
||||
|
||||
local parentIdentifier = transforms.NeptuneBarycenter.Identifier
|
||||
local parentSpice = "NEPTUNE BARYCENTER"
|
||||
local tags = { "moon_solarSystem", "moon_giants", "moon_neptune", "moon_irregular_prograde", "moon_minor" }
|
||||
local tags = { "moon_solarSystem", "moon_giants", "moon_neptune", "moon_irregular_prograde", "moon_minor", "moon_minor_neptune" }
|
||||
local trailColor = { 0.2, 0.5, 0.75 }
|
||||
local trailTags = {
|
||||
"moonTrail_solarSystem",
|
||||
"moonTrail_giants",
|
||||
"moonTrail_neptune",
|
||||
"moonTrail_minor"
|
||||
"moonTrail_minor",
|
||||
"moonTrail_minor_neptune"
|
||||
}
|
||||
|
||||
local irregularProgradeMoons = {
|
||||
|
||||
@@ -8,13 +8,14 @@ local kernel086 = kernels.nep086
|
||||
|
||||
local parentIdentifier = transforms.NeptuneBarycenter.Identifier
|
||||
local parentSpice = "NEPTUNE BARYCENTER"
|
||||
local tags = { "moon_solarSystem", "moon_giants", "moon_neptune", "moon_irregular_retrograde", "moon_minor" }
|
||||
local tags = { "moon_solarSystem", "moon_giants", "moon_neptune", "moon_irregular_retrograde", "moon_minor", "moon_minor_neptune" }
|
||||
local trailColor = { 0.2, 0.5, 0.75 }
|
||||
local trailTags = {
|
||||
"moonTrail_solarSystem",
|
||||
"moonTrail_giants",
|
||||
"moonTrail_neptune",
|
||||
"moonTrail_minor"
|
||||
"moonTrail_minor",
|
||||
"moonTrail_minor_neptune"
|
||||
}
|
||||
|
||||
local irregularRetrogradeMoons = {
|
||||
|
||||
@@ -2,10 +2,67 @@ asset.require("./inner_moons")
|
||||
asset.require("./irregular_prograde_moons")
|
||||
asset.require("./irregular_retrograde_moons")
|
||||
|
||||
local minormoons_on = {
|
||||
Identifier = "os.solarsystem.neptune.minormoonson",
|
||||
Name = "Turn ON minor moons and trails",
|
||||
Command = [[
|
||||
local trails = openspace.getProperty('{moonTrail_minor_neptune}.Renderable.Enabled');
|
||||
local trails_fade = openspace.getProperty('{moonTrail_minor_neptune}.Renderable.Fade');
|
||||
|
||||
local moons = openspace.getProperty('{moon_minor_neptune}.Renderable.Enabled');
|
||||
local moons_fade = openspace.getProperty('{moon_minor_neptune}.Renderable.Fade');
|
||||
|
||||
for i, v in pairs(trails_fade) do
|
||||
openspace.setPropertyValueSingle(trails[i], true)
|
||||
openspace.setPropertyValueSingle(v, 1, 2, 'Linear')
|
||||
end
|
||||
|
||||
for i, v in pairs(moons_fade) do
|
||||
openspace.setPropertyValueSingle(moons[i], true)
|
||||
openspace.setPropertyValueSingle(v, 1, 2, 'Linear')
|
||||
end
|
||||
]],
|
||||
Documentation = "Turn ON Neptune's minor moons and their trails",
|
||||
GuiPath = "/Solar System/Neptune",
|
||||
IsLocal = true
|
||||
}
|
||||
|
||||
local minormoons_off = {
|
||||
Identifier = "os.solarsystem.neptune.minormoonsoff",
|
||||
Name = "Turn OFF minors moon and trails",
|
||||
Command = [[
|
||||
local trails = openspace.getProperty('{moonTrail_minor_neptune}.Renderable.Enabled');
|
||||
local trails_fade = openspace.getProperty('{moonTrail_minor_neptune}.Renderable.Fade');
|
||||
|
||||
local moons = openspace.getProperty('{moon_minor_neptune}.Renderable.Enabled');
|
||||
local moons_fade = openspace.getProperty('{moon_minor_neptune}.Renderable.Fade');
|
||||
|
||||
for i, v in pairs(trails_fade) do
|
||||
openspace.setPropertyValueSingle(v, 0, 2, 'Linear', "openspace.setPropertyValueSingle('" .. trails[i] .. "', false)" )
|
||||
end
|
||||
|
||||
for i, v in pairs(moons_fade) do
|
||||
openspace.setPropertyValueSingle(v, 0, 2, 'Linear', "openspace.setPropertyValueSingle('" .. moons[i] .. "', false)" )
|
||||
end
|
||||
]],
|
||||
Documentation = "Turn OFF Neptune's minor moons and their trails",
|
||||
GuiPath = "/Solar System/Neptune",
|
||||
IsLocal = true
|
||||
}
|
||||
|
||||
asset.onInitialize(function()
|
||||
openspace.action.registerAction(minormoons_on)
|
||||
openspace.action.registerAction(minormoons_off)
|
||||
end)
|
||||
|
||||
asset.onDeinitialize(function()
|
||||
openspace.action.removeAction(minormoons_off)
|
||||
openspace.action.removeAction(minormoons_on)
|
||||
end)
|
||||
|
||||
asset.meta = {
|
||||
Name = "Neptune Minor Moons",
|
||||
Version = "1.0",
|
||||
Version = "1.1",
|
||||
Description = [[Meta asset containing 3 moon groups: inner_moons,
|
||||
irregular_prograde_moons, and irregular_retrograde_moons]],
|
||||
Author = "OpenSpace Team",
|
||||
|
||||
@@ -6,13 +6,14 @@ local kernel = asset.require("../kernels").sat368
|
||||
|
||||
local parentIdentifier = transforms.SaturnBarycenter.Identifier
|
||||
local parentSpice = "SATURN BARYCENTER"
|
||||
local tags = { "moon_solarSystem", "moon_giants", "moon_saturn", "moon_gallic", "moon_minor" }
|
||||
local tags = { "moon_solarSystem", "moon_giants", "moon_saturn", "moon_gallic", "moon_minor", "moon_minor_saturn" }
|
||||
local trailColor = { 0.5, 0.3, 0.3 }
|
||||
local trailTags = {
|
||||
"moonTrail_solarSystem",
|
||||
"moonTrail_giants",
|
||||
"moonTrail_saturn",
|
||||
"moonTrail_minor"
|
||||
"moonTrail_minor",
|
||||
"moonTrail_minor_saturn"
|
||||
}
|
||||
|
||||
local gallicGroup = {
|
||||
|
||||
@@ -6,13 +6,14 @@ local kernel = asset.require("../kernels").sat368
|
||||
|
||||
local parentIdentifier = transforms.SaturnBarycenter.Identifier
|
||||
local parentSpice = "SATURN BARYCENTER"
|
||||
local tags = { "moon_solarSystem", "moon_giants", "moon_saturn", "moon_inuit", "moon_minor" }
|
||||
local tags = { "moon_solarSystem", "moon_giants", "moon_saturn", "moon_inuit", "moon_minor", "moon_minor_saturn" }
|
||||
local trailColor = { 0.5, 0.3, 0.3 }
|
||||
local trailTags = {
|
||||
"moonTrail_solarSystem",
|
||||
"moonTrail_giants",
|
||||
"moonTrail_saturn",
|
||||
"moonTrail_minor"
|
||||
"moonTrail_minor",
|
||||
"moonTrail_minor_saturn"
|
||||
}
|
||||
|
||||
local inuitGroup = {
|
||||
|
||||
@@ -8,13 +8,14 @@ local kernel375 = kernels.sat375
|
||||
|
||||
local parentIdentifier = transforms.SaturnBarycenter.Identifier
|
||||
local parentSpice = "SATURN BARYCENTER"
|
||||
local tags = { "moon_solarSystem", "moon_giants", "moon_saturn", "moon_norse", "moon_minor" }
|
||||
local tags = { "moon_solarSystem", "moon_giants", "moon_saturn", "moon_norse", "moon_minor", "moon_minor_saturn" }
|
||||
local trailColor = { 0.5, 0.3, 0.3 }
|
||||
local trailTags = {
|
||||
"moonTrail_solarSystem",
|
||||
"moonTrail_giants",
|
||||
"moonTrail_saturn",
|
||||
"moonTrail_minor"
|
||||
"moonTrail_minor",
|
||||
"moonTrail_minor_saturn"
|
||||
}
|
||||
|
||||
local norseGroup = {
|
||||
|
||||
@@ -8,13 +8,14 @@ local kernel393 = kernels.sat393
|
||||
|
||||
local parentIdentifier = transforms.SaturnBarycenter.Identifier
|
||||
local parentSpice = "SATURN BARYCENTER"
|
||||
local tags = { "moon_solarSystem", "moon_giants", "moon_saturn", "moon_other", "moon_minor" }
|
||||
local tags = { "moon_solarSystem", "moon_giants", "moon_saturn", "moon_other", "moon_minor", "moon_minor_saturn" }
|
||||
local trailColor = { 0.5, 0.3, 0.3 }
|
||||
local trailTags = {
|
||||
"moonTrail_solarSystem",
|
||||
"moonTrail_giants",
|
||||
"moonTrail_saturn",
|
||||
"moonTrail_minor"
|
||||
"moonTrail_minor",
|
||||
"moonTrail_minor_saturn"
|
||||
}
|
||||
|
||||
local otherGroup = {
|
||||
|
||||
@@ -16,13 +16,14 @@ local kernels = {
|
||||
local parentIdentifier = transforms.SaturnBarycenter.Identifier
|
||||
local parentSpice = "SATURN BARYCENTER"
|
||||
local guiPath = "/Solar System/Planets/Saturn/Moons/Shepherd Moons"
|
||||
local tags = { "moon_solarSystem", "moon_giants", "moon_saturn", "moon_shepherd", "moon_minor" }
|
||||
local tags = { "moon_solarSystem", "moon_giants", "moon_saturn", "moon_shepherd", "moon_minor", "moon_minor_saturn" }
|
||||
local trailColor = { 0.5, 0.3, 0.3 }
|
||||
local trailTags = {
|
||||
"moonTrail_solarSystem",
|
||||
"moonTrail_giants",
|
||||
"moonTrail_saturn",
|
||||
"moonTrail_minor"
|
||||
"moonTrail_minor",
|
||||
"moonTrail_minor_saturn"
|
||||
}
|
||||
|
||||
local shepherdGroup = {
|
||||
|
||||
@@ -4,10 +4,67 @@ asset.require("./minor/norse_group")
|
||||
asset.require("./minor/other_group")
|
||||
asset.require("./minor/shepherd_group")
|
||||
|
||||
local minormoons_on = {
|
||||
Identifier = "os.solarsystem.saturn.minormoonson",
|
||||
Name = "Turn ON minor moons and trails",
|
||||
Command = [[
|
||||
local trails = openspace.getProperty('{moonTrail_minor_saturn}.Renderable.Enabled');
|
||||
local trails_fade = openspace.getProperty('{moonTrail_minor_saturn}.Renderable.Fade');
|
||||
|
||||
local moons = openspace.getProperty('{moon_minor_saturn}.Renderable.Enabled');
|
||||
local moons_fade = openspace.getProperty('{moon_minor_saturn}.Renderable.Fade');
|
||||
|
||||
for i, v in pairs(trails_fade) do
|
||||
openspace.setPropertyValueSingle(trails[i], true)
|
||||
openspace.setPropertyValueSingle(v, 1, 2, 'Linear')
|
||||
end
|
||||
|
||||
for i, v in pairs(moons_fade) do
|
||||
openspace.setPropertyValueSingle(moons[i], true)
|
||||
openspace.setPropertyValueSingle(v, 1, 2, 'Linear')
|
||||
end
|
||||
]],
|
||||
Documentation = "Turn ON Saturn's minor moons and their trails",
|
||||
GuiPath = "/Solar System/Saturn",
|
||||
IsLocal = true
|
||||
}
|
||||
|
||||
local minormoons_off = {
|
||||
Identifier = "os.solarsystem.saturn.minormoonsoff",
|
||||
Name = "Turn OFF minors moon and trails",
|
||||
Command = [[
|
||||
local trails = openspace.getProperty('{moonTrail_minor_saturn}.Renderable.Enabled');
|
||||
local trails_fade = openspace.getProperty('{moonTrail_minor_saturn}.Renderable.Fade');
|
||||
|
||||
local moons = openspace.getProperty('{moon_minor_saturn}.Renderable.Enabled');
|
||||
local moons_fade = openspace.getProperty('{moon_minor_saturn}.Renderable.Fade');
|
||||
|
||||
for i, v in pairs(trails_fade) do
|
||||
openspace.setPropertyValueSingle(v, 0, 2, 'Linear', "openspace.setPropertyValueSingle('" .. trails[i] .. "', false)" )
|
||||
end
|
||||
|
||||
for i, v in pairs(moons_fade) do
|
||||
openspace.setPropertyValueSingle(v, 0, 2, 'Linear', "openspace.setPropertyValueSingle('" .. moons[i] .. "', false)" )
|
||||
end
|
||||
]],
|
||||
Documentation = "Turn OFF Saturn's minor moons and their trails",
|
||||
GuiPath = "/Solar System/Saturn",
|
||||
IsLocal = true
|
||||
}
|
||||
|
||||
asset.onInitialize(function()
|
||||
openspace.action.registerAction(minormoons_on)
|
||||
openspace.action.registerAction(minormoons_off)
|
||||
end)
|
||||
|
||||
asset.onDeinitialize(function()
|
||||
openspace.action.removeAction(minormoons_off)
|
||||
openspace.action.removeAction(minormoons_on)
|
||||
end)
|
||||
|
||||
asset.meta = {
|
||||
Name = "Saturn Minor Moons",
|
||||
Version = "1.0",
|
||||
Version = "1.1",
|
||||
Description = [[Meta asset containing five moon groups: Gallic, Inuit, Norse, Shepherd
|
||||
moons and Other]],
|
||||
Author = "OpenSpace Team",
|
||||
|
||||
@@ -6,14 +6,15 @@ local kernel = asset.require("./kernels").ura091
|
||||
|
||||
local parentIdentifier = transforms.UranusBarycenter.Identifier
|
||||
local parentSpice = "URANUS BARYCENTER"
|
||||
local tags = { "moon_solarSystem", "moon_giants", "moon_uranus", "moon_inner", "moon_minor" }
|
||||
local tags = { "moon_solarSystem", "moon_giants", "moon_uranus", "moon_inner", "moon_minor", "moon_minor_uranus" }
|
||||
|
||||
local trailColor = { 0.60, 0.65, 0.84 }
|
||||
local trailTags = {
|
||||
"moonTrail_solarSystem",
|
||||
"moonTrail_giants",
|
||||
"moonTrail_uranus",
|
||||
"moonTrail_minor"
|
||||
"moonTrail_minor",
|
||||
"moonTrail_minor_uranus"
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -6,13 +6,14 @@ local kernel = asset.require("./kernels").ura112
|
||||
|
||||
local parentIdentifier = transforms.UranusBarycenter.Identifier
|
||||
local parentSpice = "URANUS BARYCENTER"
|
||||
local tags = { "moon_solarSystem", "moon_giants", "moon_uranus", "moon_irregular_prograde", "moon_minor" }
|
||||
local tags = { "moon_solarSystem", "moon_giants", "moon_uranus", "moon_irregular_prograde", "moon_minor", "moon_minor_uranus" }
|
||||
local trailColor = { 0.60, 0.65, 0.84 }
|
||||
local trailTags = {
|
||||
"moonTrail_solarSystem",
|
||||
"moonTrail_giants",
|
||||
"moonTrail_uranus",
|
||||
"moonTrail_minor"
|
||||
"moonTrail_minor",
|
||||
"moonTrail_minor_uranus"
|
||||
}
|
||||
|
||||
local irregularMoons = {
|
||||
|
||||
@@ -6,13 +6,14 @@ local kernel = asset.require("./kernels").ura112
|
||||
|
||||
local parentIdentifier = transforms.UranusBarycenter.Identifier
|
||||
local parentSpice = "URANUS BARYCENTER"
|
||||
local tags = { "moon_solarSystem", "moon_giants", "moon_uranus", "moon_irregular_retrograde", "moon_minor" }
|
||||
local tags = { "moon_solarSystem", "moon_giants", "moon_uranus", "moon_irregular_retrograde", "moon_minor", "moon_minor_uranus" }
|
||||
local trailColor = { 0.60, 0.65, 0.84 }
|
||||
local trailTags = {
|
||||
"moonTrail_solarSystem",
|
||||
"moonTrail_giants",
|
||||
"moonTrail_uranus",
|
||||
"moonTrail_minor"
|
||||
"moonTrail_minor",
|
||||
"moonTrail_minor_uranus"
|
||||
}
|
||||
|
||||
local irregularMoons = {
|
||||
|
||||
@@ -2,10 +2,67 @@ asset.require("./inner_moons")
|
||||
asset.require("./irregular_prograde_moons")
|
||||
asset.require("./irregular_retrograde_moons")
|
||||
|
||||
local minormoons_on = {
|
||||
Identifier = "os.solarsystem.uranus.minormoonson",
|
||||
Name = "Turn ON minor moons and trails",
|
||||
Command = [[
|
||||
local trails = openspace.getProperty('{moonTrail_minor_uranus}.Renderable.Enabled');
|
||||
local trails_fade = openspace.getProperty('{moonTrail_minor_uranus}.Renderable.Fade');
|
||||
|
||||
local moons = openspace.getProperty('{moon_minor_uranus}.Renderable.Enabled');
|
||||
local moons_fade = openspace.getProperty('{moon_minor_uranus}.Renderable.Fade');
|
||||
|
||||
for i, v in pairs(trails_fade) do
|
||||
openspace.setPropertyValueSingle(trails[i], true)
|
||||
openspace.setPropertyValueSingle(v, 1, 2, 'Linear')
|
||||
end
|
||||
|
||||
for i, v in pairs(moons_fade) do
|
||||
openspace.setPropertyValueSingle(moons[i], true)
|
||||
openspace.setPropertyValueSingle(v, 1, 2, 'Linear')
|
||||
end
|
||||
]],
|
||||
Documentation = "Turn ON Uranus's minor moons and their trails",
|
||||
GuiPath = "/Solar System/Uranus",
|
||||
IsLocal = true
|
||||
}
|
||||
|
||||
local minormoons_off = {
|
||||
Identifier = "os.solarsystem.uranus.minormoonsoff",
|
||||
Name = "Turn OFF minors moon and trails",
|
||||
Command = [[
|
||||
local trails = openspace.getProperty('{moonTrail_minor_uranus}.Renderable.Enabled');
|
||||
local trails_fade = openspace.getProperty('{moonTrail_minor_uranus}.Renderable.Fade');
|
||||
|
||||
local moons = openspace.getProperty('{moon_minor_uranus}.Renderable.Enabled');
|
||||
local moons_fade = openspace.getProperty('{moon_minor_uranus}.Renderable.Fade');
|
||||
|
||||
for i, v in pairs(trails_fade) do
|
||||
openspace.setPropertyValueSingle(v, 0, 2, 'Linear', "openspace.setPropertyValueSingle('" .. trails[i] .. "', false)" )
|
||||
end
|
||||
|
||||
for i, v in pairs(moons_fade) do
|
||||
openspace.setPropertyValueSingle(v, 0, 2, 'Linear', "openspace.setPropertyValueSingle('" .. moons[i] .. "', false)" )
|
||||
end
|
||||
]],
|
||||
Documentation = "Turn OFF Uranus's minor moons and their trails",
|
||||
GuiPath = "/Solar System/Uranus",
|
||||
IsLocal = true
|
||||
}
|
||||
|
||||
asset.onInitialize(function()
|
||||
openspace.action.registerAction(minormoons_on)
|
||||
openspace.action.registerAction(minormoons_off)
|
||||
end)
|
||||
|
||||
asset.onDeinitialize(function()
|
||||
openspace.action.removeAction(minormoons_off)
|
||||
openspace.action.removeAction(minormoons_on)
|
||||
end)
|
||||
|
||||
asset.meta = {
|
||||
Name = "Uranus Minor Moons",
|
||||
Version = "1.0",
|
||||
Version = "1.1",
|
||||
Description = [[Meta asset containing three moon groups: Inner Moons, Irregular Prograde
|
||||
Moons and Irregular Retrograde Moons]],
|
||||
Author = "OpenSpace Team",
|
||||
|
||||
@@ -31,7 +31,7 @@ local EUVLayer = {
|
||||
}
|
||||
|
||||
local toggle_EUV_layer = {
|
||||
Identifier = "euv_layer.toggle_EUV",
|
||||
Identifier = "os.solarsystem.sun.toggleeuv",
|
||||
Name = "Toggle EUV Layer",
|
||||
Command = propertyHelper.invert("Scene.EUV-Layer-bastille-day-2000.Renderable.Enabled"),
|
||||
Documentation = "Toggle EUV layer of sun",
|
||||
@@ -54,7 +54,7 @@ asset.export(EUVLayer)
|
||||
|
||||
asset.meta = {
|
||||
Name = "Predictive Science Inc. EUV texture sequence Bastille Days",
|
||||
Version = "1.1",
|
||||
Version = "1.2",
|
||||
Description = [[Texture sequence of an extreme ultraviolet (EUV) simulation during,
|
||||
the CME]],
|
||||
Author = "CCMC, OpenSpace team",
|
||||
|
||||
@@ -2,3 +2,5 @@ asset.require("actions/trails/toggle_all_trails");
|
||||
asset.require("actions/trails/toggle_trails_planets_moons");
|
||||
asset.require("actions/planets/planet_lighting");
|
||||
asset.require("actions/system/undo_event_fades");
|
||||
asset.require("actions/trails/toggle_all_minor_moon_trails");
|
||||
asset.require("actions/trails/on_off_all_minor_moons");
|
||||
@@ -3,7 +3,7 @@ asset.require("./static_server")
|
||||
local guiCustomization = asset.require("customization/gui")
|
||||
|
||||
-- Select which commit hashes to use for the frontend and backend
|
||||
local frontendHash = "5011a84942cee1567565a4be250501f4453f26a2"
|
||||
local frontendHash = "644f308be66309c2089bf6f94929205b24d56a8f"
|
||||
local dataProvider = "data.openspaceproject.com/files/webgui"
|
||||
|
||||
local frontend = asset.syncedResource({
|
||||
|
||||
@@ -1,85 +1,10 @@
|
||||
{
|
||||
"actions": [
|
||||
{
|
||||
"documentation": "Jump to right before the earthrise photo",
|
||||
"gui_path": "/Missions/Apollo/8",
|
||||
"identifier": "profile.setup.earthrise",
|
||||
"is_local": false,
|
||||
"name": "Set Earthrise time",
|
||||
"script": "openspace.time.setPause(true); openspace.time.setDeltaTime(1); openspace.time.setTime('1968 DEC 24 16:37:31'); openspace.navigation.setNavigationState({Anchor = 'Apollo8', Position = { 1.494592E1, 3.236777E1, -4.171296E1 }, ReferenceFrame = 'Root', Up = { 0.960608E0, -0.212013E0, 0.179675E0 }}); openspace.setPropertyValue('*Trail.Renderable.Enabled', false);"
|
||||
},
|
||||
{
|
||||
"documentation": "Jump to time right before Apollo 8 liftoff, with its trail enabled",
|
||||
"gui_path": "/Missions/Apollo/8",
|
||||
"identifier": "profile.setup.apollo8",
|
||||
"is_local": false,
|
||||
"name": "Set Apollo 8 launch time",
|
||||
"script": "openspace.time.setTime('1968-12-21T12:51:37.00'); openspace.setPropertyValueSingle('Scene.Apollo8LaunchTrail.Renderable.Enabled', true);"
|
||||
},
|
||||
{
|
||||
"documentation": "Toggles Moon Kaguya color layer",
|
||||
"gui_path": "/Missions/Apollo",
|
||||
"identifier": "profile.moon.kaguyalayer",
|
||||
"is_local": false,
|
||||
"name": "Toggle Kaguya layer",
|
||||
"script": "openspace.setPropertyValueSingle('Scene.Moon.Renderable.Layers.ColorLayers.Kaguya_Utah.Enabled', not openspace.getPropertyValue('Scene.Moon.Renderable.Layers.ColorLayers.Kaguya_Utah.Enabled'));"
|
||||
},
|
||||
{
|
||||
"documentation": "Toggles shading for the Moon",
|
||||
"gui_path": "/Missions/Apollo",
|
||||
"identifier": "profile.moon.shading",
|
||||
"is_local": false,
|
||||
"name": "Toggle Moon shading",
|
||||
"script": "openspace.setPropertyValueSingle('Scene.Moon.Renderable.PerformShading', not openspace.getPropertyValue('Scene.Moon.Renderable.PerformShading'));"
|
||||
},
|
||||
{
|
||||
"documentation": "Set camera focus to the Earth",
|
||||
"gui_path": "/Missions/Apollo",
|
||||
"identifier": "profile.focus.earth",
|
||||
"is_local": false,
|
||||
"name": "Focus on Earth",
|
||||
"script": "openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.Aim', ''); openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.Anchor', 'Earth'); openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.RetargetAnchor', nil);"
|
||||
},
|
||||
{
|
||||
"documentation": "Set camera focus to the Moon",
|
||||
"gui_path": "/Missions/Apollo",
|
||||
"identifier": "profile.focus.moon",
|
||||
"is_local": false,
|
||||
"name": "Focus on Moon",
|
||||
"script": "openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.Aim', ''); openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.Anchor', 'Moon'); openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.RetargetAnchor', nil);"
|
||||
},
|
||||
{
|
||||
"documentation": "Disable apollo site on moon when leaving",
|
||||
"gui_path": "/Missions/Apollo",
|
||||
"identifier": "profile.moon.disableapollosites",
|
||||
"is_local": false,
|
||||
"name": "Disable Apollo sites",
|
||||
"script": "openspace.setPropertyValue('Scene.Moon.Renderable.Layers.ColorLayers.A17_*.Enabled', false); openspace.setPropertyValueSingle('Scene.Moon.Renderable.Layers.HeightLayers.LRO_NAC_Apollo_11.Enabled', false); openspace.setPropertyValueSingle('Scene.Moon.Renderable.Layers.ColorLayers.A11_M177481212_p_longlat.Enabled', false); openspace.setPropertyValueSingle('Scene.Apollo11MoonTrail.Renderable.Enabled', false); openspace.setPropertyValueSingle('Scene.Apollo11LemTrail.Renderable.Enabled', false); openspace.setPropertyValueSingle('Scene.Moon.Renderable.Layers.HeightLayers.LRO_NAC_Apollo_17.Enabled', false);"
|
||||
},
|
||||
{
|
||||
"documentation": "Setup for Apollo 11 landing site",
|
||||
"gui_path": "/Missions/Apollo/11",
|
||||
"identifier": "profile.setup.apollo11",
|
||||
"is_local": false,
|
||||
"name": "Setup A11 site",
|
||||
"script": "openspace.time.setTime('1969 JUL 20 20:17:40'); openspace.setPropertyValueSingle('Scene.Moon.Renderable.Layers.HeightLayers.LRO_NAC_Apollo_11.Enabled', true); openspace.setPropertyValueSingle('Scene.Moon.Renderable.Layers.ColorLayers.A11_M177481212_p_longlat.Enabled', true); openspace.setPropertyValueSingle('Scene.Moon.Renderable.TargetLodScaleFactor', 20.11); openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.Anchor', 'Apollo11LemPosition'); openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.RetargetAnchor', nil); openspace.setPropertyValueSingle('Scene.Apollo11MoonTrail.Renderable.Enabled', true); openspace.setPropertyValueSingle('Scene.Apollo11LemTrail.Renderable.Enabled', true);"
|
||||
},
|
||||
{
|
||||
"documentation": "Setup for Apollo 17 landing site",
|
||||
"gui_path": "/Missions/Apollo/17",
|
||||
"identifier": "profile.setup.apollo17",
|
||||
"is_local": false,
|
||||
"name": "Setup A17 site",
|
||||
"script": "openspace.time.setTime('1972 DEC 12 19:47:11'); openspace.setPropertyValueSingle('Scene.Moon.Renderable.Layers.ColorLayers.A17_travmap.BlendMode', 0.000000); openspace.setPropertyValueSingle('Scene.Moon.Renderable.Layers.ColorLayers.A17_travmap.Enabled', true); openspace.setPropertyValueSingle('Scene.Moon.Renderable.Layers.HeightLayers.LRO_NAC_Apollo_17.Enabled', true); openspace.setPropertyValueSingle('Scene.Moon.Renderable.Layers.ColorLayers.A17_LEM.Enabled', true); openspace.setPropertyValueSingle('Scene.Moon.Renderable.Layers.ColorLayers.A17_LEM.BlendMode', 0.000000); openspace.setPropertyValueSingle('Scene.Moon.Renderable.Layers.ColorLayers.A17_NAC_Alt_p.Enabled', true); openspace.setPropertyValueSingle('Scene.Moon.Renderable.Layers.ColorLayers.A17_NAC_Alt_p.BlendMode', 0.000000); openspace.setPropertyValueSingle('Scene.Moon.Renderable.TargetLodScaleFactor', 20.17); openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.Anchor', 'Apollo17LemModel'); openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.RetargetAnchor', nil); openspace.setPropertyValueSingle('Scene.Moon.Renderable.Layers.ColorLayers.A17_station7.BlendMode', 0.000000);"
|
||||
}
|
||||
],
|
||||
"assets": [
|
||||
"base",
|
||||
"scene/solarsystem/missions/apollo/8/apollo8",
|
||||
"scene/solarsystem/missions/apollo/11/apollo11",
|
||||
"scene/solarsystem/missions/apollo/11/lem_flipbook",
|
||||
"scene/solarsystem/missions/apollo/17/lem",
|
||||
"scene/solarsystem/missions/apollo/8/apollo8",
|
||||
"scene/solarsystem/missions/apollo/apollo_globebrowsing",
|
||||
"scene/solarsystem/missions/apollo/17/apollo17",
|
||||
"scene/solarsystem/missions/apollo/insignias_map"
|
||||
],
|
||||
"camera": {
|
||||
@@ -113,40 +38,40 @@
|
||||
],
|
||||
"keybindings": [
|
||||
{
|
||||
"action": "profile.setup.earthrise",
|
||||
"action": "os.missions.apollo8.setup.earthrise",
|
||||
"key": "E"
|
||||
},
|
||||
{
|
||||
"action": "profile.setup.apollo8",
|
||||
"action": "os.missions.apollo8.setup.launch",
|
||||
"key": "U"
|
||||
},
|
||||
{
|
||||
"action": "profile.moon.kaguyalayer",
|
||||
"action": "os.missions.apollo.moon.togglekaguyalayer",
|
||||
"key": "K"
|
||||
},
|
||||
{
|
||||
"action": "profile.moon.shading",
|
||||
"action": "os.missions.apollo.moon.toggleshading",
|
||||
"key": "S"
|
||||
},
|
||||
{
|
||||
"action": "profile.focus.earth",
|
||||
"action": "os.missions.apollo.earth.focus",
|
||||
"key": "Home"
|
||||
},
|
||||
{
|
||||
"action": "profile.focus.moon",
|
||||
"action": "os.missions.apollo.moon.focus",
|
||||
"key": "M"
|
||||
},
|
||||
{
|
||||
"action": "profile.moon.disableapollosites",
|
||||
"action": "os.missions.apollo17.setup.landingsite",
|
||||
"key": "F7"
|
||||
},
|
||||
{
|
||||
"action": "os.missions.apollo.moon.disableapollosites",
|
||||
"key": "F9"
|
||||
},
|
||||
{
|
||||
"action": "profile.setup.apollo11",
|
||||
"action": "os.missions.apollo11.setup.landingsite",
|
||||
"key": "F11"
|
||||
},
|
||||
{
|
||||
"action": "profile.setup.apollo17",
|
||||
"key": "F7"
|
||||
}
|
||||
],
|
||||
"mark_nodes": [
|
||||
|
||||
@@ -1,49 +1,8 @@
|
||||
{
|
||||
"actions": [
|
||||
{
|
||||
"documentation": "Reset button to start of CME",
|
||||
"gui_path": "/Bastille-Day 2000",
|
||||
"identifier": "bastille-day.reset_loops",
|
||||
"is_local": false,
|
||||
"name": "Reset button. Start of CME, no loop",
|
||||
"script": "openspace.time.setTime('2000-JUL-14 10:03:00.00');openspace.scriptScheduler.clear();"
|
||||
},
|
||||
{
|
||||
"documentation": "New loop: Restarts time at 10:03 and stops at 10:16, sets delta time to 2 min/ second (120 seconds/ second)",
|
||||
"gui_path": "/Bastille-Day 2000",
|
||||
"identifier": "bastille-day.short_loop",
|
||||
"is_local": false,
|
||||
"name": "Loop 10:03 - 10:16, at 2 min/ second",
|
||||
"script": "openspace.scriptScheduler.clear();openspace.time.setDeltaTime(120);openspace.time.setTime('2000-JUL-14 10:03:00.00');EndtimeShortLoop = \"2000 JUL 14 10:16:00\";StarttimescriptSlowLoop = \"openspace.time.setTime('2000 JUL 14 10:03:00')\";openspace.scriptScheduler.loadScheduledScript(EndtimeShortLoop, StarttimescriptSlowLoop);"
|
||||
},
|
||||
{
|
||||
"documentation": "New loop: Restarts time at 10:03 and stops at 11:00, delta time to 4 min/ second (240 seconds/ second)",
|
||||
"gui_path": "/Bastille-Day 2000",
|
||||
"identifier": "bastille-day.standard_loop",
|
||||
"is_local": false,
|
||||
"name": "Loop 10:03 - 11:00, at 4 min/ second",
|
||||
"script": "StarttimescriptSlowLoop = \"openspace.time.setTime('2000 JUL 14 10:03:00')\";openspace.scriptScheduler.clear();openspace.time.setDeltaTime(240);openspace.time.setTime('2000-JUL-14 10:03:00.00');openspace.scriptScheduler.loadScheduledScript('2000 JUL 14 11:00:00', StarttimescriptSlowLoop);"
|
||||
},
|
||||
{
|
||||
"documentation": "Fast loop: Starts from 10:03 and sets delta time to 15 min/ second (900 seconds/ second)",
|
||||
"gui_path": "/Bastille-Day 2000",
|
||||
"identifier": "bastille-day.fast_loop",
|
||||
"is_local": false,
|
||||
"name": "Loop 10:03 - 11.48, at 15 min/ second",
|
||||
"script": "openspace.scriptScheduler.clear();openspace.time.setDeltaTime(900);openspace.time.setTime('2000-JUL-14 10:03:00.00');StarttimescriptFastLoop = \"openspace.time.setTime('2000 JUL 14 10:03:00')\";openspace.scriptScheduler.loadScheduledScript('2000 JUL 14 11:48:00', StarttimescriptFastLoop);"
|
||||
},
|
||||
{
|
||||
"documentation": "Long loop: Restarts time at 09:30 and stops at 11:50, delta time to 4 min/ second (240 seconds/ second)",
|
||||
"gui_path": "/Bastille-Day 2000",
|
||||
"identifier": "bastille-day.long_loop",
|
||||
"is_local": false,
|
||||
"name": "Loop 09:30 - 13:00, at 4 min/ second",
|
||||
"script": "openspace.scriptScheduler.clear();openspace.time.setDeltaTime(240);openspace.time.setTime('2000-JUL-14 09:30:00.00');StarttimescriptLongLoop = \"openspace.time.setTime('2000 JUL 14 09:30:00')\";openspace.scriptScheduler.loadScheduledScript('2000 JUL 14 13:00:00', StarttimescriptLongLoop);"
|
||||
}
|
||||
],
|
||||
"assets": [
|
||||
"base",
|
||||
"dashboard/default_dashboard",
|
||||
"scene/solarsystem/heliosphere/bastille_day/actions",
|
||||
"scene/solarsystem/heliosphere/bastille_day/density_volume",
|
||||
"scene/solarsystem/heliosphere/bastille_day/fieldlines",
|
||||
"scene/solarsystem/heliosphere/bastille_day/fluxnodes",
|
||||
@@ -88,59 +47,59 @@
|
||||
],
|
||||
"keybindings": [
|
||||
{
|
||||
"action": "bastille-day.reset_loops",
|
||||
"action": "os.events.bastilleday.setup.startofcme",
|
||||
"key": "R"
|
||||
},
|
||||
{
|
||||
"action": "bastille-day.short_loop",
|
||||
"action": "os.events.bastilleday.setup.shortloop",
|
||||
"key": "CTRL+1"
|
||||
},
|
||||
{
|
||||
"action": "bastille-day.standard_loop",
|
||||
"action": "os.events.bastilleday.setup.standardloop",
|
||||
"key": "CTRL+2"
|
||||
},
|
||||
{
|
||||
"action": "bastille-day.fast_loop",
|
||||
"action": "os.events.bastilleday.setup.fastloop",
|
||||
"key": "CTRL+3"
|
||||
},
|
||||
{
|
||||
"action": "bastille-day.long_loop",
|
||||
"action": "os.events.bastilleday.setup.longloop",
|
||||
"key": "CTRL+4"
|
||||
},
|
||||
{
|
||||
"action": "density_volume.toggle_volume",
|
||||
"action": "os.events.bastilleday.densityvolume.togglevolume",
|
||||
"key": "D"
|
||||
},
|
||||
{
|
||||
"action": "fluxnodelegend.show_legend",
|
||||
"action": "os.events.bastilleday.fluxnodelegend.showlegend",
|
||||
"key": "N"
|
||||
},
|
||||
{
|
||||
"action": "fluxnodelegend.hide_legend",
|
||||
"action": "os.events.bastilleday.fluxnodelegend.hidelegend",
|
||||
"key": "M"
|
||||
},
|
||||
{
|
||||
"action": "magnetogram_texture.switch_color_layer",
|
||||
"action": "os.events.bastilleday.magnetogramtexture.switchcolorlayer",
|
||||
"key": "I"
|
||||
},
|
||||
{
|
||||
"action": "euv_layer.toggle_EUV",
|
||||
"action": "os.solarsystem.sun.toggleeuv",
|
||||
"key": "E"
|
||||
},
|
||||
{
|
||||
"action": "fluxnodes.toggle_fluxnodes",
|
||||
"action": "os.events.bastilleday.fluxnodes.togglefluxnodes",
|
||||
"key": "O"
|
||||
},
|
||||
{
|
||||
"action": "fieldlines.toggle_fieldlines",
|
||||
"action": "os.events.bastilleday.fieldlines.togglefieldlines",
|
||||
"key": "U"
|
||||
},
|
||||
{
|
||||
"action": "fluxnodescutplane.toggle_equatorial",
|
||||
"action": "os.events.bastilleday.fluxnodescutplane.toggleequatorial",
|
||||
"key": "P"
|
||||
},
|
||||
{
|
||||
"action": "fluxnodescutplane.toggle_meridial",
|
||||
"action": "os.events.bastilleday.fluxnodescutplane.togglemeridial",
|
||||
"key": "LEFTBRACKET"
|
||||
}
|
||||
],
|
||||
@@ -158,7 +117,7 @@
|
||||
"license": "MIT License",
|
||||
"name": "Bastille day 2000",
|
||||
"url": "https://www.openspaceproject.com",
|
||||
"version": "1.0"
|
||||
"version": "1.1"
|
||||
},
|
||||
"properties": [
|
||||
{
|
||||
|
||||
@@ -1,30 +1,4 @@
|
||||
{
|
||||
"actions": [
|
||||
{
|
||||
"documentation": "Toggle trails on or off for satellites around Earth",
|
||||
"gui_path": "/Solar System/Earth",
|
||||
"identifier": "profile.toggle.satellite",
|
||||
"is_local": false,
|
||||
"name": "Toggle satellite trails",
|
||||
"script": "local list = openspace.getProperty('{earth_satellites}.Renderable.Enabled'); for _,v in pairs(list) do openspace.setPropertyValueSingle(v, not openspace.getPropertyValue(v)) end"
|
||||
},
|
||||
{
|
||||
"documentation": "Refocuses the camera on the ISS",
|
||||
"gui_path": "/Solar System/Earth",
|
||||
"identifier": "profile.focus.iss",
|
||||
"is_local": false,
|
||||
"name": "Focus ISS",
|
||||
"script": "openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.Aim', '');openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.Anchor', 'ISS');openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.RetargetAnchor', nil);"
|
||||
},
|
||||
{
|
||||
"documentation": "Retargets the camera on Earth",
|
||||
"gui_path": "/Solar System/Earth",
|
||||
"identifier": "profile.focus.earth",
|
||||
"is_local": false,
|
||||
"name": "Focus on Earth",
|
||||
"script": "openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.Aim', '');openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.Anchor', 'Earth')openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.RetargetAnchor', nil);"
|
||||
}
|
||||
],
|
||||
"assets": [
|
||||
"base",
|
||||
"events/toggle_sun",
|
||||
@@ -62,15 +36,15 @@
|
||||
],
|
||||
"keybindings": [
|
||||
{
|
||||
"action": "profile.toggle.satellite",
|
||||
"action": "os.solarsystem.earth.togglesatellitetrails",
|
||||
"key": "S"
|
||||
},
|
||||
{
|
||||
"action": "profile.focus.iss",
|
||||
"action": "os.solarsystem.earth.iss.focus",
|
||||
"key": "I"
|
||||
},
|
||||
{
|
||||
"action": "profile.focus.earth",
|
||||
"action": "os.solarsystem.earth.focus",
|
||||
"key": "HOME"
|
||||
}
|
||||
],
|
||||
|
||||
@@ -1,38 +1,4 @@
|
||||
{
|
||||
"actions": [
|
||||
{
|
||||
"documentation": "Toggle trails on or off for satellites around Earth",
|
||||
"gui_path": "/Solar System/Earth",
|
||||
"identifier": "profile.toggle.satellite",
|
||||
"is_local": false,
|
||||
"name": "Toggle satellite trails",
|
||||
"script": "local list = openspace.getProperty('{earth_satellites}.Renderable.Enabled'); for _,v in pairs(list) do openspace.setPropertyValueSingle(v, not openspace.getPropertyValue(v)) end"
|
||||
},
|
||||
{
|
||||
"documentation": "Refocuses the camera on the ISS",
|
||||
"gui_path": "/Solar System/Earth",
|
||||
"identifier": "profile.focus.iss",
|
||||
"is_local": false,
|
||||
"name": "Focus ISS",
|
||||
"script": "openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.Aim', '');openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.Anchor', 'ISS');openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.RetargetAnchor', nil);"
|
||||
},
|
||||
{
|
||||
"documentation": "Retargets the camera on Earth",
|
||||
"gui_path": "/Solar System/Earth",
|
||||
"identifier": "profile.focus.earth",
|
||||
"is_local": false,
|
||||
"name": "Focus on Earth",
|
||||
"script": "openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.Aim', '');openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.Anchor', 'Earth')openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.RetargetAnchor', nil);"
|
||||
},
|
||||
{
|
||||
"documentation": "Toggle on/off minor moon trails for all planets in the solar system",
|
||||
"gui_path": "/Trails",
|
||||
"identifier": "profile.toggle.minormoons",
|
||||
"is_local": false,
|
||||
"name": "Toggle Minor Moon Trails",
|
||||
"script": "local list = openspace.getProperty('{moonTrail_minor}.Renderable.Enabled'); for _,v in pairs(list) do openspace.setPropertyValueSingle(v, not openspace.getPropertyValue(v)) end"
|
||||
}
|
||||
],
|
||||
"assets": [
|
||||
"base",
|
||||
"events/toggle_sun",
|
||||
@@ -79,19 +45,19 @@
|
||||
],
|
||||
"keybindings": [
|
||||
{
|
||||
"action": "profile.toggle.satellite",
|
||||
"action": "os.solarsystem.earth.togglesatellitetrails",
|
||||
"key": "S"
|
||||
},
|
||||
{
|
||||
"action": "profile.focus.iss",
|
||||
"action": "os.solarsystem.earth.iss.focus",
|
||||
"key": "I"
|
||||
},
|
||||
{
|
||||
"action": "profile.focus.earth",
|
||||
"action": "os.solarsystem.earth.focus",
|
||||
"key": "HOME"
|
||||
},
|
||||
{
|
||||
"action": "profile.toggle.minormoons",
|
||||
"action": "os_default.toggle_minormoon_trails",
|
||||
"key": "SHIFT+H"
|
||||
}
|
||||
],
|
||||
|
||||
@@ -1,86 +1,4 @@
|
||||
{
|
||||
"actions": [
|
||||
{
|
||||
"documentation": "Toggle trails on or off for satellites around Earth",
|
||||
"gui_path": "/Solar System/Earth",
|
||||
"identifier": "profile.toggle.satellitetrails",
|
||||
"is_local": false,
|
||||
"name": "Toggle satellite trails",
|
||||
"script": "local list = openspace.getProperty('{earth_satellites}.Renderable.Enabled'); for _,v in pairs(list) do openspace.setPropertyValueSingle(v, not openspace.getPropertyValue(v)) end"
|
||||
},
|
||||
{
|
||||
"documentation": "Toggle points and labels for the Lagrangian points for Earth Sun system",
|
||||
"gui_path": "/JWST",
|
||||
"identifier": "profile.toggle.lagrangianpoints",
|
||||
"is_local": false,
|
||||
"name": "Toggle Lagrangian points",
|
||||
"script": "local list = openspace.getProperty('{lagrange_points_earth}.Renderable.Enabled'); for _,v in pairs(list) do openspace.setPropertyValueSingle(v, not openspace.getPropertyValue(v)) end"
|
||||
},
|
||||
{
|
||||
"documentation": "Toggle Hubble Ultra Deep Field image and line towards its coordinate",
|
||||
"gui_path": "/JWST",
|
||||
"identifier": "profile.toggle.hudf",
|
||||
"is_local": false,
|
||||
"name": "Toggle Hubble Ultra Deep Field",
|
||||
"script": "local list = openspace.getProperty('{mission_jwst_hudf}.*.Enabled'); for _,v in pairs(list) do openspace.setPropertyValueSingle(v, not openspace.getPropertyValue(v)) end"
|
||||
},
|
||||
{
|
||||
"documentation": "Toggle L2 label, point and line",
|
||||
"gui_path": "/JWST",
|
||||
"identifier": "profile.toggle.l2",
|
||||
"is_local": false,
|
||||
"name": "Toggle L2 line and small L2 label",
|
||||
"script": "local list = openspace.getProperty('{lagrange_points_earth_l2_small}.*.Enabled'); for _,v in pairs(list) do openspace.setPropertyValueSingle(v, not openspace.getPropertyValue(v)) end"
|
||||
},
|
||||
{
|
||||
"documentation": "Toggle James Webb Space Telecope field of view and view band",
|
||||
"gui_path": "/JWST",
|
||||
"identifier": "profile.toggle.jwst_fov",
|
||||
"is_local": false,
|
||||
"name": "Toggle JWST field of view and view band",
|
||||
"script": "local list = openspace.getProperty('{mission_jwst_fov}.*.Enabled'); for _,v in pairs(list) do openspace.setPropertyValueSingle(v, not openspace.getPropertyValue(v)) end"
|
||||
},
|
||||
{
|
||||
"documentation": "Set the time to the launch time of JWST",
|
||||
"gui_path": "/JWST",
|
||||
"identifier": "profile.set.jwst_launch",
|
||||
"is_local": false,
|
||||
"name": "Set to JWST launch time",
|
||||
"script": "openspace.time.setDeltaTime(1); openspace.time.setTime('2021-12-25T12:20:01');"
|
||||
},
|
||||
{
|
||||
"documentation": "Set the time to the detach time of JWST",
|
||||
"gui_path": "/JWST",
|
||||
"identifier": "profile.set.jwst_detach",
|
||||
"is_local": false,
|
||||
"name": "Set to JWST detach time",
|
||||
"script": "openspace.time.setDeltaTime(1); openspace.time.setTime('2021-12-25T12:50:00');"
|
||||
},
|
||||
{
|
||||
"documentation": "Toggle JWST trail relative to the Sun",
|
||||
"gui_path": "/JWST",
|
||||
"identifier": "profile.toggle.sun_trail",
|
||||
"is_local": false,
|
||||
"name": "Toggle JWST Sun trail",
|
||||
"script": "local value = openspace.getPropertyValue('Scene.JWSTSunTrail.Renderable.Enabled'); openspace.setPropertyValueSingle('Scene.JWSTSunTrail.Renderable.Enabled', not value);"
|
||||
},
|
||||
{
|
||||
"documentation": "Toggle all planet and moon trails, except the Moon",
|
||||
"gui_path": "/JWST",
|
||||
"identifier": "profile.toggle.trails_not_moon",
|
||||
"is_local": false,
|
||||
"name": "Toggle trails (except Moon)",
|
||||
"script": "local list = openspace.getProperty('{planetTrail_solarSystem}.Renderable.Enabled'); for _,v in pairs(list) do openspace.setPropertyValueSingle(v, not openspace.getPropertyValue(v)) end local moonlist = openspace.getProperty('{moonTrail_solarSystem}.Renderable.Enabled') for _,v in pairs(moonlist) do openspace.setPropertyValueSingle(v, not openspace.getPropertyValue(v)) end openspace.setPropertyValueSingle('Scene.MoonTrail.Renderable.Enabled', true)"
|
||||
},
|
||||
{
|
||||
"documentation": "Toggle JWST launch, cruise and L2 co-revolving orbit trails, not the Sun trail",
|
||||
"gui_path": "/JWST",
|
||||
"identifier": "profile.toggle.jwst_trails",
|
||||
"is_local": false,
|
||||
"name": "Toggle JWST trail",
|
||||
"script": "local list = {'Scene.JWSTTrailLaunch.Renderable.Enabled', 'Scene.JWSTTrailCruise.Renderable.Enabled', 'Scene.JWSTTrailCoRevOrbit.Renderable.Enabled'}; for _,v in pairs(list) do openspace.setPropertyValueSingle(v, not openspace.getPropertyValue(v)); end"
|
||||
}
|
||||
],
|
||||
"additional_scripts": [
|
||||
"openspace.setPropertyValue(\"Scene.MoonTrail.Renderable.Appearance.Color\", {0.7, 0.5, 0.5});"
|
||||
],
|
||||
@@ -140,55 +58,55 @@
|
||||
],
|
||||
"keybindings": [
|
||||
{
|
||||
"action": "profile.toggle.satellitetrails",
|
||||
"action": "os.solarsystem.earth.togglesatellitetrails",
|
||||
"key": "S"
|
||||
},
|
||||
{
|
||||
"action": "profile.toggle.lagrangianpoints",
|
||||
"action": "os.missions.jwst.togglelagrangianpoints",
|
||||
"key": "P"
|
||||
},
|
||||
{
|
||||
"action": "profile.toggle.hudf",
|
||||
"action": "os.missions.jwst.togglehudf",
|
||||
"key": "U"
|
||||
},
|
||||
{
|
||||
"action": "profile.toggle.l2",
|
||||
"action": "os.missions.jwst.togglel2",
|
||||
"key": "O"
|
||||
},
|
||||
{
|
||||
"action": "profile.toggle.jwst_fov",
|
||||
"action": "os.missions.jwst.togglefov",
|
||||
"key": "V"
|
||||
},
|
||||
{
|
||||
"action": "profile.set.jwst_launch",
|
||||
"action": "os.missoins.jwst.setup.launch",
|
||||
"key": "J"
|
||||
},
|
||||
{
|
||||
"action": "profile.toggle.sun_trail",
|
||||
"action": "os.missions.jwst.togglesuntrail",
|
||||
"key": "K"
|
||||
},
|
||||
{
|
||||
"action": "jwst.play.forwards",
|
||||
"action": "os.missions.jwst.play.forwards",
|
||||
"key": "M"
|
||||
},
|
||||
{
|
||||
"action": "jwst.play.backwards",
|
||||
"action": "os.missions.jwst.play.backwards",
|
||||
"key": "N"
|
||||
},
|
||||
{
|
||||
"action": "jwst.play.clear",
|
||||
"action": "os.missions.jwst.play.clear",
|
||||
"key": "B"
|
||||
},
|
||||
{
|
||||
"action": "profile.toggle.trails_not_moon",
|
||||
"action": "os.missions.jwst.toggletrialsexceptmoon",
|
||||
"key": "G"
|
||||
},
|
||||
{
|
||||
"action": "jwst.toggle.direction",
|
||||
"action": "os.missions.jwst.toggledirection",
|
||||
"key": "Y"
|
||||
},
|
||||
{
|
||||
"action": "profile.toggle.jwst_trails",
|
||||
"action": "os.missions.jwst.togglejwsttrails",
|
||||
"key": "T"
|
||||
}
|
||||
],
|
||||
|
||||
@@ -1,30 +1,4 @@
|
||||
{
|
||||
"actions": [
|
||||
{
|
||||
"documentation": "Set and goto Insight Landing",
|
||||
"gui_path": "/Missions/Insight",
|
||||
"identifier": "profile.setup.insight",
|
||||
"is_local": false,
|
||||
"name": "Setup scene for insight EDL",
|
||||
"script": "openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.HeightLayers.Mola_Utah.Settings.Offset', -469.300000);openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.HeightLayers.HiRISE-LS-DEM.Settings.Offset', -470.850006);openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.HeightLayers.MDEM200M.Settings.Offset', -470.000000);openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.HeightLayers.HiRISE-LS-DEM.Enabled', true);openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.ColorLayers.HiRISE-LS.Enabled', true);openspace.time.setPause(true);openspace.time.setTime('2018 NOV 26 19:39:01.68');openspace.navigation.setNavigationState({Anchor = 'Insight',Pitch = 0.567457E-4,Position = { 1.240506E1,-1.369270E1,-2.423553E0 },ReferenceFrame = 'Root',Up = { 0.441211E0,0.247019E0,0.862737E0 },Yaw = -0.446853E-4});"
|
||||
},
|
||||
{
|
||||
"documentation": "Disable Mars layer settings used for insight EDL",
|
||||
"gui_path": "/Missions/Insight",
|
||||
"identifier": "profile.unsetup.insight",
|
||||
"is_local": false,
|
||||
"name": "Unset Insight Landing",
|
||||
"script": "openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.HeightLayers.Mola_Utah.Settings.Offset', 0);openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.HeightLayers.HiRISE-LS-DEM.Settings.Offset', 0);openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.HeightLayers.HiRISE-LS-DEM.Enabled', false);openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.ColorLayers.HiRISE-LS.Enabled', false);"
|
||||
},
|
||||
{
|
||||
"documentation": "Sets time and layers for Perseverance landing",
|
||||
"gui_path": "/Missions/Perseverance",
|
||||
"identifier": "profile.setup.perseverance",
|
||||
"is_local": false,
|
||||
"name": "Setup and Goto Perseverance",
|
||||
"script": "openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.HeightLayers.Mola_Utah.Settings.Offset', -1685.5);openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.HeightLayers.HiRISE-LS-DEM.Settings.Offset', -1686.0);openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.HeightLayers.MDEM200M.Settings.Offset', -1686);openspace.time.setPause(true);openspace.time.setTime('2021 FEB 18 20:32:16');openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.HeightLayers.HiRISE-LS-DEM.Enabled', true);openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.ColorLayers.HiRISE-LS.Enabled', true);openspace.navigation.setNavigationState({Anchor = 'Perseverance',Pitch = 0.567457E-4,Position = { 1.240506E1,-1.369270E1,-2.423553E0 },ReferenceFrame = 'Root',Up = { 0.441211E0,0.247019E0,0.862737E0 },Yaw = -0.446853E-4});"
|
||||
}
|
||||
],
|
||||
"assets": [
|
||||
"base",
|
||||
"scene/solarsystem/missions/insight/edl",
|
||||
@@ -60,15 +34,15 @@
|
||||
],
|
||||
"keybindings": [
|
||||
{
|
||||
"action": "profile.setup.insight",
|
||||
"action": "os.missions.insight.setup",
|
||||
"key": "I"
|
||||
},
|
||||
{
|
||||
"action": "profile.unsetup.insight",
|
||||
"action": "os.missions.insight.setup.disablelayers",
|
||||
"key": "SHIFT+I"
|
||||
},
|
||||
{
|
||||
"action": "profile.setup.perseverance",
|
||||
"action": "os.missions.perseverance.setup",
|
||||
"key": "P"
|
||||
}
|
||||
],
|
||||
|
||||
@@ -1,134 +1,4 @@
|
||||
{
|
||||
"actions": [
|
||||
{
|
||||
"documentation": "Sets the focus of the camera on 'NewHorizons'",
|
||||
"gui_path": "/Missions/New Horizons",
|
||||
"identifier": "profile.focus.newhorizons",
|
||||
"is_local": false,
|
||||
"name": "Focus on New Horizons",
|
||||
"script": "openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.Anchor', 'NewHorizons');openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.Aim', '');openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.RetargetAnchor', nil);"
|
||||
},
|
||||
{
|
||||
"documentation": "Anchor at New Horizons, Aim at Pluto",
|
||||
"gui_path": "/Missions/New Horizons",
|
||||
"identifier": "profile.focus.anchor_nh|aim_pluto",
|
||||
"is_local": false,
|
||||
"name": "Anchor NH, Aim Pluto",
|
||||
"script": "openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.Anchor', 'NewHorizons');openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.Aim', 'Pluto');openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.RetargetAnchor', nil)"
|
||||
},
|
||||
{
|
||||
"documentation": "Sets the focus of the camera on 'Pluto'",
|
||||
"gui_path": "/Missions/New Horizons",
|
||||
"identifier": "profile.focus.pluto",
|
||||
"is_local": false,
|
||||
"name": "Focus on Pluto",
|
||||
"script": "openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.Anchor', 'PlutoProjection') ;openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.Aim', ''); openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.RetargetAnchor', nil);"
|
||||
},
|
||||
{
|
||||
"documentation": "Sets the focus of the camera on 'Charon'",
|
||||
"gui_path": "/Missions/New Horizons",
|
||||
"identifier": "profile.focus.charon",
|
||||
"is_local": false,
|
||||
"name": "Focus on Charon",
|
||||
"script": "openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.Anchor', 'Charon');openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.Aim', '');openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.RetargetAnchor', nil);"
|
||||
},
|
||||
{
|
||||
"documentation": "Toggles New Horizons image projection",
|
||||
"gui_path": "/Missions/New Horizons",
|
||||
"identifier": "profile.toggle_nh_image_projections",
|
||||
"is_local": false,
|
||||
"name": "Toggle NH Image Projection",
|
||||
"script": "local enabled = openspace.getPropertyValue('Scene.PlutoProjection.Renderable.ProjectionComponent.PerformProjection'); openspace.setPropertyValue('Scene.PlutoProjection.Renderable.ProjectionComponent.PerformProjection', not enabled); openspace.setPropertyValue('Scene.CharonProjection.Renderable.ProjectionComponent.PerformProjection', not enabled);"
|
||||
},
|
||||
{
|
||||
"documentation": "Removes all image projections from Pluto and Charon",
|
||||
"gui_path": "/Missions/New Horizons",
|
||||
"identifier": "profile.clear_image_projections",
|
||||
"is_local": false,
|
||||
"name": "Clear image projections",
|
||||
"script": "openspace.setPropertyValue('Scene.PlutoProjection.Renderable.ProjectionComponent.ClearAllProjections', true); openspace.setPropertyValue('Scene.CharonProjection.Renderable.ProjectionComponent.ClearAllProjections', true);"
|
||||
},
|
||||
{
|
||||
"documentation": "Jumps to the 14th of July 2015 at 0900 UTC and clears all projections",
|
||||
"gui_path": "/Missions/New Horizons",
|
||||
"identifier": "profile.setup.approach",
|
||||
"is_local": false,
|
||||
"name": "Reset time and projections",
|
||||
"script": "openspace.time.setTime('2015-07-14T09:00:00.00');openspace.setPropertyValue('Scene.PlutoProjection.Renderable.ProjectionComponent.ClearAllProjections', true);openspace.setPropertyValue('Scene.CharonProjection.Renderable.ProjectionComponent.ClearAllProjections', true);"
|
||||
},
|
||||
{
|
||||
"documentation": "Increases the height map exaggeration on Pluto",
|
||||
"gui_path": "/Missions/New Horizons",
|
||||
"identifier": "profile.pluto.increase_height_exaggeration",
|
||||
"is_local": false,
|
||||
"name": "Pluto HeightExaggeration +",
|
||||
"script": "openspace.setPropertyValueSingle(\"Scene.PlutoProjection.Renderable.HeightExaggeration\", openspace.getPropertyValue(\"Scene.PlutoProjection.Renderable.HeightExaggeration\") + 5000);"
|
||||
},
|
||||
{
|
||||
"documentation": "Decreases the height map exaggeration on Pluto",
|
||||
"gui_path": "/Missions/New Horizons",
|
||||
"identifier": "profile.pluto.decrease_height_exaggeration",
|
||||
"is_local": false,
|
||||
"name": "Pluto HeightExaggeration -",
|
||||
"script": "openspace.setPropertyValueSingle(\"Scene.PlutoProjection.Renderable.HeightExaggeration\", openspace.getPropertyValue(\"Scene.PlutoProjection.Renderable.HeightExaggeration\") - 5000);"
|
||||
},
|
||||
{
|
||||
"documentation": "Increases the height map exaggeration on Charon",
|
||||
"gui_path": "/Missions/New Horizons",
|
||||
"identifier": "profile.charon.increase_height_exaggeration",
|
||||
"is_local": false,
|
||||
"name": "Charon HeightExaggeration +",
|
||||
"script": "openspace.setPropertyValueSingle(\"Scene.CharonProjection.Renderable.HeightExaggeration\", openspace.getPropertyValue(\"Scene.CharonProjection.Renderable.HeightExaggeration\") + 5000);"
|
||||
},
|
||||
{
|
||||
"documentation": "Decreases the height map exaggeration on Charon",
|
||||
"gui_path": "/Missions/New Horizons",
|
||||
"identifier": "profile.charon.decrease_height_exaggeration",
|
||||
"is_local": false,
|
||||
"name": "Charon HeightExaggeration -",
|
||||
"script": "openspace.setPropertyValueSingle(\"Scene.CharonProjection.Renderable.HeightExaggeration\", openspace.getPropertyValue(\"Scene.CharonProjection.Renderable.HeightExaggeration\") - 5000);"
|
||||
},
|
||||
{
|
||||
"documentation": "Toggles the visibility of the trail behind Pluto",
|
||||
"gui_path": "/Missions/New Horizons",
|
||||
"identifier": "profile.toggle.pluto_trail",
|
||||
"is_local": false,
|
||||
"name": "Toggle Pluto Trail",
|
||||
"script": "openspace.setPropertyValueSingle('Scene.PlutoBarycentricTrail.Renderable.Enabled', not openspace.getPropertyValue('Scene.PlutoBarycentricTrail.Renderable.Enabled'));"
|
||||
},
|
||||
{
|
||||
"documentation": "Toggles the visibility of the text labels of Pluto, Charon, Hydra, Nix, Kerberos, and Styx",
|
||||
"gui_path": "/Missions/New Horizons",
|
||||
"identifier": "profile.toggle.pluto_labels",
|
||||
"is_local": false,
|
||||
"name": "Toggle Pluto Labels",
|
||||
"script": "local list = {\"Scene.PlutoText.Renderable.Enabled\", \"Scene.CharonText.Renderable.Enabled\", \"Scene.HydraText.Renderable.Enabled\", \"Scene.NixText.Renderable.Enabled\", \"Scene.KerberosText.Renderable.Enabled\", \"Scene.StyxText.Renderable.Enabled\"}; for _,v in pairs(list) do openspace.setPropertyValueSingle(v, not openspace.getPropertyValue(v)) end"
|
||||
},
|
||||
{
|
||||
"documentation": "Toggles the visibility of the labels for the New Horizons instruments",
|
||||
"gui_path": "/Missions/New Horizons",
|
||||
"identifier": "profile.toggle_nh_labels",
|
||||
"is_local": false,
|
||||
"name": "Toggle New Horizons Labels",
|
||||
"script": "local v = openspace.getPropertyValue(\"Scene.Labels.Renderable.Opacity\"); if v <= 0.5 then openspace.setPropertyValueSingle(\"Scene.Labels.Renderable.Opacity\",1.0,2.0) else openspace.setPropertyValueSingle(\"Scene.Labels.Renderable.Opacity\",0.0,2.0) end"
|
||||
},
|
||||
{
|
||||
"documentation": "Toggles the visibility of the shadow visualization of Pluto and Charon",
|
||||
"gui_path": "/Missions/New Horizons",
|
||||
"identifier": "profile.toggle_shadows",
|
||||
"is_local": false,
|
||||
"name": "Toggle Shadows",
|
||||
"script": "openspace.setPropertyValueSingle('Scene.PlutoShadow.Renderable.Enabled', not openspace.getPropertyValue('Scene.PlutoShadow.Renderable.Enabled'));openspace.setPropertyValueSingle('Scene.CharonShadow.Renderable.Enabled', not openspace.getPropertyValue('Scene.CharonShadow.Renderable.Enabled'));"
|
||||
},
|
||||
{
|
||||
"documentation": "Toggles the trail of New Horizons",
|
||||
"gui_path": "/Missions/New Horizons",
|
||||
"identifier": "profile.toggle.nh_trail",
|
||||
"is_local": false,
|
||||
"name": "Toggle NH Trail",
|
||||
"script": "openspace.setPropertyValueSingle('Scene.NewHorizonsTrailPluto.Renderable.Enabled', not openspace.getPropertyValue('Scene.NewHorizonsTrailPluto.Renderable.Enabled'));"
|
||||
}
|
||||
],
|
||||
"assets": [
|
||||
"base",
|
||||
"scene/solarsystem/missions/newhorizons/dashboard",
|
||||
@@ -167,83 +37,83 @@
|
||||
],
|
||||
"keybindings": [
|
||||
{
|
||||
"action": "profile.focus.newhorizons",
|
||||
"action": "os.missions.newhorizons.focus",
|
||||
"key": "A"
|
||||
},
|
||||
{
|
||||
"action": "profile.focus.anchor_nh|aim_pluto",
|
||||
"action": "os.missions.newhorizons.aimpluto",
|
||||
"key": "SHIFT+A"
|
||||
},
|
||||
{
|
||||
"action": "profile.focus.pluto",
|
||||
"action": "os.missions.newhorizons.pluto.focus",
|
||||
"key": "S"
|
||||
},
|
||||
{
|
||||
"action": "profile.focus.charon",
|
||||
"action": "os.missions.newhorizons.charon.focus",
|
||||
"key": "D"
|
||||
},
|
||||
{
|
||||
"action": "profile.toggle_nh_image_projections",
|
||||
"action": "os.missions.newhorizons.toggleimageprojection",
|
||||
"key": "F7"
|
||||
},
|
||||
{
|
||||
"action": "profile.clear_image_projections",
|
||||
"action": "os.missions.newhorizons.clearimageprojections",
|
||||
"key": "F8"
|
||||
},
|
||||
{
|
||||
"action": "profile.setup.approach",
|
||||
"action": "os.missions.newhorizons.approach",
|
||||
"key": "F9"
|
||||
},
|
||||
{
|
||||
"action": "profile.pluto.increase_height_exaggeration",
|
||||
"action": "os.missions.newhorizons.pluto.increasehightmap",
|
||||
"key": "KP_8"
|
||||
},
|
||||
{
|
||||
"action": "profile.pluto.increase_height_exaggeration",
|
||||
"action": "os.missions.newhorizons.pluto.increasehightmap",
|
||||
"key": "CTRL+I"
|
||||
},
|
||||
{
|
||||
"action": "profile.pluto.decrease_height_exaggeration",
|
||||
"action": "os.missions.newhorizons.pluto.decreasehightmap",
|
||||
"key": "CTRL+K"
|
||||
},
|
||||
{
|
||||
"action": "profile.pluto.decrease_height_exaggeration",
|
||||
"action": "os.missions.newhorizons.pluto.decreasehightmap",
|
||||
"key": "KP_2"
|
||||
},
|
||||
{
|
||||
"action": "profile.charon.increase_height_exaggeration",
|
||||
"action": "os.missions.newhorizons.charon.increasehightmap",
|
||||
"key": "KP_9"
|
||||
},
|
||||
{
|
||||
"action": "profile.charon.increase_height_exaggeration",
|
||||
"action": "os.missions.newhorizons.charon.increasehightmap",
|
||||
"key": "CTRL+O"
|
||||
},
|
||||
{
|
||||
"action": "profile.charon.decrease_height_exaggeration",
|
||||
"action": "os.missions.newhorizons.charon.decreasehightmap",
|
||||
"key": "KP_3"
|
||||
},
|
||||
{
|
||||
"action": "profile.charon.decrease_height_exaggeration",
|
||||
"action": "os.missions.newhorizons.charon.decreasehightmap",
|
||||
"key": "CTRL+L"
|
||||
},
|
||||
{
|
||||
"action": "profile.toggle.pluto_trail",
|
||||
"action": "os.missions.newhorizons.pluto.toggletrail",
|
||||
"key": "O"
|
||||
},
|
||||
{
|
||||
"action": "profile.toggle.pluto_labels",
|
||||
"action": "os.missions.newhorizons.pluto.togglelabels",
|
||||
"key": "J"
|
||||
},
|
||||
{
|
||||
"action": "profile.toggle_nh_labels",
|
||||
"action": "os.missions.newhorizons.togglelabels",
|
||||
"key": "I"
|
||||
},
|
||||
{
|
||||
"action": "profile.toggle_shadows",
|
||||
"action": "os.missions.newhorizons.toggleshadows",
|
||||
"key": "SHIFT+T"
|
||||
},
|
||||
{
|
||||
"action": "profile.toggle.nh_trail",
|
||||
"action": "os.missions.newhorizons.toggletrail",
|
||||
"key": "T"
|
||||
}
|
||||
],
|
||||
|
||||
@@ -1,62 +1,4 @@
|
||||
{
|
||||
"actions": [
|
||||
{
|
||||
"documentation": "Sets the focus of the camera on 'OsirisRex'",
|
||||
"gui_path": "/Missions/Osiris Rex",
|
||||
"identifier": "profile.focus.osirisrex",
|
||||
"is_local": false,
|
||||
"name": "Focus on OsirisRex",
|
||||
"script": "openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.Anchor', 'OsirisRex'); openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.Aim', ''); openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.RetargetAnchor', nil);"
|
||||
},
|
||||
{
|
||||
"documentation": "Sets the focus of the camera on 'Bennu'",
|
||||
"gui_path": "/Missions/Osiris Rex",
|
||||
"identifier": "profile.focus.bennu",
|
||||
"is_local": false,
|
||||
"name": "Focus on Bennu",
|
||||
"script": "openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.Anchor', 'BennuBarycenter'); openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.Aim', ''); openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.RetargetAnchor', nil);"
|
||||
},
|
||||
{
|
||||
"documentation": "Sets the time to the approach at Bennu",
|
||||
"gui_path": "/Missions/Osiris Rex",
|
||||
"identifier": "profile.setup.bennu_approach",
|
||||
"is_local": false,
|
||||
"name": "Set Bennu approach time",
|
||||
"script": "openspace.printInfo('Set time: Approach');openspace.time.setTime('2018-SEP-11 21:31:01.183');"
|
||||
},
|
||||
{
|
||||
"documentation": "Sets the time to the preliminary survey of Bennu",
|
||||
"gui_path": "/Missions/Osiris Rex",
|
||||
"identifier": "profile.setup.bennu_survey",
|
||||
"is_local": false,
|
||||
"name": "Set Bennu survey time",
|
||||
"script": "openspace.printInfo('Set time: Preliminary Survey'); openspace.time.setTime('2018-NOV-20 01:13:12.183');"
|
||||
},
|
||||
{
|
||||
"documentation": "Sets the time to the orbital B event",
|
||||
"gui_path": "/Missions/Osiris Rex",
|
||||
"identifier": "profile.setup.orbital_b_event",
|
||||
"is_local": false,
|
||||
"name": "Set orbital B event time",
|
||||
"script": "openspace.printInfo('Set time: Orbital B'); openspace.time.setTime('2019-APR-08 10:35:27.186');"
|
||||
},
|
||||
{
|
||||
"documentation": "Sets the time to the recon event",
|
||||
"gui_path": "/Missions/Osiris Rex",
|
||||
"identifier": "profile.setup.recon_event",
|
||||
"is_local": false,
|
||||
"name": "Set recon event time",
|
||||
"script": "openspace.printInfo('Set time: Recon'); openspace.time.setTime('2019-MAY-25 03:50:31.195');"
|
||||
},
|
||||
{
|
||||
"documentation": "Toggles the visibility of the text marking the location of the Sun",
|
||||
"gui_path": "/Missions/Osiris Rex",
|
||||
"identifier": "profile.toggle.sun_marker",
|
||||
"is_local": false,
|
||||
"name": "Toggle Sun marker",
|
||||
"script": "openspace.setPropertyValueSingle('Scene.SunMarker.Renderable.Enabled', not openspace.getPropertyValue('Scene.SunMarker.Renderable.Enabled'));"
|
||||
}
|
||||
],
|
||||
"assets": [
|
||||
"base",
|
||||
"scene/solarsystem/missions/osirisrex/dashboard",
|
||||
@@ -99,31 +41,31 @@
|
||||
],
|
||||
"keybindings": [
|
||||
{
|
||||
"action": "profile.focus.osirisrex",
|
||||
"action": "os.missions.osirisrex.focus",
|
||||
"key": "A"
|
||||
},
|
||||
{
|
||||
"action": "profile.focus.bennu",
|
||||
"action": "os.missions.osirisrex.bennu.focus",
|
||||
"key": "S"
|
||||
},
|
||||
{
|
||||
"action": "profile.setup.bennu_approach",
|
||||
"action": "os.missions.osirisrex.setup.bennuapproach",
|
||||
"key": "F8"
|
||||
},
|
||||
{
|
||||
"action": "profile.setup.bennu_survey",
|
||||
"action": "os.missions.osirisrex.setup.bennusurvey",
|
||||
"key": "F9"
|
||||
},
|
||||
{
|
||||
"action": "profile.setup.orbital_b_event",
|
||||
"action": "os.missions.osirisrex.setup.bennueventb",
|
||||
"key": "F10"
|
||||
},
|
||||
{
|
||||
"action": "profile.setup.recon_event",
|
||||
"action": "os.missions.osirisrex.setup.bennureconevent",
|
||||
"key": "F11"
|
||||
},
|
||||
{
|
||||
"action": "profile.toggle.sun_marker",
|
||||
"action": "os.missions.osirisrex.togglesunmarker",
|
||||
"key": "Q"
|
||||
}
|
||||
],
|
||||
@@ -138,7 +80,7 @@
|
||||
"license": "MIT License",
|
||||
"name": "Osiris-Rex",
|
||||
"url": "https://www.openspaceproject.com",
|
||||
"version": "1.0"
|
||||
"version": "1.1"
|
||||
},
|
||||
"properties": [
|
||||
{
|
||||
|
||||
@@ -1,75 +1,10 @@
|
||||
{
|
||||
"actions": [
|
||||
{
|
||||
"documentation": "Sets the focus of the camera on 67P",
|
||||
"gui_path": "/Missions/Rosetta",
|
||||
"identifier": "profile.focus.67P",
|
||||
"is_local": false,
|
||||
"name": "Focus on 67P",
|
||||
"script": "openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.Anchor', '67P'); openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.Aim', ''); openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.RetargetAnchor', nil);"
|
||||
},
|
||||
{
|
||||
"documentation": "Sets the focus of the camera on Rosetta",
|
||||
"gui_path": "/Missions/Rosetta",
|
||||
"identifier": "profile.focus.rosetta",
|
||||
"is_local": false,
|
||||
"name": "Focus on Rosetta",
|
||||
"script": "openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.Anchor', 'Rosetta'); openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.Aim', ''); openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.RetargetAnchor', nil);"
|
||||
},
|
||||
{
|
||||
"documentation": "Jumps to the time when the Philae lander is released",
|
||||
"gui_path": "/Missions/Rosetta",
|
||||
"identifier": "profile.setup.lander_release",
|
||||
"is_local": false,
|
||||
"name": "Set lander release time",
|
||||
"script": "openspace.time.setTime('2014-11-12T08:20:00.00');"
|
||||
},
|
||||
{
|
||||
"documentation": "Removes all image projections from 67P",
|
||||
"gui_path": "/Missions/Rosetta",
|
||||
"identifier": "profile.67p.clear_projections",
|
||||
"is_local": false,
|
||||
"name": "Clear 67P projections",
|
||||
"script": "openspace.setPropertyValue('Scene.67P.Renderable.ProjectionComponent.ClearAllProjections', true);"
|
||||
},
|
||||
{
|
||||
"documentation": "Toggles the visibility of all trails further from the Sun than 67P",
|
||||
"gui_path": "/Missions/Rosetta",
|
||||
"identifier": "profile.toggle.outerplanet_trails",
|
||||
"is_local": false,
|
||||
"name": "Toggle outer planetary trails",
|
||||
"script": "local list = openspace.getProperty('{planetTrail_giants}.Renderable.Enabled'); for _,v in pairs(list) do openspace.setPropertyValueSingle(v, not openspace.getPropertyValue(v)) end"
|
||||
},
|
||||
{
|
||||
"documentation": "Toggles the visibility of the free floating image plane",
|
||||
"gui_path": "/Missions/Rosetta",
|
||||
"identifier": "profile.toggle.image_plane",
|
||||
"is_local": false,
|
||||
"name": "Toggle image plane",
|
||||
"script": "openspace.setPropertyValueSingle('Scene.ImagePlaneRosetta.Renderable.Enabled', not openspace.getPropertyValue('Scene.ImagePlaneRosetta.Renderable.Enabled'));"
|
||||
},
|
||||
{
|
||||
"documentation": "Toggles the visibility of Philae's trail",
|
||||
"gui_path": "/Missions/Rosetta",
|
||||
"identifier": "profile.toggle.philae_trail",
|
||||
"is_local": false,
|
||||
"name": "Toggle Philae trail",
|
||||
"script": "openspace.setPropertyValueSingle('Scene.PhilaeTrail.Renderable.Enabled', not openspace.getPropertyValue('Scene.PhilaeTrail.Renderable.Enabled'));"
|
||||
},
|
||||
{
|
||||
"documentation": "Enables or disables the image projection on 67P",
|
||||
"gui_path": "/Missions/Rosetta",
|
||||
"identifier": "profile.toggle.67p_projection",
|
||||
"is_local": false,
|
||||
"name": "Toggle 67P projection",
|
||||
"script": "openspace.setPropertyValueSingle('Scene.67P.Renderable.ProjectionComponent.PerformProjection', not openspace.getPropertyValue('Scene.67P.Renderable.ProjectionComponent.PerformProjection'));"
|
||||
}
|
||||
],
|
||||
"assets": [
|
||||
"base",
|
||||
"scene/solarsystem/missions/rosetta/67p",
|
||||
"scene/solarsystem/missions/rosetta/dashboard",
|
||||
"scene/solarsystem/missions/rosetta/rosetta"
|
||||
"scene/solarsystem/missions/rosetta/rosetta",
|
||||
"scene/solarsystem/missions/rosetta/actions"
|
||||
],
|
||||
"camera": {
|
||||
"aim": "",
|
||||
@@ -111,35 +46,35 @@
|
||||
],
|
||||
"keybindings": [
|
||||
{
|
||||
"action": "profile.focus.67P",
|
||||
"action": "os.missions.rosetta.67p.focus",
|
||||
"key": "A"
|
||||
},
|
||||
{
|
||||
"action": "profile.focus.rosetta",
|
||||
"action": "os.missions.rosetta.focus",
|
||||
"key": "S"
|
||||
},
|
||||
{
|
||||
"action": "profile.setup.lander_release",
|
||||
"action": "os.missions.rosetta.setup.landerrelease",
|
||||
"key": "F6"
|
||||
},
|
||||
{
|
||||
"action": "profile.67p.clear_projections",
|
||||
"action": "os.missions.rosetta.67p.clearimageprojections",
|
||||
"key": "F8"
|
||||
},
|
||||
{
|
||||
"action": "profile.toggle.outerplanet_trails",
|
||||
"action": "os.missions.rosetta.toggleouterplanetarytrails",
|
||||
"key": "E"
|
||||
},
|
||||
{
|
||||
"action": "profile.toggle.image_plane",
|
||||
"action": "os.missions.rosetta.toggleimageplane",
|
||||
"key": "I"
|
||||
},
|
||||
{
|
||||
"action": "profile.toggle.philae_trail",
|
||||
"action": "os.mission.rosetta.togglephilaetrail",
|
||||
"key": "O"
|
||||
},
|
||||
{
|
||||
"action": "profile.toggle.67p_projection",
|
||||
"action": "os.missions.rosetta.toggle67pprojection",
|
||||
"key": "P"
|
||||
}
|
||||
],
|
||||
@@ -154,7 +89,7 @@
|
||||
"license": "MIT License",
|
||||
"name": "Rosetta",
|
||||
"url": "https://www.openspaceproject.com",
|
||||
"version": "1.0"
|
||||
"version": "1.1"
|
||||
},
|
||||
"properties": [
|
||||
{
|
||||
|
||||
@@ -1,67 +1,10 @@
|
||||
{
|
||||
"actions": [
|
||||
{
|
||||
"documentation": "Set camera focus to Voyager 1",
|
||||
"gui_path": "/Missions/Voyager",
|
||||
"identifier": "profile.focus.voyager1",
|
||||
"is_local": false,
|
||||
"name": "Focus on Voyager 1",
|
||||
"script": "openspace.setPropertyValueSingle(\"NavigationHandler.OrbitalNavigator.RetargetAnchor\", nil);openspace.setPropertyValueSingle(\"NavigationHandler.OrbitalNavigator.Anchor\", 'Voyager_1');openspace.setPropertyValueSingle(\"NavigationHandler.OrbitalNavigator.Aim\", '')"
|
||||
},
|
||||
{
|
||||
"documentation": "Sets the camera focus on Voyager 2",
|
||||
"gui_path": "/Missions/Voyager",
|
||||
"identifier": "profile.focus.voyager2",
|
||||
"is_local": false,
|
||||
"name": "Focus on Voyager 2",
|
||||
"script": "openspace.setPropertyValueSingle(\"NavigationHandler.OrbitalNavigator.RetargetAnchor\", nil);openspace.setPropertyValueSingle(\"NavigationHandler.OrbitalNavigator.Anchor\", 'Voyager_2');openspace.setPropertyValueSingle(\"NavigationHandler.OrbitalNavigator.Aim\", '');"
|
||||
},
|
||||
{
|
||||
"documentation": "Sets the time for Voyager's approach to Jupiter",
|
||||
"gui_path": "/Missions/Voyager",
|
||||
"identifier": "profile.setup.jupiter_approach",
|
||||
"is_local": false,
|
||||
"name": "Set Jupiter Approach",
|
||||
"script": "openspace.time.setTime(\"1979-01-20T01:32:07.914\")"
|
||||
},
|
||||
{
|
||||
"documentation": "Sets the time for Voyager's approach to Saturn",
|
||||
"gui_path": "/Missions/Voyager",
|
||||
"identifier": "profile.setup.saturn_approach",
|
||||
"is_local": false,
|
||||
"name": "Set Saturn Approach",
|
||||
"script": "openspace.time.setTime(\"1980-10-20T07:43:42.645\");"
|
||||
},
|
||||
{
|
||||
"documentation": "Set the camera focus to Jupiter",
|
||||
"gui_path": "/Missions/Voyager",
|
||||
"identifier": "profile.focus.jupiter",
|
||||
"is_local": false,
|
||||
"name": "Focus on Jupiter",
|
||||
"script": "openspace.setPropertyValueSingle(\"NavigationHandler.OrbitalNavigator.RetargetAnchor\", nil);openspace.setPropertyValueSingle(\"NavigationHandler.OrbitalNavigator.Anchor\", 'Jupiter');openspace.setPropertyValueSingle(\"NavigationHandler.OrbitalNavigator.Aim\", '');"
|
||||
},
|
||||
{
|
||||
"documentation": "Sets the camera focus on Saturn",
|
||||
"gui_path": "/Missions/Voyager",
|
||||
"identifier": "profile.focus.saturn",
|
||||
"is_local": false,
|
||||
"name": "Focus on Saturn",
|
||||
"script": "openspace.setPropertyValueSingle(\"NavigationHandler.OrbitalNavigator.RetargetAnchor\", nil);openspace.setPropertyValueSingle(\"NavigationHandler.OrbitalNavigator.Anchor\", 'Saturn');openspace.setPropertyValueSingle(\"NavigationHandler.OrbitalNavigator.Aim\", '');"
|
||||
},
|
||||
{
|
||||
"documentation": "Toggles the trails of the minor moons",
|
||||
"gui_path": "/Trails",
|
||||
"identifier": "profile.toggle.minor_trails",
|
||||
"is_local": false,
|
||||
"name": "Toggle minor trails",
|
||||
"script": "local list = openspace.getProperty('{moonTrail_minor}.Renderable.Enabled'); for _,v in pairs(list) do openspace.setPropertyValueSingle(v, not openspace.getPropertyValue(v)) end"
|
||||
}
|
||||
],
|
||||
"assets": [
|
||||
"base",
|
||||
"scene/solarsystem/missions/voyager/dashboard",
|
||||
"scene/solarsystem/missions/voyager/voyager1",
|
||||
"scene/solarsystem/missions/voyager/voyager2",
|
||||
"scene/solarsystem/missions/voyager/actions",
|
||||
"scene/solarsystem/planets/jupiter/minor_moons",
|
||||
"scene/solarsystem/planets/neptune/minor_moons",
|
||||
"scene/solarsystem/planets/saturn/minor_moons",
|
||||
@@ -95,31 +38,31 @@
|
||||
],
|
||||
"keybindings": [
|
||||
{
|
||||
"action": "profile.focus.voyager1",
|
||||
"action": "os.missions.voyager.v1.focus",
|
||||
"key": "V"
|
||||
},
|
||||
{
|
||||
"action": "profile.focus.voyager2",
|
||||
"action": "os.missions.voyager.v2.focus",
|
||||
"key": "SHIFT+V"
|
||||
},
|
||||
{
|
||||
"action": "profile.setup.jupiter_approach",
|
||||
"action": "os.missions.voyager.setup.jupiterapproach",
|
||||
"key": "SHIFT+J"
|
||||
},
|
||||
{
|
||||
"action": "profile.setup.saturn_approach",
|
||||
"action": "os.missions.voyager.setup.saturnapproach",
|
||||
"key": "SHIFT+S"
|
||||
},
|
||||
{
|
||||
"action": "profile.focus.jupiter",
|
||||
"action": "os.missions.voyager.jupiter.focus",
|
||||
"key": "J"
|
||||
},
|
||||
{
|
||||
"action": "profile.focus.saturn",
|
||||
"action": "os.missions.voyager.saturn.focus",
|
||||
"key": "S"
|
||||
},
|
||||
{
|
||||
"action": "profile.toggle.minor_trails",
|
||||
"action": "os.missions.voyager.toggleminormoontrails",
|
||||
"key": "SHIFT+H"
|
||||
}
|
||||
],
|
||||
@@ -138,7 +81,7 @@
|
||||
"license": "MIT License",
|
||||
"name": "Voyager",
|
||||
"url": "https://www.openspaceproject.com",
|
||||
"version": "1.0"
|
||||
"version": "1.1"
|
||||
},
|
||||
"properties": [
|
||||
{
|
||||
|
||||
@@ -52,7 +52,7 @@ public:
|
||||
virtual glm::vec2 size() const = 0;
|
||||
|
||||
protected:
|
||||
properties::BoolProperty _isEnabled;
|
||||
properties::BoolProperty _enabled;
|
||||
};
|
||||
|
||||
} // openspace
|
||||
|
||||
@@ -87,17 +87,17 @@ public:
|
||||
std::string targetNodeId() const;
|
||||
|
||||
ScreenSpaceSkyBrowser* browser() const;
|
||||
std::vector<int> selectedImages() const;
|
||||
std::vector<std::string> selectedImages() const;
|
||||
|
||||
ghoul::Dictionary dataAsDictionary() const;
|
||||
|
||||
// WorldWide Telescope image handling
|
||||
void setImageOrder(int i, int order);
|
||||
void selectImage(const ImageData& image, int i);
|
||||
void addImageLayerToWwt(const std::string& url, int i);
|
||||
void removeSelectedImage(int i);
|
||||
void setImageOrder(const std::string& imageUrl, int order);
|
||||
void selectImage(const ImageData& image);
|
||||
void addImageLayerToWwt(const std::string& imageUrl);
|
||||
void removeSelectedImage(const std::string& imageUrl);
|
||||
void loadImageCollection(const std::string& collection);
|
||||
void setImageOpacity(int i, float opacity);
|
||||
void setImageOpacity(const std::string& imageUrl, float opacity);
|
||||
void hideChromeInterface();
|
||||
|
||||
private:
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
#include <deque>
|
||||
|
||||
namespace openspace {
|
||||
using SelectedImageDeque = std::deque<std::pair<std::string, double>>;
|
||||
|
||||
class WwtCommunicator : public Browser {
|
||||
public:
|
||||
@@ -40,12 +41,12 @@ public:
|
||||
void update();
|
||||
|
||||
// WorldWide Telescope communication
|
||||
void selectImage(const std::string& url, int i);
|
||||
void addImageLayerToWwt(const std::string& url, int i);
|
||||
void removeSelectedImage(int i);
|
||||
void setImageOrder(int image, int order);
|
||||
void selectImage(const std::string& imageUrl);
|
||||
void addImageLayerToWwt(const std::string& imageUrl);
|
||||
void removeSelectedImage(const std::string& imageUrl);
|
||||
void setImageOrder(const std::string& imageUrl, int order);
|
||||
void loadImageCollection(const std::string& collection);
|
||||
void setImageOpacity(int i, float opacity);
|
||||
void setImageOpacity(const std::string& imageUrl, float opacity);
|
||||
void hideChromeInterface() const;
|
||||
|
||||
bool isImageCollectionLoaded() const;
|
||||
@@ -54,7 +55,7 @@ public:
|
||||
glm::ivec3 borderColor() const;
|
||||
glm::dvec2 equatorialAim() const;
|
||||
glm::dvec2 fieldsOfView() const;
|
||||
std::vector<int> selectedImages() const;
|
||||
std::vector<std::string> selectedImages() const;
|
||||
std::vector<double> opacities() const;
|
||||
double borderRadius() const;
|
||||
|
||||
@@ -70,7 +71,7 @@ public:
|
||||
|
||||
protected:
|
||||
void setIdInBrowser(const std::string& id) const;
|
||||
std::deque<std::pair<int, double>>::iterator findSelectedImage(int i);
|
||||
SelectedImageDeque::iterator findSelectedImage(const std::string& id);
|
||||
|
||||
properties::DoubleProperty _verticalFov;
|
||||
|
||||
@@ -79,7 +80,7 @@ protected:
|
||||
glm::dvec2 _equatorialAim = glm::dvec2(0.0);
|
||||
double _targetRoll = 0.0;
|
||||
bool _isImageCollectionLoaded = false;
|
||||
std::deque<std::pair<int, double>> _selectedImages;
|
||||
SelectedImageDeque _selectedImages;
|
||||
|
||||
private:
|
||||
void sendMessageToWwt(const ghoul::Dictionary& msg) const;
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
|
||||
#include <filesystem>
|
||||
#include <memory>
|
||||
#include <optional>
|
||||
|
||||
namespace tinyxml2 { class XMLElement; }
|
||||
|
||||
@@ -45,19 +46,21 @@ struct ImageData {
|
||||
float fov = 0.f;
|
||||
glm::dvec2 equatorialSpherical = glm::dvec2(0.0);
|
||||
glm::dvec3 equatorialCartesian = glm::dvec3(0.0);
|
||||
std::string identifier;
|
||||
};
|
||||
|
||||
class WwtDataHandler {
|
||||
public:
|
||||
void loadImages(const std::string& root, const std::filesystem::path& directory);
|
||||
int nLoadedImages() const;
|
||||
const ImageData& image(int i) const;
|
||||
std::optional<const ImageData> image(const std::string& imageUrl) const;
|
||||
const std::map<std::string, ImageData>& images() const;
|
||||
|
||||
private:
|
||||
void saveImagesFromXml(const tinyxml2::XMLElement* root, std::string collection);
|
||||
|
||||
// Images
|
||||
std::vector<ImageData> _images;
|
||||
std::map<std::string, ImageData> _images;
|
||||
};
|
||||
} // namespace openspace
|
||||
|
||||
|
||||
@@ -318,9 +318,12 @@ void SkyBrowserModule::setHoverCircle(SceneGraphNode* circle) {
|
||||
disableHoverCircle();
|
||||
}
|
||||
|
||||
void SkyBrowserModule::moveHoverCircle(int i, bool useScript) {
|
||||
const ImageData& image = _dataHandler.image(i);
|
||||
|
||||
void SkyBrowserModule::moveHoverCircle(const std::string& imageUrl, bool useScript) {
|
||||
std::optional<const ImageData> found = _dataHandler.image(imageUrl);
|
||||
if (!found.has_value()) {
|
||||
return;
|
||||
}
|
||||
const ImageData image = *found;
|
||||
// Only move and show circle if the image has coordinates
|
||||
if (!(_hoverCircle && image.hasCelestialCoords && _isCameraInSolarSystem)) {
|
||||
return;
|
||||
|
||||
@@ -76,7 +76,7 @@ public:
|
||||
void addTargetBrowserPair(const std::string& targetId, const std::string& browserId);
|
||||
|
||||
// Hover circle
|
||||
void moveHoverCircle(int i, bool useScript = true);
|
||||
void moveHoverCircle(const std::string& imageUrl, bool useScript = true);
|
||||
void disableHoverCircle(bool useScript = true);
|
||||
|
||||
// Image collection handling
|
||||
|
||||
@@ -74,7 +74,7 @@ namespace {
|
||||
* Takes an index to an image and selects that image in the currently
|
||||
* selected sky browser.
|
||||
*/
|
||||
[[codegen::luawrap]] void selectImage(int imageIndex) {
|
||||
[[codegen::luawrap]] void selectImage(std::string imageUrl) {
|
||||
using namespace openspace;
|
||||
|
||||
// Load image
|
||||
@@ -83,8 +83,17 @@ namespace {
|
||||
if (module->isCameraInSolarSystem()) {
|
||||
TargetBrowserPair* selected = module->pair(module->selectedBrowserId());
|
||||
if (selected) {
|
||||
const ImageData& image = module->wwtDataHandler().image(imageIndex);
|
||||
std::optional<const ImageData> found = module->wwtDataHandler().image(
|
||||
imageUrl
|
||||
);
|
||||
if (!found.has_value()) {
|
||||
LINFO(fmt::format(
|
||||
"No image with identifier {} was found in the collection.", imageUrl
|
||||
));
|
||||
return;
|
||||
}
|
||||
// Load image into browser
|
||||
const ImageData& image = found.value();
|
||||
std::string str = image.name;
|
||||
// Check if character is ASCII - if it isn't, remove
|
||||
str.erase(
|
||||
@@ -97,7 +106,7 @@ namespace {
|
||||
str.end()
|
||||
);
|
||||
LINFO("Loading image " + str);
|
||||
selected->selectImage(image, imageIndex);
|
||||
selected->selectImage(image);
|
||||
|
||||
bool isInView = skybrowser::isCoordinateInView(image.equatorialCartesian);
|
||||
// If the coordinate is not in view, rotate camera
|
||||
@@ -130,10 +139,10 @@ namespace {
|
||||
/**
|
||||
* Moves the hover circle to the coordinate specified by the image index.
|
||||
*/
|
||||
[[codegen::luawrap]] void moveCircleToHoverImage(int imageIndex) {
|
||||
[[codegen::luawrap]] void moveCircleToHoverImage(std::string imageUrl) {
|
||||
using namespace openspace;
|
||||
|
||||
global::moduleEngine->module<SkyBrowserModule>()->moveHoverCircle(imageIndex, false);
|
||||
global::moduleEngine->module<SkyBrowserModule>()->moveHoverCircle(imageUrl, false);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -150,7 +159,7 @@ namespace {
|
||||
* which it should have in the selected image list. The image is then changed to have this
|
||||
* order.
|
||||
*/
|
||||
[[codegen::luawrap]] void setImageLayerOrder(std::string identifier, int imageIndex,
|
||||
[[codegen::luawrap]] void setImageLayerOrder(std::string identifier, std::string imageUrl,
|
||||
int imageOrder)
|
||||
{
|
||||
using namespace openspace;
|
||||
@@ -158,7 +167,7 @@ namespace {
|
||||
SkyBrowserModule* module = global::moduleEngine->module<SkyBrowserModule>();
|
||||
TargetBrowserPair* pair = module->pair(identifier);
|
||||
if (pair) {
|
||||
pair->setImageOrder(imageIndex, imageOrder);
|
||||
pair->setImageOrder(imageUrl, imageOrder);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -296,10 +305,7 @@ namespace {
|
||||
|
||||
// Create Lua table to send to the GUI
|
||||
ghoul::Dictionary list;
|
||||
|
||||
for (int i = 0; i < module->nLoadedImages(); i++) {
|
||||
const ImageData& img = module->wwtDataHandler().image(i);
|
||||
|
||||
for (auto const& [id, img] : module->wwtDataHandler().images()) {
|
||||
// Push ("Key", value)
|
||||
ghoul::Dictionary image;
|
||||
image.setValue("name", img.name);
|
||||
@@ -312,11 +318,9 @@ namespace {
|
||||
image.setValue("hasCelestialCoords", img.hasCelestialCoords);
|
||||
image.setValue("credits", img.credits);
|
||||
image.setValue("creditsUrl", img.creditsUrl);
|
||||
image.setValue("identifier", std::to_string(i));
|
||||
image.setValue("identifier", img.identifier);
|
||||
|
||||
// Index for current ImageData
|
||||
// Set table for the current ImageData
|
||||
list.setValue(std::to_string(i + 1), image);
|
||||
list.setValue(img.identifier, image);
|
||||
}
|
||||
|
||||
return list;
|
||||
@@ -409,15 +413,15 @@ namespace {
|
||||
* Takes an identifier to a sky browser or sky target, an index to an image and a value
|
||||
* for the opacity.
|
||||
*/
|
||||
[[codegen::luawrap]] void setOpacityOfImageLayer(std::string identifier, int imageIndex,
|
||||
float opacity)
|
||||
[[codegen::luawrap]] void setOpacityOfImageLayer(std::string identifier,
|
||||
std::string imageUrl, float opacity)
|
||||
{
|
||||
using namespace openspace;
|
||||
|
||||
SkyBrowserModule* module = global::moduleEngine->module<SkyBrowserModule>();
|
||||
TargetBrowserPair* pair = module->pair(identifier);
|
||||
if (pair) {
|
||||
pair->setImageOpacity(imageIndex, opacity);
|
||||
pair->setImageOpacity(imageUrl, opacity);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -593,14 +597,14 @@ namespace {
|
||||
* image from that sky browser.
|
||||
*/
|
||||
[[codegen::luawrap]] void removeSelectedImageInBrowser(std::string identifier,
|
||||
int imageIndex)
|
||||
std::string imageUrl)
|
||||
{
|
||||
using namespace openspace;
|
||||
|
||||
SkyBrowserModule* module = global::moduleEngine->module<SkyBrowserModule>();
|
||||
TargetBrowserPair* pair = module->pair(identifier);
|
||||
if (pair) {
|
||||
pair->browser()->removeSelectedImage(imageIndex);
|
||||
pair->browser()->removeSelectedImage(imageUrl);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -771,13 +775,13 @@ namespace {
|
||||
LINFO("Image collection is loaded in Screen Space Sky Browser " + identifier);
|
||||
pair->setImageCollectionIsLoaded(true);
|
||||
// Add all selected images to WorldWide Telescope
|
||||
const std::vector<int>& images = pair->selectedImages();
|
||||
const std::vector<std::string>& images = pair->selectedImages();
|
||||
std::for_each(
|
||||
images.rbegin(), images.rend(),
|
||||
[&](int index) {
|
||||
const ImageData& image = module->wwtDataHandler().image(index);
|
||||
[&](std::string imageUrl) {
|
||||
const ImageData& image = module->wwtDataHandler().image(imageUrl).value();
|
||||
// Index of image is used as layer ID as it's unique in the image data set
|
||||
pair->browser()->addImageLayerToWwt(image.imageUrl, index);
|
||||
pair->browser()->addImageLayerToWwt(image.imageUrl);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
@@ -69,8 +69,8 @@ TargetBrowserPair::TargetBrowserPair(SceneGraphNode* targetNode,
|
||||
_targetRenderable = dynamic_cast<RenderableSkyTarget*>(_targetNode->renderable());
|
||||
}
|
||||
|
||||
void TargetBrowserPair::setImageOrder(int i, int order) {
|
||||
_browser->setImageOrder(i, order);
|
||||
void TargetBrowserPair::setImageOrder(const std::string& imageUrl, int order) {
|
||||
_browser->setImageOrder(imageUrl, order);
|
||||
}
|
||||
|
||||
void TargetBrowserPair::startFinetuningTarget() {
|
||||
@@ -151,13 +151,23 @@ double TargetBrowserPair::verticalFov() const {
|
||||
return _browser->verticalFov();
|
||||
}
|
||||
|
||||
std::vector<int> TargetBrowserPair::selectedImages() const {
|
||||
std::vector<std::string> TargetBrowserPair::selectedImages() const {
|
||||
return _browser->selectedImages();
|
||||
}
|
||||
|
||||
ghoul::Dictionary TargetBrowserPair::dataAsDictionary() const {
|
||||
glm::dvec2 spherical = targetDirectionEquatorial();
|
||||
glm::dvec3 cartesian = skybrowser::sphericalToCartesian(spherical);
|
||||
SkyBrowserModule* module = global::moduleEngine->module<SkyBrowserModule>();
|
||||
std::vector<std::string> selectedImagesIndices;
|
||||
|
||||
for (const std::string& imageUrl : selectedImages()) {
|
||||
bool imageExists = module->wwtDataHandler().image(imageUrl).has_value();
|
||||
ghoul_assert(imageExists, "Image doesn't exist in the wwt catalog!");
|
||||
selectedImagesIndices.push_back(
|
||||
module->wwtDataHandler().image(imageUrl)->identifier
|
||||
);
|
||||
}
|
||||
|
||||
ghoul::Dictionary res;
|
||||
res.setValue("id", browserId());
|
||||
@@ -172,7 +182,7 @@ ghoul::Dictionary TargetBrowserPair::dataAsDictionary() const {
|
||||
res.setValue("ratio", static_cast<double>(_browser->browserRatio()));
|
||||
res.setValue("isFacingCamera", isFacingCamera());
|
||||
res.setValue("isUsingRae", isUsingRadiusAzimuthElevation());
|
||||
res.setValue("selectedImages", selectedImages());
|
||||
res.setValue("selectedImages", selectedImagesIndices);
|
||||
res.setValue("scale", static_cast<double>(_browser->scale()));
|
||||
res.setValue("opacities", _browser->opacities());
|
||||
res.setValue("borderRadius", _browser->borderRadius());
|
||||
@@ -193,9 +203,9 @@ ghoul::Dictionary TargetBrowserPair::dataAsDictionary() const {
|
||||
return res;
|
||||
}
|
||||
|
||||
void TargetBrowserPair::selectImage(const ImageData& image, int i) {
|
||||
void TargetBrowserPair::selectImage(const ImageData& image) {
|
||||
// Load image into browser
|
||||
_browser->selectImage(image.imageUrl, i);
|
||||
_browser->selectImage(image.imageUrl);
|
||||
|
||||
// If the image has coordinates, move the target
|
||||
if (image.hasCelestialCoords) {
|
||||
@@ -205,20 +215,20 @@ void TargetBrowserPair::selectImage(const ImageData& image, int i) {
|
||||
}
|
||||
}
|
||||
|
||||
void TargetBrowserPair::addImageLayerToWwt(const std::string& url, int i) {
|
||||
_browser->addImageLayerToWwt(url, i);
|
||||
void TargetBrowserPair::addImageLayerToWwt(const std::string& imageUrl) {
|
||||
_browser->addImageLayerToWwt(imageUrl);
|
||||
}
|
||||
|
||||
void TargetBrowserPair::removeSelectedImage(int i) {
|
||||
_browser->removeSelectedImage(i);
|
||||
void TargetBrowserPair::removeSelectedImage(const std::string& imageUrl) {
|
||||
_browser->removeSelectedImage(imageUrl);
|
||||
}
|
||||
|
||||
void TargetBrowserPair::loadImageCollection(const std::string& collection) {
|
||||
_browser->loadImageCollection(collection);
|
||||
}
|
||||
|
||||
void TargetBrowserPair::setImageOpacity(int i, float opacity) {
|
||||
_browser->setImageOpacity(i, opacity);
|
||||
void TargetBrowserPair::setImageOpacity(const std::string& imageUrl, float opacity) {
|
||||
_browser->setImageOpacity(imageUrl, opacity);
|
||||
}
|
||||
|
||||
void TargetBrowserPair::hideChromeInterface() {
|
||||
|
||||
@@ -69,12 +69,12 @@ namespace {
|
||||
return msg;
|
||||
}
|
||||
|
||||
ghoul::Dictionary addImageMessage(const std::string& id, const std::string& url) {
|
||||
ghoul::Dictionary addImageMessage(const std::string& url) {
|
||||
using namespace std::string_literals;
|
||||
|
||||
ghoul::Dictionary msg;
|
||||
msg.setValue("event", "image_layer_create"s);
|
||||
msg.setValue("id", id);
|
||||
msg.setValue("id", url);
|
||||
msg.setValue("url", url);
|
||||
msg.setValue("mode", "preloaded"s);
|
||||
msg.setValue("goto", false);
|
||||
@@ -101,7 +101,7 @@ namespace {
|
||||
return msg;
|
||||
}
|
||||
|
||||
ghoul::Dictionary setLayerOrderMessage(const std::string& id, int order) {
|
||||
ghoul::Dictionary setLayerOrderMessage(const std::string& imageUrl, int order) {
|
||||
static int MessageCounter = 0;
|
||||
|
||||
// The lower the layer order, the more towards the back the image is placed
|
||||
@@ -110,7 +110,7 @@ namespace {
|
||||
|
||||
ghoul::Dictionary msg;
|
||||
msg.setValue("event", "image_layer_order"s);
|
||||
msg.setValue("id", id);
|
||||
msg.setValue("id", imageUrl);
|
||||
msg.setValue("order", order);
|
||||
msg.setValue("version", MessageCounter);
|
||||
|
||||
@@ -165,33 +165,33 @@ void WwtCommunicator::update() {
|
||||
Browser::update();
|
||||
}
|
||||
|
||||
void WwtCommunicator::selectImage(const std::string& url, int i) {
|
||||
void WwtCommunicator::selectImage(const std::string& url) {
|
||||
// Ensure there are no duplicates
|
||||
auto it = findSelectedImage(i);
|
||||
auto it = findSelectedImage(url);
|
||||
|
||||
if (it == _selectedImages.end()) {
|
||||
// Push newly selected image to front
|
||||
_selectedImages.push_front(std::pair<int, double>(i, 1.0));
|
||||
_selectedImages.push_front(std::pair<std::string, double>(url, 1.0));
|
||||
|
||||
// If wwt has not loaded the collection yet, wait with passing the message
|
||||
if (_isImageCollectionLoaded) {
|
||||
addImageLayerToWwt(url, i);
|
||||
addImageLayerToWwt(url);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void WwtCommunicator::addImageLayerToWwt(const std::string& url, int i) {
|
||||
void WwtCommunicator::addImageLayerToWwt(const std::string& imageUrl) {
|
||||
// Index of image is used as layer ID as it is unique in the image data set
|
||||
sendMessageToWwt(addImageMessage(std::to_string(i), url));
|
||||
sendMessageToWwt(setImageOpacityMessage(std::to_string(i), 1.0));
|
||||
sendMessageToWwt(addImageMessage(imageUrl));
|
||||
sendMessageToWwt(setImageOpacityMessage(imageUrl, 1.0));
|
||||
}
|
||||
|
||||
void WwtCommunicator::removeSelectedImage(int i) {
|
||||
void WwtCommunicator::removeSelectedImage(const std::string& imageUrl) {
|
||||
// Remove from selected list
|
||||
auto it = findSelectedImage(i);
|
||||
auto it = findSelectedImage(imageUrl);
|
||||
if (it != _selectedImages.end()) {
|
||||
_selectedImages.erase(it);
|
||||
sendMessageToWwt(removeImageMessage(std::to_string(i)));
|
||||
sendMessageToWwt(removeImageMessage(imageUrl));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -200,14 +200,14 @@ void WwtCommunicator::sendMessageToWwt(const ghoul::Dictionary& msg) const {
|
||||
executeJavascript(fmt::format("sendMessageToWWT({});", m));
|
||||
}
|
||||
|
||||
std::vector<int> WwtCommunicator::selectedImages() const {
|
||||
std::vector<int> selectedImagesVector;
|
||||
std::vector<std::string> WwtCommunicator::selectedImages() const {
|
||||
std::vector<std::string> selectedImagesVector;
|
||||
selectedImagesVector.resize(_selectedImages.size());
|
||||
std::transform(
|
||||
_selectedImages.cbegin(),
|
||||
_selectedImages.cend(),
|
||||
selectedImagesVector.begin(),
|
||||
[](const std::pair<int, double>& image) { return image.first; }
|
||||
[](const std::pair<std::string, double>& image) { return image.first; }
|
||||
);
|
||||
return selectedImagesVector;
|
||||
}
|
||||
@@ -219,7 +219,7 @@ std::vector<double> WwtCommunicator::opacities() const {
|
||||
_selectedImages.cbegin(),
|
||||
_selectedImages.cend(),
|
||||
opacities.begin(),
|
||||
[](const std::pair<int, double>& image) { return image.second; }
|
||||
[](const std::pair<std::string, double>& image) { return image.second; }
|
||||
);
|
||||
return opacities;
|
||||
}
|
||||
@@ -277,11 +277,15 @@ bool WwtCommunicator::isImageCollectionLoaded() const {
|
||||
return _isImageCollectionLoaded;
|
||||
}
|
||||
|
||||
std::deque<std::pair<int, double>>::iterator WwtCommunicator::findSelectedImage(int i) {
|
||||
SelectedImageDeque::iterator WwtCommunicator::findSelectedImage(
|
||||
const std::string& imageUrl)
|
||||
{
|
||||
auto it = std::find_if(
|
||||
_selectedImages.begin(),
|
||||
_selectedImages.end(),
|
||||
[i](const std::pair<int, double>& pair) { return pair.first == i; }
|
||||
[imageUrl](const std::pair<std::string, double>& pair) {
|
||||
return pair.first == imageUrl;
|
||||
}
|
||||
);
|
||||
return it;
|
||||
}
|
||||
@@ -290,12 +294,12 @@ glm::dvec2 WwtCommunicator::equatorialAim() const {
|
||||
return _equatorialAim;
|
||||
}
|
||||
|
||||
void WwtCommunicator::setImageOrder(int image, int order) {
|
||||
void WwtCommunicator::setImageOrder(const std::string& imageUrl, int order) {
|
||||
// Find in selected images list
|
||||
auto current = findSelectedImage(image);
|
||||
auto current = findSelectedImage(imageUrl);
|
||||
int currentIndex = static_cast<int>(std::distance(_selectedImages.begin(), current));
|
||||
|
||||
std::deque<std::pair<int, double>> newDeque;
|
||||
std::deque<std::pair<std::string, double>> newDeque;
|
||||
|
||||
for (int i = 0; i < static_cast<int>(_selectedImages.size()); i++) {
|
||||
if (i == currentIndex) {
|
||||
@@ -318,7 +322,7 @@ void WwtCommunicator::setImageOrder(int image, int order) {
|
||||
|
||||
_selectedImages = newDeque;
|
||||
int reverseOrder = static_cast<int>(_selectedImages.size()) - order - 1;
|
||||
ghoul::Dictionary message = setLayerOrderMessage(std::to_string(image), reverseOrder);
|
||||
ghoul::Dictionary message = setLayerOrderMessage(imageUrl, reverseOrder);
|
||||
sendMessageToWwt(message);
|
||||
}
|
||||
|
||||
@@ -328,11 +332,11 @@ void WwtCommunicator::loadImageCollection(const std::string& collection) {
|
||||
}
|
||||
}
|
||||
|
||||
void WwtCommunicator::setImageOpacity(int i, float opacity) {
|
||||
auto it = findSelectedImage(i);
|
||||
void WwtCommunicator::setImageOpacity(const std::string& imageUrl, float opacity) {
|
||||
auto it = findSelectedImage(imageUrl);
|
||||
it->second = opacity;
|
||||
|
||||
ghoul::Dictionary msg = setImageOpacityMessage(std::to_string(i), opacity);
|
||||
ghoul::Dictionary msg = setImageOpacityMessage(imageUrl, opacity);
|
||||
sendMessageToWwt(msg);
|
||||
}
|
||||
|
||||
|
||||
@@ -171,9 +171,8 @@ namespace {
|
||||
return true;
|
||||
}
|
||||
|
||||
std::optional<openspace::ImageData> loadImageFromNode(
|
||||
const tinyxml2::XMLElement* node,
|
||||
std::string collection)
|
||||
std::optional<openspace::ImageData>
|
||||
loadImageFromNode(const tinyxml2::XMLElement* node, const std::string& collection)
|
||||
{
|
||||
using namespace openspace;
|
||||
|
||||
@@ -243,7 +242,8 @@ namespace {
|
||||
hasCelestialCoords,
|
||||
fov,
|
||||
equatorialSpherical,
|
||||
equatorialCartesian
|
||||
equatorialCartesian,
|
||||
""
|
||||
};
|
||||
}
|
||||
} //namespace
|
||||
@@ -318,13 +318,21 @@ void WwtDataHandler::loadImages(const std::string& root,
|
||||
saveImagesFromXml(rootNode, collectionName);
|
||||
}
|
||||
}
|
||||
|
||||
// Sort images in alphabetical order
|
||||
std::sort(
|
||||
_images.begin(),
|
||||
_images.end(),
|
||||
[](ImageData& a, ImageData& b) { return a.name < b.name; }
|
||||
// Sort images. Copy images to vector
|
||||
std::vector<ImageData> _imageVector;
|
||||
for (const auto& [id, img] : _images) {
|
||||
_imageVector.push_back(img);
|
||||
}
|
||||
// Sort
|
||||
std::sort(_imageVector.begin(), _imageVector.end(),
|
||||
[](const ImageData& lhs, const ImageData& rhs) {
|
||||
return lhs.name < rhs.name;
|
||||
}
|
||||
);
|
||||
// Set the identifiers to the correct order
|
||||
for (int i = 0; i < _imageVector.size(); i++) {
|
||||
_images[_imageVector[i].imageUrl].identifier = std::to_string(i);
|
||||
}
|
||||
|
||||
LINFO(fmt::format("Loaded {} WorldWide Telescope images", _images.size()));
|
||||
}
|
||||
@@ -333,9 +341,16 @@ int WwtDataHandler::nLoadedImages() const {
|
||||
return static_cast<int>(_images.size());
|
||||
}
|
||||
|
||||
const ImageData& WwtDataHandler::image(int i) const {
|
||||
ghoul_assert(i < static_cast<int>(_images.size()), "Index outside of vector size");
|
||||
return _images[i];
|
||||
std::optional<const ImageData> WwtDataHandler::image(const std::string& imageUrl) const {
|
||||
auto it = _images.find(imageUrl);
|
||||
if (it == _images.end()) {
|
||||
return std::nullopt;
|
||||
}
|
||||
return it->second;
|
||||
}
|
||||
|
||||
const std::map<std::string, ImageData>& WwtDataHandler::images() const {
|
||||
return _images;
|
||||
}
|
||||
|
||||
void WwtDataHandler::saveImagesFromXml(const tinyxml2::XMLElement* root,
|
||||
@@ -350,9 +365,11 @@ void WwtDataHandler::saveImagesFromXml(const tinyxml2::XMLElement* root,
|
||||
const std::string name = node->Name();
|
||||
// If node is an image or place, load it
|
||||
if (name == ImageSet || name == Place) {
|
||||
std::optional<ImageData> image = loadImageFromNode(node, collection);
|
||||
std::optional<ImageData> image = loadImageFromNode(
|
||||
node, collection
|
||||
);
|
||||
if (image.has_value()) {
|
||||
_images.push_back(std::move(*image));
|
||||
_images.insert({ image.value().imageUrl, std::move(*image) });
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -58,8 +58,9 @@ void KeybindingManager::keyboardCallback(Key key, KeyModifier modifier, KeyActio
|
||||
if (!global::actionManager->hasAction(it->second)) {
|
||||
// Silently ignoring the unknown action as the user might have intended to
|
||||
// bind a key to multiple actions, only one of which could be defined
|
||||
global::actionManager->triggerAction(it->second, ghoul::Dictionary());
|
||||
continue;
|
||||
}
|
||||
global::actionManager->triggerAction(it->second, ghoul::Dictionary());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -46,6 +46,8 @@ namespace {
|
||||
std::string identifier;
|
||||
|
||||
std::optional<std::string> guiName;
|
||||
|
||||
std::optional<bool> enabled;
|
||||
};
|
||||
#include "dashboarditem_codegen.cpp"
|
||||
} // namespace
|
||||
@@ -71,7 +73,7 @@ std::unique_ptr<DashboardItem> DashboardItem::createFromDictionary(
|
||||
|
||||
DashboardItem::DashboardItem(const ghoul::Dictionary& dictionary)
|
||||
: properties::PropertyOwner({ "", "" })
|
||||
, _isEnabled(EnabledInfo, true)
|
||||
, _enabled(EnabledInfo, true)
|
||||
{
|
||||
const Parameters p = codegen::bake<Parameters>(dictionary);
|
||||
|
||||
@@ -80,11 +82,12 @@ DashboardItem::DashboardItem(const ghoul::Dictionary& dictionary)
|
||||
setGuiName(*p.guiName);
|
||||
}
|
||||
|
||||
addProperty(_isEnabled);
|
||||
_enabled = p.enabled.value_or(_enabled);
|
||||
addProperty(_enabled);
|
||||
}
|
||||
|
||||
bool DashboardItem::isEnabled() const {
|
||||
return _isEnabled;
|
||||
return _enabled;
|
||||
}
|
||||
|
||||
} // namespace openspace
|
||||
|
||||
Reference in New Issue
Block a user