diff --git a/data/scene/constellationbounds/constellationbounds.mod b/data/scene/constellationbounds/constellationbounds.mod index fe5e3b2122..30d207f25e 100644 --- a/data/scene/constellationbounds/constellationbounds.mod +++ b/data/scene/constellationbounds/constellationbounds.mod @@ -20,6 +20,7 @@ return { SourceFrame = "J2000", DestinationFrame = "GALACTIC" } - } + }, + GuiPath = "/Milky Way/Stars" } } \ No newline at end of file diff --git a/data/scene/earth/earth.mod b/data/scene/earth/earth.mod index 95a50e21c9..6155bed1fd 100644 --- a/data/scene/earth/earth.mod +++ b/data/scene/earth/earth.mod @@ -11,7 +11,8 @@ return { Observer = "SUN", Kernels = "${OPENSPACE_DATA}/spice/de430_1850-2150.bsp" } - } + }, + GuiPath = "/Solar System/Planets/Earth" }, { -- The default reference frame for Earth-orbiting satellites @@ -23,7 +24,8 @@ return { SourceFrame = "J2000", DestinationFrame = "GALACTIC" } - } + }, + GuiPath = "/Solar System/Planets/Earth" }, -- EarthTrail module { @@ -44,7 +46,7 @@ return { Resolution = 1000 }, Tag = { "planetTrail_solarSystem", "planetTrail_terrestrial" }, - GuiGrouping = "/SolarSystem/Earth" + GuiPath = "/Solar System/Planets/Earth" }, -- RenderableGlobe module { @@ -213,6 +215,6 @@ return { } }, Tag = { "planet_solarSystem", "planet_terrestrial" }, - GuiGrouping = "/SolarSystem/Earth" + GuiPath = "/Solar System/Planets/Earth" } } diff --git a/data/scene/grids/grids.mod b/data/scene/grids/grids.mod index a9ec4af6a4..0af6fc24f7 100644 --- a/data/scene/grids/grids.mod +++ b/data/scene/grids/grids.mod @@ -11,7 +11,8 @@ return { -0.9938214 , -0.1109906, -0.0003515167, 0.0, -0.09647644, 0.8622859, 0.4971472 , 0.0, 0.0 , 0.0 , 0.0 , 1.0 } - } + }, + GuiPath = "/Other/Grids" }, { Name = "Equatorial Grid", @@ -24,7 +25,8 @@ return { -0.8734371 , -0.4448296, -0.1980764, 0.0, -0.483835 , 0.7469823, 0.4559838, 0.0, 0.0 , 0.0 , 0.0 , 1.0 } - } + }, + GuiPath = "/Other/Grids" }, { Name = "Galactic Grid", @@ -33,6 +35,7 @@ return { Type = "RenderableSphericalGrid", LineWidth = 0.75, GridColor = { 0.0, 0.75, 0.75, 1.0} - } + }, + GuiPath = "/Other/Grids" } } diff --git a/data/scene/jupiter/callisto/callisto.mod b/data/scene/jupiter/callisto/callisto.mod index 7ee86055fb..2bd9993449 100644 --- a/data/scene/jupiter/callisto/callisto.mod +++ b/data/scene/jupiter/callisto/callisto.mod @@ -29,7 +29,8 @@ return { } } } - } + }, + GuiPath = "/Solar System/Planets/Jupiter/Moons" }, -- Trail module @@ -46,6 +47,7 @@ return { Color = { 0.4, 0.3, 0.01 }, Period = 17, Resolution = 1000 - } + }, + GuiPath = "/Solar System/Planets/Jupiter/Moons" } } diff --git a/data/scene/jupiter/europa/europa.mod b/data/scene/jupiter/europa/europa.mod index 92f9177da0..b45647d092 100644 --- a/data/scene/jupiter/europa/europa.mod +++ b/data/scene/jupiter/europa/europa.mod @@ -29,7 +29,8 @@ return { }, }, }, - } + }, + GuiPath = "/Solar System/Planets/Jupiter/Moons" }, -- Trail module @@ -46,6 +47,7 @@ return { Color = { 0.5, 0.3, 0.3 }, Period = 85 / 24, Resolution = 1000 - } + }, + GuiPath = "/Solar System/Planets/Jupiter/Moons" } } diff --git a/data/scene/jupiter/ganymede/ganymede.mod b/data/scene/jupiter/ganymede/ganymede.mod index 61f048b368..aa2df8f156 100644 --- a/data/scene/jupiter/ganymede/ganymede.mod +++ b/data/scene/jupiter/ganymede/ganymede.mod @@ -29,7 +29,8 @@ return { } } } - } + }, + GuiPath = "/Solar System/Planets/Jupiter/Moons" }, -- Trail module { @@ -45,6 +46,7 @@ return { Color = { 0.4, 0.3, 0.3 }, Period = 172 / 24, Resolution = 1000 - } + }, + GuiPath = "/Solar System/Planets/Jupiter/Moons" } } diff --git a/data/scene/jupiter/io/io.mod b/data/scene/jupiter/io/io.mod index 70c265d266..549991c797 100644 --- a/data/scene/jupiter/io/io.mod +++ b/data/scene/jupiter/io/io.mod @@ -29,7 +29,8 @@ return { } } } - } + }, + GuiPath = "/Solar System/Planets/Jupiter/Moons" }, -- Trail module { @@ -45,6 +46,7 @@ return { Color = { 0.4, 0.4, 0.2 }, Period = 42 / 24, Resolution = 1000 - } + }, + GuiPath = "/Solar System/Planets/Jupiter/Moons" } } diff --git a/data/scene/jupiter/jupiter/jupiter.mod b/data/scene/jupiter/jupiter/jupiter.mod index c8e822b5af..d711c230c7 100644 --- a/data/scene/jupiter/jupiter/jupiter.mod +++ b/data/scene/jupiter/jupiter/jupiter.mod @@ -10,7 +10,8 @@ return { Observer = "SUN", Kernels = "${OPENSPACE_DATA}/spice/de430_1850-2150.bsp" } - } + }, + GuiPath = "/Solar System/Planets/Jupiter" }, -- RenderableGlobe module { @@ -38,6 +39,7 @@ return { } }, Tag = { "planet_solarSystem", "planet_giants" }, + GuiPath = "/Solar System/Planets/Jupiter" }, -- Trail module { @@ -54,6 +56,7 @@ return { Period = 4330.595, Resolution = 1000 }, - Tag = { "planetTrail_solarSystem", "planetTrail_giants" } + Tag = { "planetTrail_solarSystem", "planetTrail_giants" }, + GuiPath = "/Solar System/Planets/Jupiter" } } \ No newline at end of file diff --git a/data/scene/mars/mars.mod b/data/scene/mars/mars.mod index 169e92bc6d..dff1ff6c77 100644 --- a/data/scene/mars/mars.mod +++ b/data/scene/mars/mars.mod @@ -12,7 +12,8 @@ return { Observer = "SUN", Kernels = "${OPENSPACE_DATA}/spice/de430_1850-2150.bsp" } - } + }, + GuiPath = "/Solar System/Planets/Mars" }, -- RenderableGlobe module { @@ -131,7 +132,7 @@ return { } }, Tag = { "planet_solarSystem", "planet_terrestrial" }, - GuiGrouping = "/SolarSystem/Mars" + GuiPath = "/Solar System/Planets/Mars" }, -- Trail module @@ -150,6 +151,6 @@ return { Resolution = 1000 }, Tag = { "planetTrail_solarSystem", "planetTrail_terrestrial" }, - GuiGrouping = "/SolarSystem/Mars" + GuiPath = "/Solar System/Planets/Mars" } } diff --git a/data/scene/mercury/mercury.mod b/data/scene/mercury/mercury.mod index d510478baa..a8a79b9e95 100644 --- a/data/scene/mercury/mercury.mod +++ b/data/scene/mercury/mercury.mod @@ -10,7 +10,8 @@ return { Observer = "SUN", Kernels = "${OPENSPACE_DATA}/spice/de430_1850-2150.bsp" } - } + }, + GuiPath = "/Solar System/Planets/Mercury" }, -- RenderableGlobe module { @@ -55,6 +56,7 @@ return { } }, Tag = { "planet_solarSystem", "planet_terrestrial" }, + GuiPath = "/Solar System/Planets/Mercury" }, -- Trail module { @@ -71,6 +73,7 @@ return { Period = 87.968, Resolution = 100 }, - Tag = { "planetTrail_solarSystem", "planetTrail_terrestrial" } + Tag = { "planetTrail_solarSystem", "planetTrail_terrestrial" }, + GuiPath = "/Solar System/Planets/Mercury" } } diff --git a/data/scene/milkyway/digitaluniverse/digitaluniverse.mod b/data/scene/milkyway/digitaluniverse/digitaluniverse.mod index 5d4176e865..a60d6c8d09 100644 --- a/data/scene/milkyway/digitaluniverse/digitaluniverse.mod +++ b/data/scene/milkyway/digitaluniverse/digitaluniverse.mod @@ -10,6 +10,6 @@ return { Texture = "textures/DarkUniverse_mellinger_8k.jpg", Orientation = "Inside/Outside" }, - GuiGrouping = "/MilkyWay/MilkyWay" + GuiPath = "/Milky Way/Milky Way" } } diff --git a/data/scene/milkyway/eso/eso.mod b/data/scene/milkyway/eso/eso.mod index 60c6f71696..37d1b00343 100644 --- a/data/scene/milkyway/eso/eso.mod +++ b/data/scene/milkyway/eso/eso.mod @@ -8,6 +8,7 @@ return { Segments = 40, Texture = "textures/eso0932a_blend.png", Orientation = "Inside/Outside" - } + }, + GuiPath = "/Milky Way/Milky Way" } } diff --git a/data/scene/missions/dawn/ceres/ceres.mod b/data/scene/missions/dawn/ceres/ceres.mod index 775b94dae8..ccaacb83e5 100644 --- a/data/scene/missions/dawn/ceres/ceres.mod +++ b/data/scene/missions/dawn/ceres/ceres.mod @@ -31,7 +31,8 @@ return { Type = "Spice", Frame = "IAU_CERES", Reference = "GALACTIC" - } + }, + GuiPath = "/Solar System/Dwarf Planets/Ceres" }, --[[ Ceres Trail Module { diff --git a/data/scene/missions/dawn/dawn/dawn.mod b/data/scene/missions/dawn/dawn/dawn.mod index 54aae8158d..504f2f2440 100644 --- a/data/scene/missions/dawn/dawn/dawn.mod +++ b/data/scene/missions/dawn/dawn/dawn.mod @@ -19,6 +19,7 @@ return { StartTime = "2007 SEP 27 08:15:00", EndTime = "2012 SEP 12 23:57:00" }, + GuiPath = "/Solar System/Missions/Dawn", Ephemeris = { Type = "Spice", Body = "DAWN", @@ -637,6 +638,7 @@ return { Destination = "GALACTIC" }, }, + GuiPath = "/Solar System/Missions/Dawn" }, -- Dawn Solar Array module 2 @@ -660,6 +662,7 @@ return { StartTime = "2007 SEP 27 08:15:00", EndTime = "2012 SEP 12 12:00:00" }, + GuiPath = "/Solar System/Missions/Dawn" }, -- Dawn Trail Module @@ -702,6 +705,7 @@ return { EndTime = "2012 SEP 12 12:00:00", SampleInterval = 3600 * 24 }, + GuiPath = "/Solar System/Missions/Dawn" }, -- -- -- Dawn Trail Module @@ -753,6 +757,7 @@ return { "CERES" } }, + GuiPath = "/Solar System/Missions/Dawn" }, -- DawnFov 1 @@ -779,5 +784,6 @@ return { "CERES" } }, + GuiPath = "/Solar System/Missions/Dawn" }, } diff --git a/data/scene/missions/dawn/vestaprojection/vestaprojection.mod b/data/scene/missions/dawn/vestaprojection/vestaprojection.mod index 379d0272c2..57410aafc4 100644 --- a/data/scene/missions/dawn/vestaprojection/vestaprojection.mod +++ b/data/scene/missions/dawn/vestaprojection/vestaprojection.mod @@ -93,7 +93,8 @@ return { --"${OPENSPACE_DATA}/spice/DAWN_KERNELS/pck/dawn_vesta_v06.tpc", "${OPENSPACE_DATA}/spice/DawnKernels/spk/sb_vesta_071107.bsp", } - } + }, + GuiPath = "/Solar System/Asteroid Belt/Vesta" }, -- Vesta Trail Module { @@ -110,6 +111,7 @@ return { StartTime = "2007 JUL 20 12:00:00", EndTime = "2018 JAN 22 12:00:00", SampleInterval = 3600 * 24 - } + }, + GuiPath = "/Solar System/Asteroid Belt/Vesta" } } diff --git a/data/scene/missions/juno/juno/juno.mod b/data/scene/missions/juno/juno/juno.mod index 8ef710ddcc..70341b1d15 100644 --- a/data/scene/missions/juno/juno/juno.mod +++ b/data/scene/missions/juno/juno/juno.mod @@ -116,7 +116,8 @@ return { "spice/ck/juno_sc_prl_160729_160826_jm0002rp_v01.bc", "spice/ck/juno_sc_prl_161115_161213_jx0405rp_v01.bc" } - } + }, + GuiPath = "/Solar System/Missions/Juno" }, --NewHorizonsTrail module { @@ -134,5 +135,6 @@ return { EndTime = "2016 APR 01", SampleInterval = 3600 }, + GuiPath = "/Solar System/Missions/Juno" }, } diff --git a/data/scene/missions/newhorizons/jupiter/callisto/callisto.mod b/data/scene/missions/newhorizons/jupiter/callisto/callisto.mod index 25facc74d4..791b65184e 100644 --- a/data/scene/missions/newhorizons/jupiter/callisto/callisto.mod +++ b/data/scene/missions/newhorizons/jupiter/callisto/callisto.mod @@ -55,6 +55,7 @@ return { DestinationFrame = "ECLIPJ2000", }, }, + GuiPath = "/Solar System/Planets/Jupiter/Moons" }, { Name = "CallistoText", @@ -79,6 +80,7 @@ return { Position = {0, -10000000, 0} }, }, + GuiPath = "/Solar System/Planets/Jupiter/Moons" }, -- CallistoTrail module { @@ -94,6 +96,7 @@ return { Color = { 0.4, 0.3, 0.01 }, Period = 17, Resolution = 1000 - } + }, + GuiPath = "/Solar System/Planets/Jupiter/Moons" } } diff --git a/data/scene/missions/newhorizons/jupiter/europa/europa.mod b/data/scene/missions/newhorizons/jupiter/europa/europa.mod index 8d0fbe1039..3ea93a208d 100644 --- a/data/scene/missions/newhorizons/jupiter/europa/europa.mod +++ b/data/scene/missions/newhorizons/jupiter/europa/europa.mod @@ -55,6 +55,7 @@ return { DestinationFrame = "ECLIPJ2000", }, }, + GuiPath = "/Solar System/Planets/Jupiter/Moons" }, { Name = "EuropaText", @@ -79,6 +80,7 @@ return { Position = {0, -10000000, 0} }, }, + GuiPath = "/Solar System/Planets/Jupiter/Moons" }, -- EuropaTrail module { @@ -94,6 +96,7 @@ return { Color = { 0.5, 0.3, 0.3 }, Period = 85 / 24, Resolution = 1000 - } + }, + GuiPath = "/Solar System/Planets/Jupiter/Moons" } } diff --git a/data/scene/missions/newhorizons/jupiter/ganymede/ganymede.mod b/data/scene/missions/newhorizons/jupiter/ganymede/ganymede.mod index fe5facac2b..f2cfb8899b 100644 --- a/data/scene/missions/newhorizons/jupiter/ganymede/ganymede.mod +++ b/data/scene/missions/newhorizons/jupiter/ganymede/ganymede.mod @@ -55,6 +55,7 @@ return { DestinationFrame = "ECLIPJ2000", }, }, + GuiPath = "/Solar System/Planets/Jupiter/Moons" }, { Name = "GanymedeText", @@ -73,6 +74,7 @@ return { Position = {0, -10000000, 0} }, }, + GuiPath = "/Solar System/Planets/Jupiter/Moons" }, -- GanymedeTrail module { @@ -88,6 +90,7 @@ return { Color = { 0.4, 0.3, 0.3 }, Period = 172 / 24, Resolution = 1000 - } + }, + GuiPath = "/Solar System/Planets/Jupiter/Moons" } } diff --git a/data/scene/missions/newhorizons/jupiter/io/io.mod b/data/scene/missions/newhorizons/jupiter/io/io.mod index c8bc937554..f328d3508c 100644 --- a/data/scene/missions/newhorizons/jupiter/io/io.mod +++ b/data/scene/missions/newhorizons/jupiter/io/io.mod @@ -55,6 +55,7 @@ return { DestinationFrame = "ECLIPJ2000", }, }, + GuiPath = "/Solar System/Planets/Jupiter/Moons" --[[ Ephemeris = { Type = "Spice", @@ -89,6 +90,7 @@ return { Position = {0, -10000000, 0} }, }, + GuiPath = "/Solar System/Planets/Jupiter/Moons" }, -- IoTrail module { @@ -104,6 +106,7 @@ return { Color = { 0.4, 0.4, 0.2 }, Period = 42 / 24, Resolution = 1000 - } + }, + GuiPath = "/Solar System/Planets/Jupiter/Moons" } } diff --git a/data/scene/missions/newhorizons/jupiter/jupiter/jupiter.mod b/data/scene/missions/newhorizons/jupiter/jupiter/jupiter.mod index f611aa5542..aab9be29ab 100644 --- a/data/scene/missions/newhorizons/jupiter/jupiter/jupiter.mod +++ b/data/scene/missions/newhorizons/jupiter/jupiter/jupiter.mod @@ -98,6 +98,7 @@ return { DestinationFrame = "GALACTIC", }, }, + GuiPath = "/Solar System/Planets/Jupiter" }, { Name = "JupiterText", @@ -116,7 +117,8 @@ return { Position = {0, -100000000, 0} }, }, - }, + GuiPath = "/Solar System/Planets/Jupiter" + }, -- JupiterTrail module { Name = "JupiterTrail", @@ -131,7 +133,8 @@ return { Color = { 0.8, 0.7, 0.7 }, Period = 4330.595, Resolution = 1000 - } + }, + GuiPath = "/Solar System/Planets/Jupiter" } } diff --git a/data/scene/missions/newhorizons/newhorizons/newhorizons.mod b/data/scene/missions/newhorizons/newhorizons/newhorizons.mod index 889c6af821..399613351c 100644 --- a/data/scene/missions/newhorizons/newhorizons/newhorizons.mod +++ b/data/scene/missions/newhorizons/newhorizons/newhorizons.mod @@ -67,6 +67,7 @@ return { Ghosting = false, }, }, + GuiPath = "/Solar System/Missions/New Horizons" }, --NewHorizonsTrail module --[[{ @@ -118,7 +119,8 @@ return { Fadeable = false, Ghosting = false, }, - } + }, + GuiPath = "/Solar System/Missions/New Horizons" }, { Name = "NewHorizonsTrailPluto", @@ -140,6 +142,7 @@ return { EnableFade = false, Rendering = "Lines+Points" }, + GuiPath = "/Solar System/Missions/New Horizons" }, --[[ -- NewHorizonsPath module diff --git a/data/scene/missions/newhorizons/newhorizonsfov/newhorizonsfov.mod b/data/scene/missions/newhorizons/newhorizonsfov/newhorizonsfov.mod index 7c2c7fd4e5..1a40e66c28 100644 --- a/data/scene/missions/newhorizons/newhorizonsfov/newhorizonsfov.mod +++ b/data/scene/missions/newhorizons/newhorizonsfov/newhorizonsfov.mod @@ -28,306 +28,318 @@ return { Type = "StaticTranslation", Position = LorriOffset } - } + }, + GuiPath = "/Solar System/Missions/New Horizons" }, -- NewHorizonsFov module NH_RALPH_LEISA -{ - Name = "NH_RALPH_LEISA", - Parent = "NewHorizonsPosition", - Renderable = { - Type = "RenderableFov", - Body = "NEW HORIZONS", - Frame = "NH_SPACECRAFT", - RGB = { 0.8, 0.7, 0.7 }, - Instrument = { - Name = "NH_RALPH_LEISA", - Aberration = "NONE" - }, - PotentialTargets = { - "Pluto", - "Charon", - "Jupiter", "Io", "Europa", "Ganymede", "Callisto" - } - }, - Transform = { - Translation = { - Type = "StaticTranslation", - Position = RalphOffset - } - } -}, - --- NewHorizonsFov module NH_RALPH_MVIC_PAN1 -{ - Name = "NH_RALPH_MVIC_PAN1", - Parent = "NewHorizonsPosition", - Renderable = { - Type = "RenderableFov", - Body = "NEW HORIZONS", - Frame = "NH_SPACECRAFT", - RGB = { 0.8, 0.7, 0.7 }, - Instrument = { - Name = "NH_RALPH_MVIC_PAN1", - Aberration = "NONE" - }, - PotentialTargets = { - "Pluto", - "Charon", - "Jupiter", "Io", "Europa", "Ganymede", "Callisto" - } - }, - Transform = { - Translation = { - Type = "StaticTranslation", - Position = RalphOffset - } - } -}, - --- NewHorizonsFov module NH_RALPH_MVIC_PAN2 -{ - Name = "NH_RALPH_MVIC_PAN2", - Parent = "NewHorizonsPosition", - Renderable = { - Type = "RenderableFov", - Body = "NEW HORIZONS", - Frame = "NH_SPACECRAFT", - RGB = { 0.8, 0.7, 0.7 }, - Instrument = { - Name = "NH_RALPH_MVIC_PAN2", - Aberration = "NONE" - }, - PotentialTargets = { - "Pluto", - "Charon", - "Jupiter", "Io", "Europa", "Ganymede", "Callisto" - } - }, - Transform = { - Translation = { - Type = "StaticTranslation", - Position = RalphOffset - } - } -}, - --- NewHorizonsFov module NH_RALPH_MVIC_RED -{ - Name = "NH_RALPH_MVIC_RED", - Parent = "NewHorizonsPosition", - Renderable = { - Type = "RenderableFov", - Body = "NEW HORIZONS", - Frame = "NH_SPACECRAFT", - RGB = { 0.8, 0.7, 0.7 }, - Instrument = { - Name = "NH_RALPH_MVIC_RED", - Aberration = "NONE" - }, - PotentialTargets = { - "Pluto", - "Charon", - "Jupiter", "Io", "Europa", "Ganymede", "Callisto" - } - }, - Transform = { - Translation = { - Type = "StaticTranslation", - Position = RalphOffset - } - } -}, - - -- NewHorizonsFov module NH_RALPH_MVIC_BLUE - { - Name = "NH_RALPH_MVIC_BLUE", - Parent = "NewHorizonsPosition", - Renderable = { - Type = "RenderableFov", - Body = "NEW HORIZONS", - Frame = "NH_SPACECRAFT", - RGB = { 0.8, 0.7, 0.7 }, - Instrument = { - Name = "NH_RALPH_MVIC_BLUE", - Aberration = "NONE" - }, - PotentialTargets = { - "Pluto", - "Charon", - "Jupiter", "Io", "Europa", "Ganymede", "Callisto" - } - }, - Transform = { - Translation = { - Type = "StaticTranslation", - Position = RalphOffset - } - } -}, - --- NewHorizonsFov module NH_RALPH_MVIC_FT -{ - Name = "NH_RALPH_MVIC_FT", - Parent = "NewHorizonsPosition", - Renderable = { - Type = "RenderableFov", - Body = "NEW HORIZONS", - Frame = "NH_SPACECRAFT", - RGB = { 0.8, 0.7, 0.7 }, - Instrument = { - Name = "NH_RALPH_MVIC_FT", - Aberration = "NONE" - }, - PotentialTargets = { - "Pluto", - "Charon", - "Jupiter", "Io", "Europa", "Ganymede", "Callisto" - } - }, - Transform = { - Translation = { - Type = "StaticTranslation", - Position = RalphOffset - } - } -}, - --- NewHorizonsFov module NH_RALPH_MVIC_METHANE -{ - Name = "NH_RALPH_MVIC_METHANE", - Parent = "NewHorizonsPosition", - Renderable = { - Type = "RenderableFov", - Body = "NEW HORIZONS", - Frame = "NH_SPACECRAFT", - RGB = { 0.8, 0.7, 0.7 }, - Instrument = { - Name = "NH_RALPH_MVIC_METHANE", - Aberration = "NONE" - }, - PotentialTargets = { - "Pluto", - "Charon", - "Jupiter", "Io", "Europa", "Ganymede", "Callisto" - } - }, - Transform = { - Translation = { - Type = "StaticTranslation", - Position = RalphOffset - } - } -}, - --- NewHorizonsFov module NH_RALPH_MVIC_NIR -{ - Name = "NH_RALPH_MVIC_NIR", - Parent = "NewHorizonsPosition", - Renderable = { - Type = "RenderableFov", - Body = "NEW HORIZONS", - Frame = "NH_SPACECRAFT", - RGB = { 0.8, 0.7, 0.7 }, - Instrument = { - Name = "NH_RALPH_MVIC_NIR", - Aberration = "NONE" - }, - PotentialTargets = { - "Pluto", - "Charon", - "Jupiter", "Io", "Europa", "Ganymede", "Callisto" - } - }, - Transform = { - Translation = { - Type = "StaticTranslation", - Position = RalphOffset - } - } -}, - --- NewHorizonsFov module NH_ALICE_AIRGLOW -{ - Name = "NH_ALICE_AIRGLOW", - Parent = "NewHorizonsPosition", - Renderable = { - Type = "RenderableFov", - Body = "NEW HORIZONS", - Frame = "NH_SPACECRAFT", - RGB = { 0.8, 0.7, 0.7 }, - Instrument = { - Name = "NH_ALICE_AIRGLOW", - Aberration = "NONE" - }, - PotentialTargets = { - "Pluto", - "Charon", - "Jupiter", "Io", "Europa", "Ganymede", "Callisto" - } - }, - Transform = { - Translation = { - Type = "StaticTranslation", - Position = AliceOffset - } - } -}, - --- NewHorizonsFov module NH_ALICE_SOC -{ - Name = "NH_ALICE_SOC", - Parent = "NewHorizonsPosition", - Renderable = { - Type = "RenderableFov", - Body = "NEW HORIZONS", - Frame = "NH_SPACECRAFT", - RGB = { 0.8, 0.7, 0.7 }, - Instrument = { - Name = "NH_ALICE_SOC", - Aberration = "NONE" - }, - PotentialTargets = { - "Pluto", - "Charon", - "Jupiter", "Io", "Europa", "Ganymede", "Callisto" - } - }, - Transform = { - Translation = { - Type = "StaticTranslation", - Position = AliceOffset - }, - } - }, - --- Module NH_REX -{ - Name = "NH_REX", - Parent = "NewHorizonsPosition", - Renderable = { - Type = "RenderableCrawlingLine", - Source = "NH_REX", - Target = "EARTH", - Instrument = "NH_REX", - Color = { - Start = { 1.0, 0.7, 0.0, 1.0}, - End = {0.0, 0.0, 0.0, 0.0 } - } - }, - Transform = { - Rotation = { - Type = "StaticRotation", - Rotation = { - 0.0, 1.0, 0.0, - 0.0, 0.0, 1.0, - 1.0, 0.0, 0.0 + { + Name = "NH_RALPH_LEISA", + Parent = "NewHorizonsPosition", + Renderable = { + Type = "RenderableFov", + Body = "NEW HORIZONS", + Frame = "NH_SPACECRAFT", + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "NH_RALPH_LEISA", + Aberration = "NONE" + }, + PotentialTargets = { + "Pluto", + "Charon", + "Jupiter", "Io", "Europa", "Ganymede", "Callisto" } }, - Translation = { - Type = "StaticTranslation", - Position = RexOffset - } + Transform = { + Translation = { + Type = "StaticTranslation", + Position = RalphOffset + } + }, + GuiPath = "/Solar System/Missions/New Horizons" + }, + + -- NewHorizonsFov module NH_RALPH_MVIC_PAN1 + { + Name = "NH_RALPH_MVIC_PAN1", + Parent = "NewHorizonsPosition", + Renderable = { + Type = "RenderableFov", + Body = "NEW HORIZONS", + Frame = "NH_SPACECRAFT", + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "NH_RALPH_MVIC_PAN1", + Aberration = "NONE" + }, + PotentialTargets = { + "Pluto", + "Charon", + "Jupiter", "Io", "Europa", "Ganymede", "Callisto" + } + }, + Transform = { + Translation = { + Type = "StaticTranslation", + Position = RalphOffset + } + }, + GuiPath = "/Solar System/Missions/New Horizons" + }, + + -- NewHorizonsFov module NH_RALPH_MVIC_PAN2 + { + Name = "NH_RALPH_MVIC_PAN2", + Parent = "NewHorizonsPosition", + Renderable = { + Type = "RenderableFov", + Body = "NEW HORIZONS", + Frame = "NH_SPACECRAFT", + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "NH_RALPH_MVIC_PAN2", + Aberration = "NONE" + }, + PotentialTargets = { + "Pluto", + "Charon", + "Jupiter", "Io", "Europa", "Ganymede", "Callisto" + } + }, + Transform = { + Translation = { + Type = "StaticTranslation", + Position = RalphOffset + } + }, + GuiPath = "/Solar System/Missions/New Horizons" + }, + + -- NewHorizonsFov module NH_RALPH_MVIC_RED + { + Name = "NH_RALPH_MVIC_RED", + Parent = "NewHorizonsPosition", + Renderable = { + Type = "RenderableFov", + Body = "NEW HORIZONS", + Frame = "NH_SPACECRAFT", + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "NH_RALPH_MVIC_RED", + Aberration = "NONE" + }, + PotentialTargets = { + "Pluto", + "Charon", + "Jupiter", "Io", "Europa", "Ganymede", "Callisto" + } + }, + Transform = { + Translation = { + Type = "StaticTranslation", + Position = RalphOffset + } + }, + GuiPath = "/Solar System/Missions/New Horizons" + }, + + -- NewHorizonsFov module NH_RALPH_MVIC_BLUE + { + Name = "NH_RALPH_MVIC_BLUE", + Parent = "NewHorizonsPosition", + Renderable = { + Type = "RenderableFov", + Body = "NEW HORIZONS", + Frame = "NH_SPACECRAFT", + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "NH_RALPH_MVIC_BLUE", + Aberration = "NONE" + }, + PotentialTargets = { + "Pluto", + "Charon", + "Jupiter", "Io", "Europa", "Ganymede", "Callisto" + } + }, + Transform = { + Translation = { + Type = "StaticTranslation", + Position = RalphOffset + } + }, + GuiPath = "/Solar System/Missions/New Horizons" + }, + + -- NewHorizonsFov module NH_RALPH_MVIC_FT + { + Name = "NH_RALPH_MVIC_FT", + Parent = "NewHorizonsPosition", + Renderable = { + Type = "RenderableFov", + Body = "NEW HORIZONS", + Frame = "NH_SPACECRAFT", + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "NH_RALPH_MVIC_FT", + Aberration = "NONE" + }, + PotentialTargets = { + "Pluto", + "Charon", + "Jupiter", "Io", "Europa", "Ganymede", "Callisto" + } + }, + Transform = { + Translation = { + Type = "StaticTranslation", + Position = RalphOffset + } + }, + GuiPath = "/Solar System/Missions/New Horizons" + }, + + -- NewHorizonsFov module NH_RALPH_MVIC_METHANE + { + Name = "NH_RALPH_MVIC_METHANE", + Parent = "NewHorizonsPosition", + Renderable = { + Type = "RenderableFov", + Body = "NEW HORIZONS", + Frame = "NH_SPACECRAFT", + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "NH_RALPH_MVIC_METHANE", + Aberration = "NONE" + }, + PotentialTargets = { + "Pluto", + "Charon", + "Jupiter", "Io", "Europa", "Ganymede", "Callisto" + } + }, + Transform = { + Translation = { + Type = "StaticTranslation", + Position = RalphOffset + } + }, + GuiPath = "/Solar System/Missions/New Horizons" + }, + + -- NewHorizonsFov module NH_RALPH_MVIC_NIR + { + Name = "NH_RALPH_MVIC_NIR", + Parent = "NewHorizonsPosition", + Renderable = { + Type = "RenderableFov", + Body = "NEW HORIZONS", + Frame = "NH_SPACECRAFT", + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "NH_RALPH_MVIC_NIR", + Aberration = "NONE" + }, + PotentialTargets = { + "Pluto", + "Charon", + "Jupiter", "Io", "Europa", "Ganymede", "Callisto" + } + }, + Transform = { + Translation = { + Type = "StaticTranslation", + Position = RalphOffset + } + }, + GuiPath = "/Solar System/Missions/New Horizons" + }, + + -- NewHorizonsFov module NH_ALICE_AIRGLOW + { + Name = "NH_ALICE_AIRGLOW", + Parent = "NewHorizonsPosition", + Renderable = { + Type = "RenderableFov", + Body = "NEW HORIZONS", + Frame = "NH_SPACECRAFT", + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "NH_ALICE_AIRGLOW", + Aberration = "NONE" + }, + PotentialTargets = { + "Pluto", + "Charon", + "Jupiter", "Io", "Europa", "Ganymede", "Callisto" + } + }, + Transform = { + Translation = { + Type = "StaticTranslation", + Position = AliceOffset + } + }, + GuiPath = "/Solar System/Missions/New Horizons" + }, + + -- NewHorizonsFov module NH_ALICE_SOC + { + Name = "NH_ALICE_SOC", + Parent = "NewHorizonsPosition", + Renderable = { + Type = "RenderableFov", + Body = "NEW HORIZONS", + Frame = "NH_SPACECRAFT", + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "NH_ALICE_SOC", + Aberration = "NONE" + }, + PotentialTargets = { + "Pluto", + "Charon", + "Jupiter", "Io", "Europa", "Ganymede", "Callisto" + } + }, + Transform = { + Translation = { + Type = "StaticTranslation", + Position = AliceOffset + }, + }, + GuiPath = "/Solar System/Missions/New Horizons" + }, + + -- Module NH_REX + { + Name = "NH_REX", + Parent = "NewHorizonsPosition", + Renderable = { + Type = "RenderableCrawlingLine", + Source = "NH_REX", + Target = "EARTH", + Instrument = "NH_REX", + Color = { + Start = { 1.0, 0.7, 0.0, 1.0}, + End = {0.0, 0.0, 0.0, 0.0 } + } + }, + Transform = { + Rotation = { + Type = "StaticRotation", + Rotation = { + 0.0, 1.0, 0.0, + 0.0, 0.0, 1.0, + 1.0, 0.0, 0.0 + } + }, + Translation = { + Type = "StaticTranslation", + Position = RexOffset + } + }, + GuiPath = "/Solar System/Missions/New Horizons" } } -} diff --git a/data/scene/missions/newhorizons/pluto/charon/charon.mod b/data/scene/missions/newhorizons/pluto/charon/charon.mod index 89931718fc..86c2fcfec8 100644 --- a/data/scene/missions/newhorizons/pluto/charon/charon.mod +++ b/data/scene/missions/newhorizons/pluto/charon/charon.mod @@ -55,6 +55,7 @@ return { DestinationFrame = "GALACTIC" }, }, + GuiPath = "/Solar System/Dwarf Planets/Pluto" }, { Name = "CharonText", @@ -73,6 +74,7 @@ return { Position = {0, -1000000, 0} }, }, + GuiPath = "/Solar System/Dwarf Planets/Pluto" }, { Name = "CharonShadow", @@ -86,9 +88,10 @@ return { BodyFrame = "IAU_CHARON", Aberration = "NONE", }, - }, + GuiPath = "/Solar System/Dwarf Planets/Pluto" + }, -- CharonTrail module - { + { Name = "CharonTrail", Parent = "PlutoBarycenter", Renderable = { @@ -102,5 +105,6 @@ return { Period = 6.38725, Resolution = 1000 }, + GuiPath = "/Solar System/Dwarf Planets/Pluto" } } diff --git a/data/scene/missions/newhorizons/pluto/hydra/hydra.mod b/data/scene/missions/newhorizons/pluto/hydra/hydra.mod index 742096b036..47dd27e2e6 100644 --- a/data/scene/missions/newhorizons/pluto/hydra/hydra.mod +++ b/data/scene/missions/newhorizons/pluto/hydra/hydra.mod @@ -34,6 +34,7 @@ return { DestinationFrame = "ECLIPJ2000" }, }, + GuiPath = "/Solar System/Dwarf Planets/Pluto" }, { Name = "HydraText", @@ -51,6 +52,7 @@ return { Position = {1000000, 0, 1000000}, }, }, + GuiPath = "/Solar System/Dwarf Planets/Pluto" }, -- HydraTrail module { @@ -67,6 +69,7 @@ return { Period = 38.20177, Resolution = 1000 }, + GuiPath = "/Solar System/Dwarf Planets/Pluto" } } diff --git a/data/scene/missions/newhorizons/pluto/kerberos/kerberos.mod b/data/scene/missions/newhorizons/pluto/kerberos/kerberos.mod index e2abf614af..2cabc7217c 100644 --- a/data/scene/missions/newhorizons/pluto/kerberos/kerberos.mod +++ b/data/scene/missions/newhorizons/pluto/kerberos/kerberos.mod @@ -34,6 +34,7 @@ return { DestinationFrame = "ECLIPJ2000" }, }, + GuiPath = "/Solar System/Dwarf Planets/Pluto" }, { Name = "KerberosText", @@ -51,7 +52,8 @@ return { Position = {1000000, 0, 1000000}, }, }, - }, + GuiPath = "/Solar System/Dwarf Planets/Pluto" + }, -- KerberosTrail module { Name = "KerberosTrail", @@ -67,6 +69,6 @@ return { Period = 32.16756, Resolution = 1000 }, + GuiPath = "/Solar System/Dwarf Planets/Pluto" } - } diff --git a/data/scene/missions/newhorizons/pluto/nix/nix.mod b/data/scene/missions/newhorizons/pluto/nix/nix.mod index a3ade397d5..0672fc99be 100644 --- a/data/scene/missions/newhorizons/pluto/nix/nix.mod +++ b/data/scene/missions/newhorizons/pluto/nix/nix.mod @@ -34,6 +34,7 @@ return { DestinationFrame = "ECLIPJ2000" }, }, + GuiPath = "/Solar System/Dwarf Planets/Pluto" }, { Name = "NixText", @@ -45,6 +46,7 @@ return { Billboard = true, Texture = "textures/Nix-Text.png" }, + GuiPath = "/Solar System/Dwarf Planets/Pluto" }, -- NixTrail module { @@ -61,6 +63,6 @@ return { Period = 24.85463, Resolution = 1000 }, + GuiPath = "/Solar System/Dwarf Planets/Pluto" } - } diff --git a/data/scene/missions/newhorizons/pluto/pluto/pluto.mod b/data/scene/missions/newhorizons/pluto/pluto/pluto.mod index c2cc00c9f3..53e1a3a693 100644 --- a/data/scene/missions/newhorizons/pluto/pluto/pluto.mod +++ b/data/scene/missions/newhorizons/pluto/pluto/pluto.mod @@ -155,8 +155,9 @@ return { DestinationFrame = "GALACTIC", } }, + GuiPath = "/Solar System/Dwarf Planets/Pluto" }, - { + { Name = "PlutoBarycenterLabel", Parent = "PlutoBarycenter", Renderable = { @@ -170,6 +171,7 @@ return { MieColor = {1.0, 1.0, 1.0} } }, + GuiPath = "/Solar System/Dwarf Planets/Pluto" }, { Name = "PlutoText", @@ -188,6 +190,7 @@ return { Position = {0, -2000000, 0} }, }, + GuiPath = "/Solar System/Dwarf Planets/Pluto" }, { Name = "PlutoTexture", @@ -206,6 +209,7 @@ return { Position = {0, -4000000, 0} }, }, + GuiPath = "/Solar System/Dwarf Planets/Pluto" }, { Name = "PlutoShadow", @@ -235,6 +239,7 @@ return { Period = 6.38723, Resolution = 1000 }, + GuiPath = "/Solar System/Dwarf Planets/Pluto" }, -- PlutoTrail module { @@ -253,5 +258,6 @@ return { Period = 160 * 365.242, Resolution = 1000 }, - } + GuiPath = "/Solar System/Dwarf Planets/Pluto" + } } diff --git a/data/scene/missions/newhorizons/pluto/styx/styx.mod b/data/scene/missions/newhorizons/pluto/styx/styx.mod index 0474408ff9..f09f387531 100644 --- a/data/scene/missions/newhorizons/pluto/styx/styx.mod +++ b/data/scene/missions/newhorizons/pluto/styx/styx.mod @@ -34,6 +34,7 @@ return { DestinationFrame = "ECLIPJ2000" }, }, + GuiPath = "/Solar System/Dwarf Planets/Pluto" }, { Name = "StyxText", @@ -52,6 +53,7 @@ return { Position = {1000000, 0, 1000000} }, }, + GuiPath = "/Solar System/Dwarf Planets/Pluto" }, -- StyxTrail module { @@ -68,5 +70,6 @@ return { Period = 20.16155, Resolution = 1000 }, + GuiPath = "/Solar System/Dwarf Planets/Pluto" } } diff --git a/data/scene/missions/osirisrex/bennu/bennu.mod b/data/scene/missions/osirisrex/bennu/bennu.mod index ff099ce50e..d031ad045e 100644 --- a/data/scene/missions/osirisrex/bennu/bennu.mod +++ b/data/scene/missions/osirisrex/bennu/bennu.mod @@ -82,7 +82,6 @@ return { Far = 1000000, }, }, - }, Transform = { @@ -92,6 +91,7 @@ return { DestinationFrame = "GALACTIC", }, }, + GuiPath = "/Solar System/Asteroid" }, { Name = "BennuTrail", @@ -108,5 +108,6 @@ return { EndTime = "2023 MAY 31 00:00:00.000", SampleInterval = 3600, }, + GuiPath = "/Solar System/Asteroid" }, } diff --git a/data/scene/missions/osirisrex/osirisrex/osirisrex.mod b/data/scene/missions/osirisrex/osirisrex/osirisrex.mod index 8871183179..7e79b138a4 100644 --- a/data/scene/missions/osirisrex/osirisrex/osirisrex.mod +++ b/data/scene/missions/osirisrex/osirisrex/osirisrex.mod @@ -189,6 +189,7 @@ return { DestinationFrame = "GALACTIC", }, }, + GuiPath = "/Solar System/Missions/OSIRIS REx" }, { Name = "ORX_OCAMS_POLYCAM", @@ -219,6 +220,7 @@ return { DestinationFrame = "ORX_SPACECRAFT", }, }, + GuiPath = "/Solar System/Missions/OSIRIS REx" }, { Name = "ORX_REXIS", @@ -249,6 +251,7 @@ return { DestinationFrame = "ORX_SPACECRAFT", }, }, + GuiPath = "/Solar System/Missions/OSIRIS REx" }, { Name = "POLYCAM FOV", @@ -267,6 +270,7 @@ return { BENNU_BODY -- Bennu } }, + GuiPath = "/Solar System/Missions/OSIRIS REx" }, { Name = "REXIS FOV", @@ -288,6 +292,7 @@ return { [BENNU_BODY] = "IAU_BENNU" } }, + GuiPath = "/Solar System/Missions/OSIRIS REx" }, --[[ -- Latest image taken by POLYCAM @@ -345,6 +350,7 @@ return { EndTime = "2016 SEP 9 00:05:00", SampleInterval = 60, }, + GuiPath = "/Solar System/Missions/OSIRIS REx" }, -- Trail relative to solar system barycenter @@ -363,6 +369,7 @@ return { EndTime = "2023 SEP 24 12:00:00", SampleInterval = 3600, }, + GuiPath = "/Solar System/Missions/OSIRIS REx" }, -- Trail relative to Bennu @@ -381,5 +388,6 @@ return { EndTime = "2023 SEP 24 12:00:00", SampleInterval = 3600, }, + GuiPath = "/Solar System/Missions/OSIRIS REx" }, } diff --git a/data/scene/missions/rosetta/67P/67P.mod b/data/scene/missions/rosetta/67P/67P.mod index ca06b45f03..40a0ee7da1 100644 --- a/data/scene/missions/rosetta/67P/67P.mod +++ b/data/scene/missions/rosetta/67P/67P.mod @@ -78,6 +78,7 @@ return { DestinationFrame = "GALACTIC", }, }, + GuiPath = "/Solar System/Comets/67P Churymov-Gerasimenko" }, -- -- 67P Trail Module { @@ -95,6 +96,7 @@ return { EndTime = "2017 JAN 01 00:00:00.000", SampleInterval = 3600, }, + GuiPath = "/Solar System/Comets/67P Churymov-Gerasimenko" }, --[[ { diff --git a/data/scene/missions/rosetta/rosetta/rosetta.mod b/data/scene/missions/rosetta/rosetta/rosetta.mod index fecc927266..96e3cf1c5b 100644 --- a/data/scene/missions/rosetta/rosetta/rosetta.mod +++ b/data/scene/missions/rosetta/rosetta/rosetta.mod @@ -83,7 +83,8 @@ return { -- The scale of the model is in cm; OpenSpace is in m Scale = 0.01 } - } + }, + GuiPath = "/Solar System/Missions/Rosetta" }, { Name = "Rosetta_black_foil", @@ -97,7 +98,8 @@ return { }, ColorTexture = "textures/foil_silver_ramp.png", ModelTransform = RotationMatrix - } + }, + GuiPath = "/Solar System/Missions/Rosetta" }, { Name = "Rosetta_black_parts", @@ -111,7 +113,8 @@ return { }, ColorTexture = "textures/foil_silver_ramp.png", ModelTransform = RotationMatrix - } + }, + GuiPath = "/Solar System/Missions/Rosetta" }, { Name = "Rosetta_dish", @@ -126,6 +129,7 @@ return { ColorTexture = "textures/dish_AO.png", ModelTransform = RotationMatrix }, + GuiPath = "/Solar System/Missions/Rosetta" }, { Name = "Rosetta_parts", @@ -139,7 +143,8 @@ return { }, ColorTexture = "textures/parts2_AO.png", ModelTransform = RotationMatrix - } + }, + GuiPath = "/Solar System/Missions/Rosetta" }, { Name = "Rosetta_silver_foil", @@ -153,7 +158,8 @@ return { }, ColorTexture = "textures/foil_silver_ramp.png", ModelTransform = RotationMatrix - } + }, + GuiPath = "/Solar System/Missions/Rosetta" }, { Name = "Rosetta_vents", @@ -167,7 +173,8 @@ return { }, ColorTexture = "textures/tex_01.png", ModelTransform = RotationMatrix - } + }, + GuiPath = "/Solar System/Missions/Rosetta" }, { Name = "Rosetta_wing_a", @@ -182,6 +189,7 @@ return { ColorTexture = "textures/tex_01.png", ModelTransform = RotationMatrix }, + GuiPath = "/Solar System/Missions/Rosetta" }, { Name = "Rosetta_wing_b", @@ -196,6 +204,7 @@ return { ColorTexture = "textures/tex_01.png", ModelTransform = RotationMatrix }, + GuiPath = "/Solar System/Missions/Rosetta" -- Transform = { -- Rotation = { -- Type = "SpiceRotation", @@ -216,7 +225,8 @@ return { }, ColorTexture = "textures/foil_gold_ramp.png", ModelTransform = RotationMatrix - } + }, + GuiPath = "/Solar System/Missions/Rosetta" }, { Name = "Philae", @@ -240,7 +250,8 @@ return { -- The scale of the model is in cm; OpenSpace is in m Scale = 0.01 } - } + }, + GuiPath = "/Solar System/Missions/Rosetta" }, { Name = "Philae_foil", @@ -254,7 +265,8 @@ return { }, ColorTexture = "textures/foil_silver_ramp.png", ModelTransform = RotationMatrix - } + }, + GuiPath = "/Solar System/Missions/Rosetta" }, { Name = "Philae_lids", @@ -268,7 +280,8 @@ return { }, ColorTexture = "textures/parts2_AO.png", ModelTransform = RotationMatrix - } + }, + GuiPath = "/Solar System/Missions/Rosetta" }, { Name = "Philae_parts", @@ -282,7 +295,8 @@ return { }, ColorTexture = "textures/foil_silver_ramp.png", ModelTransform = RotationMatrix - } + }, + GuiPath = "/Solar System/Missions/Rosetta" }, { Name = "Philae_solarp", @@ -296,7 +310,8 @@ return { }, ColorTexture = "textures/tex_01.png", ModelTransform = RotationMatrix - } + }, + GuiPath = "/Solar System/Missions/Rosetta" }, { Name = "RosettaCometTrail", @@ -313,6 +328,7 @@ return { EndTime = "2016 SEP 30 12:00:00", SampleInterval = 3600, }, + GuiPath = "/Solar System/Missions/Rosetta" }, { Name = "PhilaeTrail", @@ -329,12 +345,14 @@ return { EndTime = "2014 NOV 12 17:00:00", SampleInterval = 2, }, - }, + GuiPath = "/Solar System/Missions/Rosetta" + }, { Name = "NAVCAM", - Parent = "Rosetta", + Parent = "Rosetta",, + GuiPath = "/Solar System/Missions/Rosetta" }, - { + { Name = "NAVCAM FOV", Parent = "NAVCAM", Renderable = { @@ -359,6 +377,7 @@ return { ["CHURYUMOV-GERASIMENKO"] = "67P/C-G_CK" } }, + GuiPath = "/Solar System/Missions/Rosetta" }, -- Latest image taken by NAVCAM { @@ -372,6 +391,7 @@ return { Instrument = "ROS_NAVCAM-A", Moving = false, Texture = "textures/defaultProj.png", - } + }, + GuiPath = "/Solar System/Missions/Rosetta" } } diff --git a/data/scene/moon/moon.mod b/data/scene/moon/moon.mod index b72988b863..d9170d0bfa 100644 --- a/data/scene/moon/moon.mod +++ b/data/scene/moon/moon.mod @@ -62,7 +62,7 @@ return { } } }, - GuiGrouping = "/SolarSystem/Earth/Moon" + GuiPath = "/Solar System/Planets/Earth/Moon" }, -- MoonTrail module { @@ -78,6 +78,7 @@ return { Color = { 0.5, 0.3, 0.3 }, Period = 27, Resolution = 1000 - } + }, + GuiPath = "/Solar System/Planets/Earth/Moon" } } diff --git a/data/scene/neptune/neptune.mod b/data/scene/neptune/neptune.mod index 57448d3042..7fbade114f 100644 --- a/data/scene/neptune/neptune.mod +++ b/data/scene/neptune/neptune.mod @@ -10,7 +10,8 @@ return { Observer = "SUN", Kernels = "${OPENSPACE_DATA}/spice/de430_1850-2150.bsp" } - } + }, + GuiPath = "/Solar System/Planets/Neptune" }, -- RenderableGlobe module { @@ -38,6 +39,7 @@ return { } }, Tag = { "planet_solarSystem", "planet_giants" }, + GuiPath = "/Solar System/Planets/Neptune" }, -- Trail module @@ -55,6 +57,7 @@ return { Period = 60200, Resolution = 1000 }, - Tag = { "planetTrail_solarSystem", "planetTrail_giants" } + Tag = { "planetTrail_solarSystem", "planetTrail_giants" }, + GuiPath = "/Solar System/Planets/Neptune" } } diff --git a/data/scene/satellites/satellites.mod b/data/scene/satellites/satellites.mod index 427642b95a..9557569644 100644 --- a/data/scene/satellites/satellites.mod +++ b/data/scene/satellites/satellites.mod @@ -76,7 +76,8 @@ function getSat(title, file, lineNum) Type = "StaticScale", Scale = 1, } - } + }, + GuiPath = "/Solar System/Planets/Earth/Satellites" } end @@ -99,7 +100,7 @@ function getSatTrail(title, file, lineNum, per, color) Period = per, Resolution = 160 }, - GuiName = "/Satellites/" .. trailName + GuiPath = "/Solar System/Planets/Earth/Satellites" } end diff --git a/data/scene/saturn/dione/dione.mod b/data/scene/saturn/dione/dione.mod index 57517df105..c98f0c5e6e 100644 --- a/data/scene/saturn/dione/dione.mod +++ b/data/scene/saturn/dione/dione.mod @@ -28,7 +28,8 @@ return { SourceFrame = "IAU_ENCELADUS", DestinationFrame = "GALACTIC" } - } + }, + GuiPath = "/Solar System/Planets/Saturn/Moons" }, { Name = "DioneTrail", @@ -43,6 +44,7 @@ return { Color = { 0.5, 0.3, 0.3 }, Period = 66 / 24, Resolution = 1000 - } + }, + GuiPath = "/Solar System/Planets/Saturn/Moons" } } diff --git a/data/scene/saturn/enceladus/enceladus.mod b/data/scene/saturn/enceladus/enceladus.mod index 877ffd5ac1..83f5023308 100644 --- a/data/scene/saturn/enceladus/enceladus.mod +++ b/data/scene/saturn/enceladus/enceladus.mod @@ -28,7 +28,8 @@ return { SourceFrame = "IAU_ENCELADUS", DestinationFrame = "GALACTIC" } - } + }, + GuiPath = "/Solar System/Planets/Saturn/Moons" }, { Name = "EnceladusTrail", @@ -43,6 +44,7 @@ return { Color = { 0.5, 0.3, 0.3 }, Period = 33 / 24, Resolution = 1000 - } + }, + GuiPath = "/Solar System/Planets/Saturn/Moons" } } diff --git a/data/scene/saturn/iapetus/iapetus.mod b/data/scene/saturn/iapetus/iapetus.mod index 077282c537..1b5549234a 100644 --- a/data/scene/saturn/iapetus/iapetus.mod +++ b/data/scene/saturn/iapetus/iapetus.mod @@ -28,7 +28,8 @@ return { SourceFrame = "IAU_ENCELADUS", DestinationFrame = "GALACTIC" } - } + }, + GuiPath = "/Solar System/Planets/Saturn/Moons" }, { Name = "IapetusTrail", @@ -43,6 +44,7 @@ return { Color = { 0.5, 0.3, 0.3 }, Period = 79, Resolution = 1000 - } + }, + GuiPath = "/Solar System/Planets/Saturn/Moons" } } diff --git a/data/scene/saturn/mimas/mimas.mod b/data/scene/saturn/mimas/mimas.mod index 3d4eb0bf4d..246ee92eb2 100644 --- a/data/scene/saturn/mimas/mimas.mod +++ b/data/scene/saturn/mimas/mimas.mod @@ -28,7 +28,8 @@ return { SourceFrame = "IAU_MIMAS", DestinationFrame = "GALACTIC" } - } + }, + GuiPath = "/Solar System/Planets/Saturn/Moons" }, { Name = "MimasTrail", @@ -43,6 +44,7 @@ return { Color = { 0.5, 0.3, 0.3 }, Period = 23 / 24, Resolution = 1000 - } + }, + GuiPath = "/Solar System/Planets/Saturn/Moons" } } \ No newline at end of file diff --git a/data/scene/saturn/rhea/rhea.mod b/data/scene/saturn/rhea/rhea.mod index 52e61ed44c..05339a74ce 100644 --- a/data/scene/saturn/rhea/rhea.mod +++ b/data/scene/saturn/rhea/rhea.mod @@ -28,7 +28,8 @@ return { SourceFrame = "IAU_ENCELADUS", DestinationFrame = "GALACTIC" } - } + }, + GuiPath = "/Solar System/Planets/Saturn/Moons" }, { Name = "RheaTrail", @@ -43,6 +44,7 @@ return { Color = { 0.5, 0.3, 0.3 }, Period = 108 / 24, Resolution = 1000 - } + }, + GuiPath = "/Solar System/Planets/Saturn/Moons" } } diff --git a/data/scene/saturn/saturn/saturn.mod b/data/scene/saturn/saturn/saturn.mod index f597dfcdb3..8241cb43bc 100644 --- a/data/scene/saturn/saturn/saturn.mod +++ b/data/scene/saturn/saturn/saturn.mod @@ -10,7 +10,8 @@ return { Observer = "SUN", Kernels = "${OPENSPACE_DATA}/spice/de430_1850-2150.bsp" } - } + }, + GuiPath = "/Solar System/Planets/Saturn" }, -- Saturn module @@ -38,7 +39,8 @@ return { SourceFrame = "IAU_SATURN", DestinationFrame = "GALACTIC" } - } + }, + GuiPath = "/Solar System/Planets/Saturn" }, { Name = "SaturnRings", @@ -48,7 +50,8 @@ return { Texture = "textures/saturn_rings.png", Size = 140220000, Offset = { 74500 / 140445.100671159, 1.0 } -- min / max extend - } + }, + GuiPath = "/Solar System/Planets/Saturn" }, -- SaturnTrail module { @@ -65,6 +68,7 @@ return { Period = 10746.94, Resolution = 1000, }, - Tag = { "planetTrail_solarSystem", "planetTrail_giants" } + Tag = { "planetTrail_solarSystem", "planetTrail_giants" }, + GuiPath = "/Solar System/Planets/Saturn" } } diff --git a/data/scene/saturn/tethys/tethys.mod b/data/scene/saturn/tethys/tethys.mod index c7c94548bc..f21d2835eb 100644 --- a/data/scene/saturn/tethys/tethys.mod +++ b/data/scene/saturn/tethys/tethys.mod @@ -28,7 +28,8 @@ return { SourceFrame = "IAU_ENCELADUS", DestinationFrame = "GALACTIC" } - } + }, + GuiPath = "/Solar System/Planets/Saturn/Moons" }, { Name = "TethysTrail", @@ -43,6 +44,7 @@ return { Color = { 0.5, 0.3, 0.3 }, Period = 45 / 24, Resolution = 1000 - } + }, + GuiPath = "/Solar System/Planets/Saturn/Moons" } } diff --git a/data/scene/saturn/titan/titan.mod b/data/scene/saturn/titan/titan.mod index 47f20679c7..8d5e72c4b4 100644 --- a/data/scene/saturn/titan/titan.mod +++ b/data/scene/saturn/titan/titan.mod @@ -28,7 +28,8 @@ return { SourceFrame = "IAU_ENCELADUS", DestinationFrame = "GALACTIC" } - } + }, + GuiPath = "/Solar System/Planets/Saturn/Moons" }, { Name = "TitanTrail", @@ -43,6 +44,7 @@ return { Color = { 0.5, 0.3, 0.3 }, Period = 16, Resolution = 1000 - } + }, + GuiPath = "/Solar System/Planets/Saturn/Moons" } } diff --git a/data/scene/stars/denver/denver.mod b/data/scene/stars/denver/denver.mod index 0064624bd1..6db973ebef 100644 --- a/data/scene/stars/denver/denver.mod +++ b/data/scene/stars/denver/denver.mod @@ -9,5 +9,6 @@ return { Texture = "textures/halo.png", ColorMap = "denver_colorbv.cmap" }, + GuiPath = "/Milky Way/Stars" } } diff --git a/data/scene/stars/digitaluniverse/digitaluniverse.mod b/data/scene/stars/digitaluniverse/digitaluniverse.mod index db7ac76803..608185c013 100644 --- a/data/scene/stars/digitaluniverse/digitaluniverse.mod +++ b/data/scene/stars/digitaluniverse/digitaluniverse.mod @@ -9,6 +9,6 @@ return { Texture = "textures/halo.png", ColorMap = "colorbv.cmap" }, - GuiGrouping = "/MilkyWay/Stars" + GuiPath = "/Milky Way/Stars" } } diff --git a/data/scene/sun/sun.mod b/data/scene/sun/sun.mod index 86d5516c68..adbd19bda4 100644 --- a/data/scene/sun/sun.mod +++ b/data/scene/sun/sun.mod @@ -39,7 +39,8 @@ return { SourceFrame = "IAU_SUN", DestinationFrame = "GALACTIC" } - } + }, + GuiPath = "/Solar System/Sun" }, { @@ -60,7 +61,8 @@ return { Observer = "SSB", Kernels = "${OPENSPACE_DATA}/spice/de430_1850-2150.bsp" } - } + }, + GuiPath = "/Solar System/Sun" }, { @@ -79,6 +81,7 @@ return { Type = "StaticTranslation", Position = {0, 0, 0, 5} } - } + }, + GuiPath = "/Solar System/Sun" } } diff --git a/data/scene/uranus/uranus.mod b/data/scene/uranus/uranus.mod index 648a60f943..ba56f4fbfe 100644 --- a/data/scene/uranus/uranus.mod +++ b/data/scene/uranus/uranus.mod @@ -10,7 +10,8 @@ return { Observer = "SUN", Kernels = "${OPENSPACE_DATA}/spice/de430_1850-2150.bsp" } - } + }, + GuiPath = "/Solar System/Planets/Uranus" }, -- RenderableGlobe module { @@ -37,7 +38,8 @@ return { } } }, - Tag = { "planet_solarSystem", "planet_giants" } + Tag = { "planet_solarSystem", "planet_giants" }, + GuiPath = "/Solar System/Planets/Uranus" }, -- Trail module { @@ -54,6 +56,7 @@ return { Period = 30588.740, Resolution = 1000 }, - Tag = { "planetTrail_solarSystem", "planetTrail_giants" } + Tag = { "planetTrail_solarSystem", "planetTrail_giants" }, + GuiPath = "/Solar System/Planets/Uranus" } } diff --git a/data/scene/venus/venus.mod b/data/scene/venus/venus.mod index 60a095ad9d..85c88822c4 100644 --- a/data/scene/venus/venus.mod +++ b/data/scene/venus/venus.mod @@ -10,7 +10,8 @@ return { Observer = "SUN", Kernels = "${OPENSPACE_DATA}/spice/de430_1850-2150.bsp" } - } + }, + GuiPath = "/Solar System/Planets/Venus" }, -- RenderableGlobe module { @@ -44,6 +45,7 @@ return { } }, Tag = { "planet_solarSystem", "planet_terrestrial" }, + GuiPath = "/Solar System/Planets/Venus" }, -- Trail module { @@ -60,6 +62,7 @@ return { Period = 224.695, Resolution = 1000 }, - Tag = { "planetTrail_solarSystem", "planetTrail_terrestrial" } + Tag = { "planetTrail_solarSystem", "planetTrail_terrestrial" }, + GuiPath = "/Solar System/Planets/Venus" } } diff --git a/include/openspace/scene/scenegraphnode.h b/include/openspace/scene/scenegraphnode.h index b04cf9712d..0eaa83b80d 100644 --- a/include/openspace/scene/scenegraphnode.h +++ b/include/openspace/scene/scenegraphnode.h @@ -124,7 +124,7 @@ public: const Renderable* renderable() const; Renderable* renderable(); - const std::string& guiGroup() const; + const std::string& guiPath() const; static documentation::Documentation Documentation(); @@ -143,7 +143,7 @@ private: std::unique_ptr _renderable; - std::string _guiGroup; + std::string _guiPath; // Transformation defined by ephemeris, rotation and scale struct { diff --git a/modules/imgui/include/gui.h b/modules/imgui/include/gui.h index 7ef076471a..00e6dd3068 100644 --- a/modules/imgui/include/gui.h +++ b/modules/imgui/include/gui.h @@ -92,6 +92,8 @@ private: }; +void CaptionText(const char* text); + } // namespace openspace::gui #endif // __OPENSPACE_MODULE_IMGUI___GUI___H__ diff --git a/modules/imgui/include/guipropertycomponent.h b/modules/imgui/include/guipropertycomponent.h index 65ecd9d18d..ca55b8404d 100644 --- a/modules/imgui/include/guipropertycomponent.h +++ b/modules/imgui/include/guipropertycomponent.h @@ -47,9 +47,11 @@ public: using SourceFunction = std::function()>; using UseTreeLayout = ghoul::Boolean; + using IsTopLevelWindow = ghoul::Boolean; - GuiPropertyComponent(std::string name, UseTreeLayout useTree = UseTreeLayout::No); + GuiPropertyComponent(std::string name, UseTreeLayout useTree = UseTreeLayout::No, + IsTopLevelWindow isTopLevel = IsTopLevelWindow::No); // This is the function that evaluates to the list of Propertyowners that this // component should render @@ -72,6 +74,8 @@ protected: /// This variable only has an impact on which \c setPropertyValue function is called bool _hasOnlyRegularProperties = false; UseTreeLayout _useTreeLayout; + bool _currentUseTreeLayout; + IsTopLevelWindow _isTopLevel; }; } // namespace openspace::gui diff --git a/modules/imgui/src/gui.cpp b/modules/imgui/src/gui.cpp index 4a8df57294..0c9302e36c 100644 --- a/modules/imgui/src/gui.cpp +++ b/modules/imgui/src/gui.cpp @@ -60,6 +60,8 @@ std::unique_ptr _program; std::unique_ptr _fontTexture; char* iniFileBuffer = nullptr; +ImFont* captionFont = nullptr; + static void RenderDrawLists(ImDrawData* drawData) { // Avoid rendering when minimized, scale coordinates for retina displays // (screen coordinates != framebuffer coordinates) @@ -234,10 +236,20 @@ void addScreenSpaceRenderableOnline(std::string texturePath) { namespace openspace::gui { +void CaptionText(const char* text) { + ImGui::PushFont(captionFont); + ImGui::Text("%s", text); + ImGui::PopFont(); +} + GUI::GUI() : GuiComponent("Main") , _globalProperty("Global") - , _property("Properties", GuiPropertyComponent::UseTreeLayout::Yes) + , _property( + "Properties", + GuiPropertyComponent::UseTreeLayout::Yes, + GuiPropertyComponent::IsTopLevelWindow::Yes + ) , _screenSpaceProperty("ScreenSpace Properties") , _virtualProperty("Virtual Properties") , _featuredProperties("Featured Properties") @@ -301,6 +313,11 @@ void GUI::initialize() { FontSize ); + captionFont = io.Fonts->AddFontFromFileTTF( + absPath(GuiFont).c_str(), + FontSize * 1.5f + ); + ImGuiStyle& style = ImGui::GetStyle(); style.WindowPadding = { 4.f, 4.f }; style.WindowRounding = 0.f; diff --git a/modules/imgui/src/guipropertycomponent.cpp b/modules/imgui/src/guipropertycomponent.cpp index 77be3a9ae2..bcc31d9ac5 100644 --- a/modules/imgui/src/guipropertycomponent.cpp +++ b/modules/imgui/src/guipropertycomponent.cpp @@ -127,9 +127,11 @@ namespace { namespace openspace::gui { -GuiPropertyComponent::GuiPropertyComponent(std::string name, UseTreeLayout useTree) +GuiPropertyComponent::GuiPropertyComponent(std::string name, UseTreeLayout useTree, IsTopLevelWindow topLevel) : GuiComponent(std::move(name)) , _useTreeLayout(useTree) + , _isTopLevel(topLevel) + , _currentUseTreeLayout(useTree) {} void GuiPropertyComponent::setSource(SourceFunction function) { @@ -209,11 +211,21 @@ void GuiPropertyComponent::renderPropertyOwner(properties::PropertyOwner* owner) } void GuiPropertyComponent::render() { - bool v = _isEnabled; - ImGui::Begin(name().c_str(), &v, size, 0.75f); - _isEnabled = v; + if (_isTopLevel) { + ImGui::Begin(name().c_str(), nullptr, size, 0.75f); + } + else { + bool v = _isEnabled; + ImGui::Begin(name().c_str(), &v, size, 0.75f); + _isEnabled = v; + } if (_function) { + if (_useTreeLayout) { + ImGui::Checkbox("Use Tree layout", &_currentUseTreeLayout); + } + + std::vector owners = _function(); std::sort( @@ -224,7 +236,7 @@ void GuiPropertyComponent::render() { } ); - if (_useTreeLayout) { + if (_currentUseTreeLayout) { for (properties::PropertyOwner* owner : owners) { ghoul_assert( dynamic_cast(owner), @@ -239,8 +251,8 @@ void GuiPropertyComponent::render() { owners.begin(), owners.end(), [](properties::PropertyOwner* lhs, properties::PropertyOwner* rhs) { - std::string lhsGroup = static_cast(lhs)->guiGroup(); - std::string rhsGroup = static_cast(rhs)->guiGroup(); + std::string lhsGroup = static_cast(lhs)->guiPath(); + std::string rhsGroup = static_cast(rhs)->guiPath(); if (lhsGroup.empty()) { return false; @@ -260,7 +272,7 @@ void GuiPropertyComponent::render() { bool noGuiGroups = owners.empty() || (dynamic_cast(*owners.begin()) && - dynamic_cast(*owners.begin())->guiGroup().empty()); + dynamic_cast(*owners.begin())->guiPath().empty()); auto renderProp = [&](properties::PropertyOwner* pOwner) { int count = nVisibleProperties(pOwner->propertiesRecursive(), _visibility); @@ -291,7 +303,7 @@ void GuiPropertyComponent::render() { } }; - if (!_useTreeLayout || noGuiGroups) { + if (!_currentUseTreeLayout || noGuiGroups) { std::for_each(owners.begin(), owners.end(), renderProp); } else { // _useTreeLayout && gui groups exist @@ -301,13 +313,13 @@ void GuiPropertyComponent::render() { // We checked above that pOwner is a SceneGraphNode SceneGraphNode* nOwner = static_cast(pOwner); - if (nOwner->guiGroup().empty()) { + if (nOwner->guiPath().empty()) { // We know that we are done now since we stable_sort:ed them above break; } std::vector paths = ghoul::tokenizeString( - nOwner->guiGroup().substr(1), + nOwner->guiPath().substr(1), '/' ); @@ -322,7 +334,7 @@ void GuiPropertyComponent::render() { // We checked above that pOwner is a SceneGraphNode SceneGraphNode* nOwner = static_cast(pOwner); - if (!nOwner->guiGroup().empty()) { + if (!nOwner->guiPath().empty()) { continue; } diff --git a/modules/imgui/src/guispacetimecomponent.cpp b/modules/imgui/src/guispacetimecomponent.cpp index 369bc1ded3..b15af1f468 100644 --- a/modules/imgui/src/guispacetimecomponent.cpp +++ b/modules/imgui/src/guispacetimecomponent.cpp @@ -24,8 +24,10 @@ #include +#include #include + #include #include #include @@ -43,11 +45,7 @@ namespace openspace::gui { GuiSpaceTimeComponent::GuiSpaceTimeComponent() : GuiComponent("Space/Time") {} void GuiSpaceTimeComponent::render() { - bool v = _isEnabled; - ImGui::Begin(name().c_str(), &v, size, 0.5f, ImGuiWindowFlags_AlwaysAutoResize); - _isEnabled = v; - - + ImGui::Begin(name().c_str(), nullptr, size, 0.5f, ImGuiWindowFlags_AlwaysAutoResize); std::vector nodes = OsEng.renderEngine().scene()->allSceneGraphNodes(); @@ -69,8 +67,8 @@ void GuiSpaceTimeComponent::render() { ); } + CaptionText("Focus Selection"); - ImGui::Text("%s", "Focus selection"); ImGui::SetCursorPosY(ImGui::GetCursorPosY() + 10.f); ImGui::Text("%s", "Focus on:"); @@ -137,7 +135,9 @@ void GuiSpaceTimeComponent::render() { "These elements determine the simulation time inside OpenSpace." ); } - ImGui::Text("%s", "Time Controls"); + + CaptionText("Time Controls"); + ImGui::SetCursorPosY(ImGui::GetCursorPosY() + 10.f); constexpr int BufferSize = 256; static char Buffer[BufferSize]; diff --git a/src/scene/scenegraphnode.cpp b/src/scene/scenegraphnode.cpp index e74ffff29d..862327d835 100644 --- a/src/scene/scenegraphnode.cpp +++ b/src/scene/scenegraphnode.cpp @@ -56,7 +56,7 @@ namespace { const char* _loggerCat = "SceneGraphNode"; const char* KeyRenderable = "Renderable"; - const char* KeyGuiGrouping = "GuiGrouping"; + const char* KeyGuiPath = "GuiPath"; const char* keyTransformTranslation = "Transform.Translation"; const char* keyTransformRotation = "Transform.Rotation"; @@ -160,8 +160,8 @@ std::unique_ptr SceneGraphNode::createFromDictionary(const ghoul } } - if (dictionary.hasKey(KeyGuiGrouping)) { - result->_guiGroup = dictionary.value(KeyGuiGrouping); + if (dictionary.hasKey(KeyGuiPath)) { + result->_guiPath = dictionary.value(KeyGuiPath); } LDEBUG("Successfully created SceneGraphNode '" @@ -531,8 +531,8 @@ double SceneGraphNode::worldScale() const { return _worldScaleCached; } -const std::string& SceneGraphNode::guiGroup() const { - return _guiGroup; +const std::string& SceneGraphNode::guiPath() const { + return _guiPath; } glm::dvec3 SceneGraphNode::calculateWorldPosition() const { diff --git a/src/scene/scenegraphnode_doc.inl b/src/scene/scenegraphnode_doc.inl index baa5799793..086fa386b9 100644 --- a/src/scene/scenegraphnode_doc.inl +++ b/src/scene/scenegraphnode_doc.inl @@ -100,7 +100,7 @@ documentation::Documentation SceneGraphNode::Documentation() { "corresponding to a 'Translation', a 'Rotation', and a 'Scale'." }, { - "GuiGrouping", + "GuiPath", new StringVerifier, Optional::Yes, "If this value is specified, this '/' separated URI specifies the location "