From 6fee06aa4e1eea2c51458f01fd7f2eb022e275c4 Mon Sep 17 00:00:00 2001 From: Alexander Bock Date: Tue, 12 Dec 2023 10:57:24 +0100 Subject: [PATCH] Reorganization of Spice file handling (#2975) * Fix VideoTileLayer -> VideoTileProvider * Move kernel loading into spice files * Define Spice IDs inside assets * General asset cleanup and organization --- data/assets/base_blank.asset | 2 +- data/assets/global/openspacebookmarks.asset | 2 +- .../digitaluniverse/constellationbounds.asset | 8 +- .../dwarf_planets/ceres/kernels.asset | 40 +- .../dwarf_planets/ceres/trail.asset | 10 +- .../dwarf_planets/ceres/transforms.asset | 16 +- .../dwarf_planets/pluto/charon/charon.asset | 11 +- .../pluto/charon/charon_trail.asset | 10 +- .../dwarf_planets/pluto/kernels.asset | 46 ++- .../dwarf_planets/pluto/minor/hydra.asset | 15 +- .../dwarf_planets/pluto/minor/kerberos.asset | 12 +- .../dwarf_planets/pluto/minor/nix.asset | 12 +- .../dwarf_planets/pluto/minor/styx.asset | 13 +- .../dwarf_planets/pluto/pluto.asset | 10 +- .../dwarf_planets/pluto/pluto_trail.asset | 9 +- .../pluto/pluto_trail_kepler.asset | 2 - .../dwarf_planets/pluto/trail.asset | 14 +- .../dwarf_planets/pluto/transforms.asset | 11 +- .../bastille_day/fluxnodeslegend.asset | 4 - .../bastille_day/lightindicator.asset | 5 +- .../missions/apollo/11/apollo11.asset | 34 +- .../missions/apollo/11/kernels.asset | 33 +- .../solarsystem/missions/apollo/11/lem.asset | 2 +- .../missions/apollo/15/apollo15.asset | 24 +- .../missions/apollo/15/kernels.asset | 100 +---- .../missions/apollo/8/kernels.asset | 35 +- .../missions/apollo/8/launch_model.asset | 11 +- .../solarsystem/missions/apollo/8/model.asset | 17 +- .../missions/apollo/8/trails.asset | 25 +- .../missions/artemis/kernels.asset | 22 + .../solarsystem/missions/artemis/trail.asset | 28 +- .../missions/artemis/transforms.asset | 26 +- .../solarsystem/missions/dawn/dawn.asset | 76 +--- .../solarsystem/missions/dawn/kernels.asset | 89 ++++ .../solarsystem/missions/dawn/vesta.asset | 29 +- .../solarsystem/missions/insight/edl.asset | 82 ++-- .../missions/insight/kernels.asset | 36 ++ .../solarsystem/missions/juice/fov/gala.asset | 4 +- .../missions/juice/fov/janus.asset | 4 +- .../solarsystem/missions/juice/fov/jmc.asset | 9 +- .../missions/juice/fov/majis.asset | 28 +- .../missions/juice/fov/navcam.asset | 4 +- .../solarsystem/missions/juice/fov/rime.asset | 8 +- .../missions/juice/fov/startracker.asset | 12 +- .../solarsystem/missions/juice/fov/swi.asset | 12 +- .../solarsystem/missions/juice/fov/uvs.asset | 4 +- .../solarsystem/missions/juice/kernels.asset | 123 ++++-- .../missions/juice/trails/earth.asset | 9 +- .../missions/juice/trails/ganymede.asset | 9 +- .../missions/juice/trails/jupiter.asset | 9 +- .../missions/juice/trails/ssb.asset | 9 +- .../missions/juice/transforms.asset | 22 +- .../solarsystem/missions/juno/juno.asset | 17 +- .../solarsystem/missions/juno/kernels.asset | 238 ++++++----- .../missions/messenger/kernels.asset | 71 ++-- .../messenger/mercurymagnetosphere.asset | 9 +- .../missions/messenger/messenger.asset | 13 +- .../missions/newhorizons/charon.asset | 28 +- .../missions/newhorizons/fov.asset | 129 +++--- .../missions/newhorizons/kernels.asset | 105 +++-- .../missions/newhorizons/pluto.asset | 67 ++- .../missions/newhorizons/trail.asset | 5 +- .../missions/newhorizons/transforms.asset | 19 +- .../missions/osirisrex/bennu.asset | 8 +- .../missions/osirisrex/bennu_projection.asset | 22 +- .../missions/osirisrex/dashboard.asset | 9 +- .../missions/osirisrex/imageplane.asset | 7 +- .../missions/osirisrex/kernels.asset | 240 ++++++----- .../missions/osirisrex/model.asset | 53 ++- .../missions/osirisrex/trail.asset | 18 +- .../missions/osirisrex/transforms.asset | 8 +- .../missions/perseverance/kernels.asset | 50 +++ .../missions/perseverance/model.asset | 51 ++- .../missions/perseverance/spice.asset | 26 -- .../missions/perseverance/trail.asset | 19 +- .../missions/pioneer/pioneer10.asset | 5 +- .../missions/pioneer/pioneer11.asset | 5 +- .../solarsystem/missions/rosetta/67p.asset | 22 +- .../missions/rosetta/dashboard.asset | 7 +- .../missions/rosetta/kernels.asset | 80 ++++ .../missions/rosetta/rosetta.asset | 99 +---- .../missions/voyager/dashboard.asset | 13 +- .../missions/voyager/voyager1.asset | 13 +- .../planets/earth/eclipse_shadow.asset | 11 +- .../solarsystem/planets/earth/grids.asset | 9 +- .../planets/earth/lagrange_points/l1.asset | 11 +- .../planets/earth/lagrange_points/l2.asset | 26 +- .../planets/earth/lagrange_points/l4.asset | 12 +- .../planets/earth/lagrange_points/l5.asset | 12 +- .../transforms_magnetosphere.asset | 11 +- .../solarsystem/planets/earth/moon/moon.asset | 10 +- .../planets/earth/moon/trail.asset | 9 +- .../earth/satellites/misc/hubble_trail.asset | 5 +- .../planets/earth/satellites/misc/iss.asset | 5 +- .../earth/satellites/weather/aqua.asset | 5 +- .../earth/satellites/weather/snpp.asset | 5 +- .../earth/satellites/weather/terra.asset | 5 +- .../solarsystem/planets/earth/trail.asset | 9 +- .../planets/earth/trail_barycenter.asset | 9 +- .../planets/earth/transforms.asset | 18 +- .../planets/jupiter/callisto/callisto.asset | 22 +- .../planets/jupiter/callisto/trail.asset | 15 +- .../planets/jupiter/europa/europa.asset | 22 +- .../planets/jupiter/europa/trail.asset | 15 +- .../planets/jupiter/ganymede/ganymede.asset | 22 +- .../planets/jupiter/ganymede/trail.asset | 15 +- .../solarsystem/planets/jupiter/io/io.asset | 16 +- .../planets/jupiter/io/trail.asset | 15 +- .../solarsystem/planets/jupiter/jupiter.asset | 10 +- .../solarsystem/planets/jupiter/kernels.asset | 30 +- .../planets/jupiter/kernels344.asset | 137 +++++++ .../planets/jupiter/kernels346.asset | 47 +++ .../planets/jupiter/minor/ananke_group.asset | 172 ++++---- .../planets/jupiter/minor/carme_group.asset | 236 ++++++----- .../planets/jupiter/minor/carpo_group.asset | 25 +- .../planets/jupiter/minor/himalia_group.asset | 84 ++-- .../planets/jupiter/minor/inner_group.asset | 41 +- .../planets/jupiter/minor/other_groups.asset | 33 +- .../jupiter/minor/pasiphae_group.asset | 196 +++++---- .../jupiter/minor/themisto_group.asset | 17 +- .../solarsystem/planets/jupiter/trail.asset | 9 +- .../planets/jupiter/trail_barycenter.asset | 9 +- .../planets/jupiter/trail_earth.asset | 9 +- .../planets/jupiter/transforms.asset | 6 +- .../scene/solarsystem/planets/mars/mars.asset | 10 +- .../planets/mars/moons/deimos.asset | 25 +- .../planets/mars/moons/deimos_globe.asset | 22 +- .../planets/mars/moons/kernels.asset | 33 ++ .../planets/mars/moons/phobos.asset | 25 +- .../planets/mars/moons/phobos_globe.asset | 22 +- .../solarsystem/planets/mars/trail.asset | 9 +- .../planets/mars/trail_barycenter.asset | 9 +- .../planets/mars/trail_earth.asset | 9 +- .../solarsystem/planets/mars/transforms.asset | 6 +- .../solarsystem/planets/mercury/mercury.asset | 10 +- .../solarsystem/planets/mercury/trail.asset | 8 +- .../planets/mercury/trail_barycenter.asset | 9 +- .../planets/mercury/trail_earth.asset | 6 +- .../planets/mercury/transforms.asset | 6 +- .../planets/neptune/inner_moons.asset | 67 ++- .../planets/neptune/irregular_moons.asset | 49 +-- .../planets/neptune/kernels095.asset | 53 +++ .../{kernels.asset => kernels102.asset} | 22 +- .../solarsystem/planets/neptune/neptune.asset | 15 +- .../planets/neptune/nereid/nereid.asset | 20 +- .../solarsystem/planets/neptune/trail.asset | 13 +- .../planets/neptune/trail_barycenter.asset | 14 +- .../planets/neptune/trail_earth.asset | 11 +- .../planets/neptune/transforms.asset | 11 +- .../planets/neptune/triton/trail.asset | 53 --- .../planets/neptune/triton/triton.asset | 22 +- .../planets/saturn/dione/dione.asset | 15 +- .../planets/saturn/dione/trail.asset | 13 +- .../planets/saturn/enceladus/enceladus.asset | 15 +- .../planets/saturn/enceladus/trail.asset | 13 +- .../planets/saturn/hyperion/hyperion.asset | 11 +- .../planets/saturn/hyperion/trail.asset | 14 +- .../planets/saturn/iapetus/iapetus.asset | 15 +- .../planets/saturn/iapetus/trail.asset | 13 +- .../solarsystem/planets/saturn/kernels.asset | 43 +- .../planets/saturn/kernels415.asset | 58 +++ .../planets/saturn/kernels452.asset | 91 +++++ .../planets/saturn/mimas/mimas.asset | 15 +- .../planets/saturn/mimas/trail.asset | 13 +- .../planets/saturn/minor/gallic_group.asset | 41 +- .../planets/saturn/minor/inuit_group.asset | 73 ++-- .../planets/saturn/minor/norse_group.asset | 385 +++++++++--------- .../planets/saturn/minor/other_group.asset | 86 ++-- .../planets/saturn/minor/shepherd_group.asset | 58 +-- .../planets/saturn/rhea/rhea.asset | 15 +- .../planets/saturn/rhea/trail.asset | 13 +- .../solarsystem/planets/saturn/saturn.asset | 10 +- .../planets/saturn/tethys/tethys.asset | 15 +- .../planets/saturn/tethys/trail.asset | 13 +- .../planets/saturn/titan/titan.asset | 15 +- .../planets/saturn/titan/trail.asset | 13 +- .../solarsystem/planets/saturn/trail.asset | 7 +- .../planets/saturn/trail_barycenter.asset | 8 +- .../planets/saturn/trail_earth.asset | 9 +- .../planets/saturn/transforms.asset | 6 +- .../planets/uranus/inner_moons.asset | 113 +++-- .../uranus/irregular_prograde_moons.asset | 17 +- .../uranus/irregular_retrograde_moons.asset | 73 ++-- .../solarsystem/planets/uranus/kernels.asset | 33 +- .../planets/uranus/kernels115.asset | 62 +++ .../planets/uranus/kernels116.asset | 41 ++ .../planets/uranus/major_moons.asset | 49 +-- .../solarsystem/planets/uranus/trail.asset | 7 +- .../planets/uranus/trail_barycenter.asset | 8 +- .../planets/uranus/trail_earth.asset | 9 +- .../planets/uranus/transforms.asset | 6 +- .../solarsystem/planets/uranus/uranus.asset | 10 +- .../solarsystem/planets/venus/trail.asset | 9 +- .../planets/venus/trail_barycenter.asset | 9 +- .../planets/venus/trail_earth.asset | 9 +- .../planets/venus/transforms.asset | 6 +- .../solarsystem/planets/venus/venus.asset | 10 +- .../scene/solarsystem/sun/EUV_layer.asset | 1 - data/assets/scene/solarsystem/sun/glare.asset | 1 - .../assets/scene/solarsystem/sun/marker.asset | 1 - data/assets/scene/solarsystem/sun/sun.asset | 1 - .../scene/solarsystem/sun/transforms.asset | 22 +- .../sun/transforms_heliosphere.asset | 11 +- .../solarsystem/telescopes/gaia/gaia.asset | 2 +- .../solarsystem/telescopes/jwst/jwst.asset | 1 - .../solarsystem/telescopes/jwst/kernels.asset | 22 + .../telescopes/jwst/targets/hudf.asset | 5 +- .../telescopes/jwst/timelapse.asset | 2 +- .../solarsystem/telescopes/jwst/trail.asset | 40 +- .../telescopes/jwst/transforms.asset | 35 +- data/assets/spice/base.asset | 42 -- data/assets/spice/core.asset | 191 +++++++++ 212 files changed, 3616 insertions(+), 2905 deletions(-) create mode 100644 data/assets/scene/solarsystem/missions/artemis/kernels.asset create mode 100644 data/assets/scene/solarsystem/missions/dawn/kernels.asset create mode 100644 data/assets/scene/solarsystem/missions/insight/kernels.asset create mode 100644 data/assets/scene/solarsystem/missions/perseverance/kernels.asset delete mode 100644 data/assets/scene/solarsystem/missions/perseverance/spice.asset create mode 100644 data/assets/scene/solarsystem/missions/rosetta/kernels.asset create mode 100644 data/assets/scene/solarsystem/planets/jupiter/kernels344.asset create mode 100644 data/assets/scene/solarsystem/planets/jupiter/kernels346.asset create mode 100644 data/assets/scene/solarsystem/planets/mars/moons/kernels.asset create mode 100644 data/assets/scene/solarsystem/planets/neptune/kernels095.asset rename data/assets/scene/solarsystem/planets/neptune/{kernels.asset => kernels102.asset} (54%) delete mode 100644 data/assets/scene/solarsystem/planets/neptune/triton/trail.asset create mode 100644 data/assets/scene/solarsystem/planets/saturn/kernels415.asset create mode 100644 data/assets/scene/solarsystem/planets/saturn/kernels452.asset create mode 100644 data/assets/scene/solarsystem/planets/uranus/kernels115.asset create mode 100644 data/assets/scene/solarsystem/planets/uranus/kernels116.asset create mode 100644 data/assets/scene/solarsystem/telescopes/jwst/kernels.asset delete mode 100644 data/assets/spice/base.asset create mode 100644 data/assets/spice/core.asset diff --git a/data/assets/base_blank.asset b/data/assets/base_blank.asset index 1f371d2beb..12f43b97ed 100644 --- a/data/assets/base_blank.asset +++ b/data/assets/base_blank.asset @@ -1,7 +1,7 @@ -- This is a blank scene that that just sets up the default menus/dasboard/keys, etc. -- Specifying which other assets should be loaded in this scene -asset.require("spice/base") +asset.require("spice/core") asset.require("dashboard/default_dashboard") -- Load default key bindings applicable to most scenes diff --git a/data/assets/global/openspacebookmarks.asset b/data/assets/global/openspacebookmarks.asset index bf554226c1..8c95d8af1b 100644 --- a/data/assets/global/openspacebookmarks.asset +++ b/data/assets/global/openspacebookmarks.asset @@ -7,7 +7,7 @@ local bookmarksCSV = asset.resource({ Name = "OpenSpace Bookmarks", Type = "UrlSynchronization", UseHash = false, - SecondsUntilResync = 0 + SecondsUntilResync = 0, Url = dataProvider }) diff --git a/data/assets/scene/digitaluniverse/constellationbounds.asset b/data/assets/scene/digitaluniverse/constellationbounds.asset index 892b38b156..39d9910e07 100644 --- a/data/assets/scene/digitaluniverse/constellationbounds.asset +++ b/data/assets/scene/digitaluniverse/constellationbounds.asset @@ -1,3 +1,7 @@ +local coreKernels = asset.require("spice/core") + + + local data = asset.resource({ Name = "Constellation Files", Type = "HttpSynchronization", @@ -22,8 +26,8 @@ local Object = { Transform = { Rotation = { Type = "SpiceRotation", - SourceFrame = "J2000", - DestinationFrame = "GALACTIC" + SourceFrame = coreKernels.Frame.J2000, + DestinationFrame = coreKernels.Frame.Galactic }, Scale = { Type = "StaticScale", diff --git a/data/assets/scene/solarsystem/dwarf_planets/ceres/kernels.asset b/data/assets/scene/solarsystem/dwarf_planets/ceres/kernels.asset index bc0488e33f..2a901039f9 100644 --- a/data/assets/scene/solarsystem/dwarf_planets/ceres/kernels.asset +++ b/data/assets/scene/solarsystem/dwarf_planets/ceres/kernels.asset @@ -1,18 +1,40 @@ -local kernels = asset.resource({ +local coreKernels = asset.require("spice/core") + + + +local data = asset.resource({ Name = "Ceres Kernels", Type = "HttpSynchronization", Identifier = "ceres_kernels", Version = 1 }) -asset.export( - "CeresKernels", - { - kernels .. "ceres_v01.tpc", - kernels .. "sb_ceres_140724.bsp", - kernels .. "sb_ceres_110211.bsp" - } -) + +local kernels = { + data .. "ceres_v01.tpc", + data .. "sb_ceres_140724.bsp", + data .. "sb_ceres_110211.bsp" +} + +local ID = { + Ceres = "CERES" +} + +local Frame = { + Ceres = coreKernels.Frame.Ceres +} + + +asset.onInitialize(function() + openspace.spice.loadKernel(kernels) +end) + +asset.onDeinitialize(function() + openspace.spice.unloadKernel(kernels) +end) + +asset.export("ID", ID) +asset.export("Frame", Frame) diff --git a/data/assets/scene/solarsystem/dwarf_planets/ceres/trail.asset b/data/assets/scene/solarsystem/dwarf_planets/ceres/trail.asset index bc6cbaaccf..58d0a66228 100644 --- a/data/assets/scene/solarsystem/dwarf_planets/ceres/trail.asset +++ b/data/assets/scene/solarsystem/dwarf_planets/ceres/trail.asset @@ -1,6 +1,6 @@ local transforms = asset.require("scene/solarsystem/sun/transforms") local kernels = asset.require("./kernels") -asset.require("spice/base") +local coreKernels = asset.require("spice/core") @@ -11,8 +11,8 @@ local CeresTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "CERES", - Observer = "SSB" + Target = kernels.ID.Ceres, + Observer = coreKernels.ID.SolarSystemBarycenter }, Color = { 0.2, 0.8, 0.3 }, Period = 1680, @@ -27,15 +27,11 @@ local CeresTrail = { asset.onInitialize(function() - openspace.spice.loadKernel(kernels.CeresKernels) - openspace.addSceneGraphNode(CeresTrail) end) asset.onDeinitialize(function() openspace.removeSceneGraphNode(CeresTrail) - - openspace.spice.unloadKernel(kernels.CeresKernels) end) asset.export(CeresTrail) diff --git a/data/assets/scene/solarsystem/dwarf_planets/ceres/transforms.asset b/data/assets/scene/solarsystem/dwarf_planets/ceres/transforms.asset index 510131b2de..5a778e8c13 100644 --- a/data/assets/scene/solarsystem/dwarf_planets/ceres/transforms.asset +++ b/data/assets/scene/solarsystem/dwarf_planets/ceres/transforms.asset @@ -1,6 +1,8 @@ local transforms = asset.require("scene/solarsystem/sun/transforms") local kernels = asset.require("./kernels") -asset.require("spice/base") +local coreKernels = asset.require("spice/core") + + local CeresPosition = { Identifier = "CeresPosition", @@ -8,13 +10,13 @@ local CeresPosition = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "CERES", - Observer = "SSB" + Target = kernels.ID.Ceres, + Observer = coreKernels.ID.SolarSystemBarycenter }, Rotation = { Type = "SpiceRotation", - SourceFrame = "IAU_CERES", - DestinationFrame = "GALACTIC" + SourceFrame = kernels.Frame.Ceres, + DestinationFrame = coreKernels.Frame.Galactic } }, GUI = { @@ -26,15 +28,11 @@ local CeresPosition = { asset.onInitialize(function() - openspace.spice.loadKernel(kernels.CeresKernels) - openspace.addSceneGraphNode(CeresPosition) end) asset.onDeinitialize(function() openspace.removeSceneGraphNode(CeresPosition) - - openspace.spice.unloadKernel(kernels.CeresKernels) end) asset.export(CeresPosition) diff --git a/data/assets/scene/solarsystem/dwarf_planets/pluto/charon/charon.asset b/data/assets/scene/solarsystem/dwarf_planets/pluto/charon/charon.asset index f5ae2edd82..f08c0da15e 100644 --- a/data/assets/scene/solarsystem/dwarf_planets/pluto/charon/charon.asset +++ b/data/assets/scene/solarsystem/dwarf_planets/pluto/charon/charon.asset @@ -1,6 +1,7 @@ local transforms = asset.require("../transforms") -asset.require("spice/base") asset.require("../trail") +local kernels = asset.require("../kernels") +local coreKernels = asset.require("spice/core") @@ -17,13 +18,13 @@ local Charon = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "CHARON", - Observer = "PLUTO BARYCENTER" + Target = kernels.ID.Charon, + Observer = kernels.ID.PlutoBarycenter }, Rotation = { Type = "SpiceRotation", - SourceFrame = "IAU_CHARON", - DestinationFrame = "GALACTIC" + SourceFrame = kernels.Frame.Charon, + DestinationFrame = coreKernels.Frame.Galactic } }, Renderable = { diff --git a/data/assets/scene/solarsystem/dwarf_planets/pluto/charon/charon_trail.asset b/data/assets/scene/solarsystem/dwarf_planets/pluto/charon/charon_trail.asset index d24adb6466..471971a723 100644 --- a/data/assets/scene/solarsystem/dwarf_planets/pluto/charon/charon_trail.asset +++ b/data/assets/scene/solarsystem/dwarf_planets/pluto/charon/charon_trail.asset @@ -1,6 +1,5 @@ local transforms = asset.require("../transforms") -asset.require("spice/base") - +local kernels = asset.require("../kernels") local CharonBarycentricTrail = { @@ -10,8 +9,8 @@ local CharonBarycentricTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "CHARON", - Observer = "PLUTO BARYCENTER" + Target = kernels.ID.Charon, + Observer = kernels.ID.PlutoBarycenter }, Color = { 0.00, 0.62, 1.00 }, Period = 6.38723, @@ -46,8 +45,7 @@ asset.export(CharonBarycentricTrail) asset.meta = { Name = "Charon Barycentric Trail", Version = "1.0", - Description = [[Trail of Charon as observed by Pluto Barycenter. Data from - NASA Spice (see base spice asset)]], + Description = "Trail of Charon as observed by Pluto Barycenter", Author = "OpenSpace Team", URL = "http://openspaceproject.com", License = "MIT license" diff --git a/data/assets/scene/solarsystem/dwarf_planets/pluto/kernels.asset b/data/assets/scene/solarsystem/dwarf_planets/pluto/kernels.asset index b4dfc571e6..4e2c7ae1b7 100644 --- a/data/assets/scene/solarsystem/dwarf_planets/pluto/kernels.asset +++ b/data/assets/scene/solarsystem/dwarf_planets/pluto/kernels.asset @@ -1,17 +1,51 @@ -local kernels = asset.resource({ +local coreKernels = asset.require("spice/core") + + + +local data = asset.resource({ Name = "Pluto Kernels", Type = "HttpSynchronization", Identifier = "pluto_kernels", Version = 1 }) -local PlutoKernels = { - kernels .. "NavPE_de433_od122.bsp", - kernels .. "NavSE_plu047_od122.bsp", - kernels .. "ssd_jpl_nasa_gov_plu043.bsp" + +local kernels = { + data .. "NavPE_de433_od122.bsp", + data .. "NavSE_plu047_od122.bsp", + data .. "ssd_jpl_nasa_gov_plu043.bsp" } -asset.export("PlutoKernels", PlutoKernels) +local ID = { + PlutoBarycenter = coreKernels.ID.PlutoBarycenter, + Charon = "CHARON", + Hydra = "HYDRA", + Styx = "STYX", + Nix = "NIX", + Kerberos = "KERBEROS", + Pluto = coreKernels.ID.Pluto +} + +local Frame = { + Pluto = coreKernels.Frame.Pluto, + Charon = coreKernels.Frame.Charon, + Hydra = coreKernels.Frame.Hydra, + Styx = coreKernels.Frame.Styx, + Nix = coreKernels.Frame.Nix, + Kerberos = coreKernels.Frame.Kerberos +} + + +asset.onInitialize(function() + openspace.spice.loadKernel(kernels) +end) + +asset.onDeinitialize(function() + openspace.spice.unloadKernel(kernels) +end) + +asset.export("ID", ID) +asset.export("Frame", Frame) diff --git a/data/assets/scene/solarsystem/dwarf_planets/pluto/minor/hydra.asset b/data/assets/scene/solarsystem/dwarf_planets/pluto/minor/hydra.asset index 463d27575e..f41c15e100 100644 --- a/data/assets/scene/solarsystem/dwarf_planets/pluto/minor/hydra.asset +++ b/data/assets/scene/solarsystem/dwarf_planets/pluto/minor/hydra.asset @@ -9,8 +9,8 @@ local Hydra = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "HYDRA", - Observer = "PLUTO BARYCENTER" + Target = kernels.ID.Hydra, + Observer = kernels.ID.PlutoBarycenter } }, Renderable = { @@ -32,8 +32,8 @@ local HydraTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "HYDRA", - Observer = "PLUTO BARYCENTER", + Target = kernels.ID.Hydra, + Observer = kernels.ID.PlutoBarycenter }, Color = { 0.00, 0.62, 1.00 }, Period = 38.20177, @@ -79,8 +79,6 @@ local HydraLabel = { asset.onInitialize(function() - openspace.spice.loadKernel(kernels.PlutoKernels) - openspace.addSceneGraphNode(Hydra) openspace.addSceneGraphNode(HydraTrail) openspace.addSceneGraphNode(HydraLabel) @@ -90,8 +88,6 @@ asset.onDeinitialize(function() openspace.removeSceneGraphNode(HydraLabel) openspace.removeSceneGraphNode(HydraTrail) openspace.removeSceneGraphNode(Hydra) - - openspace.spice.unloadKernel(kernels.PlutoKernels) end) asset.export(Hydra) @@ -102,8 +98,7 @@ asset.export(HydraTrail) asset.meta = { Name = "Hydra", Version = "1.0", - Description = [[Globe and trail for Pluto's moon Hydra. Data from NASA Spice (see base - spice asset)]], + Description = "Globe and trail for Pluto's moon Hydra", Author = "OpenSpace Team", URL = "http://openspaceproject.com", License = "MIT license" diff --git a/data/assets/scene/solarsystem/dwarf_planets/pluto/minor/kerberos.asset b/data/assets/scene/solarsystem/dwarf_planets/pluto/minor/kerberos.asset index a337b494cf..086060ddef 100644 --- a/data/assets/scene/solarsystem/dwarf_planets/pluto/minor/kerberos.asset +++ b/data/assets/scene/solarsystem/dwarf_planets/pluto/minor/kerberos.asset @@ -1,4 +1,5 @@ local transforms = asset.require("../transforms") +local kernels = asset.require("../kernels") @@ -8,8 +9,8 @@ local Kerberos = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "KERBEROS", - Observer = "PLUTO BARYCENTER" + Target = kernels.ID.Kerberos, + Observer = kernels.ID.PlutoBarycenter } }, Renderable = { @@ -31,8 +32,8 @@ local KerberosTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "KERBEROS", - Observer = "PLUTO BARYCENTER", + Target = kernels.ID.Kerberos, + Observer = kernels.ID.PlutoBarycenter }, Color = { 0.00, 0.62, 1.00 }, Period = 32.16756, @@ -98,8 +99,7 @@ asset.export(KerberosLabel) asset.meta = { Name = "Kerberos", Version = "1.0", - Description = [[Globe and trail for Pluto's moon Kerberos. Data from NASA Spice (see - base spice asset)]], + Description = "Globe and trail for Pluto's moon Kerberos", Author = "OpenSpace Team", URL = "http://openspaceproject.com", License = "MIT license" diff --git a/data/assets/scene/solarsystem/dwarf_planets/pluto/minor/nix.asset b/data/assets/scene/solarsystem/dwarf_planets/pluto/minor/nix.asset index 2baada586a..9fe7fede30 100644 --- a/data/assets/scene/solarsystem/dwarf_planets/pluto/minor/nix.asset +++ b/data/assets/scene/solarsystem/dwarf_planets/pluto/minor/nix.asset @@ -1,4 +1,5 @@ local transforms = asset.require("../transforms") +local kernels = asset.require("../kernels") @@ -8,8 +9,8 @@ local Nix = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "NIX", - Observer = "PLUTO BARYCENTER" + Target = kernels.ID.Nix, + Observer = kernels.ID.PlutoBarycenter } }, Renderable = { @@ -31,8 +32,8 @@ local NixTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "NIX", - Observer = "PLUTO BARYCENTER", + Target = kernels.ID.Nix, + Observer = kernels.ID.PlutoBarycenter }, Color = { 0.00, 0.62, 1.00 }, Period = 24.85463, @@ -98,8 +99,7 @@ asset.export(NixLabel) asset.meta = { Name = "Nix", Version = "1.0", - Description = [[Globe and trail for Pluto's moon Nix. Data from NASA Spice (see base - spice asset)]], + Description = "Globe and trail for Pluto's moon Nix", Author = "OpenSpace Team", URL = "http://openspaceproject.com", License = "MIT license" diff --git a/data/assets/scene/solarsystem/dwarf_planets/pluto/minor/styx.asset b/data/assets/scene/solarsystem/dwarf_planets/pluto/minor/styx.asset index ac6549056e..65285bd6c7 100644 --- a/data/assets/scene/solarsystem/dwarf_planets/pluto/minor/styx.asset +++ b/data/assets/scene/solarsystem/dwarf_planets/pluto/minor/styx.asset @@ -1,4 +1,6 @@ local transforms = asset.require("../transforms") +local kernels = asset.require("../kernels") + local Styx = { @@ -7,8 +9,8 @@ local Styx = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "STYX", - Observer = "PLUTO BARYCENTER" + Target = kernels.ID.Styx, + Observer = kernels.ID.PlutoBarycenter } }, Renderable = { @@ -30,8 +32,8 @@ local StyxTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "STYX", - Observer = "PLUTO BARYCENTER", + Target = kernels.ID.Styx, + Observer = kernels.ID.PlutoBarycenter }, Color = { 0.00, 0.62, 1.00 }, Period = 20.16155, @@ -97,8 +99,7 @@ asset.export(StyxLabel) asset.meta = { Name = "Styx", Version = "1.0", - Description = [[Globe and trail for Pluto's moon Styx. Data from NASA Spice (see base - spice asset)]], + Description = "Globe and trail for Pluto's moon Styx", Author = "OpenSpace Team", URL = "http://openspaceproject.com", License = "MIT license" diff --git a/data/assets/scene/solarsystem/dwarf_planets/pluto/pluto.asset b/data/assets/scene/solarsystem/dwarf_planets/pluto/pluto.asset index bdeff0a895..6c720107f6 100644 --- a/data/assets/scene/solarsystem/dwarf_planets/pluto/pluto.asset +++ b/data/assets/scene/solarsystem/dwarf_planets/pluto/pluto.asset @@ -1,5 +1,5 @@ local transforms = asset.require("./transforms") -asset.require("spice/base") +local coreKernels = asset.require("spice/core") asset.require("./trail") @@ -18,13 +18,13 @@ local Pluto = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "PLUTO", - Observer = "PLUTO BARYCENTER" + Target = coreKernels.ID.Pluto, + Observer = coreKernels.ID.PlutoBarycenter }, Rotation = { Type = "SpiceRotation", - SourceFrame = "IAU_PLUTO", - DestinationFrame = "GALACTIC" + SourceFrame = coreKernels.Frame.Pluto, + DestinationFrame = coreKernels.Frame.Galactic } }, Renderable = { diff --git a/data/assets/scene/solarsystem/dwarf_planets/pluto/pluto_trail.asset b/data/assets/scene/solarsystem/dwarf_planets/pluto/pluto_trail.asset index 44eec87c01..da4367d2c5 100644 --- a/data/assets/scene/solarsystem/dwarf_planets/pluto/pluto_trail.asset +++ b/data/assets/scene/solarsystem/dwarf_planets/pluto/pluto_trail.asset @@ -1,5 +1,5 @@ local transforms = asset.require("./transforms") -asset.require("spice/base") +local coreKernels = asset.require("spice/core") @@ -10,8 +10,8 @@ local PlutoTrailBarycentric = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "PLUTO", - Observer = "PLUTO BARYCENTER" + Target = coreKernels.ID.Pluto, + Observer = coreKernels.ID.PlutoBarycenter }, Color = { 0.00, 0.62, 1.00 }, Period = 6.38723, @@ -41,8 +41,7 @@ asset.export(PlutoTrailBarycentric) asset.meta = { Name = "Pluto Barycentric Trail", Version = "1.0", - Description = [[Trail of Pluto as observed by it's Barrycenter. Data from NASA Spice - (see base spice asset)]], + Description = "Trail of Pluto as observed by its Barycenter", Author = "OpenSpace Team", URL = "http://openspaceproject.com", License = "MIT license" diff --git a/data/assets/scene/solarsystem/dwarf_planets/pluto/pluto_trail_kepler.asset b/data/assets/scene/solarsystem/dwarf_planets/pluto/pluto_trail_kepler.asset index 92cb24cf89..cffe0b9fac 100644 --- a/data/assets/scene/solarsystem/dwarf_planets/pluto/pluto_trail_kepler.asset +++ b/data/assets/scene/solarsystem/dwarf_planets/pluto/pluto_trail_kepler.asset @@ -1,6 +1,4 @@ local transforms = asset.require("scene/solarsystem/sun/transforms") -local kernels = asset.require("./kernels").PlutoKernels -asset.require("spice/base") diff --git a/data/assets/scene/solarsystem/dwarf_planets/pluto/trail.asset b/data/assets/scene/solarsystem/dwarf_planets/pluto/trail.asset index ef1632c31c..c468223b9f 100644 --- a/data/assets/scene/solarsystem/dwarf_planets/pluto/trail.asset +++ b/data/assets/scene/solarsystem/dwarf_planets/pluto/trail.asset @@ -1,6 +1,5 @@ local transforms = asset.require("scene/solarsystem/sun/transforms") -local kernels = asset.require("./kernels") -asset.require("spice/base") +local coreKernels = asset.require("spice/core") @@ -11,8 +10,8 @@ local PlutoBarycenterTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "PLUTO BARYCENTER", - Observer = "SSB" + Target = coreKernels.ID.PlutoBarycenter, + Observer = coreKernels.ID.SolarSystemBarycenter }, Color = { 0.3, 0.7, 0.3 }, Period = 365.25, @@ -29,15 +28,11 @@ local PlutoBarycenterTrail = { asset.onInitialize(function() - openspace.spice.loadKernel(kernels.PlutoKernels) - openspace.addSceneGraphNode(PlutoBarycenterTrail) end) asset.onDeinitialize(function() openspace.removeSceneGraphNode(PlutoBarycenterTrail) - - openspace.spice.unloadKernel(kernels.PlutoKernels) end) asset.export(PlutoBarycenterTrail) @@ -47,8 +42,7 @@ asset.export(PlutoBarycenterTrail) asset.meta = { Name = "Pluto Barycenter Trail", Version = "1.0", - Description = [[Trail of Pluto Barycenter as observed by the Sun. Data from NASA Spice - (see base spice asset)]], + Description = "Trail of Pluto Barycenter as observed by the Sun", Author = "OpenSpace Team", URL = "http://openspaceproject.com", License = "MIT license" diff --git a/data/assets/scene/solarsystem/dwarf_planets/pluto/transforms.asset b/data/assets/scene/solarsystem/dwarf_planets/pluto/transforms.asset index 58c15ccaed..ae5b779e88 100644 --- a/data/assets/scene/solarsystem/dwarf_planets/pluto/transforms.asset +++ b/data/assets/scene/solarsystem/dwarf_planets/pluto/transforms.asset @@ -1,6 +1,5 @@ local transforms = asset.require("scene/solarsystem/sun/transforms") -local kernels = asset.require("./kernels") -asset.require("spice/base") +local coreKernels = asset.require("spice/core") @@ -10,8 +9,8 @@ local PlutoBarycenter = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "PLUTO BARYCENTER", - Observer = "SSB" + Target = coreKernels.ID.PlutoBarycenter, + Observer = coreKernels.ID.SolarSystemBarycenter } }, GUI = { @@ -22,15 +21,11 @@ local PlutoBarycenter = { asset.onInitialize(function() - openspace.spice.loadKernel(kernels.PlutoKernels) - openspace.addSceneGraphNode(PlutoBarycenter) end) asset.onDeinitialize(function() openspace.removeSceneGraphNode(PlutoBarycenter) - - openspace.spice.unloadKernel(kernels.PlutoKernels) end) asset.export(PlutoBarycenter) diff --git a/data/assets/scene/solarsystem/heliosphere/bastille_day/fluxnodeslegend.asset b/data/assets/scene/solarsystem/heliosphere/bastille_day/fluxnodeslegend.asset index 1f0fd9ede1..696976215e 100644 --- a/data/assets/scene/solarsystem/heliosphere/bastille_day/fluxnodeslegend.asset +++ b/data/assets/scene/solarsystem/heliosphere/bastille_day/fluxnodeslegend.asset @@ -1,7 +1,3 @@ -asset.require("spice/base") - - - local TexturesPath = asset.resource({ Type = "HttpSynchronization", Name = "Streamnodes textures", diff --git a/data/assets/scene/solarsystem/heliosphere/bastille_day/lightindicator.asset b/data/assets/scene/solarsystem/heliosphere/bastille_day/lightindicator.asset index bcba565b53..eeac33b452 100644 --- a/data/assets/scene/solarsystem/heliosphere/bastille_day/lightindicator.asset +++ b/data/assets/scene/solarsystem/heliosphere/bastille_day/lightindicator.asset @@ -1,5 +1,6 @@ local sunTransforms = asset.require("scene/solarsystem/sun/transforms") local earthTransforms = asset.require("scene/solarsystem/planets/earth/transforms") +local coreKernels = asset.require("spice/core") @@ -13,8 +14,8 @@ local TravelSpeedIndicator = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "SUN", - Observer = "SSB" + Target = coreKernels.ID.Sun, + Observer = coreKernels.ID.SolarSystemBarycenter } }, Renderable = { diff --git a/data/assets/scene/solarsystem/missions/apollo/11/apollo11.asset b/data/assets/scene/solarsystem/missions/apollo/11/apollo11.asset index 9b09298bad..94bc748185 100644 --- a/data/assets/scene/solarsystem/missions/apollo/11/apollo11.asset +++ b/data/assets/scene/solarsystem/missions/apollo/11/apollo11.asset @@ -1,4 +1,3 @@ -asset.require("spice/base") asset.require("../actions") asset.require("./actions") local sun = asset.require("scene/solarsystem/sun/sun") @@ -6,6 +5,7 @@ local moonTransforms = asset.require("scene/solarsystem/planets/earth/moon/moon" local descentKeyframes = asset.require("./lem_descent") local descentRotationKeyframes = asset.require("./lem_descent_rotation") local kernels = asset.require("./kernels") +local coreKernels = asset.require("spice/core") @@ -25,8 +25,6 @@ local lemModel = asset.resource({ --landing - 1969-07-20T20:17:40 -local ApolloSpiceId = -911 -local ApolloLemSpiceId = -911500 local Apollo11Position = { Identifier = "Apollo11Position", @@ -39,15 +37,15 @@ local Apollo11Position = { Transform = { Translation = { Type = "SpiceTranslation", - Target = ApolloSpiceId, - Observer = "MOON", - Frame = "MOON_ME" + Target = kernels.ID.Apollo11, + Observer = coreKernels.ID.Moon, + Frame = kernels.ID.MoonME } }, GUI = { - Hidden = true, Name = "Apollo 11", - Path = "/Solar System/Missions/Apollo/11" + Path = "/Solar System/Missions/Apollo/11", + Hidden = true } } @@ -91,9 +89,9 @@ local Apollo11MoonTrail = { Enabled = false, Translation = { Type = "SpiceTranslation", - Target = ApolloSpiceId, - Observer = "MOON", - Frame = "IAU_MOON" + Target = kernels.ID.Apollo11, + Observer = coreKernels.ID.Moon, + Frame = coreKernels.Frame.Moon }, Color = { 0.180000,0.510000,0.750000 }, StartTime = "1969 JUL 19 19:38:29.183", @@ -116,9 +114,9 @@ local lemTranslation = { -- a 10s linear transition to the location where the descentKeyframes start. ["1969 JUL 20 20:14:30"] = { Type = "SpiceTranslation", - Target = ApolloLemSpiceId, - Observer = "MOON", - Frame = "IAU_MOON" + Target = kernels.ID.Apollo11LEM, + Observer = coreKernels.ID.Moon, + Frame = coreKernels.Frame.Moon }, ["1969 JUL 20 20:14:40"] = { Type = "TimelineTranslation", @@ -139,13 +137,13 @@ local Apollo11LemTrail = { Parent = moonTransforms.Moon.Identifier, Renderable = { Type = "RenderableTrailTrajectory", + Enabled = false, Translation = lemTranslation, Color = { 0.780000,0.940000,0.340000 }, StartTime = "1969 JUL 20 19:10:25.183", EndTime = "1969 JUL 20 20:17:46.183", SampleInterval = 2, - EnableFade = false, - Enabled = false + EnableFade = false }, GUI = { Name = "Apollo 11 Lunar Lander Trail", @@ -240,8 +238,6 @@ local Apollo11LemLandedModel = { asset.onInitialize(function() - openspace.spice.loadKernel(kernels.kernels) - openspace.addSceneGraphNode(Apollo11Position) openspace.addSceneGraphNode(Apollo11LemPosition) openspace.addSceneGraphNode(Apollo11Model) @@ -259,8 +255,6 @@ asset.onDeinitialize(function() openspace.removeSceneGraphNode(Apollo11Model) openspace.removeSceneGraphNode(Apollo11LemPosition) openspace.removeSceneGraphNode(Apollo11Position) - - openspace.spice.unloadKernel(kernels.kernels) end) asset.export(Apollo11Position) diff --git a/data/assets/scene/solarsystem/missions/apollo/11/kernels.asset b/data/assets/scene/solarsystem/missions/apollo/11/kernels.asset index 819532dae2..7a7e60f90b 100644 --- a/data/assets/scene/solarsystem/missions/apollo/11/kernels.asset +++ b/data/assets/scene/solarsystem/missions/apollo/11/kernels.asset @@ -1,4 +1,4 @@ -local kernelsFolder = asset.resource({ +local data = asset.resource({ Name = "Apollo Kernels", Type = "HttpSynchronization", Identifier = "apollo_11_spice", @@ -7,11 +7,30 @@ local kernelsFolder = asset.resource({ local kernels = { - kernelsFolder .. "moon_080317.tf", - kernelsFolder .. "apollo_naif_ids.tf", - kernelsFolder .. "moon_pa_de421_1900-2050.bpc", - kernelsFolder .. "apollo11_orbits_full9km.bsp", - kernelsFolder .. "apollo11_orbits_lm9km.bsp" + data .. "moon_080317.tf", + data .. "apollo_naif_ids.tf", + data .. "moon_pa_de421_1900-2050.bpc", + data .. "apollo11_orbits_full9km.bsp", + data .. "apollo11_orbits_lm9km.bsp" } -asset.export("kernels", kernels) +local ID = { + Apollo11 = -911, + Apollo11LEM = -911500 +} + +local Frame = { + MoonME = "MOON_ME" +} + + +asset.onInitialize(function() + openspace.spice.loadKernel(kernels) +end) + +asset.onDeinitialize(function() + openspace.spice.unloadKernel(kernels) +end) + +asset.export("ID", ID) +asset.export("Frame", Frame) diff --git a/data/assets/scene/solarsystem/missions/apollo/11/lem.asset b/data/assets/scene/solarsystem/missions/apollo/11/lem.asset index 0c6e953ef1..74e36012d0 100644 --- a/data/assets/scene/solarsystem/missions/apollo/11/lem.asset +++ b/data/assets/scene/solarsystem/missions/apollo/11/lem.asset @@ -18,7 +18,7 @@ local Apollo11Lem = { Translation = { Type = "GlobeTranslation", Globe = moon_asset.Moon.Identifier, - Longitude = -360+23.47306, + Longitude = -360 + 23.47306, Latitude = 0.67402, Altitude = -1927.65, UseHeightMap = false diff --git a/data/assets/scene/solarsystem/missions/apollo/15/apollo15.asset b/data/assets/scene/solarsystem/missions/apollo/15/apollo15.asset index 8dfc61ccab..cf6ee7602f 100644 --- a/data/assets/scene/solarsystem/missions/apollo/15/apollo15.asset +++ b/data/assets/scene/solarsystem/missions/apollo/15/apollo15.asset @@ -1,8 +1,8 @@ -asset.require("spice/base") asset.require("../actions") local moonTransforms = asset.require("scene/solarsystem/planets/earth/moon/moon") local sun = asset.require("scene/solarsystem/sun/sun") -local kernels = asset.require("scene/solarsystem/missions/apollo/15/kernels") +local kernels = asset.require("./kernels") +local coreKernels = asset.require("spice/core") @@ -20,14 +20,14 @@ local Apollo15 = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "APOLLO 15", - Observer = "MOON", - Frame = "IAU_MOON" + Target = kernels.ID.Apollo15, + Observer = coreKernels.ID.Moon, + Frame = coreKernels.Frame.Moon }, Rotation = { Type = "SpiceRotation", - SourceFrame = "A15_METRIC", - DestinationFrame = "GALACTIC" + SourceFrame = kernels.ID.Apollo15Metric, + DestinationFrame = coreKernels.Frame.Galactic } }, Renderable = { @@ -57,9 +57,9 @@ local Apollo15Trail = { Type = "RenderableTrailTrajectory", Translation = { Type = "SpiceTranslation", - Target = "APOLLO 15", - Observer = "MOON", - Frame = "IAU_MOON" + Target = kernels.ID.Apollo15, + Observer = coreKernels.ID.Moon, + Frame = coreKernels.Frame.Moon }, Color = { 0.70, 0.50, 0.20 }, StartTime = "1971 JUL 26", @@ -73,8 +73,6 @@ local Apollo15Trail = { } asset.onInitialize(function() - openspace.spice.loadKernel(kernels.kernels) - openspace.addSceneGraphNode(Apollo15) openspace.addSceneGraphNode(Apollo15Trail) end) @@ -82,8 +80,6 @@ end) asset.onDeinitialize(function() openspace.removeSceneGraphNode(Apollo15Trail) openspace.removeSceneGraphNode(Apollo15) - - openspace.spice.unloadKernel(kernels.kernels) end) asset.export(Apollo15) diff --git a/data/assets/scene/solarsystem/missions/apollo/15/kernels.asset b/data/assets/scene/solarsystem/missions/apollo/15/kernels.asset index 0c6dacf3ff..6b092ae8f9 100644 --- a/data/assets/scene/solarsystem/missions/apollo/15/kernels.asset +++ b/data/assets/scene/solarsystem/missions/apollo/15/kernels.asset @@ -1,4 +1,4 @@ -local folder = asset.resource({ +local data = asset.resource({ Name = "Apollo Kernels", Type = "HttpSynchronization", Identifier = "apollo_spice", @@ -7,87 +7,31 @@ local folder = asset.resource({ local kernels = { - folder .. "apollo15.0001.tsc", - - -- folder .. "AS15-P_v01.bc", - folder .. "apollo15.0001.tf", - folder .. "apollo15MetricAddendum002.ti", - -- folder .. "apollo15PanoramicAddendum001.ti", - folder .. "apollo15_metric.0002.ti", - -- folder .. "apollo15_panoramic.0001.ti", - folder .. "apollo15-1.bsp", - folder .. "AS15-M_v01.bc" - -- folder .. "AS15-M_v01.bsp" + data .. "apollo15.0001.tsc", + data .. "apollo15.0001.tf", + data .. "apollo15MetricAddendum002.ti", + data .. "apollo15_metric.0002.ti", + data .. "apollo15-1.bsp", + data .. "AS15-M_v01.bc" } --- local kernels = { --- --sclk --- folder .. "apollo15.0001.tsc", +local ID = { + Apollo15 = -915 +} --- --pck --- folder .. "moon_080317.tf", --- folder .. "moon_assoc_me.tf", +local Frame = { + Apollo15Nadir = -915240, + Apollo15Metric = "A15_METRIC" +} --- --ik --- folder .. "apollo15_metric_v2.0001.ti", --- folder .. "apollo15_panoramic.0001.ti", --- --tspk --- folder .. "de421.bsp", --- folder .. "moon_pa_de421_1900-2050.bpc", +asset.onInitialize(function() + openspace.spice.loadKernel(kernels) +end) --- --iak --- folder .. "apollo15MetricAddendum002.ti", --- folder .. "apolloPanAddendum001.ti", +asset.onDeinitialize(function() + openspace.spice.unloadKernel(kernels) +end) --- --fk --- folder .. "apollo15_v2.0001.tf", --- folder .. "apollo15_v2.0002.tf", - --- --spk --- folder .. "AS15_M_REV23_SMITHED_V01.bsp", --- folder .. "AS15_M_REV4.bsp ", --- folder .. "AS15_M_REV70_SMITHED_V01.bsp", --- folder .. "AS15_M_REV04_v2.bsp ", --- folder .. "AS15_M_REV27_SMITHED_V01.bsp", --- folder .. "AS15_M_REV44_SMITHED_V01.bsp", --- folder .. "AS15_M_REV71_SMITHED_V01.bsp", --- folder .. "AS15_M_REV15_SMITHED_V01.bsp", --- folder .. "AS15_M_REV33_SMITHED_V01.bsp", --- folder .. "AS15_M_REV50_SMITHED_V01.bsp", --- folder .. "AS15_M_REV71_SMITHED_V02.bsp", --- folder .. "AS15_M_REV15_v2.bsp ", --- folder .. "AS15_M_REV34_SMITHED_V01.bsp", --- folder .. "AS15_M_REV60_SMITHED_V01.bsp", --- folder .. "AS15_M_REV72_v2.bsp", --- folder .. "AS15_M_REV16_SMITHED_V01.bsp", --- folder .. "AS15_M_REV35_SMITHED_V02.bsp", --- folder .. "AS15_M_REV62_SMITHED_V01.bsp", --- folder .. "AS15_M_REV22_SMITHED_V01.bsp", --- folder .. "AS15_M_REV38_SMITHED_V01.bsp", --- folder .. "AS15_M_REV63_SMITHED_V01.bsp", - --- --ck --- folder .. "AS15_M_REV04_SMITHED_V01.bc", --- folder .. "AS15_M_REV15_SMITHED_V01.bc", --- folder .. "AS15_M_REV16_SMITHED_V01.bc", --- folder .. "AS15_M_REV22_SMITHED_V01.bc", --- folder .. "AS15_M_REV23_SMITHED_V01.bc", --- folder .. "AS15_M_REV27_SMITHED_V01.bc", --- folder .. "AS15_M_REV33_SMITHED_V01.bc", --- folder .. "AS15_M_REV34_SMITHED_V01.bc", --- folder .. "AS15_M_REV35_SMITHED_V01.bc", --- folder .. "AS15_M_REV35_SMITHED_V02.bc", --- folder .. "AS15_M_REV38_SMITHED_V01.bc", --- folder .. "AS15_M_REV44_SMITHED_V01.bc", --- folder .. "AS15_M_REV50_SMITHED_V01.bc", --- folder .. "AS15_M_REV60_SMITHED_V01.bc", --- folder .. "AS15_M_REV62_SMITHED_V01.bc", --- folder .. "AS15_M_REV63_SMITHED_V01.bc", --- folder .. "AS15_M_REV70_SMITHED_V01.bc", --- folder .. "AS15_M_REV71_SMITHED_V01.bc", --- folder .. "AS15_M_REV71_SMITHED_V02.bc", --- folder .. "AS15_M_REV72_v2.bc", --- } - -asset.export("kernels", kernels) +asset.export("ID", ID) +asset.export("Frame", Frame) diff --git a/data/assets/scene/solarsystem/missions/apollo/8/kernels.asset b/data/assets/scene/solarsystem/missions/apollo/8/kernels.asset index 538effcfdf..1474dba208 100644 --- a/data/assets/scene/solarsystem/missions/apollo/8/kernels.asset +++ b/data/assets/scene/solarsystem/missions/apollo/8/kernels.asset @@ -1,4 +1,4 @@ -local kernelsFolder = asset.resource({ +local data = asset.resource({ Name = "Apollo Kernels", Type = "HttpSynchronization", Identifier = "apollo_spice", @@ -7,12 +7,31 @@ local kernelsFolder = asset.resource({ local kernels = { - kernelsFolder .. "moon_080317.tf", - kernelsFolder .. "apollo8.tf", - kernelsFolder .. "moon_pa_de421_1900-2050.bpc", - kernelsFolder .. "apollo8.tsc", - kernelsFolder .. "apollo8.bsp", - kernelsFolder .. "apollo8_earthrise.bc" + data .. "moon_080317.tf", + data .. "apollo8.tf", + data .. "moon_pa_de421_1900-2050.bpc", + data .. "apollo8.tsc", + data .. "apollo8.bsp", + data .. "apollo8_earthrise.bc" } -asset.export("kernels", kernels) +local ID = { + Apollo8 = -908 +} + +local Frame = { + Apollo8 = -908000, + Apollo8Earthrise = "A8_EARTHRISE" +} + + +asset.onInitialize(function() + openspace.spice.loadKernel(kernels) +end) + +asset.onDeinitialize(function() + openspace.spice.unloadKernel(kernels) +end) + +asset.export("ID", ID) +asset.export("Frame", Frame) diff --git a/data/assets/scene/solarsystem/missions/apollo/8/launch_model.asset b/data/assets/scene/solarsystem/missions/apollo/8/launch_model.asset index cfede06cac..5ea9f835e5 100644 --- a/data/assets/scene/solarsystem/missions/apollo/8/launch_model.asset +++ b/data/assets/scene/solarsystem/missions/apollo/8/launch_model.asset @@ -1,6 +1,7 @@ local earth_transforms = asset.require("scene/solarsystem/planets/earth/transforms") local sun = asset.require("scene/solarsystem/sun/sun") local kernels = asset.require("./kernels") +local coreKernels = asset.require("spice/core") @@ -25,9 +26,9 @@ local Apollo8Launch = { Transform = { Translation = { Type = "SpiceTranslation", - Target = ApolloSpiceId, - Observer = "EARTH", - Frame = "IAU_EARTH" + Target = kernels.ID.Apollo8, + Observer = coreKernels.ID.Earth, + Frame = coreKernels.Frame.Earth } }, GUI = { @@ -68,8 +69,6 @@ local Apollo8LaunchModel = { asset.onInitialize(function() - openspace.spice.loadKernel(kernels.kernels) - openspace.addSceneGraphNode(Apollo8Launch) openspace.addSceneGraphNode(Apollo8LaunchModel) end) @@ -77,8 +76,6 @@ end) asset.onDeinitialize(function() openspace.removeSceneGraphNode(Apollo8LaunchModel) openspace.removeSceneGraphNode(Apollo8Launch) - - openspace.spice.unloadKernel(kernels.kernels) end) asset.export(Apollo8Launch) diff --git a/data/assets/scene/solarsystem/missions/apollo/8/model.asset b/data/assets/scene/solarsystem/missions/apollo/8/model.asset index 5b7f80883e..ca61a6c91e 100644 --- a/data/assets/scene/solarsystem/missions/apollo/8/model.asset +++ b/data/assets/scene/solarsystem/missions/apollo/8/model.asset @@ -1,6 +1,7 @@ local earth_transforms = asset.require("scene/solarsystem/planets/earth/transforms") local sun = asset.require("scene/solarsystem/sun/sun") local kernels = asset.require("./kernels") +local coreKernels = asset.require("spice/core") @@ -12,8 +13,6 @@ local models = asset.resource({ }) -local ApolloSpiceId = -908 - local Apollo8 = { Identifier = "Apollo8", Parent = earth_transforms.EarthBarycenter.Identifier, @@ -25,14 +24,14 @@ local Apollo8 = { Transform = { Translation = { Type = "SpiceTranslation", - Target = ApolloSpiceId, - Observer = "EARTH BARYCENTER", - Frame = "GALACTIC" + Target = kernels.ID.Apollo8, + Observer = coreKernels.ID.EarthBarycenter, + Frame = coreKernels.Frame.Galactic }, Rotation = { Type = "SpiceRotation", - SourceFrame = "A8_EARTHRISE", - DestinationFrame = "GALACTIC", + SourceFrame = kernels.Frame.Apollo8Earthrise, + DestinationFrame = coreKernels.Frame.Galactic, TimeFrame = { -- The orientation of Apollo 8 is only available during the few minutes -- when the Earthrise picture was taken. @@ -96,8 +95,6 @@ local Apollo8Pivot = { asset.onInitialize(function() - openspace.spice.loadKernel(kernels.kernels) - openspace.addSceneGraphNode(Apollo8) openspace.addSceneGraphNode(Apollo8Model) openspace.addSceneGraphNode(Apollo8Pivot) @@ -107,8 +104,6 @@ asset.onDeinitialize(function() openspace.removeSceneGraphNode(Apollo8Pivot) openspace.removeSceneGraphNode(Apollo8Model) openspace.removeSceneGraphNode(Apollo8) - - openspace.spice.unloadKernel(kernels.kernels) end) asset.export(Apollo8) diff --git a/data/assets/scene/solarsystem/missions/apollo/8/trails.asset b/data/assets/scene/solarsystem/missions/apollo/8/trails.asset index ec04998ee4..baf3c51688 100644 --- a/data/assets/scene/solarsystem/missions/apollo/8/trails.asset +++ b/data/assets/scene/solarsystem/missions/apollo/8/trails.asset @@ -1,11 +1,10 @@ local earth_transforms = asset.require("scene/solarsystem/planets/earth/transforms") local moon_transforms = asset.require("scene/solarsystem/planets/earth/moon/moon") local kernels = asset.require("./kernels") +local coreKernels = asset.require("spice/core") -local ApolloSpiceId = -908 - local LaunchTrail = { Identifier = "Apollo8LaunchTrail", Parent = earth_transforms.EarthIAU.Identifier, @@ -13,9 +12,9 @@ local LaunchTrail = { Type = "RenderableTrailTrajectory", Translation = { Type = "SpiceTranslation", - Target = ApolloSpiceId, - Observer = "EARTH", - Frame = "IAU_EARTH" + Target = kernels.ID.Apollo8, + Observer = coreKernels.ID.Earth, + Frame = coreKernels.Frame.Earth }, Color = { 0.70, 0.50, 0.20 }, StartTime = "1968 DEC 21 12:51:00", @@ -37,9 +36,9 @@ local MoonTrail = { Enabled = false, Translation = { Type = "SpiceTranslation", - Target = ApolloSpiceId, - Observer = "MOON", - Frame = "IAU_MOON" + Target = kernels.ID.Apollo8, + Observer = coreKernels.ID.Moon, + Frame = coreKernels.Frame.Moon }, Color = { 0.70, 0.50, 0.20 }, StartTime = "1968 DEC 23", @@ -60,9 +59,9 @@ local EarthBarycenterTrail = { Enabled = false, Translation = { Type = "SpiceTranslation", - Target = ApolloSpiceId, - Observer = "EARTH", - Frame = "GALACTIC" + Target = kernels.ID.Apollo8, + Observer = coreKernels.ID.Earth, + Frame = coreKernels.Frame.Galactic }, Color = { 0.8, 0.2, 0.2 }, StartTime = "1968 DEC 21", @@ -77,8 +76,6 @@ local EarthBarycenterTrail = { asset.onInitialize(function() - openspace.spice.loadKernel(kernels.kernels) - openspace.addSceneGraphNode(LaunchTrail) openspace.addSceneGraphNode(MoonTrail) openspace.addSceneGraphNode(EarthBarycenterTrail) @@ -88,8 +85,6 @@ asset.onDeinitialize(function() openspace.removeSceneGraphNode(EarthBarycenterTrail) openspace.removeSceneGraphNode(MoonTrail) openspace.removeSceneGraphNode(LaunchTrail) - - openspace.spice.unloadKernel(kernels.kernels) end) asset.export(LaunchTrail) diff --git a/data/assets/scene/solarsystem/missions/artemis/kernels.asset b/data/assets/scene/solarsystem/missions/artemis/kernels.asset new file mode 100644 index 0000000000..6572ce320c --- /dev/null +++ b/data/assets/scene/solarsystem/missions/artemis/kernels.asset @@ -0,0 +1,22 @@ +local data = asset.resource({ + Name = "Artemis Kernels", + Type = "HttpSynchronization", + Identifier = "artemis_1_kernels", + Version = 1 +}) + + +local ID = { + Artemis = -1023 +} + + +asset.onInitialize(function() + openspace.spice.loadKernel(data .. "artemis.bsp") +end) + +asset.onDeinitialize(function() + openspace.spice.unloadKernel(data .. "artemis.bsp") +end) + +asset.export("ID", ID) diff --git a/data/assets/scene/solarsystem/missions/artemis/trail.asset b/data/assets/scene/solarsystem/missions/artemis/trail.asset index 2077cc21f6..4b6dfa931a 100644 --- a/data/assets/scene/solarsystem/missions/artemis/trail.asset +++ b/data/assets/scene/solarsystem/missions/artemis/trail.asset @@ -1,18 +1,10 @@ -asset.require("spice/base") local earthTransforms = asset.require("scene/solarsystem/planets/earth/transforms") local moonTransforms = asset.require("scene/solarsystem/planets/earth/moon/moon") +local kernels = asset.require("./kernels") +local coreKernels = asset.require("spice/core") -local ArtemisSpiceId = "-1023" - -local kernels = asset.resource({ - Name = "Artemis Kernels", - Type = "HttpSynchronization", - Identifier = "artemis_1_kernels", - Version = 1 -}) - local ArtemisEarthTrail = { Identifier = "ArtemisEarthTrail", Parent = earthTransforms.EarthCenter.Identifier, @@ -20,9 +12,9 @@ local ArtemisEarthTrail = { Type = "RenderableTrailTrajectory", Translation = { Type = "SpiceTranslation", - Target = ArtemisSpiceId, - Observer = "EARTH", - Frame = "GALACTIC" + Target = kernels.ID.Artemis, + Observer = coreKernels.ID.Earth, + Frame = coreKernels.ID.Galactic }, Color = { 0.2, 0.78, 0.635 }, Fade = 7.0, @@ -44,9 +36,9 @@ local ArtemisMoonTrail= { Type = "RenderableTrailTrajectory", Translation = { Type = "SpiceTranslation", - Target = ArtemisSpiceId, - Observer = "MOON", - Frame = "IAU_MOON" + Target = kernels.ID.Artemis, + Observer = coreKernels.ID.Moon, + Frame = coreKernels.Frame.Moon }, Color = { 0.78, 0.43, 0.20 }, Fade = 7.0, @@ -63,8 +55,6 @@ local ArtemisMoonTrail= { asset.onInitialize(function() - openspace.spice.loadKernel(kernels .. "artemis.bsp") - openspace.addSceneGraphNode(ArtemisEarthTrail) openspace.addSceneGraphNode(ArtemisMoonTrail) end) @@ -72,8 +62,6 @@ end) asset.onDeinitialize(function() openspace.removeSceneGraphNode(ArtemisMoonTrail) openspace.removeSceneGraphNode(ArtemisEarthTrail) - - openspace.spice.unloadKernel(kernels .. "artemis.bsp") end) asset.export(ArtemisEarthTrail) diff --git a/data/assets/scene/solarsystem/missions/artemis/transforms.asset b/data/assets/scene/solarsystem/missions/artemis/transforms.asset index 59df655a91..83d4bc6166 100644 --- a/data/assets/scene/solarsystem/missions/artemis/transforms.asset +++ b/data/assets/scene/solarsystem/missions/artemis/transforms.asset @@ -1,48 +1,34 @@ -asset.require("spice/base") local earthTransforms = asset.require("scene/solarsystem/planets/earth/transforms") +local kernels = asset.require("./kernels") +local coreKernels = asset.require("spice/core") -local kernels = asset.resource({ - Name = "Artemis Kernels", - Type = "HttpSynchronization", - Identifier = "artemis_1_kernels", - Version = 1 -}) - - -local ArtemisSpiceId = "-1023" - local ArtemisPosition = { Identifier = "ArtemisPosition", Parent = earthTransforms.EarthCenter.Identifier, Transform = { Translation = { Type = "SpiceTranslation", - Target = ArtemisSpiceId, - Observer = "EARTH", - Frame = "GALACTIC" + Target = kernels.ID.Artemis, + Observer = coreKernels.ID.Earth, + Frame = coreKernels.Frame.Galactic } }, GUI = { Name = "Artemis-1 Position", Path = "/Solar System/Missions/Artemis", - Hidden = true, - Description = "Artemis-1 position relative to Earth" + Hidden = true } } asset.onInitialize(function() - openspace.spice.loadKernel(kernels .. "artemis.bsp") - openspace.addSceneGraphNode(ArtemisPosition) end) asset.onDeinitialize(function() openspace.removeSceneGraphNode(ArtemisPosition) - - openspace.spice.unloadKernel(kernels .. "artemis.bsp") end) asset.export(ArtemisPosition) diff --git a/data/assets/scene/solarsystem/missions/dawn/dawn.asset b/data/assets/scene/solarsystem/missions/dawn/dawn.asset index b9c66b0ec6..3a841bdb9d 100644 --- a/data/assets/scene/solarsystem/missions/dawn/dawn.asset +++ b/data/assets/scene/solarsystem/missions/dawn/dawn.asset @@ -1,16 +1,11 @@ asset.require("scene/solarsystem/missions/dawn/mission") local transforms = asset.require("scene/solarsystem/sun/transforms") local sun = asset.require("scene/solarsystem/sun/sun") +local kernels = asset.require("./kernels") +local coreKernels = asset.require("spice/core") -local kernels = asset.resource({ - Name = "Dawn Kernels", - Type = "HttpSynchronization", - Identifier = "dawn_kernels", - Version = 3 -}) - local textures = asset.resource({ Name = "Dawn Textures", Type = "HttpSynchronization", @@ -26,49 +21,6 @@ local models = asset.resource({ }) -local KernelFiles = { - kernels .. "dawn_ref_070926-150201_070829.bsp", - - --ik - kernels .. "dawn_fc_v10.ti", - - -- SPK - kernels .. "dawn_rec_070927_070930_081218_v1.bsp", - -- kernels .. "dawn_rec_110201_110328_110328_v1.bsp", - -- kernels .. "dawn_rec_110328_110419_110420_v1.bsp", - kernels .. "dawn_rec_110416_110802_110913_v1.bsp", - kernels .. "dawn_rec_110802_110831_110922_v1.bsp", - -- kernels .. "spk/dawn_rec_110831_110928_111221_v1.bsp", - -- kernels .. "dawn_rec_110928_111102_120615_v1.bsp", - -- kernels .. "dawn_rec_111102_111210_120618_v1.bsp", - -- kernels .. "dawn_rec_111211_120501_120620_v1.bsp", - kernels .. "dawn_rec_120724_120913_121213_v1.bsp", - - -- FK - kernels .. "dawn_v12.tf", - - --SCLK - kernels .. "dawn_203_sclkscet_00039.tsc", - - -- CK - kernels .. "dawn_sc_070927_070930.bc", - kernels .. "dawn_sc_110801_110807.bc", - kernels .. "dawn_sc_110808_110814.bc", - kernels .. "dawn_sc_120910_120916.bc", - - -- space craft CK files - -- kernels .. "dawn_sc_070927_070930.bc", - -- kernels .. "dawn_sc_110801_110807.bc", - -- kernels .. "dawn_sc_110808_110814.bc", - -- kernels .. "dawn_sc_120910_120916.bc", - - -- Solar array rotation kernels - kernels .. "dawn_sa_070927_070930.bc", - -- kernels .. "dawn_sa_110801_110807.bc", - -- kernels .. "dawn_sa_110808_110814.bc", - -- kernels .. "dawn_sa_120910_120916.bc" -} - local LightSources = { sun.LightSource, { @@ -84,8 +36,8 @@ local DawnPosition = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "DAWN", - Observer = "SSB" + Target = kernels.ID.Dawn, + Observer = coreKernels.ID.SolarSystemBarycenter }, -- Rotation for model version 2 Rotation = { @@ -106,8 +58,8 @@ local Dawn = { Transform = { Rotation = { Type = "SpiceRotation", - SourceFrame = "DAWN_SPACECRAFT", - DestinationFrame = "GALACTIC" + SourceFrame = kernels.Frame.Dawn, + DestinationFrame = coreKernels.Frame.Galactic } }, Renderable = { @@ -128,8 +80,8 @@ local DawnTrail = { Type = "RenderableTrailTrajectory", Translation = { Type = "SpiceTranslation", - Target = "DAWN", - Observer = "SSB" + Target = kernels.ID.Dawn, + Observer = coreKernels.ID.SolarSystemBarycenter }, Color = { 1.0, 0.8, 0.4 }, ShowFullTrail = false, @@ -153,8 +105,8 @@ local DawnFramingCamera1 = { Parent = Dawn.Identifier, Renderable = { Type = "RenderableFov", - Body = "DAWN", - Frame = "DAWN_SPACECRAFT", + Body = kernels.ID.Dawn, + Frame = kernels.Frame.Dawn, Color = { 0.8, 0.7, 0.7 }, Instrument = { Name = "DAWN_FC1", @@ -174,8 +126,8 @@ local DawnFramingCamera2 = { Parent = Dawn.Identifier, Renderable = { Type = "RenderableFov", - Body = "DAWN", - Frame = "DAWN_SPACECRAFT", + Body = kernels.ID.Dawn, + Frame = kernels.Frame.Dawn, Color = { 0.8, 0.7, 0.7 }, Instrument = { Name = "DAWN_FC2", @@ -192,8 +144,6 @@ local DawnFramingCamera2 = { asset.onInitialize(function() - openspace.spice.loadKernel(KernelFiles) - openspace.addSceneGraphNode(DawnPosition) openspace.addSceneGraphNode(Dawn) openspace.addSceneGraphNode(DawnTrail) @@ -207,8 +157,6 @@ asset.onDeinitialize(function() openspace.removeSceneGraphNode(DawnTrail) openspace.removeSceneGraphNode(Dawn) openspace.removeSceneGraphNode(DawnPosition) - - openspace.spice.unloadKernel(KernelFiles) end) asset.export(DawnPosition) diff --git a/data/assets/scene/solarsystem/missions/dawn/kernels.asset b/data/assets/scene/solarsystem/missions/dawn/kernels.asset new file mode 100644 index 0000000000..e01bcf7b53 --- /dev/null +++ b/data/assets/scene/solarsystem/missions/dawn/kernels.asset @@ -0,0 +1,89 @@ +local coreKernels = asset.require("spice/core") + + + +local dawn = asset.resource({ + Name = "Dawn Kernels", + Type = "HttpSynchronization", + Identifier = "dawn_kernels", + Version = 3 +}) + +local vesta = asset.resource({ + Name = "Vesta Kernels", + Type = "HttpSynchronization", + Identifier = "vesta_kernels", + Version = 1 +}) + + +local DawnKernels = { + dawn .. "dawn_ref_070926-150201_070829.bsp", + + -- IK + dawn .. "dawn_fc_v10.ti", + + -- SPK + dawn .. "dawn_rec_070927_070930_081218_v1.bsp", + -- dawn .. "dawn_rec_110201_110328_110328_v1.bsp", + -- dawn .. "dawn_rec_110328_110419_110420_v1.bsp", + dawn .. "dawn_rec_110416_110802_110913_v1.bsp", + dawn .. "dawn_rec_110802_110831_110922_v1.bsp", + -- dawn .. "spk/dawn_rec_110831_110928_111221_v1.bsp", + -- dawn .. "dawn_rec_110928_111102_120615_v1.bsp", + -- dawn .. "dawn_rec_111102_111210_120618_v1.bsp", + -- dawn .. "dawn_rec_111211_120501_120620_v1.bsp", + dawn .. "dawn_rec_120724_120913_121213_v1.bsp", + + -- FK + dawn .. "dawn_v12.tf", + + dawn .. "dawn_203_sclkscet_00039.tsc", + + dawn .. "dawn_sc_070927_070930.bc", + dawn .. "dawn_sc_110801_110807.bc", + dawn .. "dawn_sc_110808_110814.bc", + dawn .. "dawn_sc_120910_120916.bc", + + -- dawn .. "dawn_sc_070927_070930.bc", + -- dawn .. "dawn_sc_110801_110807.bc", + -- dawn .. "dawn_sc_110808_110814.bc", + -- dawn .. "dawn_sc_120910_120916.bc", + + + -- Solar array rotation kernels + dawn .. "dawn_sa_070927_070930.bc", + -- dawn .. "dawn_sa_110801_110807.bc", + -- dawn .. "dawn_sa_110808_110814.bc", + -- dawn .. "dawn_sa_120910_120916.bc" +} + +local VestaKernels = { + vesta .. "sb_vesta_071107.bsp" +} + +local ID = { + Dawn = "DAWN", + Vesta = "VESTA" +} + +local Frame = { + Dawn = "DAWN_SPACECRAFT", + DawnSolarArray1 = -203010, + DawnSolarArray2 = -203020, + Vesta = coreKernels.Frame.Vesta +} + + +asset.onInitialize(function() + openspace.spice.loadKernel(DawnKernels) + openspace.spice.loadKernel(VestaKernels) +end) + +asset.onDeinitialize(function() + openspace.spice.unloadKernel(VestaKernels) + openspace.spice.unloadKernel(DawnKernels) +end) + +asset.export("ID", ID) +asset.export("Frame", Frame) diff --git a/data/assets/scene/solarsystem/missions/dawn/vesta.asset b/data/assets/scene/solarsystem/missions/dawn/vesta.asset index a3bb63553a..fd50231e85 100644 --- a/data/assets/scene/solarsystem/missions/dawn/vesta.asset +++ b/data/assets/scene/solarsystem/missions/dawn/vesta.asset @@ -1,14 +1,9 @@ local transforms = asset.require("scene/solarsystem/sun/transforms") +local kernels = asset.require("./kernels") +local coreKernels = asset.require("spice/core") -local kernels = asset.resource({ - Name = "Vesta Kernels", - Type = "HttpSynchronization", - Identifier = "vesta_kernels", - Version = 1 -}) - local textures = asset.resource({ Name = "Vesta Textures", Type = "HttpSynchronization", @@ -37,13 +32,13 @@ local Vesta = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "VESTA", - Observer = "SSB" + Target = kernels.ID.Vesta, + Observer = coreKernels.ID.SolarSystemBarycenter }, Rotation = { Type = "SpiceRotation", - SourceFrame = "IAU_VESTA", - DestinationFrame = "GALACTIC" + SourceFrame = kernels.Frame.Vesta, + DestinationFrame = coreKernels.Frame.Galactic } }, BoundingSphere = 262000, @@ -54,8 +49,8 @@ local Vesta = { Projection = { Sequence = images, SequenceType = "image-sequence", - Observer = "DAWN", - Target = "VESTA", + Observer = kernels.ID.Dawn, + Target = kernels.ID.Vesta, Aberration = "NONE", DataInputTranslation = { @@ -121,8 +116,8 @@ local VestaTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "VESTA", - Observer = "SSB" + Target = kernels.ID.Vesta, + Observer = coreKernels.ID.SolarSystemBarycenter }, Color = { 0.7, 0.8, 0.7 }, StartTime = "2007 JUL 20 12:00:00", @@ -138,8 +133,6 @@ local VestaTrail = { asset.onInitialize(function() - openspace.spice.loadKernel(kernels .. "sb_vesta_071107.bsp") - openspace.addSceneGraphNode(Vesta) openspace.addSceneGraphNode(VestaTrail) end) @@ -147,8 +140,6 @@ end) asset.onDeinitialize(function() openspace.removeSceneGraphNode(VestaTrail) openspace.removeSceneGraphNode(Vesta) - - openspace.spice.unloadKernel(kernels .. "sb_vesta_071107.bsp") end) asset.export(Vesta) diff --git a/data/assets/scene/solarsystem/missions/insight/edl.asset b/data/assets/scene/solarsystem/missions/insight/edl.asset index 8f99555919..0e69fdb4a2 100644 --- a/data/assets/scene/solarsystem/missions/insight/edl.asset +++ b/data/assets/scene/solarsystem/missions/insight/edl.asset @@ -1,8 +1,9 @@ -asset.require("spice/base") asset.require("./actions") asset.require("scene/solarsystem/planets/mars/default_layers") local sun = asset.require("scene/solarsystem/sun/sun") local mars = asset.require("scene/solarsystem/planets/mars/mars") +local kernels = asset.require("./kernels") +local coreKernels = asset.require("spice/core") @@ -13,21 +14,6 @@ local models = asset.resource({ Version = 2 }) -local ikernels = asset.resource({ - Name = "Insight Kernels", - Type = "HttpSynchronization", - Identifier = "insight_kernels", - Version = 1 -}) - - -local iKernels = { - ikernels .. "nsyt_spk_cruise_od063_v1_approach2surface_SC_Lander.tsc", - ikernels .. "insight_v02.tfr", - ikernels .. "mar085s.bsp", - ikernels .. "nsyt_spk_cruise_POST_approach2surface_SC_Lander.bsp", - ikernels .. "nsyt_spk_cruise_POST_approach2surface_SC_Lander.bck" -} local RotationMatrix = { -1, 0, 0, 0, @@ -68,41 +54,41 @@ local SpiceRotationEndTime = "2018 NOV 26 19:51:39" local TranslationKeyframes = { ["1850 JAN 01 00:00:00"] = { Type = "SpiceTranslation", - Target = "INSIGHT", - Observer = "MARS", - Frame = "IAU_MARS", + Target = kernels.ID.Insight, + Observer = coreKernels.ID.Mars, + Frame = coreKernels.Frame.Mars, FixedDate = "2018 NOV 26 19:39:03" }, ["2018 NOV 26 19:39:02"] = { Type = "SpiceTranslation", - Target = "INSIGHT", - Observer = "MARS", - Frame = "IAU_MARS", + Target = kernels.ID.Insight, + Observer = coreKernels.ID.Mars, + Frame = coreKernels.Frame.Mars, FixedDate = "2018 NOV 26 19:39:03" }, ["2018 NOV 26 19:39:03"] = { Type = "SpiceTranslation", - Target = "INSIGHT", - Observer = "MARS", - Frame = "IAU_MARS" + Target = kernels.ID.Insight, + Observer = coreKernels.ID.Mars, + Frame = coreKernels.Frame.Mars }, ["2018 NOV 26 19:39:04"] = { Type = "SpiceTranslation", - Target = "INSIGHT", - Observer = "MARS", - Frame = "IAU_MARS" + Target = kernels.ID.Insight, + Observer = coreKernels.ID.Mars, + Frame = coreKernels.Frame.Mars }, ["2018 NOV 26 19:45:34"] = { Type = "SpiceTranslation", - Target = "INSIGHT", - Observer = "MARS", - Frame = "IAU_MARS" + Target = kernels.ID.Insight, + Observer = coreKernels.ID.Mars, + Frame = coreKernels.Frame.Mars }, ["2018 NOV 26 19:45:35"] = { Type = "SpiceTranslation", - Target = "INSIGHT", - Observer = "MARS", - Frame = "IAU_MARS", + Target = kernels.ID.Insight, + Observer = coreKernels.ID.Mars, + Frame = coreKernels.Frame.Mars, FixedDate = "2018 NOV 26 19:45:34" } } @@ -110,35 +96,35 @@ local TranslationKeyframes = { local RotationKeyframes = { ["1850 JAN 01 00:00:00"] = { Type = "SpiceRotation", - SourceFrame = "INSIGHT_LANDER_CRUISE", - DestinationFrame = "IAU_MARS", + SourceFrame = kernels.Frame.InsightCruise, + DestinationFrame = coreKernels.Frame.Mars, FixedDate = "2018 NOV 26 19:39:02" }, ["2018 NOV 26 19:39:02"] = { Type = "SpiceRotation", - SourceFrame = "INSIGHT_LANDER_CRUISE", - DestinationFrame = "IAU_MARS", + SourceFrame = kernels.Frame.InsightCruise, + DestinationFrame = coreKernels.Frame.Mars, FixedDate = "2018 NOV 26 19:39:02" }, ["2018 NOV 26 19:39:03"] = { Type = "SpiceRotation", - SourceFrame = "INSIGHT_LANDER_CRUISE", - DestinationFrame = "IAU_MARS" + SourceFrame = kernels.Frame.InsightCruise, + DestinationFrame = coreKernels.Frame.Mars }, ["2018 NOV 26 19:39:04"] = { Type = "SpiceRotation", - SourceFrame = "INSIGHT_LANDER_CRUISE", - DestinationFrame = "IAU_MARS" + SourceFrame = kernels.Frame.InsightCruise, + DestinationFrame = coreKernels.Frame.Mars }, ["2018 NOV 26 19:45:34"] = { Type = "SpiceRotation", - SourceFrame = "INSIGHT_LANDER_CRUISE", - DestinationFrame = "IAU_MARS" + SourceFrame = kernels.Frame.InsightCruise, + DestinationFrame = coreKernels.Frame.Mars }, ["2018 NOV 26 19:45:35"] = { Type = "SpiceRotation", - SourceFrame = "INSIGHT_LANDER_CRUISE", - DestinationFrame = "IAU_MARS", + SourceFrame = kernels.Frame.InsightCruise, + DestinationFrame = coreKernels.Frame.Mars, FixedDate = "2018 NOV 26 19:45:34" } } @@ -785,8 +771,6 @@ local Insight_Trail = { } asset.onInitialize(function() - openspace.spice.loadKernel(iKernels) - openspace.addSceneGraphNode(InsightParent) openspace.addSceneGraphNode(Insight) openspace.addSceneGraphNode(Insight_Entry_CapsuleA) @@ -858,8 +842,6 @@ asset.onDeinitialize(function() openspace.removeSceneGraphNode(Insight_Entry_CapsuleA) openspace.removeSceneGraphNode(Insight) openspace.removeSceneGraphNode(InsightParent) - - openspace.spice.unloadKernel(iKernels) end) asset.export(InsightParent) diff --git a/data/assets/scene/solarsystem/missions/insight/kernels.asset b/data/assets/scene/solarsystem/missions/insight/kernels.asset new file mode 100644 index 0000000000..010c3cefa8 --- /dev/null +++ b/data/assets/scene/solarsystem/missions/insight/kernels.asset @@ -0,0 +1,36 @@ +local data = asset.resource({ + Name = "Insight Kernels", + Type = "HttpSynchronization", + Identifier = "insight_kernels", + Version = 1 +}) + + +local Kernels = { + data .. "nsyt_spk_cruise_od063_v1_approach2surface_SC_Lander.tsc", + data .. "insight_v02.tfr", + data .. "mar085s.bsp", + data .. "nsyt_spk_cruise_POST_approach2surface_SC_Lander.bsp", + data .. "nsyt_spk_cruise_POST_approach2surface_SC_Lander.bck" +} + +local ID = { + Insight = "INSIGHT" +} + +local Frame = { + Insight = -189000, + InsightCruise = "INSIGHT_LANDER_CRUISE" +} + + +asset.onInitialize(function() + openspace.spice.loadKernel(Kernels) +end) + +asset.onDeinitialize(function() + openspace.spice.unloadKernel(Kernels) +end) + +asset.export("ID", ID) +asset.export("Frame", Frame) diff --git a/data/assets/scene/solarsystem/missions/juice/fov/gala.asset b/data/assets/scene/solarsystem/missions/juice/fov/gala.asset index 355903784f..77d091a62e 100644 --- a/data/assets/scene/solarsystem/missions/juice/fov/gala.asset +++ b/data/assets/scene/solarsystem/missions/juice/fov/gala.asset @@ -13,8 +13,8 @@ local Gala = { }, Renderable = { Type = "RenderableFov", - Body = "JUICE", - Frame = "JUICE_GALA_RXT", + Body = kernels.ID.Juice, + Frame = kernels.Frame.Gala, RGB = { 0.8, 0.7, 0.7 }, Instrument = { Name = "JUICE_GALA_RXT", diff --git a/data/assets/scene/solarsystem/missions/juice/fov/janus.asset b/data/assets/scene/solarsystem/missions/juice/fov/janus.asset index bca6d46432..f06c8f91da 100644 --- a/data/assets/scene/solarsystem/missions/juice/fov/janus.asset +++ b/data/assets/scene/solarsystem/missions/juice/fov/janus.asset @@ -19,8 +19,8 @@ local Janus = { }, Renderable = { Type = "RenderableFov", - Body = "JUICE", - Frame = "JUICE_JANUS", + Body = kernels.ID.Juice, + Frame = kernels.Frame.Janus, RGB = { 0.8, 0.7, 0.7 }, Instrument = { Name = "JUICE_JANUS", diff --git a/data/assets/scene/solarsystem/missions/juice/fov/jmc.asset b/data/assets/scene/solarsystem/missions/juice/fov/jmc.asset index 6ca3e491a7..e1b9379b7b 100644 --- a/data/assets/scene/solarsystem/missions/juice/fov/jmc.asset +++ b/data/assets/scene/solarsystem/missions/juice/fov/jmc.asset @@ -13,8 +13,8 @@ local JMC1 = { }, Renderable = { Type = "RenderableFov", - Body = "JUICE", - Frame = "JUICE_JMC-1", + Body = kernels.ID.Juice, + Frame = kernels.Frame.JMC1, RGB = { 0.8, 0.7, 0.7 }, Instrument = { Name = "JUICE_JMC-1", @@ -42,8 +42,8 @@ local JMC2 = { }, Renderable = { Type = "RenderableFov", - Body = "JUICE", - Frame = "JUICE_JMC-2", + Body = kernels.ID.Juice, + Frame = kernels.Frame.JMC2, RGB = { 0.8, 0.7, 0.7 }, Instrument = { Name = "JUICE_JMC-2", @@ -62,7 +62,6 @@ local JMC2 = { } - asset.onInitialize(function() openspace.addSceneGraphNode(JMC1) openspace.addSceneGraphNode(JMC2) diff --git a/data/assets/scene/solarsystem/missions/juice/fov/majis.asset b/data/assets/scene/solarsystem/missions/juice/fov/majis.asset index 0b62bdd2c1..03dacf43bf 100644 --- a/data/assets/scene/solarsystem/missions/juice/fov/majis.asset +++ b/data/assets/scene/solarsystem/missions/juice/fov/majis.asset @@ -13,8 +13,8 @@ local MajisVisnir = { }, Renderable = { Type = "RenderableFov", - Body = "JUICE", - Frame = "JUICE_MAJIS_VISNIR", + Body = kernels.ID.Juice, + Frame = kernels.Frame.MajisVisnir, RGB = { 0.8, 0.7, 0.7 }, Instrument = { Name = "JUICE_MAJIS_VISNIR", @@ -45,8 +45,8 @@ local MajisVisnirB2 = { }, Renderable = { Type = "RenderableFov", - Body = "JUICE", - Frame = "JUICE_MAJIS_VISNIR_B2", + Body = kernels.ID.Juice, + Frame = kernels.Frame.MajisVisnirB2, RGB = { 0.8, 0.7, 0.7 }, Instrument = { Name = "JUICE_MAJIS_VISNIR_B2", @@ -73,8 +73,8 @@ local MajisVisnirB4 = { }, Renderable = { Type = "RenderableFov", - Body = "JUICE", - Frame = "JUICE_MAJIS_VISNIR_B4", + Body = kernels.ID.Juice, + Frame = kernels.Frame.MajisVisnirB4, RGB = { 0.8, 0.7, 0.7 }, Instrument = { Name = "JUICE_MAJIS_VISNIR_B4", @@ -101,8 +101,8 @@ local MajisIr = { }, Renderable = { Type = "RenderableFov", - Body = "JUICE", - Frame = "JUICE_MAJIS_IR", + Body = kernels.ID.Juice, + Frame = kernels.Frame.MajisIR, RGB = { 0.8, 0.7, 0.7 }, Instrument = { Name = "JUICE_MAJIS_IR", @@ -129,8 +129,8 @@ local MajisIrB2 = { }, Renderable = { Type = "RenderableFov", - Body = "JUICE", - Frame = "JUICE_MAJIS_IR_B2", + Body = kernels.ID.Juice, + Frame = kernels.Frame.MajisIRB2, RGB = { 0.8, 0.7, 0.7 }, Instrument = { Name = "JUICE_MAJIS_IR_B2", @@ -157,8 +157,8 @@ local MajisIrB4 = { }, Renderable = { Type = "RenderableFov", - Body = "JUICE", - Frame = "JUICE_MAJIS_IR_B4", + Body = kernels.ID.Juice, + Frame = kernels.Frame.MajisIRB4, RGB = { 0.8, 0.7, 0.7 }, Instrument = { Name = "JUICE_MAJIS_IR_B4", @@ -185,8 +185,8 @@ local Majis = { }, Renderable = { Type = "RenderableFov", - Body = "JUICE", - Frame = "JUICE_MAJIS", + Body = kernels.ID.Juice, + Frame = kernels.Frame.Majis, RGB = { 0.8, 0.7, 0.7 }, Instrument = { Name = "JUICE_MAJIS", diff --git a/data/assets/scene/solarsystem/missions/juice/fov/navcam.asset b/data/assets/scene/solarsystem/missions/juice/fov/navcam.asset index b976099c87..95cfd38267 100644 --- a/data/assets/scene/solarsystem/missions/juice/fov/navcam.asset +++ b/data/assets/scene/solarsystem/missions/juice/fov/navcam.asset @@ -13,8 +13,8 @@ local NavCam = { }, Renderable = { Type = "RenderableFov", - Body = "JUICE", - Frame = "JUICE_NAVCAM-1", + Body = kernels.ID.Juice, + Frame = kernels.Frame.NavCam, RGB = { 0.8, 0.7, 0.7 }, Instrument = { Name = "JUICE_NAVCAM-1", diff --git a/data/assets/scene/solarsystem/missions/juice/fov/rime.asset b/data/assets/scene/solarsystem/missions/juice/fov/rime.asset index e0b5cf14cc..6e6bd3c276 100644 --- a/data/assets/scene/solarsystem/missions/juice/fov/rime.asset +++ b/data/assets/scene/solarsystem/missions/juice/fov/rime.asset @@ -14,8 +14,8 @@ local RimeBase = { }, Renderable = { Type = "RenderableFov", - Body = "JUICE", - Frame = "JUICE_RIME_BASE", + Body = kernels.ID.Juice, + Frame = kernels.Frame.RimeBase, RGB = { 0.8, 0.7, 0.7 }, Instrument = { Name = "JUICE_RIME_BASE", @@ -44,8 +44,8 @@ local Rime = { }, Renderable = { Type = "RenderableFov", - Body = "JUICE", - Frame = "JUICE_RIME", + Body = kernels.ID.Juice, + Frame = kernels.Frame.Rime, RGB = { 0.8, 0.7, 0.7 }, Instrument = { Name = "JUICE_RIME", diff --git a/data/assets/scene/solarsystem/missions/juice/fov/startracker.asset b/data/assets/scene/solarsystem/missions/juice/fov/startracker.asset index 466393fa49..a0e5f55e06 100644 --- a/data/assets/scene/solarsystem/missions/juice/fov/startracker.asset +++ b/data/assets/scene/solarsystem/missions/juice/fov/startracker.asset @@ -13,8 +13,8 @@ local StarOh1 = { }, Renderable = { Type = "RenderableFov", - Body = "JUICE", - Frame = "JUICE_STR-OH1", + Body = kernels.ID.Juice, + Frame = kernels.Frame.StarTrackerOH1, RGB = { 0.0, 0.0, 0.0 }, Instrument = { Name = "JUICE_STR-OH1", @@ -42,8 +42,8 @@ local StarOh2 = { }, Renderable = { Type = "RenderableFov", - Body = "JUICE", - Frame = "JUICE_STR-OH2", + Body = kernels.ID.Juice, + Frame = kernels.Frame.StarTrackerOH2, RGB = { 0.0, 0.0, 0.0 }, Instrument = { Name = "JUICE_STR-OH2", @@ -71,8 +71,8 @@ local StarOh3 = { }, Renderable = { Type = "RenderableFov", - Body = "JUICE", - Frame = "JUICE_STR-OH3", + Body = kernels.ID.Juice, + Frame = kernels.Frame.StarTrackerOH3, RGB = { 0.0, 0.0, 0.0 }, Instrument = { Name = "JUICE_STR-OH3", diff --git a/data/assets/scene/solarsystem/missions/juice/fov/swi.asset b/data/assets/scene/solarsystem/missions/juice/fov/swi.asset index 0daa1ec8e3..5bd2388bd7 100644 --- a/data/assets/scene/solarsystem/missions/juice/fov/swi.asset +++ b/data/assets/scene/solarsystem/missions/juice/fov/swi.asset @@ -14,8 +14,8 @@ local SwiCh2 = { }, Renderable = { Type = "RenderableFov", - Body = "JUICE", - Frame = "JUICE_SWI_CH2", + Body = kernels.ID.Juice, + Frame = kernels.Frame.SwiCH2, RGB = { 0.0, 0.0, 0.0 }, Instrument = { Name = "JUICE_SWI_CH2", @@ -49,8 +49,8 @@ local SwiFull = { }, Renderable = { Type = "RenderableFov", - Body = "JUICE", - Frame = "JUICE_SWI_FULL", + Body = kernels.ID.Juice, + Frame = kernels.Frame.SwiFull, RGB = { 0.0, 0.0, 0.0 }, Instrument = { Name = "JUICE_SWI_FULL", @@ -87,8 +87,8 @@ local SwiFullGCO500 = { }, Renderable = { Type = "RenderableFov", - Body = "JUICE", - Frame = "JUICE_SWI_FULL_GCO500", + Body = kernels.ID.Juice, + Frame = kernels.Frame.SwiFullGCO500, RGB = { 0.0, 0.0, 0.0 }, Instrument = { Name = "JUICE_SWI_FULL_GCO500", diff --git a/data/assets/scene/solarsystem/missions/juice/fov/uvs.asset b/data/assets/scene/solarsystem/missions/juice/fov/uvs.asset index ba26479825..9753a7710e 100644 --- a/data/assets/scene/solarsystem/missions/juice/fov/uvs.asset +++ b/data/assets/scene/solarsystem/missions/juice/fov/uvs.asset @@ -13,8 +13,8 @@ local UVS = { }, Renderable = { Type = "RenderableFov", - Body = "JUICE", - Frame = "JUICE_UVS", + Body = kernels.ID.Juice, + Frame = kernels.Frame.UVS, RGB = { 0.8, 0.7, 0.7 }, Instrument = { Name = "JUICE_UVS", diff --git a/data/assets/scene/solarsystem/missions/juice/kernels.asset b/data/assets/scene/solarsystem/missions/juice/kernels.asset index 8e83a877c4..f20ca7d17d 100644 --- a/data/assets/scene/solarsystem/missions/juice/kernels.asset +++ b/data/assets/scene/solarsystem/missions/juice/kernels.asset @@ -1,4 +1,4 @@ -local kernels = asset.resource({ +local data = asset.resource({ Name = "JUICE Kernels", Type = "HttpSynchronization", Identifier = "juice_kernels", @@ -9,52 +9,95 @@ local kernels = asset.resource({ -- Kernels downloaded aon 2023-04-18 -- + GPHIO from Ronan local Kernels = { - kernels .. "juice_sc_attc_000031_230414_230503_v03.bc", - kernels .. "juice_lpbooms_s160326_v01.bc", - kernels .. "juice_magboom_s160326_v01.bc", - kernels .. "juice_majis_scan_zero_v01.bc", - kernels .. "juice_mga_meas_230413_230415_s230414_v01.bc", - kernels .. "juice_mga_zero_v02.bc", - kernels .. "juice_sa_meas_230413_230415_s230414_v01.bc", - kernels .. "juice_sa_zero_v01.bc", - kernels .. "juice_sc_meas_230413_230415_s230414_v01.bc", - kernels .. "juice_swi_scan_zero_v01.bc", + data .. "juice_sc_attc_000031_230414_230503_v03.bc", + data .. "juice_lpbooms_s160326_v01.bc", + data .. "juice_magboom_s160326_v01.bc", + data .. "juice_majis_scan_zero_v01.bc", + data .. "juice_mga_meas_230413_230415_s230414_v01.bc", + data .. "juice_mga_zero_v02.bc", + data .. "juice_sa_meas_230413_230415_s230414_v01.bc", + data .. "juice_sa_zero_v01.bc", + data .. "juice_sc_meas_230413_230415_s230414_v01.bc", + data .. "juice_swi_scan_zero_v01.bc", - kernels .. "juice_v32.tf", - kernels .. "juice_roi_v02.tf", - kernels .. "gphio.tf", + data .. "juice_v32.tf", + data .. "juice_roi_v02.tf", + data .. "gphio.tf", - kernels .. "juice_aux_v02.ti", - kernels .. "juice_gala_v05.ti", - kernels .. "juice_janus_v07.ti", - kernels .. "juice_jmag_v02.ti", - kernels .. "juice_jmc_v02.ti", - kernels .. "juice_majis_v07.ti", - kernels .. "juice_navcam_v01.ti", - kernels .. "juice_pep_v12.ti", - kernels .. "juice_radem_v01.ti", - kernels .. "juice_rime_v04.ti", - kernels .. "juice_rpwi_v03.ti", - kernels .. "juice_str_v01.ti", - kernels .. "juice_swi_v07.ti", - kernels .. "juice_uvs_v06.ti", + data .. "juice_aux_v02.ti", + data .. "juice_gala_v05.ti", + data .. "juice_janus_v07.ti", + data .. "juice_jmag_v02.ti", + data .. "juice_jmc_v02.ti", + data .. "juice_majis_v07.ti", + data .. "juice_navcam_v01.ti", + data .. "juice_pep_v12.ti", + data .. "juice_radem_v01.ti", + data .. "juice_rime_v04.ti", + data .. "juice_rpwi_v03.ti", + data .. "juice_str_v01.ti", + data .. "juice_swi_v07.ti", + data .. "juice_uvs_v06.ti", - kernels .. "juice_jup010.tpc", - kernels .. "juice_roi_v01.tpc", + data .. "juice_jup010.tpc", + data .. "juice_roi_v01.tpc", - kernels .. "juice_step_230414_v01.tsc", + data .. "juice_step_230414_v01.tsc", - kernels .. "juice_crema_5_1_150lb_23_1_v01.bsp", - kernels .. "juice_orbc_000031_230414_310721_v03.bsp", - kernels .. "jup343_19900101_20500101.bsp", - kernels .. "jup344-s2003_j24_19900101_20500101.bsp", - kernels .. "jup346_19900101_20500101.bsp", - kernels .. "jup365_19900101_20500101.bsp", - kernels .. "juice_struct_v17.bsp", - kernels .. "juice_roi_v02.bsp" + data .. "juice_crema_5_1_150lb_23_1_v01.bsp", + data .. "juice_orbc_000031_230414_310721_v03.bsp", + data .. "jup343_19900101_20500101.bsp", + data .. "jup344-s2003_j24_19900101_20500101.bsp", + data .. "jup346_19900101_20500101.bsp", + data .. "jup365_19900101_20500101.bsp", + data .. "juice_struct_v17.bsp", + data .. "juice_roi_v02.bsp" } -asset.export("Kernels", Kernels) + +local ID = { + Juice = "JUICE" +} + +local Frame = { + Juice = "JUICE_SPACECRAFT", + + Gala = "JUICE_GALA_RXT", + Janus = "JUICE_JANUS", + JMC1 = "JUICE_JMC-1", + JMC2 = "JUICE_JMC-2", + MajisVisnir = "JUICE_MAJIS_VISNIR", + MajisVisnirB2 = "JUICE_MAJIS_VISNIR_B2", + MajisVisnirB4 = "JUICE_MAJIS_VISNIR_B4", + MajisIR = "JUICE_MAJIS_IR", + MajisIRB2 = "JUICE_MAJIS_IR_B2", + MajisIRB4 = "JUICE_MAJIS_IR_B4", + Majis = "JUICE_MAJIS", + NavCam = "JUICE_NAVCAM-1", + RimeBase = "JUICE_RIME_BASE", + Rime = "JUICE_RIME", + StarTrackerOH1 = "JUICE_STR-OH1", + StarTrackerOH2 = "JUICE_STR-OH2", + StarTrackerOH3 = "JUICE_STR-OH3", + SwiCH2 = "JUICE_SWI_CH2", + SwiFull = "JUICE_SWI_FULL", + SwiFullGCO500 = "JUICE_SWI_FULL_GCO500", + UVS = "JUICE_UVS", + + GPHIO = "GPHIO" +} + + +asset.onInitialize(function() + openspace.spice.loadKernel(Kernels) +end) + +asset.onDeinitialize(function() + openspace.spice.unloadKernel(Kernels) +end) + +asset.export("ID", ID) +asset.export("Frame", Frame) diff --git a/data/assets/scene/solarsystem/missions/juice/trails/earth.asset b/data/assets/scene/solarsystem/missions/juice/trails/earth.asset index 08d7316072..40a2330f25 100644 --- a/data/assets/scene/solarsystem/missions/juice/trails/earth.asset +++ b/data/assets/scene/solarsystem/missions/juice/trails/earth.asset @@ -1,5 +1,6 @@ local transforms = asset.require("scene/solarsystem/planets/earth/transforms") local kernels = asset.require("../kernels") +local coreKernels = asset.require("spice/core") @@ -10,8 +11,8 @@ local JuiceTrailEarth = { Type = "RenderableTrailTrajectory", Translation = { Type = "SpiceTranslation", - Target = "JUICE", - Observer = "EARTH BARYCENTER" + Target = kernels.ID.Juice, + Observer = coreKernels.ID.EarthBarycenter }, Color = { 0.30, 0.70, 0.20 }, StartTime = "2023 APR 05 12:00:00.000", @@ -27,15 +28,11 @@ local JuiceTrailEarth = { asset.onInitialize(function() - openspace.spice.loadKernel(kernels.Kernels) - openspace.addSceneGraphNode(JuiceTrailEarth) end) asset.onDeinitialize(function() openspace.removeSceneGraphNode(JuiceTrailEarth) - - openspace.spice.unloadKernel(kernels.Kernels) end) asset.export(JuiceTrailEarth) diff --git a/data/assets/scene/solarsystem/missions/juice/trails/ganymede.asset b/data/assets/scene/solarsystem/missions/juice/trails/ganymede.asset index 3618fcdb92..2213134616 100644 --- a/data/assets/scene/solarsystem/missions/juice/trails/ganymede.asset +++ b/data/assets/scene/solarsystem/missions/juice/trails/ganymede.asset @@ -1,4 +1,5 @@ local transforms = asset.require("../transforms") +local kernelsJup = asset.require("scene/solarsystem/planets/jupiter/kernels") local kernels = asset.require("../kernels") @@ -10,8 +11,8 @@ local JuiceTrailGanymede = { Type = "RenderableTrailTrajectory", Translation = { Type = "SpiceTranslation", - Target = "JUICE", - Observer = "GANYMEDE" + Target = kernels.ID.Juice, + Observer = kernelsJup.ID.Ganymede }, Color = { 0.70, 0.770, 0.35 }, StartTime = "2034 DEC 01 00:00:00.000", @@ -27,15 +28,11 @@ local JuiceTrailGanymede = { asset.onInitialize(function() - openspace.spice.loadKernel(kernels.Kernels) - openspace.addSceneGraphNode(JuiceTrailGanymede) end) asset.onDeinitialize(function() openspace.removeSceneGraphNode(JuiceTrailGanymede) - - openspace.spice.unloadKernel(kernels.Kernels) end) asset.export(JuiceTrailGanymede) diff --git a/data/assets/scene/solarsystem/missions/juice/trails/jupiter.asset b/data/assets/scene/solarsystem/missions/juice/trails/jupiter.asset index 4d7fbf2ea9..dd350e7ebf 100644 --- a/data/assets/scene/solarsystem/missions/juice/trails/jupiter.asset +++ b/data/assets/scene/solarsystem/missions/juice/trails/jupiter.asset @@ -1,5 +1,6 @@ local transforms = asset.require("scene/solarsystem/planets/jupiter/transforms") local kernels = asset.require("../kernels") +local coreKernels = asset.require("spice/core") @@ -10,8 +11,8 @@ local JuiceTrailJupiter = { Type = "RenderableTrailTrajectory", Translation = { Type = "SpiceTranslation", - Target = "JUICE", - Observer = "JUPITER BARYCENTER" + Target = kernels.ID.Juice, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.70, 0.370, 0.45 }, StartTime = "2031 JUL 02 00:00:00.000", @@ -27,15 +28,11 @@ local JuiceTrailJupiter = { asset.onInitialize(function() - openspace.spice.loadKernel(kernels.Kernels) - openspace.addSceneGraphNode(JuiceTrailJupiter) end) asset.onDeinitialize(function() openspace.removeSceneGraphNode(JuiceTrailJupiter) - - openspace.spice.unloadKernel(kernels.Kernels) end) asset.export(JuiceTrailJupiter) diff --git a/data/assets/scene/solarsystem/missions/juice/trails/ssb.asset b/data/assets/scene/solarsystem/missions/juice/trails/ssb.asset index ea0da1b5e1..5007b7fb6f 100644 --- a/data/assets/scene/solarsystem/missions/juice/trails/ssb.asset +++ b/data/assets/scene/solarsystem/missions/juice/trails/ssb.asset @@ -1,5 +1,6 @@ local transforms = asset.require("scene/solarsystem/sun/transforms") local kernels = asset.require("../kernels") +local coreKernels = asset.require("spice/core") @@ -10,8 +11,8 @@ local JuiceTrail = { Type = "RenderableTrailTrajectory", Translation = { Type = "SpiceTranslation", - Target = "JUICE", - Observer = "SSB" + Target = kernels.ID.Juice, + Observer = coreKernels.ID.SolarSystemBarycenter }, Color = { 0.85, 0.85, 0.85 }, StartTime = "2023 APR 05 12:00:00.000", @@ -27,15 +28,11 @@ local JuiceTrail = { asset.onInitialize(function() - openspace.spice.loadKernel(kernels.Kernels) - openspace.addSceneGraphNode(JuiceTrail) end) asset.onDeinitialize(function() openspace.removeSceneGraphNode(JuiceTrail) - - openspace.spice.unloadKernel(kernels.Kernels) end) asset.export(JuiceTrail) diff --git a/data/assets/scene/solarsystem/missions/juice/transforms.asset b/data/assets/scene/solarsystem/missions/juice/transforms.asset index 2d625b021c..466e163e0c 100644 --- a/data/assets/scene/solarsystem/missions/juice/transforms.asset +++ b/data/assets/scene/solarsystem/missions/juice/transforms.asset @@ -1,5 +1,7 @@ local jupiterTransforms = asset.require("scene/solarsystem/planets/jupiter/transforms") +local kernelsJup = asset.require("scene/solarsystem/planets/jupiter/kernels") local kernels = asset.require("./kernels") +local coreKernels = asset.require("spice/core") @@ -14,13 +16,13 @@ local Juice = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "JUICE", - Observer = "JUPITER BARYCENTER" + Target = kernels.ID.Juice, + Observer = coreKernels.ID.JupiterBarycenter }, Rotation = { Type = "SpiceRotation", - SourceFrame = "JUICE_SPACECRAFT", - DestinationFrame = "GALACTIC" + SourceFrame = kernels.Frame.Juice, + DestinationFrame = coreKernels.Frame.Galactic } }, GUI = { @@ -36,8 +38,8 @@ local GanymedePosition = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "GANYMEDE", - Observer = "JUPITER BARYCENTER" + Target = kernelsJup.ID.Ganymede, + Observer = coreKernels.ID.JupiterBarycenter } }, GUI = { @@ -52,8 +54,8 @@ local GPHIO = { Transform = { Rotation = { Type = "SpiceRotation", - SourceFrame = "GPHIO", - DestinationFrame = "GALACTIC" + SourceFrame = kernels.Frame.GPHIO, + DestinationFrame = coreKernels.Frame.Galactic } }, GUI = { @@ -69,8 +71,6 @@ local GPHIO = { asset.onInitialize(function() - openspace.spice.loadKernel(kernels.Kernels) - openspace.addSceneGraphNode(Juice) openspace.addSceneGraphNode(GanymedePosition) openspace.addSceneGraphNode(GPHIO) @@ -80,8 +80,6 @@ asset.onDeinitialize(function() openspace.removeSceneGraphNode(GPHIO) openspace.removeSceneGraphNode(GanymedePosition) openspace.removeSceneGraphNode(Juice) - - openspace.spice.unloadKernel(kernels.Kernels) end) asset.export(Juice) diff --git a/data/assets/scene/solarsystem/missions/juno/juno.asset b/data/assets/scene/solarsystem/missions/juno/juno.asset index 750f1c6e42..2dd5272206 100644 --- a/data/assets/scene/solarsystem/missions/juno/juno.asset +++ b/data/assets/scene/solarsystem/missions/juno/juno.asset @@ -3,6 +3,7 @@ asset.require("scene/solarsystem/planets/jupiter/layers/colorlayers/jupiter_vide local transforms = asset.require("scene/solarsystem/planets/jupiter/transforms") local sun = asset.require("scene/solarsystem/sun/sun") local kernels = asset.require("./kernels") +local coreKernels = asset.require("spice/core") @@ -31,13 +32,13 @@ local Juno = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "JUNO", - Observer = "JUPITER BARYCENTER" + Target = kernels.ID.Juno, + Observer = coreKernels.ID.JupiterBarycenter }, Rotation = { Type = "SpiceRotation", - SourceFrame = "JUNO_SPACECRAFT", - DestinationFrame = "GALACTIC" + SourceFrame = kernels.Frame.Juno, + DestinationFrame = coreKernels.Frame.Galactic } }, Renderable = { @@ -65,8 +66,8 @@ local JunoTrail = { Type = "RenderableTrailTrajectory", Translation = { Type = "SpiceTranslation", - Target = "JUNO", - Observer = "JUPITER BARYCENTER" + Target = kernels.ID.Juno, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.70, 0.50, 0.20 }, StartTime = "2016 JUL 01", @@ -81,8 +82,6 @@ local JunoTrail = { asset.onInitialize(function() - openspace.spice.loadKernel(kernels.kernels) - openspace.addSceneGraphNode(Juno) openspace.addSceneGraphNode(JunoTrail) end) @@ -90,8 +89,6 @@ end) asset.onDeinitialize(function() openspace.removeSceneGraphNode(JunoTrail) openspace.removeSceneGraphNode(Juno) - - openspace.spice.unloadKernel(kernels.kernels) end) asset.export(Juno) diff --git a/data/assets/scene/solarsystem/missions/juno/kernels.asset b/data/assets/scene/solarsystem/missions/juno/kernels.asset index e21f711bcb..f660655afd 100644 --- a/data/assets/scene/solarsystem/missions/juno/kernels.asset +++ b/data/assets/scene/solarsystem/missions/juno/kernels.asset @@ -1,5 +1,4 @@ - -local kernels = asset.resource({ +local data = asset.resource({ Name = "Juno Kernels", Type = "HttpSynchronization", Identifier = "juno_kernels", @@ -7,113 +6,132 @@ local kernels = asset.resource({ }) -local JunoKernels = { - kernels .. "juno_v12.tf", - kernels .. "JNO_SCLKSCET.00039.tsc", - kernels .. "juno_jade_v00.ti", - kernels .. "juno_jedi_v00.ti", - kernels .. "juno_jiram_v01.ti", - kernels .. "juno_junocam_v00.ti", - kernels .. "juno_mag_v00.ti", - kernels .. "juno_mwr_v01.ti", - kernels .. "juno_struct_v01.ti", - kernels .. "juno_uvs_v00.ti", - kernels .. "juno_waves_v00.ti", - kernels .. "juno_mwr_v01.ti", - kernels .. "spk_merge_110805_171017_130515.bsp", - kernels .. "spk_ref_210111_251021_210111.bsp", - kernels .. "juno_sc_nom_110807_171016_v01.bc", - kernels .. "juno_sc_prl_110930_111028_jc003c01_v01.bc", - kernels .. "juno_sc_prl_111028_111125_jc004b00_v01.bc", - kernels .. "juno_sc_prl_111125_111223_jc005b00_v01.bc", - kernels .. "juno_sc_prl_111223_120127_jc006a02_v01.bc", - kernels .. "juno_sc_prl_120127_120217_jc007a00_v01.bc", - kernels .. "juno_sc_prl_120217_120316_jc008b00_v02.bc", - kernels .. "juno_sc_prl_120316_120413_jc009a00_v01.bc", - kernels .. "juno_sc_prl_120413_120511_jc010a04_v01.bc", - kernels .. "juno_sc_prl_120511_120608_jc011a01_v02.bc", - kernels .. "juno_sc_prl_120608_120706_jc012b01_v01.bc", - kernels .. "juno_sc_prl_120706_120802_jc013a01_v01.bc", - kernels .. "juno_sc_prl_120802_120824_jc014b01_v01.bc", - kernels .. "juno_sc_prl_120824_120928_jc015m00_v01.bc", - kernels .. "juno_sc_prl_120919_120928_jc015o00_v01.bc", - kernels .. "juno_sc_prl_120928_121026_jc016c03_v01.bc", - kernels .. "juno_sc_prl_121026_121123_jc017a01_v01.bc", - kernels .. "juno_sc_prl_121123_121221_jc018b01_v01.bc", - kernels .. "juno_sc_prl_121221_130118_jc019a01_v01.bc", - kernels .. "juno_sc_prl_130118_130215_jc020b01_v01.bc", - kernels .. "juno_sc_prl_130315_130412_jc022b01_v01.bc", - kernels .. "juno_sc_prl_130412_130510_jc023b03_v01.bc", - kernels .. "juno_sc_prl_130510_130607_jc024a01_v01.bc", - kernels .. "juno_sc_prl_130607_130705_jc025a00_v01.bc", - kernels .. "juno_sc_prl_130705_130802_jc026a01_v01.bc", - kernels .. "juno_sc_prl_130726_131020_jx024a02_EFB_v03.bc", - kernels .. "juno_sc_prl_130802_130830_jc027a02_v01.bc", - kernels .. "juno_sc_prl_130830_130927_jc028a01_v01.bc", - kernels .. "juno_sc_prl_130926_131025_jc029a00_v01.bc", - kernels .. "juno_sc_prl_130927_131025_jc029c01_v01.bc", - kernels .. "juno_sc_prl_131022_131025_jc029f00_v01.bc", - kernels .. "juno_sc_prl_131025_131122_jc030b04_v01.bc", - kernels .. "juno_sc_prl_131122_131220_jc031b01_v01.bc", - kernels .. "juno_sc_prl_131220_140124_jc032a01_v01.bc", - kernels .. "juno_sc_prl_140124_140214_jc033a01_v01.bc", - kernels .. "juno_sc_prl_140214_140314_jc034b01_v01.bc", - kernels .. "juno_sc_prl_140314_140411_jc035a01_v01.bc", - kernels .. "juno_sc_prl_140411_140509_jc036b01_v01.bc", - kernels .. "juno_sc_prl_140509_140606_jc037b02_v01.bc", - kernels .. "juno_sc_prl_140606_140704_jc038a01_v01.bc", - kernels .. "juno_sc_prl_140704_140801_jc039b01_v01.bc", - kernels .. "juno_sc_prl_140801_140829_jc040a01_v01.bc", - kernels .. "juno_sc_prl_140829_140926_jc041a01_v01.bc", - kernels .. "juno_sc_prl_140926_141024_jc042a01_v01.bc", - kernels .. "juno_sc_prl_141024_141121_jc043a01_v01.bc", - kernels .. "juno_sc_prl_141105_141121_jc043m01_v01.bc", - kernels .. "juno_sc_prl_141107_141121_jc043s01_v01.bc", - kernels .. "juno_sc_prl_141121_141219_jc044a01_v01.bc", - kernels .. "juno_sc_prl_141219_150123_jc045a01_v01.bc", - kernels .. "juno_sc_prl_150123_150213_jc046a01_v01.bc", - kernels .. "juno_sc_prl_150213_150313_jc047a01_v01.bc", - kernels .. "juno_sc_prl_150312_150409_jc048a01_v01.bc", - kernels .. "juno_sc_prl_150410_150508_jc049a01_v01.bc", - kernels .. "juno_sc_prl_150508_150605_jc050a01_v01.bc", - kernels .. "juno_sc_prl_150605_150703_jc051a01_v01.bc", - kernels .. "juno_sc_prl_150703_150731_jc052a01_v01.bc", - kernels .. "juno_sc_prl_150731_150828_jc053a01_v01.bc", - kernels .. "juno_sc_prl_150805_150828_jc053m00_v01.bc", - kernels .. "juno_sc_prl_150807_150828_jc053s00_v01.bc", - kernels .. "juno_sc_prl_150828_150924_jc054a00_v01.bc", - kernels .. "juno_sc_prl_150924_151023_jc055a00_v01.bc", - kernels .. "juno_sc_prl_151023_151120_jc056a00_v01.bc", - kernels .. "juno_sc_prl_151120_151218_jc057a00_v01.bc", - kernels .. "juno_sc_prl_151218_160115_jc058a00_v01.bc", - kernels .. "juno_sc_prl_160115_160212_jc059a00_v01.bc", - kernels .. "juno_sc_prl_160212_160311_jc060a00_v01.bc", - kernels .. "juno_sc_prl_160311_160408_jc061a00_v01.bc", - kernels .. "juno_sc_prl_160408_160506_jc062a00_v01.bc", - kernels .. "juno_sc_prl_160506_160603_jc063a00_v01.bc", - kernels .. "juno_sc_prl_160603_160630_jc064a00_v01.bc", - kernels .. "juno_sc_prl_160708_160729_jm0001rp_v02.bc", - kernels .. "juno_sc_prl_160729_160826_jm0002rp_v01.bc", - kernels .. "juno_sc_prl_160827_160920_jm0003a00_v01.bc", - kernels .. "juno_sc_prl_160924_161019_jm0004a00_v01.bc", - kernels .. "juno_sc_prl_161014_161115_jm0005a00_v01.bc", - kernels .. "juno_sc_prl_161022_161115_jm0005b00_v01.bc", - kernels .. "juno_sc_prl_161115_161213_jx0405rp_v01.bc", - kernels .. "juno_sc_prl_161210_170115_jm0031a00_v01.bc", - kernels .. "juno_sc_prl_170115_170201_jm0032a00_v01.bc", - kernels .. "juno_sc_prl_170201_170309_jm0041a00_v01.bc", - kernels .. "juno_sc_prl_170309_170326_jm0042rp_v01.bc", - kernels .. "juno_sc_prl_170326_170427_jm0051rp_v01.bc", - kernels .. "juno_sc_prl_170427_170518_jm0052rp_v01.bc", - kernels .. "juno_sc_prl_170518_170615_jm0061a00_v01.bc", - kernels .. "juno_sc_prl_170615_170710_jm0062a00_v01.bc", - kernels .. "juno_sc_prl_170710_170805_jm0071a00_v01.bc", - kernels .. "juno_sc_prl_170805_170831_jm0072a00_v01.bc", - kernels .. "juno_sc_prl_170831_170927_jm0081a00_v01.bc", - kernels .. "juno_sc_prl_170927_171023_jm0082a00_v01.bc", - kernels .. "juno_sc_prl_171023_171030_jm0091a00_v01.bc", - kernels .. "juno_sc_prl_171023_171030_jm0091a00_v01.bc", - kernels .. "juno_sc_prl_230228_230407_jm0490rp_v01.bc" +local Kernels = { + data .. "juno_v12.tf", + data .. "JNO_SCLKSCET.00039.tsc", + data .. "juno_jade_v00.ti", + data .. "juno_jedi_v00.ti", + data .. "juno_jiram_v01.ti", + data .. "juno_junocam_v00.ti", + data .. "juno_mag_v00.ti", + data .. "juno_mwr_v01.ti", + data .. "juno_struct_v01.ti", + data .. "juno_uvs_v00.ti", + data .. "juno_waves_v00.ti", + data .. "juno_mwr_v01.ti", + data .. "spk_merge_110805_171017_130515.bsp", + data .. "spk_ref_210111_251021_210111.bsp", + data .. "juno_sc_nom_110807_171016_v01.bc", + data .. "juno_sc_prl_110930_111028_jc003c01_v01.bc", + data .. "juno_sc_prl_111028_111125_jc004b00_v01.bc", + data .. "juno_sc_prl_111125_111223_jc005b00_v01.bc", + data .. "juno_sc_prl_111223_120127_jc006a02_v01.bc", + data .. "juno_sc_prl_120127_120217_jc007a00_v01.bc", + data .. "juno_sc_prl_120217_120316_jc008b00_v02.bc", + data .. "juno_sc_prl_120316_120413_jc009a00_v01.bc", + data .. "juno_sc_prl_120413_120511_jc010a04_v01.bc", + data .. "juno_sc_prl_120511_120608_jc011a01_v02.bc", + data .. "juno_sc_prl_120608_120706_jc012b01_v01.bc", + data .. "juno_sc_prl_120706_120802_jc013a01_v01.bc", + data .. "juno_sc_prl_120802_120824_jc014b01_v01.bc", + data .. "juno_sc_prl_120824_120928_jc015m00_v01.bc", + data .. "juno_sc_prl_120919_120928_jc015o00_v01.bc", + data .. "juno_sc_prl_120928_121026_jc016c03_v01.bc", + data .. "juno_sc_prl_121026_121123_jc017a01_v01.bc", + data .. "juno_sc_prl_121123_121221_jc018b01_v01.bc", + data .. "juno_sc_prl_121221_130118_jc019a01_v01.bc", + data .. "juno_sc_prl_130118_130215_jc020b01_v01.bc", + data .. "juno_sc_prl_130315_130412_jc022b01_v01.bc", + data .. "juno_sc_prl_130412_130510_jc023b03_v01.bc", + data .. "juno_sc_prl_130510_130607_jc024a01_v01.bc", + data .. "juno_sc_prl_130607_130705_jc025a00_v01.bc", + data .. "juno_sc_prl_130705_130802_jc026a01_v01.bc", + data .. "juno_sc_prl_130726_131020_jx024a02_EFB_v03.bc", + data .. "juno_sc_prl_130802_130830_jc027a02_v01.bc", + data .. "juno_sc_prl_130830_130927_jc028a01_v01.bc", + data .. "juno_sc_prl_130926_131025_jc029a00_v01.bc", + data .. "juno_sc_prl_130927_131025_jc029c01_v01.bc", + data .. "juno_sc_prl_131022_131025_jc029f00_v01.bc", + data .. "juno_sc_prl_131025_131122_jc030b04_v01.bc", + data .. "juno_sc_prl_131122_131220_jc031b01_v01.bc", + data .. "juno_sc_prl_131220_140124_jc032a01_v01.bc", + data .. "juno_sc_prl_140124_140214_jc033a01_v01.bc", + data .. "juno_sc_prl_140214_140314_jc034b01_v01.bc", + data .. "juno_sc_prl_140314_140411_jc035a01_v01.bc", + data .. "juno_sc_prl_140411_140509_jc036b01_v01.bc", + data .. "juno_sc_prl_140509_140606_jc037b02_v01.bc", + data .. "juno_sc_prl_140606_140704_jc038a01_v01.bc", + data .. "juno_sc_prl_140704_140801_jc039b01_v01.bc", + data .. "juno_sc_prl_140801_140829_jc040a01_v01.bc", + data .. "juno_sc_prl_140829_140926_jc041a01_v01.bc", + data .. "juno_sc_prl_140926_141024_jc042a01_v01.bc", + data .. "juno_sc_prl_141024_141121_jc043a01_v01.bc", + data .. "juno_sc_prl_141105_141121_jc043m01_v01.bc", + data .. "juno_sc_prl_141107_141121_jc043s01_v01.bc", + data .. "juno_sc_prl_141121_141219_jc044a01_v01.bc", + data .. "juno_sc_prl_141219_150123_jc045a01_v01.bc", + data .. "juno_sc_prl_150123_150213_jc046a01_v01.bc", + data .. "juno_sc_prl_150213_150313_jc047a01_v01.bc", + data .. "juno_sc_prl_150312_150409_jc048a01_v01.bc", + data .. "juno_sc_prl_150410_150508_jc049a01_v01.bc", + data .. "juno_sc_prl_150508_150605_jc050a01_v01.bc", + data .. "juno_sc_prl_150605_150703_jc051a01_v01.bc", + data .. "juno_sc_prl_150703_150731_jc052a01_v01.bc", + data .. "juno_sc_prl_150731_150828_jc053a01_v01.bc", + data .. "juno_sc_prl_150805_150828_jc053m00_v01.bc", + data .. "juno_sc_prl_150807_150828_jc053s00_v01.bc", + data .. "juno_sc_prl_150828_150924_jc054a00_v01.bc", + data .. "juno_sc_prl_150924_151023_jc055a00_v01.bc", + data .. "juno_sc_prl_151023_151120_jc056a00_v01.bc", + data .. "juno_sc_prl_151120_151218_jc057a00_v01.bc", + data .. "juno_sc_prl_151218_160115_jc058a00_v01.bc", + data .. "juno_sc_prl_160115_160212_jc059a00_v01.bc", + data .. "juno_sc_prl_160212_160311_jc060a00_v01.bc", + data .. "juno_sc_prl_160311_160408_jc061a00_v01.bc", + data .. "juno_sc_prl_160408_160506_jc062a00_v01.bc", + data .. "juno_sc_prl_160506_160603_jc063a00_v01.bc", + data .. "juno_sc_prl_160603_160630_jc064a00_v01.bc", + data .. "juno_sc_prl_160708_160729_jm0001rp_v02.bc", + data .. "juno_sc_prl_160729_160826_jm0002rp_v01.bc", + data .. "juno_sc_prl_160827_160920_jm0003a00_v01.bc", + data .. "juno_sc_prl_160924_161019_jm0004a00_v01.bc", + data .. "juno_sc_prl_161014_161115_jm0005a00_v01.bc", + data .. "juno_sc_prl_161022_161115_jm0005b00_v01.bc", + data .. "juno_sc_prl_161115_161213_jx0405rp_v01.bc", + data .. "juno_sc_prl_161210_170115_jm0031a00_v01.bc", + data .. "juno_sc_prl_170115_170201_jm0032a00_v01.bc", + data .. "juno_sc_prl_170201_170309_jm0041a00_v01.bc", + data .. "juno_sc_prl_170309_170326_jm0042rp_v01.bc", + data .. "juno_sc_prl_170326_170427_jm0051rp_v01.bc", + data .. "juno_sc_prl_170427_170518_jm0052rp_v01.bc", + data .. "juno_sc_prl_170518_170615_jm0061a00_v01.bc", + data .. "juno_sc_prl_170615_170710_jm0062a00_v01.bc", + data .. "juno_sc_prl_170710_170805_jm0071a00_v01.bc", + data .. "juno_sc_prl_170805_170831_jm0072a00_v01.bc", + data .. "juno_sc_prl_170831_170927_jm0081a00_v01.bc", + data .. "juno_sc_prl_170927_171023_jm0082a00_v01.bc", + data .. "juno_sc_prl_171023_171030_jm0091a00_v01.bc", + data .. "juno_sc_prl_171023_171030_jm0091a00_v01.bc", + data .. "juno_sc_prl_230228_230407_jm0490rp_v01.bc" } -asset.export("kernels", JunoKernels) + +local ID = { + Juno = "JUNO" +} + +local Frame = { + Juno = "JUNO_SPACECRAFT" +} + +asset.onInitialize(function() + openspace.spice.loadKernel(Kernels) +end) + +asset.onDeinitialize(function() + openspace.spice.unloadKernel(Kernels) +end) + + +asset.export("ID", ID) +asset.export("Frame", Frame) diff --git a/data/assets/scene/solarsystem/missions/messenger/kernels.asset b/data/assets/scene/solarsystem/missions/messenger/kernels.asset index 35920865e2..7890c05f28 100644 --- a/data/assets/scene/solarsystem/missions/messenger/kernels.asset +++ b/data/assets/scene/solarsystem/missions/messenger/kernels.asset @@ -1,4 +1,4 @@ -local kernels = asset.resource({ +local data = asset.resource({ Name = "Messenger Kernels", Type = "HttpSynchronization", Identifier = "messenger_spice", @@ -7,35 +7,52 @@ local kernels = asset.resource({ local Kernels = { - kernels .. "messenger_2548.tsc", - kernels .. "msgr_v231.tf", + data .. "messenger_2548.tsc", + data .. "msgr_v231.tf", - kernels .. "de405.bsp", - kernels .. "msgr_040803_150430_150430_od431sc_2.bsp", - kernels .. "msgr_antenna_v000.bsp", - kernels .. "msgr_de405_de423s.bsp", + data .. "de405.bsp", + data .. "msgr_040803_150430_150430_od431sc_2.bsp", + data .. "msgr_antenna_v000.bsp", + data .. "msgr_de405_de423s.bsp", - kernels .. "msgr_epps_v100.ti", - kernels .. "msgr_grns_v110.ti", - kernels .. "msgr_mag_v021.ti", - kernels .. "msgr_mascs_v100.ti", - kernels .. "msgr_mdis_v160.ti", - kernels .. "msgr_mla_v010.ti", - kernels .. "msgr_rs_v111.ti", - kernels .. "msgr_xrs_v001.ti", + data .. "msgr_epps_v100.ti", + data .. "msgr_grns_v110.ti", + data .. "msgr_mag_v021.ti", + data .. "msgr_mascs_v100.ti", + data .. "msgr_mdis_v160.ti", + data .. "msgr_mla_v010.ti", + data .. "msgr_rs_v111.ti", + data .. "msgr_xrs_v001.ti", + data .. "pck00008.tpc", + data .. "pck00008_msgr.tpc", + data .. "pck00009_msgr_v10.tpc", + data .. "pck00010_msgr_v10.tpc", + data .. "pck00010_msgr_v23.tpc", + data .. "pck00010.tpc", - kernels .. "pck00008.tpc", - kernels .. "pck00008_msgr.tpc", - kernels .. "pck00009_msgr_v10.tpc", - kernels .. "pck00010_msgr_v10.tpc", - kernels .. "pck00010_msgr_v23.tpc", - kernels .. "pck00010.tpc", - - kernels .. "msgr_1103_v02.bc", - kernels .. "msgr_1104_v02.bc", - kernels .. "msgr_1105_v02.bc", - kernels .. "msgr_1106_v02.bc" + data .. "msgr_1103_v02.bc", + data .. "msgr_1104_v02.bc", + data .. "msgr_1105_v02.bc", + data .. "msgr_1106_v02.bc" } -asset.export("Kernels", Kernels) +local ID = { + Messenger = "MESSENGER" +} + +local Frame = { + Messenger = "MSGR_SPACECRAFT" +} + + +asset.onInitialize(function() + openspace.spice.loadKernel(Kernels) +end) + +asset.onDeinitialize(function() + openspace.spice.unloadKernel(Kernels) +end) + +asset.export("ID", ID) +asset.export("Frame", Frame) diff --git a/data/assets/scene/solarsystem/missions/messenger/mercurymagnetosphere.asset b/data/assets/scene/solarsystem/missions/messenger/mercurymagnetosphere.asset index 1f100bdb70..0d20153a15 100644 --- a/data/assets/scene/solarsystem/missions/messenger/mercurymagnetosphere.asset +++ b/data/assets/scene/solarsystem/missions/messenger/mercurymagnetosphere.asset @@ -1,4 +1,7 @@ local mercuryTransforms = asset.require("scene/solarsystem/planets/mercury/transforms") +local coreKernels = asset.require("spice/core") + + local localFolder = asset.resource({ Name = "Mercury Magnetosphere", @@ -17,13 +20,13 @@ local Magnetosphere = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "MERCURY", - Observer = "MERCURY BARYCENTER" + Target = coreKernels.ID.Mercury, + Observer = coreKernels.ID.MercuryBarycenter }, Rotation = { Type = "SpiceRotation", SourceFrame = "MERCURYSE", - DestinationFrame = "GALACTIC" + DestinationFrame = coreKernels.Frame.Galactic }, Scale = { Type = "StaticScale", diff --git a/data/assets/scene/solarsystem/missions/messenger/messenger.asset b/data/assets/scene/solarsystem/missions/messenger/messenger.asset index 8c47e7f462..e2b6821054 100644 --- a/data/assets/scene/solarsystem/missions/messenger/messenger.asset +++ b/data/assets/scene/solarsystem/missions/messenger/messenger.asset @@ -2,6 +2,7 @@ local sun = asset.require("scene/solarsystem/sun/sun") local sunTransforms = asset.require("scene/solarsystem/sun/transforms") local mercuryTransforms = asset.require("scene/solarsystem/planets/mercury/transforms") local kernels = asset.require("./kernels") +local coreKernels = asset.require("spice/core") local models = asset.resource({ @@ -30,13 +31,13 @@ local Messenger = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "MESSENGER", - Observer = "SSB" + Target = kernels.ID.Messenger, + Observer = coreKernels.ID.SolarSystemBarycenter }, Rotation = { Type = "SpiceRotation", - SourceFrame = "MSGR_SPACECRAFT", - DestinationFrame = "GALACTIC" + SourceFrame = kernels.Frame.Messenger, + DestinationFrame = coreKernels.Frame.Galactic } }, GUI = { @@ -153,8 +154,6 @@ local MessengerTrail = { asset.onInitialize(function() - openspace.spice.loadKernel(kernels.Kernels) - openspace.addSceneGraphNode(Messenger) openspace.addSceneGraphNode(MessengerProbeBlack) openspace.addSceneGraphNode(MessengerProbeFoil) @@ -172,8 +171,6 @@ asset.onDeinitialize(function() openspace.removeSceneGraphNode(MessengerProbeFoil) openspace.removeSceneGraphNode(MessengerProbeBlack) openspace.removeSceneGraphNode(Messenger) - - openspace.spice.unloadKernel(kernels.Kernels) end) asset.export(Messenger) diff --git a/data/assets/scene/solarsystem/missions/newhorizons/charon.asset b/data/assets/scene/solarsystem/missions/newhorizons/charon.asset index 8c2c09ed59..dfd4699df4 100644 --- a/data/assets/scene/solarsystem/missions/newhorizons/charon.asset +++ b/data/assets/scene/solarsystem/missions/newhorizons/charon.asset @@ -1,5 +1,7 @@ local transforms = asset.require("./transforms") local sunTransforms = asset.require("scene/solarsystem/sun/transforms") +local kernels = asset.require("./kernels") +local coreKernels = asset.require("spice/core") @@ -19,13 +21,13 @@ local CharonProjection = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "CHARON", - Observer = "PLUTO BARYCENTER" + Target = kernels.ID.Charon, + Observer = kernels.ID.PlutoBarycenter }, Rotation = { Type = "SpiceRotation", - SourceFrame = "IAU_CHARON", - DestinationFrame = "GALACTIC" + SourceFrame = kernels.Frame.Charon, + DestinationFrame = coreKernels.Frame.Galactic } }, Renderable = { @@ -42,12 +44,12 @@ local CharonProjection = { }, MeridianShift = true, Projection = { - Observer = "NEW HORIZONS", - Target = "CHARON", + Observer = kernels.ID.NewHorizons, + Target = kernels.ID.Charon, Aberration = "NONE", AspectRatio = 2, Instrument = { - Name = "NH_LORRI", + Name = kernels.Frame.Lorri, Method = "ELLIPSOID", Aberration = "NONE", Fovy = 0.2907, @@ -56,8 +58,8 @@ local CharonProjection = { Far = 10000 }, PotentialTargets = { - "PLUTO", - "CHARON" + kernels.ID.Pluto, + kernels.ID.Charon } } }, @@ -97,10 +99,10 @@ local CharonShadow = { Type = "RenderableShadowCylinder", Opacity = 0.25, TerminatorType = "PENUMBRAL", - LightSource = "SUN", - Observer = "NEW HORIZONS", - Body = "CHARON", - BodyFrame = "IAU_CHARON", + LightSource = coreKernels.ID.Sun, + Observer = kernels.ID.NewHorizons, + Body = kernels.ID.Charon, + BodyFrame = kernels.Frame.Charon, Aberration = "NONE" }, GUI = { diff --git a/data/assets/scene/solarsystem/missions/newhorizons/fov.asset b/data/assets/scene/solarsystem/missions/newhorizons/fov.asset index 6dd28a8226..149e8c4ec7 100644 --- a/data/assets/scene/solarsystem/missions/newhorizons/fov.asset +++ b/data/assets/scene/solarsystem/missions/newhorizons/fov.asset @@ -1,4 +1,6 @@ local transforms = asset.require("./transforms") +local kernels = asset.require("./kernels") +local coreKernels = asset.require("spice/core") @@ -18,17 +20,16 @@ local Lorri = { }, Renderable = { Type = "RenderableFov", - Body = "NEW HORIZONS", - Frame = "NH_SPACECRAFT", + Body = kernels.ID.NewHorizons, + Frame = kernels.Frame.NewHorizons, Color = { 0.8, 0.7, 0.7 }, Instrument = { - Name = "NH_LORRI", + Name = kernels.Frame.Lorri, Aberration = "NONE" }, PotentialTargets = { - "Pluto", - "Charon", - -- "Jupiter", "Io", "Europa", "Ganymede", "Callisto" + kernels.ID.Pluto, + kernels.ID.Charon } }, GUI = { @@ -48,17 +49,16 @@ local RalphLeisa = { }, Renderable = { Type = "RenderableFov", - Body = "NEW HORIZONS", - Frame = "NH_SPACECRAFT", + Body = kernels.ID.NewHorizons, + Frame = kernels.Frame.NewHorizons, RGB = { 0.8, 0.7, 0.7 }, Instrument = { - Name = "NH_RALPH_LEISA", + Name = kernels.Frame.RalphLeisa, Aberration = "NONE" }, PotentialTargets = { - "Pluto", - "Charon", - -- "Jupiter", "Io", "Europa", "Ganymede", "Callisto" + kernels.ID.Pluto, + kernels.ID.Charon } }, GUI = { @@ -78,17 +78,16 @@ local RalphMvicPan1 = { }, Renderable = { Type = "RenderableFov", - Body = "NEW HORIZONS", - Frame = "NH_SPACECRAFT", + Body = kernels.ID.NewHorizons, + Frame = kernels.Frame.NewHorizons, RGB = { 0.8, 0.7, 0.7 }, Instrument = { - Name = "NH_RALPH_MVIC_PAN1", + Name = kernels.Frame.RalphMvicPan1, Aberration = "NONE" }, PotentialTargets = { - "Pluto", - "Charon", - -- "Jupiter", "Io", "Europa", "Ganymede", "Callisto" + kernels.ID.Pluto, + kernels.ID.Charon } }, GUI = { @@ -108,17 +107,16 @@ local RalphMvicPan2 = { }, Renderable = { Type = "RenderableFov", - Body = "NEW HORIZONS", - Frame = "NH_SPACECRAFT", + Body = kernels.ID.NewHorizons, + Frame = kernels.Frame.NewHorizons, RGB = { 0.8, 0.7, 0.7 }, Instrument = { - Name = "NH_RALPH_MVIC_PAN2", + Name = kernels.Frame.RalphMvicPan2, Aberration = "NONE" }, PotentialTargets = { - "Pluto", - "Charon", - -- "Jupiter", "Io", "Europa", "Ganymede", "Callisto" + kernels.ID.Pluto, + kernels.ID.Charon } }, GUI = { @@ -138,17 +136,16 @@ local RalphMvicRed = { }, Renderable = { Type = "RenderableFov", - Body = "NEW HORIZONS", - Frame = "NH_SPACECRAFT", + Body = kernels.ID.NewHorizons, + Frame = kernels.Frame.NewHorizons, RGB = { 0.8, 0.7, 0.7 }, Instrument = { - Name = "NH_RALPH_MVIC_RED", + Name = kernels.Frame.RalphMvicRed, Aberration = "NONE" }, PotentialTargets = { - "Pluto", - "Charon", - -- "Jupiter", "Io", "Europa", "Ganymede", "Callisto" + kernels.ID.Pluto, + kernels.ID.Charon } }, GUI = { @@ -168,17 +165,16 @@ local RalphMvicBlue = { }, Renderable = { Type = "RenderableFov", - Body = "NEW HORIZONS", - Frame = "NH_SPACECRAFT", + Body = kernels.ID.NewHorizons, + Frame = kernels.Frame.NewHorizons, RGB = { 0.8, 0.7, 0.7 }, Instrument = { - Name = "NH_RALPH_MVIC_BLUE", + Name = kernels.Frame.RalphMvicBlue, Aberration = "NONE" }, PotentialTargets = { - "Pluto", - "Charon", - -- "Jupiter", "Io", "Europa", "Ganymede", "Callisto" + kernels.ID.Pluto, + kernels.ID.Charon } }, GUI = { @@ -198,17 +194,16 @@ local RalphMvicFt = { }, Renderable = { Type = "RenderableFov", - Body = "NEW HORIZONS", - Frame = "NH_SPACECRAFT", + Body = kernels.ID.NewHorizons, + Frame = kernels.Frame.NewHorizons, RGB = { 0.8, 0.7, 0.7 }, Instrument = { - Name = "NH_RALPH_MVIC_FT", + Name = kernels.Frame.RalphMvicFT, Aberration = "NONE" }, PotentialTargets = { - "Pluto", - "Charon", - -- "Jupiter", "Io", "Europa", "Ganymede", "Callisto" + kernels.ID.Pluto, + kernels.ID.Charon } }, GUI = { @@ -228,17 +223,16 @@ local RalphMvicMethane = { }, Renderable = { Type = "RenderableFov", - Body = "NEW HORIZONS", - Frame = "NH_SPACECRAFT", + Body = kernels.ID.NewHorizons, + Frame = kernels.Frame.NewHorizons, RGB = { 0.8, 0.7, 0.7 }, Instrument = { - Name = "NH_RALPH_MVIC_METHANE", + Name = kernels.Frame.RalphMvicMethane, Aberration = "NONE" }, PotentialTargets = { - "Pluto", - "Charon", - -- "Jupiter", "Io", "Europa", "Ganymede", "Callisto" + kernels.ID.Pluto, + kernels.ID.Charon } }, GUI = { @@ -258,17 +252,16 @@ local RalphMvicNir = { }, Renderable = { Type = "RenderableFov", - Body = "NEW HORIZONS", - Frame = "NH_SPACECRAFT", + Body = kernels.ID.NewHorizons, + Frame = kernels.Frame.NewHorizons, RGB = { 0.8, 0.7, 0.7 }, Instrument = { - Name = "NH_RALPH_MVIC_NIR", + Name = kernels.Frame.RalphMvicNIR, Aberration = "NONE" }, PotentialTargets = { - "Pluto", - "Charon", - -- "Jupiter", "Io", "Europa", "Ganymede", "Callisto" + kernels.ID.Pluto, + kernels.ID.Charon } }, GUI = { @@ -288,17 +281,16 @@ local AliceAirglow = { }, Renderable = { Type = "RenderableFov", - Body = "NEW HORIZONS", - Frame = "NH_SPACECRAFT", + Body = kernels.ID.NewHorizons, + Frame = kernels.Frame.NewHorizons, RGB = { 0.8, 0.7, 0.7 }, Instrument = { - Name = "NH_ALICE_AIRGLOW", + Name = kernels.Frame.AliceAirglow, Aberration = "NONE" }, PotentialTargets = { - "Pluto", - "Charon", - -- "Jupiter", "Io", "Europa", "Ganymede", "Callisto" + kernels.ID.Pluto, + kernels.ID.Charon }, SimplifyBounds = true }, @@ -319,17 +311,16 @@ local AliceSoc = { }, Renderable = { Type = "RenderableFov", - Body = "NEW HORIZONS", - Frame = "NH_SPACECRAFT", + Body = kernels.ID.NewHorizons, + Frame = kernels.Frame.NewHorizons, RGB = { 0.8, 0.7, 0.7 }, Instrument = { - Name = "NH_ALICE_SOC", + Name = kernels.Frame.AliceSOC, Aberration = "NONE" }, PotentialTargets = { - "Pluto", - "Charon", - -- "Jupiter", "Io", "Europa", "Ganymede", "Callisto" + kernels.ID.Pluto, + kernels.ID.Charon } }, GUI = { @@ -353,9 +344,9 @@ local Rex = { }, Renderable = { Type = "RenderableCrawlingLine", - Source = "NH_REX", - Target = "EARTH", - Instrument = "NH_REX", + Source = kernels.ID.Rex, + Target = coreKernels.ID.Earth, + Instrument = kernels.Frame.Rex, Color = { Start = { 1.0, 0.7, 0.0, 1.0 }, End = { 0.0, 0.0, 0.0, 0.0 } diff --git a/data/assets/scene/solarsystem/missions/newhorizons/kernels.asset b/data/assets/scene/solarsystem/missions/newhorizons/kernels.asset index 435d5c9a49..81742b78e1 100644 --- a/data/assets/scene/solarsystem/missions/newhorizons/kernels.asset +++ b/data/assets/scene/solarsystem/missions/newhorizons/kernels.asset @@ -1,4 +1,8 @@ -local Kernels = asset.resource({ +local coreKernels = asset.require("spice/core") + + + +local data = asset.resource({ Name = "New Horizons Kernels", Type = "HttpSynchronization", Identifier = "newhorizons_kernels", @@ -7,41 +11,88 @@ local Kernels = asset.resource({ local NewHorizonsKernels = { - Kernels .. "nh_pred_20141201_20190301_od122.bsp", - Kernels .. "NavSE_plu047_od122.bsp", - Kernels .. "NavPE_de433_od122.bsp", + data .. "nh_pred_20141201_20190301_od122.bsp", + data .. "NavSE_plu047_od122.bsp", + data .. "NavPE_de433_od122.bsp", - Kernels .. "new-horizons_1121.tsc", + data .. "new-horizons_1121.tsc", - Kernels .. "nh_scispi_2015_pred.bc", - Kernels .. "nh_scispi_2015_recon.bc", - Kernels .. "nh_lorri_wcs.bc", + data .. "nh_scispi_2015_pred.bc", + data .. "nh_scispi_2015_recon.bc", + data .. "nh_lorri_wcs.bc", - Kernels .. "PLU_LORRI_ALL_161216.bc", + data .. "PLU_LORRI_ALL_161216.bc", - Kernels .. "nh_targets_v001.tpc", - Kernels .. "nh_pcnh_005.tpc", + data .. "nh_targets_v001.tpc", + data .. "nh_pcnh_005.tpc", - Kernels .. "nh_v220.tf", - Kernels .. "nh_allinstruments_v002.ti", - Kernels .. "nh_alice_v200.ti", - Kernels .. "nh_lorri_v201.ti", - Kernels .. "nh_pepssi_v110.ti", - Kernels .. "nh_ralph_v100.ti", - Kernels .. "nh_rex_v100.ti", - Kernels .. "nh_sdc_v101.ti", - Kernels .. "nh_swap_v100.ti", - Kernels .. "nh_astr_v000.ti", - Kernels .. "nh_fss_v000.ti", - Kernels .. "nh_soc_misc_v001.tf", - Kernels .. "nh_stars.bsp" + data .. "nh_v220.tf", + data .. "nh_allinstruments_v002.ti", + data .. "nh_alice_v200.ti", + data .. "nh_lorri_v201.ti", + data .. "nh_pepssi_v110.ti", + data .. "nh_ralph_v100.ti", + data .. "nh_rex_v100.ti", + data .. "nh_sdc_v101.ti", + data .. "nh_swap_v100.ti", + data .. "nh_astr_v000.ti", + data .. "nh_fss_v000.ti", + data .. "nh_soc_misc_v001.tf", + data .. "nh_stars.bsp" } local PlutoKernels = { - Kernels .. "NavPE_de433_od122.bsp", - Kernels .. "NavSE_plu047_od122.bsp" + data .. "NavPE_de433_od122.bsp", + data .. "NavSE_plu047_od122.bsp" } -asset.export("Kernels", Kernels) +local ID = { + NewHorizons = "NEW HORIZONS", + Rex = "NH_REX", + PlutoBarycenter = coreKernels.ID.PlutoBarycenter, + Pluto = coreKernels.ID.Pluto, + Charon = "CHARON", + Nix = "NIX", + Hydra = "HYDRA", + Kerberos = "KERBEROS", + Styx = "SYNX" +} + +local Frame = { + NewHorizons = "NH_SPACECRAFT", + Lorri = "NH_LORRI", + RalphLeisa = "NH_RALPH_LEISA", + RalphMvicPan1 = "NH_RALPH_MVIC_PAN1", + RalphMvicPan2 = "NH_RALPH_MVIC_PAN2", + RalphMvicRed = "NH_RALPH_MVIC_RED", + RalphMvicBlue = "NH_RALPH_MVIC_BLUE", + RalphMvicFT = "NH_RALPH_MVIC_FT", + RalphMvicMethane = "NH_RALPH_MVIC_METHANE", + RalphMvicNIR = "NH_RALPH_MVIC_NIR", + AliceAirglow = "NH_ALICE_AIRGLOW", + AliceSOC = "NH_ALICE_SOC", + Rex = "NH_REX", + + Pluto = coreKernels.Frame.Pluto, + Charon = coreKernels.Frame.Charon, + Hydra = coreKernels.Frame.Hydra, + Styx = coreKernels.Frame.Styx, + Nix = coreKernels.Frame.Nix, + Kerberos = coreKernels.Frame.Kerberos +} + + +asset.onInitialize(function() + openspace.spice.loadKernel(NewHorizonsKernels) + openspace.spice.loadKernel(PlutoKernels) +end) + +asset.onDeinitialize(function() + openspace.spice.unloadKernel(PlutoKernels) + openspace.spice.unloadKernel(NewHorizonsKernels) +end) + +asset.export("ID", ID) +asset.export("Frame", Frame) asset.export("NewHorizonsKernels", NewHorizonsKernels) asset.export("PlutoKernels", PlutoKernels) diff --git a/data/assets/scene/solarsystem/missions/newhorizons/pluto.asset b/data/assets/scene/solarsystem/missions/newhorizons/pluto.asset index 040af9beef..747fa0adfe 100644 --- a/data/assets/scene/solarsystem/missions/newhorizons/pluto.asset +++ b/data/assets/scene/solarsystem/missions/newhorizons/pluto.asset @@ -1,6 +1,7 @@ local transforms = asset.require("./transforms") local sunTransforms = asset.require("scene/solarsystem/sun/transforms") local kernels = asset.require("./kernels") +local coreKernels = asset.require("spice/core") @@ -41,13 +42,13 @@ local PlutoProjection = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "PLUTO", - Observer = "PLUTO BARYCENTER" + Target = kernels.ID.Pluto, + Observer = kernels.ID.PlutoBarycenter }, Rotation = { Type = "SpiceRotation", - SourceFrame = "IAU_PLUTO", - DestinationFrame = "GALACTIC" + SourceFrame = kernels.Frame.Pluto, + DestinationFrame = coreKernels.Frame.Galactic } }, Renderable = { @@ -71,70 +72,70 @@ local PlutoProjection = { EventFile = assets .. "core_v9h_obs_getmets_v8_time_fix_nofrcd_mld.txt", -- SequenceType = "hybrid", SequenceType = "image-sequence", - Observer = "NEW HORIZONS", - Target = "PLUTO", + Observer = kernels.ID.NewHorizons, + Target = kernels.ID.Pluto, Aberration = "NONE", AspectRatio = 2, DataInputTranslation = { Instrument = { LORRI = { DetectorType = "Camera", - Spice = { "NH_LORRI" } + Spice = { kernels.Frame.Lorri } }, RALPH_MVIC_PAN_FRAME = { DetectorType = "Scanner", StopCommand = "RALPH_ABORT", - Spice = { "NH_RALPH_MVIC_FT" } + Spice = { kernels.Frame.RalphMvicFT } }, RALPH_MVIC_COLOR = { DetectorType = "Scanner", StopCommand = "END_NOM", Spice = { - "NH_RALPH_MVIC_NIR", - "NH_RALPH_MVIC_METHANE", - "NH_RALPH_MVIC_RED", - "NH_RALPH_MVIC_BLUE" + kernels.Frame.RalphMvicNIR, + kernels.Frame.RalphMvicMethane, + kernels.Frame.RalphMvicRed, + kernels.Frame.RalphMvicBlue } }, RALPH_LEISA = { DetectorType = "Scanner", StopCommand = "END_NOM", - Spice = { "NH_RALPH_LEISA" } + Spice = { kernels.Frame.RalphLeisa } }, RALPH_MVIC_PAN1 = { DetectorType = "Scanner", StopCommand = "END_NOM", - Spice = { "NH_RALPH_MVIC_PAN1" } + Spice = { kernels.Frame.RalphMvicPan1 } }, RALPH_MVIC_PAN2 = { DetectorType = "Scanner", StopCommand = "END_NOM", - Spice = { "NH_RALPH_MVIC_PAN2" } + Spice = { kernels.Frame.RalphMvicPan2 } }, ALICE_Use_AIRGLOW = { DetectorType = "Scanner", StopCommand = "ALICE_END_PIXELLIST", - Spice = { "NH_ALICE_AIRGLOW" } + Spice = { kernels.Frame.AliceAirglow } }, ALICE_Use_AIRGLOW = { DetectorType = "Scanner", StopCommand = "ALICE_END_HISTOGRAM", - Spice = { "NH_ALICE_AIRGLOW" } + Spice = { kernels.Frame.AliceAirglow } }, ALICE_Use_SOCC = { DetectorType = "Scanner", StopCommand = "ALICE_END_PIXELLIST", - Spice = { "NH_ALICE_SOC" } + Spice = { kernels.Frame.AliceSOC } }, ALICE_Use_SOCC = { DetectorType = "Scanner", StopCommand = "ALICE_END_HISTOGRAM", - Spice = { "NH_ALICE_SOC" } + Spice = { kernels.Frame.AliceSOC } }, REX_START = { DetectorType = "Scanner", StopCommand = "REX_MODE_OFF", - Spice = { "NH_REX" } + Spice = { kernels.Frame.Rex } } }, Target = { @@ -155,7 +156,7 @@ local PlutoProjection = { } }, Instrument = { - Name = "NH_LORRI", + Name = kernels.Frame.Lorri, Method = "ELLIPSOID", Aberration = "NONE", Fovy = 0.2907, @@ -164,12 +165,12 @@ local PlutoProjection = { Far = 10000 }, PotentialTargets = { - "PLUTO", - "CHARON", - "NIX", - "HYDRA", - "P5", - "P4" + kernels.ID.Pluto, + kernels.ID.Charon, + kernels.ID.Nix, + kernels.ID.Hydra, + kernels.ID.Styx, + kernels.ID.Kerberos } } }, @@ -225,10 +226,10 @@ local PlutoShadow = { Type = "RenderableShadowCylinder", Opacity = 0.25, TerminatorType = "PENUMBRAL", - LightSource = "SUN", - Observer = "NEW HORIZONS", - Body = "PLUTO", - BodyFrame = "IAU_PLUTO", + LightSource = coreKernels.ID.Sun, + Observer = kernels.ID.NewHorizons, + Body = kernels.ID.Pluto, + BodyFrame = kernels.Frame.Pluto, Aberration = "NONE" }, GUI = { @@ -239,8 +240,6 @@ local PlutoShadow = { asset.onInitialize(function() - openspace.spice.loadKernel(kernels.NewHorizonsKernels) - openspace.addSceneGraphNode(PlutoProjection) openspace.addSceneGraphNode(PlutoBarycenterLabel) openspace.addSceneGraphNode(PlutoText) @@ -252,8 +251,6 @@ asset.onDeinitialize(function() openspace.removeSceneGraphNode(PlutoText) openspace.removeSceneGraphNode(PlutoBarycenterLabel) openspace.removeSceneGraphNode(PlutoProjection) - - openspace.spice.unloadKernel(kernels.NewHorizonsKernels) end) asset.export(PlutoProjection) diff --git a/data/assets/scene/solarsystem/missions/newhorizons/trail.asset b/data/assets/scene/solarsystem/missions/newhorizons/trail.asset index c6c1753240..6abb7c6966 100644 --- a/data/assets/scene/solarsystem/missions/newhorizons/trail.asset +++ b/data/assets/scene/solarsystem/missions/newhorizons/trail.asset @@ -1,4 +1,5 @@ local transforms = asset.require("./transforms") +local kernels = asset.require("./kernels") @@ -9,8 +10,8 @@ local TrailAtPluto = { Type = "RenderableTrailTrajectory", Translation = { Type = "SpiceTranslation", - Target = "NEW HORIZONS", - Observer = "PLUTO BARYCENTER" + Target = kernels.ID.NewHorizons, + Observer = kernels.ID.PlutoBarycenter }, Color = { 1.0, 0.8, 0.4 }, ShowFullTrail = true, diff --git a/data/assets/scene/solarsystem/missions/newhorizons/transforms.asset b/data/assets/scene/solarsystem/missions/newhorizons/transforms.asset index 62dd6bcd64..347db1f371 100644 --- a/data/assets/scene/solarsystem/missions/newhorizons/transforms.asset +++ b/data/assets/scene/solarsystem/missions/newhorizons/transforms.asset @@ -1,5 +1,6 @@ local sunTransforms = asset.require("scene/solarsystem/sun/transforms") local kernels = asset.require("./kernels") +local coreKernels = asset.require("spice/core") @@ -14,8 +15,8 @@ local PlutoBarycenterAccurate = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "PLUTO BARYCENTER", - Observer = "SSB" + Target = kernels.ID.PlutoBarycenter, + Observer = coreKernels.ID.SolarSystemBarycenter } }, GUI = { @@ -30,13 +31,13 @@ local NewHorizonsPosition = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "NEW HORIZONS", - Observer = "PLUTO BARYCENTER" + Target = kernels.ID.NewHorizons, + Observer = kernels.ID.PlutoBarycenter }, Rotation = { Type = "SpiceRotation", - SourceFrame = "NH_SPACECRAFT", - DestinationFrame = "GALACTIC" + SourceFrame = kernels.Frame.NewHorizons, + DestinationFrame = coreKernels.Frame.Galactic } }, GUI = { @@ -47,9 +48,6 @@ local NewHorizonsPosition = { asset.onInitialize(function() - openspace.spice.loadKernel(kernels.PlutoKernels) - openspace.spice.loadKernel(kernels.NewHorizonsKernels) - openspace.addSceneGraphNode(PlutoBarycenterAccurate) openspace.addSceneGraphNode(NewHorizonsPosition) end) @@ -57,9 +55,6 @@ end) asset.onDeinitialize(function() openspace.removeSceneGraphNode(NewHorizonsPosition) openspace.removeSceneGraphNode(PlutoBarycenterAccurate) - - openspace.spice.unloadKernel(kernels.NewHorizonsKernels) - openspace.spice.unloadKernel(kernels.PlutoKernels) end) asset.export(PlutoBarycenterAccurate) diff --git a/data/assets/scene/solarsystem/missions/osirisrex/bennu.asset b/data/assets/scene/solarsystem/missions/osirisrex/bennu.asset index d4d9c7adbd..9c7e223645 100644 --- a/data/assets/scene/solarsystem/missions/osirisrex/bennu.asset +++ b/data/assets/scene/solarsystem/missions/osirisrex/bennu.asset @@ -1,5 +1,7 @@ local transforms = asset.require("./transforms") local sun = asset.require("scene/solarsystem/sun/sun") +local kernels = asset.require("./kernels") +local coreKernels = asset.require("spice/core") @@ -11,16 +13,14 @@ local models = asset.resource({ }) -local BennuBodyId = "2101955" - local Bennu = { Identifier = "Bennu", Parent = transforms.BennuBarycenter.Identifier, Transform = { Rotation = { Type = "SpiceRotation", - SourceFrame = "IAU_BENNU", - DestinationFrame = "GALACTIC" + SourceFrame = kernels.Frame.Bennu, + DestinationFrame = coreKernels.Frame.Galactic } }, Renderable = { diff --git a/data/assets/scene/solarsystem/missions/osirisrex/bennu_projection.asset b/data/assets/scene/solarsystem/missions/osirisrex/bennu_projection.asset index 45b2c0b99d..2b7e392ea6 100644 --- a/data/assets/scene/solarsystem/missions/osirisrex/bennu_projection.asset +++ b/data/assets/scene/solarsystem/missions/osirisrex/bennu_projection.asset @@ -1,5 +1,7 @@ local transforms = asset.require("./transforms") local sunTransforms = asset.require("scene/solarsystem/sun/transforms") +local kernels = asset.require("./kernels") +local coreKernels = asset.require("spice/core") @@ -25,35 +27,33 @@ local imagesA = asset.resource({ }) -local BennuBodyId = "2101955" - local BennuProjection = { Identifier = "BennuProjection", Parent = transforms.BennuBarycenter.Identifier, Transform = { Rotation = { Type = "SpiceRotation", - SourceFrame = "IAU_BENNU", - DestinationFrame = "GALACTIC" + SourceFrame = kernels.Frame.Bennu, + DestinationFrame = coreKernels.Frame.Galactic } }, Renderable = { Enabled = true, Type = "RenderableModelProjection", - Body = BennuBodyId, + Body = kernels.ID.Bennu, GeometryFile = models .. "Bennu_v20_200k_an.obj", Projection = { Sequence = { images, imagesA }, SequenceType = "image-sequence", - Observer = "OSIRIS-REX", - Target = BennuBodyId, + Observer = kernels.ID.OsirisRex, + Target = kernels.ID.Bennu, Aberration = "NONE", TextureMap = true, DataInputTranslation = { Instruments = { ORX_OCAMS_POLYCAM = { DetectorType = "Camera", - Spice = { "ORX_OCAMS_POLYCAM" }, + Spice = { kernels.Frame.Polycam }, }, }, Target = { @@ -72,7 +72,7 @@ local BennuProjection = { } }, Instrument = { -- INVALID DATA - JUST FOR TESTING - Name = "ORX_OCAMS_POLYCAM", + Name = kernels.Frame.Polycam, Method = "ELLIPSOID", Aberration = "NONE", Fovy = 0.792, @@ -95,8 +95,8 @@ local BennuTrail = { Type = "RenderableTrailTrajectory", Translation = { Type = "SpiceTranslation", - Target = BennuBodyId, - Observer = "SSB" + Target = kernels.ID.Bennu, + Observer = coreKernels.ID.SolarSystemBarycenter }, Color = { 0.4, 0.0, 0.7 }, StartTime = "2015 JAN 01 00:00:00.000", diff --git a/data/assets/scene/solarsystem/missions/osirisrex/dashboard.asset b/data/assets/scene/solarsystem/missions/osirisrex/dashboard.asset index 14dc377f73..5427a98485 100644 --- a/data/assets/scene/solarsystem/missions/osirisrex/dashboard.asset +++ b/data/assets/scene/solarsystem/missions/osirisrex/dashboard.asset @@ -1,3 +1,8 @@ +local transforms = asset.require("./transforms") +local model = asset.require("./model") + + + local Spacing = { Type = "DashboardItemSpacing", Identifier = "OsirisRexSpacing", @@ -10,9 +15,9 @@ local Distance = { Identifier = "OsirisRexBennuDistance", GuiName = "OSIRIS-REx Bennu Distance", SourceType = "Node", - SourceNodeName = "OsirisRex", + SourceNodeName = model.OsirisRex.Identifier, DestinationType = "Node", - DestinationNodeName = "BennuBarycenter" + DestinationNodeName = transforms.BennuBarycenter.Identifier } local Instruments = { diff --git a/data/assets/scene/solarsystem/missions/osirisrex/imageplane.asset b/data/assets/scene/solarsystem/missions/osirisrex/imageplane.asset index 5c4f091058..529a9e19f2 100644 --- a/data/assets/scene/solarsystem/missions/osirisrex/imageplane.asset +++ b/data/assets/scene/solarsystem/missions/osirisrex/imageplane.asset @@ -1,4 +1,5 @@ local transforms = asset.require("./transforms") +local kernels = asset.require("./kernels") @@ -17,10 +18,10 @@ local ImagePlane = { Parent = transforms.BennuBarycenter.Identifier, Renderable = { Type = "RenderablePlaneProjection", - Frame = "IAU_BENNU", + Frame = kernels.Frame.Bennu, DefaultTarget = BennuBodyId, - Spacecraft = "OSIRIS-REX", - Instrument = "ORX_OCAMS_POLYCAM", + Spacecraft = kernels.ID.OsirisRex, + Instrument = kernels.Frame.Polycam, Moving = false, Texture = textures .. "defaultProj.png" }, diff --git a/data/assets/scene/solarsystem/missions/osirisrex/kernels.asset b/data/assets/scene/solarsystem/missions/osirisrex/kernels.asset index ac9468e85b..c7cd4915f7 100644 --- a/data/assets/scene/solarsystem/missions/osirisrex/kernels.asset +++ b/data/assets/scene/solarsystem/missions/osirisrex/kernels.asset @@ -1,4 +1,8 @@ -local kernels = asset.resource({ +local coreKernels = asset.require("spice/core") + + + +local data = asset.resource({ Name = "Osiris Rex Kernels", Type = "HttpSynchronization", Identifier = "osirisrex_kernels", @@ -6,111 +10,133 @@ local kernels = asset.resource({ }) -local OsirisRexKernels = { - kernels .. "orx_v14.tf", - kernels .. "orx_ocams_v07.ti", - kernels .. "orx_rexis_v01.ti", - kernels .. "ORX_SCLKSCET.00061.tsc", - kernels .. "bennu_v17.tpc", - kernels .. "orx_struct_v04.bsp", - kernels .. "orx_sa_red_200106_v02.bc", - kernels .. "orx_sa_red_200107_v02.bc", - kernels .. "orx_sa_red_200108_v02.bc", - kernels .. "orx_sa_red_200109_v02.bc", - kernels .. "orx_sa_red_200110_v02.bc", - kernels .. "orx_sa_rel_200106_200112_v01.bc", - kernels .. "orx_sc_rel_160909_160911_v01.bc", - kernels .. "orx_sc_rel_160912_160918_v01.bc", - kernels .. "orx_sc_rel_160919_160925_v01.bc", - kernels .. "orx_sc_rel_160926_161002_v01.bc", - kernels .. "orx_sc_rel_181029_181104_v02.bc", - kernels .. "orx_sc_rel_190218_190224_v02.bc", - kernels .. "orx_sc_rel_200106_200112_v01.bc", - kernels .. "orx_sc_rel_201019_201025_v01.bc", - kernels .. "orx_sc_rel_201012_201018_v01.bc", - kernels .. "orx_sc_red_200106_v02.bc", - kernels .. "orx_sc_red_200107_v02.bc", - kernels .. "orx_sc_red_200108_v02.bc", - kernels .. "orx_sc_red_200109_v02.bc", - kernels .. "orx_sc_red_201020_v02.bc", - kernels .. "orx_sc_red_201017_v03.bc", - kernels .. "orx_sc_red_201018_v02.bc", - kernels .. "orx_sc_red_201019_v02.bc", - kernels .. "orx_r_160909_160910_v01.bc", - kernels .. "orx_r_160910_160913_v01.bc", - kernels .. "orx_r_160913_160915_v01.bc", - kernels .. "orx_r_160915_160919_v01.bc", - kernels .. "orx_r_160918_160922_v01.bc", - kernels .. "orx_r_160919_160922_v01.bc", - kernels .. "orx_r_200105_200107_v02.bc", - kernels .. "orx_r_200106_200108_v02.bc", - kernels .. "orx_r_200107_200109_v02.bc", - kernels .. "orx_r_200107_200112_v01.bc", - kernels .. "orx_r_200108_200110_v02.bc", - kernels .. "orx_r_200109_200111_v02.bc", - kernels .. "orx_r_201019_201021_v06.bc", - kernels .. "orx_r_201018_201021_v02.bc", - kernels .. "orx_r_201018_201020_v03.bc", - kernels .. "orx_r_201017_201019_v03.bc", - kernels .. "orx_p_160910_161005_xc001b_v01.bc", - kernels .. "orx_p_200106_200113_2002_od205_v01.bc", - kernels .. "orx_p_200106_200113_2002_od209_v01.bc", - kernels .. "orx_p_200106_200113_2002_od210_v01.bc", - kernels .. "orx_p_201019_201026_2043tag_od293_v03.bc", - kernels .. "orx_p_201012_201019_2042_od291_v04.bc", - kernels .. "orx_p_210411_210510_xq006_od297_v05.bc", - kernels .. "orx_p_210509_210513_xr001_adm_final_mod_od311_v01.bc", - kernels .. "orx_p_210509_210607_xr001_od298_v00.bc", - kernels .. "orx_p_230824_231008_src_release_od298_v00.bc", - kernels .. "OREX_20160904_M45_complete.bsp", - kernels .. "OREX_20160908_M60_complete.bsp", - kernels .. "orx_struct_polycam_v01.bc", - kernels .. "de424.bsp", - kernels .. "bennu_refdrmc_v1.bsp", - kernels .. "orx_160908_231024_pgaa2_day06m60.bsp", - kernels .. "orx_160908_231024_pgaa3_day06m60_v1.bsp", - kernels .. "orx_160909_161228_160919_od005_tcm1_v2.bsp", - kernels .. "orx_160909_161228_160930_od006_tcm1_v1.bsp", - kernels .. "orx_160909_170101_160912_od004_v1.bsp", - kernels .. "orx_160909_170101_161010_od008_v1.bsp", - kernels .. "spk_orx_160908_231024_pgaa2_day06m60_v3.bsp", - kernels .. "orx_160909_231024_refod009_v2.bsp", - kernels .. "orx_171006_231024_171005_refod027_v1.bsp", - kernels .. "orx_180301_181201_180921_od044_v1.bsp", - kernels .. "orx_180801_190302_181218_od077_v1.bsp", - kernels .. "orx_181203_190302_190104_od085_v1.bsp", - kernels .. "orx_181231_190305_190215_od099_v1.bsp", - kernels .. "orx_190201_190327_190315_od110_v1.bsp", - kernels .. "orx_190301_190424_190412_od125_v1.bsp", - kernels .. "orx_190401_190522_190508_od137_v1.bsp", - kernels .. "orx_190426_190605_190522_od143_v1.bsp", - kernels .. "orx_190511_190619_190603_od148_v1.bsp", - kernels .. "orx_190601_190625_190614_od154_v1.bsp", - kernels .. "orx_190612_190917_190730_od170_v1.bsp", - kernels .. "orx_190712_190917_190814_od175_v1.bsp", - kernels .. "orx_190809_191008_190923_od182_v1.bsp", - kernels .. "orx_190809_191015_191004_od187_v1.bsp", - kernels .. "orx_190915_191029_191014_od191_v1.bsp", - kernels .. "orx_191001_191105_191021_od194_v1.bsp", - kernels .. "orx_191015_191112_191030_od198_v1.bsp", - kernels .. "orx_191027_200101_191104_od200_v1.bsp", - kernels .. "orx_191101_200225_200214_od223_v1.bsp", - kernels .. "orx_200127_200324_200311_od232_v1.bsp", - kernels .. "orx_200305_200421_200410_od239_v1.bsp", - kernels .. "orx_200401_200418_200418_od242_v2.bsp", - kernels .. "orx_200414_200519_200504_od248_v1.bsp", - kernels .. "orx_200430_200714_200701_od263_v1.bsp", - kernels .. "orx_200616_200811_200727_od269_v1.bsp", - kernels .. "orx_200709_200814_200814_od276_v1.bsp", - kernels .. "orx_200811_200908_200828_od280_v1.bsp", - kernels .. "orx_200827_201020_201020_od294_v1.bsp", - kernels .. "orx_201020_201020_201020_od294_v1.bsp", - kernels .. "orx_201020_201109_201020_od294_v1.bsp", - kernels .. "orx_201020_210524_210103_od297_v1.bsp", - kernels .. "orx_210101_210330_210310_od302_v1.bsp", - kernels .. "orx_210115_210701_210426_od310-N-ADM-P_v1.bsp", - kernels .. "orx_210408_210701_210503_od311-N-ADM-F_v1.bsp", - kernels .. "orx_210509_231025_210119_od298-R-ADM1-P-DB1_v1.bsp" +local Kernels = { + data .. "orx_v14.tf", + data .. "orx_ocams_v07.ti", + data .. "orx_rexis_v01.ti", + data .. "ORX_SCLKSCET.00061.tsc", + data .. "bennu_v17.tpc", + data .. "orx_struct_v04.bsp", + data .. "orx_sa_red_200106_v02.bc", + data .. "orx_sa_red_200107_v02.bc", + data .. "orx_sa_red_200108_v02.bc", + data .. "orx_sa_red_200109_v02.bc", + data .. "orx_sa_red_200110_v02.bc", + data .. "orx_sa_rel_200106_200112_v01.bc", + data .. "orx_sc_rel_160909_160911_v01.bc", + data .. "orx_sc_rel_160912_160918_v01.bc", + data .. "orx_sc_rel_160919_160925_v01.bc", + data .. "orx_sc_rel_160926_161002_v01.bc", + data .. "orx_sc_rel_181029_181104_v02.bc", + data .. "orx_sc_rel_190218_190224_v02.bc", + data .. "orx_sc_rel_200106_200112_v01.bc", + data .. "orx_sc_rel_201019_201025_v01.bc", + data .. "orx_sc_rel_201012_201018_v01.bc", + data .. "orx_sc_red_200106_v02.bc", + data .. "orx_sc_red_200107_v02.bc", + data .. "orx_sc_red_200108_v02.bc", + data .. "orx_sc_red_200109_v02.bc", + data .. "orx_sc_red_201020_v02.bc", + data .. "orx_sc_red_201017_v03.bc", + data .. "orx_sc_red_201018_v02.bc", + data .. "orx_sc_red_201019_v02.bc", + data .. "orx_r_160909_160910_v01.bc", + data .. "orx_r_160910_160913_v01.bc", + data .. "orx_r_160913_160915_v01.bc", + data .. "orx_r_160915_160919_v01.bc", + data .. "orx_r_160918_160922_v01.bc", + data .. "orx_r_160919_160922_v01.bc", + data .. "orx_r_200105_200107_v02.bc", + data .. "orx_r_200106_200108_v02.bc", + data .. "orx_r_200107_200109_v02.bc", + data .. "orx_r_200107_200112_v01.bc", + data .. "orx_r_200108_200110_v02.bc", + data .. "orx_r_200109_200111_v02.bc", + data .. "orx_r_201019_201021_v06.bc", + data .. "orx_r_201018_201021_v02.bc", + data .. "orx_r_201018_201020_v03.bc", + data .. "orx_r_201017_201019_v03.bc", + data .. "orx_p_160910_161005_xc001b_v01.bc", + data .. "orx_p_200106_200113_2002_od205_v01.bc", + data .. "orx_p_200106_200113_2002_od209_v01.bc", + data .. "orx_p_200106_200113_2002_od210_v01.bc", + data .. "orx_p_201019_201026_2043tag_od293_v03.bc", + data .. "orx_p_201012_201019_2042_od291_v04.bc", + data .. "orx_p_210411_210510_xq006_od297_v05.bc", + data .. "orx_p_210509_210513_xr001_adm_final_mod_od311_v01.bc", + data .. "orx_p_210509_210607_xr001_od298_v00.bc", + data .. "orx_p_230824_231008_src_release_od298_v00.bc", + data .. "OREX_20160904_M45_complete.bsp", + data .. "OREX_20160908_M60_complete.bsp", + data .. "orx_struct_polycam_v01.bc", + data .. "de424.bsp", + data .. "bennu_refdrmc_v1.bsp", + data .. "orx_160908_231024_pgaa2_day06m60.bsp", + data .. "orx_160908_231024_pgaa3_day06m60_v1.bsp", + data .. "orx_160909_161228_160919_od005_tcm1_v2.bsp", + data .. "orx_160909_161228_160930_od006_tcm1_v1.bsp", + data .. "orx_160909_170101_160912_od004_v1.bsp", + data .. "orx_160909_170101_161010_od008_v1.bsp", + data .. "spk_orx_160908_231024_pgaa2_day06m60_v3.bsp", + data .. "orx_160909_231024_refod009_v2.bsp", + data .. "orx_171006_231024_171005_refod027_v1.bsp", + data .. "orx_180301_181201_180921_od044_v1.bsp", + data .. "orx_180801_190302_181218_od077_v1.bsp", + data .. "orx_181203_190302_190104_od085_v1.bsp", + data .. "orx_181231_190305_190215_od099_v1.bsp", + data .. "orx_190201_190327_190315_od110_v1.bsp", + data .. "orx_190301_190424_190412_od125_v1.bsp", + data .. "orx_190401_190522_190508_od137_v1.bsp", + data .. "orx_190426_190605_190522_od143_v1.bsp", + data .. "orx_190511_190619_190603_od148_v1.bsp", + data .. "orx_190601_190625_190614_od154_v1.bsp", + data .. "orx_190612_190917_190730_od170_v1.bsp", + data .. "orx_190712_190917_190814_od175_v1.bsp", + data .. "orx_190809_191008_190923_od182_v1.bsp", + data .. "orx_190809_191015_191004_od187_v1.bsp", + data .. "orx_190915_191029_191014_od191_v1.bsp", + data .. "orx_191001_191105_191021_od194_v1.bsp", + data .. "orx_191015_191112_191030_od198_v1.bsp", + data .. "orx_191027_200101_191104_od200_v1.bsp", + data .. "orx_191101_200225_200214_od223_v1.bsp", + data .. "orx_200127_200324_200311_od232_v1.bsp", + data .. "orx_200305_200421_200410_od239_v1.bsp", + data .. "orx_200401_200418_200418_od242_v2.bsp", + data .. "orx_200414_200519_200504_od248_v1.bsp", + data .. "orx_200430_200714_200701_od263_v1.bsp", + data .. "orx_200616_200811_200727_od269_v1.bsp", + data .. "orx_200709_200814_200814_od276_v1.bsp", + data .. "orx_200811_200908_200828_od280_v1.bsp", + data .. "orx_200827_201020_201020_od294_v1.bsp", + data .. "orx_201020_201020_201020_od294_v1.bsp", + data .. "orx_201020_201109_201020_od294_v1.bsp", + data .. "orx_201020_210524_210103_od297_v1.bsp", + data .. "orx_210101_210330_210310_od302_v1.bsp", + data .. "orx_210115_210701_210426_od310-N-ADM-P_v1.bsp", + data .. "orx_210408_210701_210503_od311-N-ADM-F_v1.bsp", + data .. "orx_210509_231025_210119_od298-R-ADM1-P-DB1_v1.bsp" } -asset.export("kernels", OsirisRexKernels) +local ID = { + OsirisRex = "OSIRIS-REX", + Bennu = "2101955" +} + +local Frame = { + OsirisRex = "ORX_SPACECRAFT", + Polycam = "ORX_OCAMS_POLYCAM", + Rexis = "ORX_REXIS", + Bennu = coreKernels.Frame.Bennu +} + + +asset.onInitialize(function() + openspace.spice.loadKernel(Kernels) +end) + +asset.onDeinitialize(function() + openspace.spice.unloadKernel(Kernels) +end) + +asset.export("ID", ID) +asset.export("Frame", Frame) diff --git a/data/assets/scene/solarsystem/missions/osirisrex/model.asset b/data/assets/scene/solarsystem/missions/osirisrex/model.asset index 0f80545668..2d1da05bc7 100644 --- a/data/assets/scene/solarsystem/missions/osirisrex/model.asset +++ b/data/assets/scene/solarsystem/missions/osirisrex/model.asset @@ -3,6 +3,7 @@ local sun = asset.require("scene/solarsystem/sun/sun") local sunTransforms = asset.require("scene/solarsystem/sun/transforms") local earthTransforms = asset.require("scene/solarsystem/planets/earth/transforms") local kernels = asset.require("./kernels") +local coreKernels = asset.require("spice/core") @@ -22,13 +23,13 @@ local OsirisRex = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "OSIRIS-REX", - Observer = "SSB" + Target = kernels.ID.OsirisRex, + Observer = coreKernels.ID.SolarSystemBarycenter }, Rotation = { Type = "SpiceRotation", - SourceFrame = "ORX_SPACECRAFT", - DestinationFrame = "GALACTIC" + SourceFrame = kernels.Frame.OsirisRex, + DestinationFrame = coreKernels.Frame.Galactic } }, Renderable = { @@ -59,8 +60,8 @@ local PolyCam = { }, Rotation = { Type = "SpiceRotation", - SourceFrame = "ORX_OCAMS_POLYCAM", - DestinationFrame = "ORX_SPACECRAFT" + SourceFrame = kernels.Frame.Polycam, + DestinationFrame = kernels.Frame.OsirisRex } }, Renderable = { @@ -84,6 +85,17 @@ local PolyCam = { local Rexis = { Identifier = "ORX_REXIS", Parent = OsirisRex.Identifier, + Transform = { + Translation = { + Type = "StaticTranslation", + Position = { 0, 0.3371, 0.2712 } + }, + Rotation = { + Type = "SpiceRotation", + SourceFrame = kernels.Frame.Rexis, + DestinationFrame = kernels.Frame.OsirisRex + } + }, Renderable = { Type = "RenderableModel", GeometryFile = models .. "orx_rexis_resized_12_sep_2016.obj", @@ -96,17 +108,6 @@ local Rexis = { } } }, - Transform = { - Translation = { - Type = "StaticTranslation", - Position = { 0, 0.3371, 0.2712 } - }, - Rotation = { - Type = "SpiceRotation", - SourceFrame = "ORX_REXIS", - DestinationFrame = "ORX_SPACECRAFT" - } - }, GUI = { Name = "REXIS", Path = "/Solar System/Missions/OSIRIS REx/Instruments" @@ -119,14 +120,14 @@ local PolyCamFov = { Renderable = { Type = "RenderableFov", Body = "OSIRIS-REX", - Frame = "ORX_OCAMS_POLYCAM", + Frame = kernels.Frame.Polycam, RGB = { 0.8, 0.7, 0.7 }, Instrument = { - Name = "ORX_OCAMS_POLYCAM", + Name = kernels.Frame.Polycam, Method = "ELLIPSOID", Aberration = "NONE" }, - PotentialTargets = { BennuBodyId } + PotentialTargets = { kernels.ID.Bennu } }, GUI = { Name = "POLYCAM FOV", @@ -141,17 +142,17 @@ local PolyCamFov = { -- Parent = Rexis.Identifier, -- Renderable = { -- Type = "RenderableFov", --- Body = "OSIRIS-REX", --- Frame = "ORX_REXIS", +-- Body = kernels.Frame.OsirisRex, +-- Frame = kernels.Frame.Rexis, -- RGB = { 0.8, 0.7, 0.7 }, -- Instrument = { -- Name = "ORX_REXIS", -- Method = "ELLIPSOID", -- Aberration = "NONE" -- }, --- PotentialTargets = { BennuBodyId }, +-- PotentialTargets = { kernels.ID.Bennu }, -- FrameConversions = { --- [BennuBodyId] = "IAU_BENNU" +-- [kernels.ID.Bennu] = kernels.Frame.Bennu -- } -- }, -- GUI = { @@ -161,8 +162,6 @@ local PolyCamFov = { -- } asset.onInitialize(function() - openspace.spice.loadKernel(kernels.kernels) - openspace.addSceneGraphNode(OsirisRex) openspace.addSceneGraphNode(PolyCam) openspace.addSceneGraphNode(Rexis) @@ -176,8 +175,6 @@ asset.onDeinitialize(function() openspace.removeSceneGraphNode(Rexis) openspace.removeSceneGraphNode(PolyCam) openspace.removeSceneGraphNode(OsirisRex) - - openspace.spice.unloadKernel(kernels.kernels) end) asset.export(OsirisRex) diff --git a/data/assets/scene/solarsystem/missions/osirisrex/trail.asset b/data/assets/scene/solarsystem/missions/osirisrex/trail.asset index 21b220636a..e3502cedd8 100644 --- a/data/assets/scene/solarsystem/missions/osirisrex/trail.asset +++ b/data/assets/scene/solarsystem/missions/osirisrex/trail.asset @@ -1,11 +1,11 @@ local transforms = asset.require("./transforms") local sunTransforms = asset.require("scene/solarsystem/sun/transforms") local earthTransforms = asset.require("scene/solarsystem/planets/earth/transforms") +local kernels = asset.require("./kernels") +local coreKernels = asset.require("spice/core") -local BennuBodyId = 2101955 - local OsirisRexTrailEarth = { Identifier = "OsirisRexTrailEarth", Parent = earthTransforms.EarthIAU.Identifier, @@ -13,9 +13,9 @@ local OsirisRexTrailEarth = { Type = "RenderableTrailTrajectory", Translation = { Type = "SpiceTranslation", - Target = "OSIRIS-REX", - Frame = "IAU_EARTH", - Observer = "EARTH" + Target = kernels.Frame.OsirisRex, + Frame = coreKernels.Frame.Earth, + Observer = coreKernels.ID.Earth }, Color = { 0.9, 0.9, 0.0 }, StartTime = "2016 SEP 8 23:05:00.50", @@ -35,8 +35,8 @@ local OsirisRexTrailSolarSystem = { Type = "RenderableTrailTrajectory", Translation = { Type = "SpiceTranslation", - Target = "OSIRIS-REX", - Observer = "SSB" + Target = kernels.ID.OsirisRex, + Observer = coreKernels.ID.SolarSystemBarycenter }, Color = { 0.2, 0.9, 0.2 }, StartTime = "2016 SEP 8 23:05:00.50", @@ -56,8 +56,8 @@ local OsirisRexTrailBennu = { Type = "RenderableTrailTrajectory", Translation = { Type = "SpiceTranslation", - Target = "OSIRIS-REX", - Observer = BennuBodyId + Target = kernels.ID.OsirisRex, + Observer = kernels.ID.Bennu }, Color = { 0.9, 0.2, 0.9 }, StartTime = "2018 SEP 4 00:00:00", diff --git a/data/assets/scene/solarsystem/missions/osirisrex/transforms.asset b/data/assets/scene/solarsystem/missions/osirisrex/transforms.asset index c4a34ec9e5..7820cade83 100644 --- a/data/assets/scene/solarsystem/missions/osirisrex/transforms.asset +++ b/data/assets/scene/solarsystem/missions/osirisrex/transforms.asset @@ -1,17 +1,17 @@ local transforms = asset.require("scene/solarsystem/sun/transforms") +local kernels = asset.require("./kernels") +local coreKernels = asset.require("spice/core") -local BennuBodyId = 2101955 - local BennuBarycenter = { Identifier = "BennuBarycenter", Parent = transforms.SolarSystemBarycenter.Identifier, Transform = { Translation = { Type = "SpiceTranslation", - Target = BennuBodyId, - Observer = "SSB" + Target = kernels.ID.Bennu, + Observer = coreKernels.ID.SolarSystemBarycenter } }, GUI = { diff --git a/data/assets/scene/solarsystem/missions/perseverance/kernels.asset b/data/assets/scene/solarsystem/missions/perseverance/kernels.asset new file mode 100644 index 0000000000..ec5204db90 --- /dev/null +++ b/data/assets/scene/solarsystem/missions/perseverance/kernels.asset @@ -0,0 +1,50 @@ +local coreKernels = asset.require("spice/core") + + + +local data = asset.resource({ + Name = "Mars 2020 Kernels", + Type = "HttpSynchronization", + Identifier = "perseverance_kernels", + Version = 2 +}) + + +local Kernels = { + data .. "m2020.tf", + data .. "m2020.tsc", + data .. "m2020_v04.tf", + + data .. "m2020_cruise_recon_nospin_v1.bc", + data .. "m2020_cruise_recon_rawrt_v1.bc", + data .. "m2020_cruise_recon_raweng_v1.bc", + data .. "m2020_edl_v01.bc", + + data .. "m2020_cruise_od138_v1.bsp", + data .. "m2020_edl_v01.bsp", + data .. "m2020_surf_rover_loc_0000_0089_v1.bsp" +} + +local ID = { + Perseverance = -168, + + Mars = coreKernels.ID.Mars, + MarsBarycenter = coreKernels.ID.MarsBarycenter +} + +local Frame = { + Mars = coreKernels.Frame.Mars +} + + +asset.onInitialize(function() + openspace.spice.loadKernel(Kernels) +end) + +asset.onDeinitialize(function() + openspace.spice.unloadKernel(Kernels) +end) + +asset.export("ID", ID) +asset.export("Frame", Frame) + diff --git a/data/assets/scene/solarsystem/missions/perseverance/model.asset b/data/assets/scene/solarsystem/missions/perseverance/model.asset index 640ce53ede..dc2cc3d92b 100644 --- a/data/assets/scene/solarsystem/missions/perseverance/model.asset +++ b/data/assets/scene/solarsystem/missions/perseverance/model.asset @@ -1,7 +1,8 @@ local trail = asset.require("./trail") local marsTransforms = asset.require("scene/solarsystem/planets/mars/transforms") local sun = asset.require("scene/solarsystem/sun/sun") -local spice = asset.require("./spice") +local kernels = asset.require("./kernels") +local coreKernels = asset.require("spice/core") @@ -16,41 +17,41 @@ local models = asset.resource({ local TranslationKeyframes = { ["1850 JAN 01 00:00:00"] = { Type = "SpiceTranslation", - Target = spice.ID, - Observer = "MARS", - Frame = "IAU_MARS", + Target = kernels.ID.Perseverance, + Observer = kernels.ID.Mars, + Frame = kernels.Frame.Mars, FixedDate = "2020 JUL 17 13:56:43" }, ["2020 JUL 17 13:56:42"] = { Type = "SpiceTranslation", - Target = spice.ID, - Observer = "MARS", - Frame = "IAU_MARS", + Target = kernels.ID.Perseverance, + Observer = kernels.ID.Mars, + Frame = kernels.Frame.Mars, FixedDate = "2020 JUL 17 13:56:43" }, ["2020 JUL 17 13:56:43"] = { Type = "SpiceTranslation", - Target = spice.ID, - Observer = "MARS", - Frame = "IAU_MARS" + Target = kernels.ID.Perseverance, + Observer = kernels.ID.Mars, + Frame = kernels.Frame.Mars }, ["2020 JUL 17 13:56:44"] = { Type = "SpiceTranslation", - Target = spice.ID, - Observer = "MARS", - Frame = "IAU_MARS" + Target = kernels.ID.Perseverance, + Observer = kernels.ID.Mars, + Frame = kernels.Frame.Mars }, ["2021 FEB 18 20:43:48"] = { Type = "SpiceTranslation", - Target = spice.ID, - Observer = "MARS", - Frame = "IAU_MARS" + Target = kernels.ID.Perseverance, + Observer = kernels.ID.Mars, + Frame = kernels.Frame.Mars }, ["2021 FEB 18 20:43:49"] = { Type = "SpiceTranslation", - Target = spice.ID, - Observer = "MARS", - Frame = "IAU_MARS", + Target = kernels.ID.Perseverance, + Observer = kernels.ID.Mars, + Frame = kernels.Frame.Mars, FixedDate = "2021 FEB 18 20:43:48" } } @@ -61,13 +62,13 @@ local PerseveranceNode = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "MARS", - Observer = "MARS BARYCENTER" + Target = kernels.ID.Mars, + Observer = kernels.ID.MarsBarycenter }, Rotation = { Type = "SpiceRotation", - SourceFrame = "IAU_MARS", - DestinationFrame = "GALACTIC" + SourceFrame = kernels.Frame.Mars, + DestinationFrame = coreKernels.Frame.Galactic } }, GUI = { @@ -129,8 +130,6 @@ local Body = { asset.onInitialize(function() - openspace.spice.loadKernel(spice.Kernels) - openspace.addSceneGraphNode(PerseveranceNode) openspace.addSceneGraphNode(Perseverance) openspace.addSceneGraphNode(PerseveranceModel) @@ -142,8 +141,6 @@ asset.onDeinitialize(function() openspace.removeSceneGraphNode(PerseveranceModel) openspace.removeSceneGraphNode(Perseverance) openspace.removeSceneGraphNode(PerseveranceNode) - - openspace.spice.unloadKernel(spice.Kernels) end) asset.export(PerseveranceNode) diff --git a/data/assets/scene/solarsystem/missions/perseverance/spice.asset b/data/assets/scene/solarsystem/missions/perseverance/spice.asset deleted file mode 100644 index dd0f679a9c..0000000000 --- a/data/assets/scene/solarsystem/missions/perseverance/spice.asset +++ /dev/null @@ -1,26 +0,0 @@ -local kernels = asset.resource({ - Name = "Mars 2020 Kernels", - Type = "HttpSynchronization", - Identifier = "perseverance_kernels", - Version = 2 -}) - - -local m2020_kernels = { - kernels .. "m2020.tf", - kernels .. "m2020.tsc", - kernels .. "m2020_v04.tf", - - kernels .. "m2020_cruise_recon_nospin_v1.bc", - kernels .. "m2020_cruise_recon_rawrt_v1.bc", - kernels .. "m2020_cruise_recon_raweng_v1.bc", - kernels .. "m2020_edl_v01.bc", - - kernels .. "m2020_cruise_od138_v1.bsp", - kernels .. "m2020_edl_v01.bsp", - kernels .. "m2020_surf_rover_loc_0000_0089_v1.bsp" -} - -asset.export("Kernels", m2020_kernels) -asset.export("ID", -168) - diff --git a/data/assets/scene/solarsystem/missions/perseverance/trail.asset b/data/assets/scene/solarsystem/missions/perseverance/trail.asset index ad276b361e..97d4c232d8 100644 --- a/data/assets/scene/solarsystem/missions/perseverance/trail.asset +++ b/data/assets/scene/solarsystem/missions/perseverance/trail.asset @@ -1,6 +1,7 @@ local sunTransforms = asset.require("scene/solarsystem/sun/transforms") local marsTransforms = asset.require("scene/solarsystem/planets/mars/transforms") -local spice = asset.require("./spice") +local kernels = asset.require("./kernels") +local coreKernels = asset.require("spice/core") @@ -13,16 +14,16 @@ local PerseveranceTrailSun = { Parent = sunTransforms.SolarSystemBarycenter.Identifier, Renderable = { Type = "RenderableTrailTrajectory", + Enabled = false, Translation = { Type = "SpiceTranslation", - Target = spice.ID, - Observer = "SSB" + Target = kernels.ID.Perseverance, + Observer = coreKernels.ID.SolarSystemBarycenter }, Color = { 0.2, 0.7, 0.1 }, StartTime = StartTime, EndTime = EndTime, - SampleInterval = 100, - Enabled = false + SampleInterval = 100 }, GUI = { Name = "Perseverance Trail (Sun)", @@ -38,8 +39,8 @@ local PerseveranceTrailMars = { Enabled = false, Translation = { Type = "SpiceTranslation", - Target = spice.ID, - Observer = "MARS BARYCENTER" + Target = kernels.ID.Perseverance, + Observer = kernels.ID.MarsBarycenter }, Color = { 0.7, 0.9, 0.6 }, StartTime = ApproachMars, @@ -54,8 +55,6 @@ local PerseveranceTrailMars = { asset.onInitialize(function() - openspace.spice.loadKernel(spice.Kernels) - openspace.addSceneGraphNode(PerseveranceTrailSun) openspace.addSceneGraphNode(PerseveranceTrailMars) end) @@ -63,8 +62,6 @@ end) asset.onDeinitialize(function() openspace.removeSceneGraphNode(PerseveranceTrailMars) openspace.removeSceneGraphNode(PerseveranceTrailSun) - - openspace.spice.unloadKernel(spice.Kernels) end) asset.export(PerseveranceTrailSun) diff --git a/data/assets/scene/solarsystem/missions/pioneer/pioneer10.asset b/data/assets/scene/solarsystem/missions/pioneer/pioneer10.asset index c42dc91827..2842f40f52 100644 --- a/data/assets/scene/solarsystem/missions/pioneer/pioneer10.asset +++ b/data/assets/scene/solarsystem/missions/pioneer/pioneer10.asset @@ -1,5 +1,6 @@ local sunTransforms = asset.require("scene/solarsystem/sun/transforms") local model = asset.require("scene/solarsystem/missions/pioneer/pioneermodel") +local coreKernels = asset.require("spice/core") @@ -20,7 +21,7 @@ local Pioneer10 = { Translation = { Type = "SpiceTranslation", Target = Pioneer10ID, - Observer = "SSB" + Observer = coreKernels.ID.SolarSystemBarycenter } }, Renderable = model.PioneerModel, @@ -39,7 +40,7 @@ local Pioneer10Trail = { Translation = { Type = "SpiceTranslation", Target = Pioneer10ID, - Observer = "SSB" + Observer = coreKernels.ID.SolarSystemBarycenter }, Color = { 0.70, 0.50, 0.20 }, StartTime = "1972 MAR 03 02:04:00", diff --git a/data/assets/scene/solarsystem/missions/pioneer/pioneer11.asset b/data/assets/scene/solarsystem/missions/pioneer/pioneer11.asset index 083552a11d..7aac80f72f 100644 --- a/data/assets/scene/solarsystem/missions/pioneer/pioneer11.asset +++ b/data/assets/scene/solarsystem/missions/pioneer/pioneer11.asset @@ -1,5 +1,6 @@ local sunTransforms = asset.require("scene/solarsystem/sun/transforms") local model = asset.require("scene/solarsystem/missions/pioneer/pioneermodel") +local coreKernels = asset.require("spice/core") @@ -25,7 +26,7 @@ local Pioneer11 = { Translation = { Type = "SpiceTranslation", Target = Pioneer11ID, - Observer = "SSB" + Observer = coreKernels.ID.SolarSystemBarycenter } }, Renderable = model.PioneerModel, @@ -44,7 +45,7 @@ local Pioneer11Trail = { Translation = { Type = "SpiceTranslation", Target = Pioneer11ID, - Observer = "SSB" + Observer = coreKernels.ID.SolarSystemBarycenter }, Color = { 0.70, 0.50, 0.20 }, StartTime = "1973 APR 06 02:25:00.000", diff --git a/data/assets/scene/solarsystem/missions/rosetta/67p.asset b/data/assets/scene/solarsystem/missions/rosetta/67p.asset index d906c582a9..09770c0aa8 100644 --- a/data/assets/scene/solarsystem/missions/rosetta/67p.asset +++ b/data/assets/scene/solarsystem/missions/rosetta/67p.asset @@ -1,4 +1,6 @@ local transforms = asset.require("scene/solarsystem/sun/transforms") +local kernels = asset.require("./kernels") +local coreKernels = asset.require("spice/core") @@ -34,8 +36,8 @@ local Barycenter = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "CHURYUMOV-GERASIMENKO", - Observer = "SSB" + Target = kernels.ID.ChurymovGerasimenko, + Observer = coreKernels.ID.SolarSystemBarycenter } }, GUI = { @@ -50,8 +52,8 @@ local Comet67P = { Transform = { Rotation = { Type = "SpiceRotation", - SourceFrame = "67P/C-G_CK", - DestinationFrame = "GALACTIC" + SourceFrame = kernels.Frame.ChurymovGerasimenko, + DestinationFrame = coreKernels.Frame.Galactic } }, BoundingSphere = 5000.0, @@ -61,8 +63,8 @@ local Comet67P = { Projection = { Sequence = { imagesDestination }, SequenceType = "image-sequence", - Observer = "ROSETTA", - Target = "CHURYUMOV-GERASIMENKO", + Observer = kernels.ID.Rosetta, + Target = kernels.ID.ChurymovGerasimenko, Aberration = "NONE", TextureMap = true, ShadowMap = true, @@ -70,7 +72,7 @@ local Comet67P = { Instrument = { NAVCAM = { DetectorType = "Camera", - Spice = { "ROS_NAVCAM-A" } + Spice = { kernels.Frame.NavCam } } }, Target = { @@ -95,7 +97,7 @@ local Comet67P = { } }, Instrument = { - Name = "ROS_NAVCAM-A", + Name = kernels.Frame.NavCam, Method = "ELLIPSOID", Aberration = "NONE", Fovy = 5.00, @@ -116,8 +118,8 @@ local Trail67P = { Type = "RenderableTrailTrajectory", Translation = { Type = "SpiceTranslation", - Target = "CHURYUMOV-GERASIMENKO", - Observer = "SSB" + Target = kernels.ID.ChurymovGerasimenko, + Observer = coreKernels.ID.SolarSystemBarycenter }, Color = { 0.1, 0.9, 0.2 }, StartTime = "2014 JAN 01 00:00:00.000", diff --git a/data/assets/scene/solarsystem/missions/rosetta/dashboard.asset b/data/assets/scene/solarsystem/missions/rosetta/dashboard.asset index 04c76ffb27..6091b75d85 100644 --- a/data/assets/scene/solarsystem/missions/rosetta/dashboard.asset +++ b/data/assets/scene/solarsystem/missions/rosetta/dashboard.asset @@ -1,4 +1,5 @@ -asset.require("./rosetta") +local rosetta = asset.require("./rosetta") +local cg = asset.require("./67p") @@ -14,9 +15,9 @@ local Distance = { Identifier = "Rosetta67PDistance", GuiName = "Rosetta 67P Distance", SourceType = "Node", - SourceNodeName = "Rosetta", + SourceNodeName = rosetta.Rosetta.Identifier, DestinationType = "Node", - DestinationNodeName = "67P" + DestinationNodeName = cg.Comet67P.Identifier } local Instruments = { diff --git a/data/assets/scene/solarsystem/missions/rosetta/kernels.asset b/data/assets/scene/solarsystem/missions/rosetta/kernels.asset new file mode 100644 index 0000000000..1c3b9f0f67 --- /dev/null +++ b/data/assets/scene/solarsystem/missions/rosetta/kernels.asset @@ -0,0 +1,80 @@ +local data = asset.resource({ + Name = "Rosetta Kernels", + Type = "HttpSynchronization", + Identifier = "rosetta_kernels", + Version = 1 +}) + + +local Kernels = { + data .. "ROS_160718_STEP.TSC", + data .. "ros_triv.tsc", + + data .. "CORB_DV_243_01___T19_00325.BSP", + data .. "CORB_DV_223_01___T19_00302.BSP", + data .. "CORB_DV_145_01___T19_00216.BSP", + + data .. "LORB_DV_236_01___T19_00318.BSP", + data .. "LORB_DV_223_01___T19_00302.BSP", + data .. "LORB_DV_145_01___T19_00216.BSP", + + data .. "RORB_DV_243_01___T19_00325.BSP", + data .. "RORB_DV_223_01___T19_00302.BSP", + data .. "RORB_DV_145_01___T19_00216.BSP", + + data .. "ATNR_P040302093352_00127.BC", + + data .. "ROS_STRUCT_V5.BSP", + + data .. "ROS_NAVCAM_V01.TI", + + data .. "ROS_CHURYUMOV_V01.TF", + data .. "ROS_V26.TF", + + -- CK + -- Rosetta attitude + data .. "RATT_DV_243_01_01____00325.BC", + data .. "RATT_DV_223_01_01____00302.BC", + data .. "RATT_DV_145_01_01____00216.BC", + + -- Comet attitude + data .. "CATT_DV_243_01_______00325.BC", + data .. "CATT_DV_223_01_______00302.BC", + data .. "CATT_DV_145_01_______00216.BC", + + -- High gain antenna + data .. "ROS_HGA_2016_V0035.BC", + data .. "ROS_HGA_2015_V0053.BC", + data .. "ROS_HGA_2014_V0044.BC", + + -- Solar arrays + data .. "ROS_SA_2016_V0034.BC", + data .. "ROS_SA_2015_V0042.BC", + data .. "ROS_SA_2014_V0047.BC", + + data .. "ROS_CGS_RSOC_V03.TPC" +} + +local ID = { + Rosetta = "ROSETTA", + Philae = "PHILAE", + ChurymovGerasimenko = "CHURYUMOV-GERASIMENKO" +} + +local Frame = { + Rosetta = "ROS_SPACECRAFT", + NavCam = "ROS_NAVCAM-A", + ChurymovGerasimenko = "67P/C-G_CK" +} + + +asset.onInitialize(function() + openspace.spice.loadKernel(Kernels) +end) + +asset.onDeinitialize(function() + openspace.spice.unloadKernel(Kernels) +end) + +asset.export("ID", ID) +asset.export("Frame", Frame) diff --git a/data/assets/scene/solarsystem/missions/rosetta/rosetta.asset b/data/assets/scene/solarsystem/missions/rosetta/rosetta.asset index 9c85324cd9..c2bed9f39b 100644 --- a/data/assets/scene/solarsystem/missions/rosetta/rosetta.asset +++ b/data/assets/scene/solarsystem/missions/rosetta/rosetta.asset @@ -1,6 +1,8 @@ local sun = asset.require("scene/solarsystem/sun/sun") local sunTransforms = asset.require("scene/solarsystem/sun/transforms") local transforms = asset.require("./67p") +local kernels = asset.require("./kernels") +local coreKernels = asset.require("spice/core") @@ -11,63 +13,6 @@ local models = asset.resource({ Version = 5 }) -local kernels = asset.resource({ - Name = "Rosetta Kernels", - Type = "HttpSynchronization", - Identifier = "rosetta_kernels", - Version = 1 -}) - - -local RosettaKernels = { - kernels .. "ROS_160718_STEP.TSC", - kernels .. "ros_triv.tsc", - - kernels .. "CORB_DV_243_01___T19_00325.BSP", - kernels .. "CORB_DV_223_01___T19_00302.BSP", - kernels .. "CORB_DV_145_01___T19_00216.BSP", - - kernels .. "LORB_DV_236_01___T19_00318.BSP", - kernels .. "LORB_DV_223_01___T19_00302.BSP", - kernels .. "LORB_DV_145_01___T19_00216.BSP", - - kernels .. "RORB_DV_243_01___T19_00325.BSP", - kernels .. "RORB_DV_223_01___T19_00302.BSP", - kernels .. "RORB_DV_145_01___T19_00216.BSP", - - kernels .. "ATNR_P040302093352_00127.BC", - - kernels .. "ROS_STRUCT_V5.BSP", - - kernels .. "ROS_NAVCAM_V01.TI", - - kernels .. "ROS_CHURYUMOV_V01.TF", - kernels .. "ROS_V26.TF", - - -- CK - -- Rosetta attitude - kernels .. "RATT_DV_243_01_01____00325.BC", - kernels .. "RATT_DV_223_01_01____00302.BC", - kernels .. "RATT_DV_145_01_01____00216.BC", - - -- Comet attitude - kernels .. "CATT_DV_243_01_______00325.BC", - kernels .. "CATT_DV_223_01_______00302.BC", - kernels .. "CATT_DV_145_01_______00216.BC", - - -- High gain antenna - kernels .. "ROS_HGA_2016_V0035.BC", - kernels .. "ROS_HGA_2015_V0053.BC", - kernels .. "ROS_HGA_2014_V0044.BC", - - -- Solar arrays - kernels .. "ROS_SA_2016_V0034.BC", - kernels .. "ROS_SA_2015_V0042.BC", - kernels .. "ROS_SA_2014_V0047.BC", - - kernels .. "ROS_CGS_RSOC_V03.TPC" -} - local RotationMatrix = { 0, 1, 0, 0, 0, 0, 1, 0, @@ -81,13 +26,13 @@ local RosettaPosition = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "ROSETTA", - Observer = "SSB" + Target = kernels.ID.Rosetta, + Observer = coreKernels.ID.SolarSystemBarycenter }, Rotation = { Type = "SpiceRotation", - SourceFrame = "ROS_SPACECRAFT", - DestinationFrame = "GALACTIC" + SourceFrame = kernels.Frame.Rosetta, + DestinationFrame = coreKernels.Frame.Galactic } }, GUI = { @@ -132,13 +77,13 @@ local PhilaePosition = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "PHILAE", - Observer = "CHURYUMOV-GERASIMENKO" + Target = kernels.ID.Philae, + Observer = kernels.ID.ChurymovGerasimenko }, Rotation = { Type = "SpiceRotation", - SourceFrame = "ROS_SPACECRAFT", - DestinationFrame = "GALACTIC", + SourceFrame = kernels.Frame.Rosetta, + DestinationFrame = coreKernels.Frame.Galactic } }, GUI = { @@ -189,11 +134,11 @@ local NavCamFov = { Parent = NavCam.Identifier, Renderable = { Type = "RenderableFov", - Body = "ROSETTA", - Frame = "ROS_NAVCAM-A", + Body = kernels.ID.Rosetta, + Frame = kernels.Frame.NavCam, RGB = { 0.8, 0.7, 0.7 }, Instrument = { - Name = "ROS_NAVCAM-A", + Name = kernels.Frame.NavCam, Method = "ELLIPSOID", Aberration = "NONE" }, @@ -213,10 +158,10 @@ local ImagePlane = { Parent = transforms.Comet67P.Identifier, Renderable = { Type = "RenderablePlaneProjection", - Frame = "67P/C-G_CK", + Frame = kernels.Frame.ChurymovGerasimenko, DefaultTarget = "CHURYUMOV-GERASIMENKO", - Spacecraft = "ROSETTA", - Instrument = "ROS_NAVCAM-A", + Spacecraft = kernels.ID.Rosetta, + Instrument = kernels.Frame.NavCam, Moving = false, Texture = models .. "defaultProj.png" }, @@ -233,8 +178,8 @@ local RosettaCometTrail = { Type = "RenderableTrailTrajectory", Translation = { Type = "SpiceTranslation", - Target = "ROSETTA", - Observer = "CHURYUMOV-GERASIMENKO" + Target = kernels.ID.Rosetta, + Observer = kernels.ID.ChurymovGerasimenko }, Color = { 0.288, 0.375, 0.934 }, StartTime = "2014 AUG 01 12:00:00", @@ -254,8 +199,8 @@ local PhilaeTrail = { Type = "RenderableTrailTrajectory", Translation = { Type = "SpiceTranslation", - Target = "PHILAE", - Observer = "CHURYUMOV-GERASIMENKO" + Target = kernels.ID.Philae, + Observer = kernels.ID.ChurymovGerasimenko }, Color = { 0.8, 0.5, 1.0 }, StartTime = "2014 NOV 12 08:35:00", @@ -322,8 +267,6 @@ local TogglePhilaeTrail = { asset.onInitialize(function() - openspace.spice.loadKernel(RosettaKernels) - openspace.addSceneGraphNode(RosettaPosition) openspace.addSceneGraphNode(Rosetta) openspace.addSceneGraphNode(PhilaePosition) @@ -355,8 +298,6 @@ asset.onDeinitialize(function() openspace.removeSceneGraphNode(PhilaePosition) openspace.removeSceneGraphNode(Rosetta) openspace.removeSceneGraphNode(RosettaPosition) - - openspace.spice.unloadKernel(RosettaKernels) end) asset.export(RosettaPosition) diff --git a/data/assets/scene/solarsystem/missions/voyager/dashboard.asset b/data/assets/scene/solarsystem/missions/voyager/dashboard.asset index 45307f17fc..64ab43fa87 100644 --- a/data/assets/scene/solarsystem/missions/voyager/dashboard.asset +++ b/data/assets/scene/solarsystem/missions/voyager/dashboard.asset @@ -1,11 +1,16 @@ +local voyager1 = asset.require("./voyager1") +local voyager2 = asset.require("./voyager2") +local earth = asset.require("scene/solarsystem/planets/earth/earth") + + local DistanceVoyager1 = { Type = "DashboardItemDistance", Identifier = "Voyager1Distance", GuiName = "Voyager 1 - Earth Distance", SourceType = "Node", - SourceNodeName = "Voyager_1", + SourceNodeName = voyager1.Voyager_1.Identifier, DestinationType = "Node", - DestinationNodeName = "Earth", + DestinationNodeName = earth.Earth.Identifier, Enabled = asset.enabled } @@ -14,9 +19,9 @@ local DistanceVoyager2 = { Identifier = "Voyager2Distance", GuiName = "Voyager 2 - Earth Distance", SourceType = "Node", - SourceNodeName = "Voyager_2", + SourceNodeName = voyager2.Voyager_2.Identifier, DestinationType = "Node", - DestinationNodeName = "Earth", + DestinationNodeName = earth.Earth.Identifier, Enabled = asset.enabled } diff --git a/data/assets/scene/solarsystem/missions/voyager/voyager1.asset b/data/assets/scene/solarsystem/missions/voyager/voyager1.asset index e9325eb7a9..0fafe2af1d 100644 --- a/data/assets/scene/solarsystem/missions/voyager/voyager1.asset +++ b/data/assets/scene/solarsystem/missions/voyager/voyager1.asset @@ -1,5 +1,6 @@ local sun = asset.require("scene/solarsystem/sun/sun") local sunTransforms = asset.require("scene/solarsystem/sun/transforms") +local coreKernels = asset.require("spice/core") @@ -49,7 +50,7 @@ local Voyager1 = { Rotation = { Type = "SpiceRotation", SourceFrame = "VG1_SC_BUS", - DestinationFrame = "GALACTIC", + DestinationFrame = coreKernels.Frame.Galactic, TimeFrame = { Type = "TimeFrameInterval", Start = "1977-SEP-05 14:10:11.786", @@ -124,7 +125,7 @@ local VoyagerTrailCruiseEarthJupiter = { Translation = { Type = "SpiceTranslation", Target = "VOYAGER 1", - Observer = "SSB" + Observer = coreKernels.ID.SolarSystemBarycenter }, Color = { 0.70, 0.50, 0.20 }, StartTime = "1977 SEP 05", @@ -148,7 +149,7 @@ local VoyagerTrailEncounterJupiter = { Translation = { Type = "SpiceTranslation", Target = "VOYAGER 1", - Observer = "SSB" + Observer = coreKernels.ID.SolarSystemBarycenter }, Color = { 0.70, 0.50, 0.20 }, EnableFade = false, @@ -173,7 +174,7 @@ local VoyagerTrailCruiseJupiterSaturn = { Translation = { Type = "SpiceTranslation", Target = "VOYAGER 1", - Observer = "SSB" + Observer = coreKernels.ID.SolarSystemBarycenter }, EnableFade = false, Color = { 0.70, 0.50, 0.20 }, @@ -198,7 +199,7 @@ local VoyagerTrailEncounterSaturn = { Translation = { Type = "SpiceTranslation", Target = "VOYAGER 1", - Observer = "SSB" + Observer = coreKernels.ID.SolarSystemBarycenter }, EnableFade = false, Color = { 0.70, 0.50, 0.20 }, @@ -223,7 +224,7 @@ local VoyagerTrailCruiseSaturnInf = { Translation = { Type = "SpiceTranslation", Target = "VOYAGER 1", - Observer = "SSB" + Observer = coreKernels.ID.SolarSystemBarycenter }, EnableFade = false, Color = { 0.70, 0.50, 0.20 }, diff --git a/data/assets/scene/solarsystem/planets/earth/eclipse_shadow.asset b/data/assets/scene/solarsystem/planets/earth/eclipse_shadow.asset index a3ea5e0a1d..f417d60f6c 100644 --- a/data/assets/scene/solarsystem/planets/earth/eclipse_shadow.asset +++ b/data/assets/scene/solarsystem/planets/earth/eclipse_shadow.asset @@ -1,4 +1,5 @@ local transforms = asset.require("scene/solarsystem/planets/earth/moon/moon") +local coreKernels = asset.require("spice/core") local EarthMoonShadow = { Identifier = "EarthMoonShadow", @@ -9,11 +10,11 @@ local EarthMoonShadow = { ShadowLength = 1.0, UmbralShadowColor = { 0.85, 1.0, 1.0, 0.20 }, PenumbralShadowColor = { 0.35, 0.35, 0.35, 0.29 }, - LightSource = "SUN", - LightSourceFrame = "IAU_SUN", - Shadower = "MOON", - ShadowerFrame = "IAU_MOON", - Shadowee = "EARTH" + LightSource = coreKernels.ID.Sun, + LightSourceFrame = coreKernels.Frame.Sun, + Shadower = coreKernels.ID.Moon, + ShadowerFrame = coreKernels.Frame.Moon, + Shadowee = coreKernels.ID.Earth }, GUI = { Name = "Earth/Moon Shadow", diff --git a/data/assets/scene/solarsystem/planets/earth/grids.asset b/data/assets/scene/solarsystem/planets/earth/grids.asset index 86f1a74494..18ba878fa2 100644 --- a/data/assets/scene/solarsystem/planets/earth/grids.asset +++ b/data/assets/scene/solarsystem/planets/earth/grids.asset @@ -1,4 +1,5 @@ local transforms = asset.require("./transforms") +local coreKernels = asset.require("spice/core") @@ -20,8 +21,8 @@ local plane1lsec = { }, Translation = { Type = "SpiceTranslation", - Target = "EARTH BARYCENTER", - Observer = "SSB" + Target = coreKernels.ID.EarthBarycenter, + Observer = coreKernels.ID.SolarSystemBarycenter } }, Renderable = { @@ -48,8 +49,8 @@ local plane1lmin = { }, Translation = { Type = "SpiceTranslation", - Target = "EARTH BARYCENTER", - Observer = "SSB" + Target = coreKernels.ID.EarthBarycenter, + Observer = coreKernels.ID.SolarSystemBarycenter } }, Renderable = { diff --git a/data/assets/scene/solarsystem/planets/earth/lagrange_points/l1.asset b/data/assets/scene/solarsystem/planets/earth/lagrange_points/l1.asset index d558c956f5..c70f723fb6 100644 --- a/data/assets/scene/solarsystem/planets/earth/lagrange_points/l1.asset +++ b/data/assets/scene/solarsystem/planets/earth/lagrange_points/l1.asset @@ -1,5 +1,5 @@ -asset.require("spice/base") local transforms = asset.require("scene/solarsystem/sun/transforms") +local coreKernels = asset.require("spice/core") @@ -18,7 +18,9 @@ local kernels = asset.resource({ }) -local L1 = 391 +local ID = { + L1 = 391 +} local L1Position = { Identifier = "L1Position", @@ -26,8 +28,8 @@ local L1Position = { Transform = { Translation = { Type = "SpiceTranslation", - Target = L1, - Observer = "SSB" + Target = ID.L1, + Observer = coreKernels.ID.SolarSystemBarycenter } }, Tag = { "lagrange_points_earth" , "lagrange_points_earth_l1" }, @@ -93,6 +95,7 @@ asset.onDeinitialize(function() openspace.spice.unloadKernel(kernels .. "L1_de431.bsp") end) +asset.export("ID", ID) asset.export(L1Position) asset.export(L1) asset.export(L1Label) diff --git a/data/assets/scene/solarsystem/planets/earth/lagrange_points/l2.asset b/data/assets/scene/solarsystem/planets/earth/lagrange_points/l2.asset index d819543680..cf970ed160 100644 --- a/data/assets/scene/solarsystem/planets/earth/lagrange_points/l2.asset +++ b/data/assets/scene/solarsystem/planets/earth/lagrange_points/l2.asset @@ -1,6 +1,6 @@ -asset.require("scene/solarsystem/sun/sun") -asset.require("spice/base") +local sun = asset.require("scene/solarsystem/sun/sun") local transforms = asset.require("scene/solarsystem/sun/transforms") +local coreKernels = asset.require("spice/core") @@ -19,7 +19,13 @@ local kernels = asset.resource({ }) -local L2 = 392 +local ID = { + L2 = 392 +} + +local Frame = { + L2Corevolving = "L2_COREV" +} local L2Position = { Identifier = "L2Position", @@ -27,8 +33,8 @@ local L2Position = { Transform = { Translation = { Type = "SpiceTranslation", - Target = L2, - Observer = "SSB" + Target = ID.L2, + Observer = coreKernels.ID.SolarSystemBarycenter } }, Tag = { "lagrange_points_earth", "lagrange_points_earth_l2" }, @@ -47,8 +53,8 @@ local L2CoRevFrame = { Transform = { Rotation = { Type = "SpiceRotation", - SourceFrame = "L2_COREV", - DestinationFrame = "GALACTIC" + SourceFrame = Frame.L2Corevolving, + DestinationFrame = coreKernels.Frame.Galactic } }, Tag = { "lagrange_points_earth", "lagrange_points_earth_l2" }, @@ -140,8 +146,8 @@ local L2SunLine = { Parent = transforms.SolarSystemBarycenter.Identifier, Renderable = { Type = "RenderableNodeLine", - StartNode = "Sun", - EndNode = "L2Small", + StartNode = sun.Sun.Identifier, + EndNode = L2Small.Identifier, Color = { 0.5, 0.5, 0.5 }, LineWidth = 2 }, @@ -179,6 +185,8 @@ asset.onDeinitialize(function() openspace.spice.unloadKernel(kernels .. "L2_de431.bsp") end) +asset.export("ID", ID) +asset.export("Frame", Frame) asset.export(L2Position) asset.export(L2CoRevFrame) asset.export(L2Small) diff --git a/data/assets/scene/solarsystem/planets/earth/lagrange_points/l4.asset b/data/assets/scene/solarsystem/planets/earth/lagrange_points/l4.asset index 6ac6259cf5..674ab5d5df 100644 --- a/data/assets/scene/solarsystem/planets/earth/lagrange_points/l4.asset +++ b/data/assets/scene/solarsystem/planets/earth/lagrange_points/l4.asset @@ -1,5 +1,5 @@ -asset.require("spice/base") local transforms = asset.require("scene/solarsystem/sun/transforms") +local coreKernels = asset.require("spice/core") @@ -18,7 +18,9 @@ local kernels = asset.resource({ }) -local L4 = 394 +local ID = { + L4 = 394 +} local L4Position = { Identifier = "L4Position", @@ -26,8 +28,8 @@ local L4Position = { Transform = { Translation = { Type = "SpiceTranslation", - Target = L4, - Observer = "SSB" + Target = ID.L4, + Observer = coreKernels.ID.SolarSystemBarycenter } }, Tag = { "lagrange_points_earth", "lagrange_points_earth_l4" }, @@ -77,6 +79,7 @@ local L4Label = { } + asset.onInitialize(function() openspace.spice.loadKernel(kernels .. "L4_de431.bsp") @@ -93,6 +96,7 @@ asset.onDeinitialize(function() openspace.spice.unloadKernel(kernels .. "L4_de431.bsp") end) +asset.export("ID", ID) asset.export(L4Position) asset.export(L4) asset.export(L4Label) diff --git a/data/assets/scene/solarsystem/planets/earth/lagrange_points/l5.asset b/data/assets/scene/solarsystem/planets/earth/lagrange_points/l5.asset index 952e5efe30..6ccb055f41 100644 --- a/data/assets/scene/solarsystem/planets/earth/lagrange_points/l5.asset +++ b/data/assets/scene/solarsystem/planets/earth/lagrange_points/l5.asset @@ -1,5 +1,5 @@ -asset.require("spice/base") local transforms = asset.require("scene/solarsystem/sun/transforms") +local coreKernels = asset.require("spice/core") @@ -18,7 +18,9 @@ local kernels = asset.resource({ }) -local L5 = 395 +local ID = { + L5 = 395 +} local L5Position = { Identifier = "L5Position", @@ -26,8 +28,8 @@ local L5Position = { Transform = { Translation = { Type = "SpiceTranslation", - Target = L5, - Observer = "SSB" + Target = ID.L5, + Observer = coreKernels.ID.SolarSystemBarycenter } }, Tag = { "lagrange_points_earth", "lagrange_points_earth_l5" }, @@ -77,6 +79,7 @@ local L5Label = { } + asset.onInitialize(function() openspace.spice.loadKernel(kernels .. "L5_de431.bsp") @@ -93,6 +96,7 @@ asset.onDeinitialize(function() openspace.spice.unloadKernel(kernels .. "L5_de431.bsp") end) +asset.export("ID", ID) asset.export(L5Position) asset.export(L5) asset.export(L5Label) diff --git a/data/assets/scene/solarsystem/planets/earth/magnetosphere/transforms_magnetosphere.asset b/data/assets/scene/solarsystem/planets/earth/magnetosphere/transforms_magnetosphere.asset index d13e5aed46..d9c1f670df 100644 --- a/data/assets/scene/solarsystem/planets/earth/magnetosphere/transforms_magnetosphere.asset +++ b/data/assets/scene/solarsystem/planets/earth/magnetosphere/transforms_magnetosphere.asset @@ -1,18 +1,22 @@ local transforms = asset.require("scene/solarsystem/planets/earth/transforms") -asset.require("spice/base") +local coreKernels = asset.require("spice/core") local GSMKernel = asset.resource("../kernels/GSM.ti") +local Frame = { + GSM = "GSM" -- Geocentric Solar Magnetospheric +} + local GSMReferenceFrame = { Identifier = "GSMReferenceFrame", Parent = transforms.EarthCenter.Identifier, Transform = { Rotation = { Type = "SpiceRotation", - SourceFrame = "GSM", -- Geocentric Solar Magnetospheric - DestinationFrame = "GALACTIC" + SourceFrame = Frame.GSM, + DestinationFrame = coreKernels.Frame.Galactic } }, GUI = { @@ -35,6 +39,7 @@ asset.onDeinitialize(function() openspace.spice.unloadKernel(GSMKernel) end) +asset.export("Frame", Frame) asset.export(GSMReferenceFrame) diff --git a/data/assets/scene/solarsystem/planets/earth/moon/moon.asset b/data/assets/scene/solarsystem/planets/earth/moon/moon.asset index a2a23e1dff..f3955832e8 100644 --- a/data/assets/scene/solarsystem/planets/earth/moon/moon.asset +++ b/data/assets/scene/solarsystem/planets/earth/moon/moon.asset @@ -1,7 +1,7 @@ -asset.require("spice/base") local transforms = asset.require("scene/solarsystem/planets/earth/transforms") local sunAsset = asset.require("scene/solarsystem/sun/sun") local earthAsset = asset.require("../earth") +local coreKernels = asset.require("spice/core") @@ -19,13 +19,13 @@ local Moon = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "MOON", - Observer = "EARTH BARYCENTER" + Target = coreKernels.ID.Moon, + Observer = coreKernels.ID.EarthBarycenter }, Rotation = { Type = "SpiceRotation", - SourceFrame = "IAU_MOON", - DestinationFrame = "GALACTIC" + SourceFrame = coreKernels.Frame.Moon, + DestinationFrame = coreKernels.Frame.Galactic } }, Renderable = { diff --git a/data/assets/scene/solarsystem/planets/earth/moon/trail.asset b/data/assets/scene/solarsystem/planets/earth/moon/trail.asset index ae4011265d..0291bc7a0a 100644 --- a/data/assets/scene/solarsystem/planets/earth/moon/trail.asset +++ b/data/assets/scene/solarsystem/planets/earth/moon/trail.asset @@ -1,5 +1,5 @@ -asset.require("spice/base") local transforms = asset.require("../transforms") +local coreKernels = asset.require("spice/core") @@ -10,8 +10,8 @@ local MoonTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "MOON", - Observer = "EARTH BARYCENTER" + Target = coreKernels.ID.Moon, + Observer = coreKernels.ID.EarthBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 27, @@ -40,8 +40,7 @@ asset.export(MoonTrail) asset.meta = { Name = "Moon Trail", Version = "1.1", - Description = [[Moon Trail - This asset contains the trail of the Moon. Data from NASA - Spice (see base spice asset)]], + Description = "Moon Trail - This asset contains the trail of the Moon", Author = "OpenSpace Team", URL = "http://openspaceproject.com", License = "MIT license" diff --git a/data/assets/scene/solarsystem/planets/earth/satellites/misc/hubble_trail.asset b/data/assets/scene/solarsystem/planets/earth/satellites/misc/hubble_trail.asset index 8b7afd1918..c4e7f9870c 100644 --- a/data/assets/scene/solarsystem/planets/earth/satellites/misc/hubble_trail.asset +++ b/data/assets/scene/solarsystem/planets/earth/satellites/misc/hubble_trail.asset @@ -1,4 +1,5 @@ local transforms = asset.require("scene/solarsystem/planets/earth/transforms") +local coreKernels = asset.require("spice/core") @@ -24,8 +25,8 @@ local HubblePosition = { }, Rotation = { Type = "SpiceRotation", - SourceFrame = "GALACTIC", - DestinationFrame = "J2000" + SourceFrame = coreKernels.Frame.Galactic, + DestinationFrame = coreKernels.Frame.J2000 } }, Tag = { "earth_satellite", "hubble" }, diff --git a/data/assets/scene/solarsystem/planets/earth/satellites/misc/iss.asset b/data/assets/scene/solarsystem/planets/earth/satellites/misc/iss.asset index 440486aaad..f6a5d79657 100644 --- a/data/assets/scene/solarsystem/planets/earth/satellites/misc/iss.asset +++ b/data/assets/scene/solarsystem/planets/earth/satellites/misc/iss.asset @@ -1,5 +1,6 @@ local transforms = asset.require("scene/solarsystem/planets/earth/transforms") local sun = asset.require("scene/solarsystem/sun/sun") +local coreKernels = asset.require("spice/core") @@ -33,8 +34,8 @@ local IssPosition = { }, Rotation = { Type = "SpiceRotation", - SourceFrame = "GALACTIC", - DestinationFrame = "J2000" + SourceFrame = coreKernels.Frame.Galactic, + DestinationFrame = coreKernels.Frame.J2000 } }, Tag = { "earth_satellite", "ISS" }, diff --git a/data/assets/scene/solarsystem/planets/earth/satellites/weather/aqua.asset b/data/assets/scene/solarsystem/planets/earth/satellites/weather/aqua.asset index 864ab19e77..4f83510772 100644 --- a/data/assets/scene/solarsystem/planets/earth/satellites/weather/aqua.asset +++ b/data/assets/scene/solarsystem/planets/earth/satellites/weather/aqua.asset @@ -1,4 +1,5 @@ local transforms = asset.require("scene/solarsystem/planets/earth/transforms") +local coreKernels = asset.require("spice/core") @@ -25,8 +26,8 @@ local Aqua = { }, Rotation = { Type = "SpiceRotation", - SourceFrame = "GALACTIC", - DestinationFrame = "J2000" + SourceFrame = coreKernels.Frame.Galactic, + DestinationFrame = coreKernels.Frame.J2000 } }, Tag = { "earth_satellite", "Aqua" }, diff --git a/data/assets/scene/solarsystem/planets/earth/satellites/weather/snpp.asset b/data/assets/scene/solarsystem/planets/earth/satellites/weather/snpp.asset index 4c0c6262b6..db49be9f8c 100644 --- a/data/assets/scene/solarsystem/planets/earth/satellites/weather/snpp.asset +++ b/data/assets/scene/solarsystem/planets/earth/satellites/weather/snpp.asset @@ -1,4 +1,5 @@ local transforms = asset.require("scene/solarsystem/planets/earth/transforms") +local coreKernels = asset.require("spice/core") @@ -25,8 +26,8 @@ local SNPP = { }, Rotation = { Type = "SpiceRotation", - SourceFrame = "GALACTIC", - DestinationFrame = "J2000" + SourceFrame = coreKernels.Frame.Galactic, + DestinationFrame = coreKernels.Frame.J2000 } }, Tag = { "earth_satellite", "SNPP" }, diff --git a/data/assets/scene/solarsystem/planets/earth/satellites/weather/terra.asset b/data/assets/scene/solarsystem/planets/earth/satellites/weather/terra.asset index 25c4cfee6c..ce5b6c02cf 100644 --- a/data/assets/scene/solarsystem/planets/earth/satellites/weather/terra.asset +++ b/data/assets/scene/solarsystem/planets/earth/satellites/weather/terra.asset @@ -1,4 +1,5 @@ local transforms = asset.require("scene/solarsystem/planets/earth/transforms") +local coreKernels = asset.require("spice/core") @@ -25,8 +26,8 @@ local Terra = { }, Rotation = { Type = "SpiceRotation", - SourceFrame = "GALACTIC", - DestinationFrame = "J2000" + SourceFrame = coreKernels.Frame.Galactic, + DestinationFrame = coreKernels.Frame.J2000 } }, Tag = { "earth_satellite", "Terra" }, diff --git a/data/assets/scene/solarsystem/planets/earth/trail.asset b/data/assets/scene/solarsystem/planets/earth/trail.asset index 2b1951f8d8..8d024b1124 100644 --- a/data/assets/scene/solarsystem/planets/earth/trail.asset +++ b/data/assets/scene/solarsystem/planets/earth/trail.asset @@ -1,5 +1,5 @@ -asset.require("spice/base") local transforms = asset.require("scene/solarsystem/sun/transforms") +local coreKernels = asset.require("spice/core") @@ -10,8 +10,8 @@ local EarthTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "EARTH", - Observer = "SSB" + Target = coreKernels.ID.Earth, + Observer = coreKernels.ID.SolarSystemBarycenter }, Color = { 0.5, 0.8, 1.0 }, Period = 365.242, @@ -40,8 +40,7 @@ asset.export(EarthTrail) asset.meta = { Name = "Earth Trail", Version = "1.1", - Description = [[Trail of Earth as observed by the Sun. Data from NASA Spice (see base - spice asset)]], + Description = "Trail of Earth as observed by the Sun", Author = "OpenSpace Team", URL = "http://openspaceproject.com", License = "MIT license" diff --git a/data/assets/scene/solarsystem/planets/earth/trail_barycenter.asset b/data/assets/scene/solarsystem/planets/earth/trail_barycenter.asset index 9f02fd484a..04377f7598 100644 --- a/data/assets/scene/solarsystem/planets/earth/trail_barycenter.asset +++ b/data/assets/scene/solarsystem/planets/earth/trail_barycenter.asset @@ -1,5 +1,5 @@ -asset.require("spice/base") local transforms = asset.require("scene/solarsystem/sun/transforms") +local coreKernels = asset.require("spice/core") @@ -11,8 +11,8 @@ local EarthBarycenterTrail = { Enabled = false, Translation = { Type = "SpiceTranslation", - Target = "EARTH BARYCENTER", - Observer = "SSB" + Target = coreKernels.ID.EarthBarycenter, + Observer = coreKernels.ID.SolarSystemBarycenter }, Color = { 0.5, 0.8, 1.0 }, Period = 365.242, @@ -41,8 +41,7 @@ asset.export(EarthBarycenterTrail) asset.meta = { Name = "Earth Trail", Version = "1.1", - Description = [[Trail of Earth's Barycenter as observed by the Sun. Data from NASA Spice - (see base spice asset)]], + Description = "Trail of Earth's Barycenter as observed by the Sun", Author = "OpenSpace Team", URL = "http://openspaceproject.com", License = "MIT license" diff --git a/data/assets/scene/solarsystem/planets/earth/transforms.asset b/data/assets/scene/solarsystem/planets/earth/transforms.asset index 67a91464ab..364bf7ffe9 100644 --- a/data/assets/scene/solarsystem/planets/earth/transforms.asset +++ b/data/assets/scene/solarsystem/planets/earth/transforms.asset @@ -1,5 +1,5 @@ -asset.require("spice/base") local transforms = asset.require("scene/solarsystem/sun/transforms") +local coreKernels = asset.require("spice/core") @@ -9,8 +9,8 @@ local EarthBarycenter = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "EARTH BARYCENTER", - Observer = "SSB" + Target = coreKernels.ID.EarthBarycenter, + Observer = coreKernels.ID.SolarSystemBarycenter } }, GUI = { @@ -26,8 +26,8 @@ local EarthCenter = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "EARTH", - Observer = "EARTH BARYCENTER" + Target = coreKernels.ID.Earth, + Observer = coreKernels.ID.EarthBarycenter } }, GUI = { @@ -44,8 +44,8 @@ local EarthInertial = { Transform = { Rotation = { Type = "SpiceRotation", - SourceFrame = "J2000", - DestinationFrame = "GALACTIC", + SourceFrame = coreKernels.Frame.J2000, + DestinationFrame = coreKernels.Frame.Galactic } }, GUI = { @@ -61,8 +61,8 @@ local EarthIAU = { Transform = { Rotation = { Type = "SpiceRotation", - SourceFrame = "IAU_EARTH", - DestinationFrame = "GALACTIC", + SourceFrame = coreKernels.Frame.Earth, + DestinationFrame = coreKernels.Frame.Galactic } }, GUI = { diff --git a/data/assets/scene/solarsystem/planets/jupiter/callisto/callisto.asset b/data/assets/scene/solarsystem/planets/jupiter/callisto/callisto.asset index c51afd21a6..a355ce50a9 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/callisto/callisto.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/callisto/callisto.asset @@ -1,7 +1,7 @@ -asset.require("spice/base") asset.require("./trail") local transforms = asset.require("../transforms") -local kernel = asset.require("../kernels") +local kernels = asset.require("../kernels") +local coreKernels = asset.require("spice/core") @@ -17,15 +17,15 @@ local Callisto = { Identifier = "Callisto", Parent = transforms.JupiterBarycenter.Identifier, Transform = { - Rotation = { - Type = "SpiceRotation", - SourceFrame = "IAU_CALLISTO", - DestinationFrame = "GALACTIC" - }, Translation = { Type = "SpiceTranslation", - Target = "CALLISTO", - Observer = "JUPITER BARYCENTER" + Target = kernels.ID.Callisto, + Observer = coreKernels.ID.JupiterBarycenter + }, + Rotation = { + Type = "SpiceRotation", + SourceFrame = coreKernels.Frame.Callisto, + DestinationFrame = coreKernels.Frame.Galactic } }, Renderable = { @@ -80,8 +80,6 @@ local CallistoLabel = { asset.onInitialize(function() - openspace.spice.loadKernel(kernel.jup365) - openspace.addSceneGraphNode(Callisto) openspace.addSceneGraphNode(CallistoLabel) end) @@ -89,8 +87,6 @@ end) asset.onDeinitialize(function() openspace.removeSceneGraphNode(CallistoLabel) openspace.removeSceneGraphNode(Callisto) - - openspace.spice.unloadKernel(kernel.jup365) end) asset.export(Callisto) diff --git a/data/assets/scene/solarsystem/planets/jupiter/callisto/trail.asset b/data/assets/scene/solarsystem/planets/jupiter/callisto/trail.asset index 472933bf3f..fe613e3c0d 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/callisto/trail.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/callisto/trail.asset @@ -1,6 +1,6 @@ -asset.require("spice/base") local transforms = asset.require("../transforms") -local kernel = asset.require("../kernels") +local kernels = asset.require("../kernels") +local coreKernels = asset.require("spice/core") @@ -11,8 +11,8 @@ local CallistoTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "CALLISTO", - Observer = "JUPITER BARYCENTER" + Target = kernels.ID.Callisto, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 17.0, @@ -27,15 +27,11 @@ local CallistoTrail = { asset.onInitialize(function() - openspace.spice.loadKernel(kernel.jup365) - openspace.addSceneGraphNode(CallistoTrail) end) asset.onDeinitialize(function() openspace.removeSceneGraphNode(CallistoTrail) - - openspace.spice.unloadKernel(kernel.jup365) end) asset.export(CallistoTrail) @@ -45,8 +41,7 @@ asset.export(CallistoTrail) asset.meta = { Name = "Callisto Trail", Version = "1.1", - Description = [[Trail of Callisto as observed by the Jupiter. Data from NASA Spice - (see base spice asset)]], + Description = "Trail of Callisto as observed by the Jupiter", Author = "OpenSpace Team", URL = "http://openspaceproject.com", License = "MIT license" diff --git a/data/assets/scene/solarsystem/planets/jupiter/europa/europa.asset b/data/assets/scene/solarsystem/planets/jupiter/europa/europa.asset index 15911782d0..308d81031f 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/europa/europa.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/europa/europa.asset @@ -1,7 +1,7 @@ -asset.require("spice/base") asset.require("./trail") local transforms = asset.require("../transforms") -local kernel = asset.require("../kernels") +local kernels = asset.require("../kernels") +local coreKernels = asset.require("spice/core") @@ -17,15 +17,15 @@ local Europa = { Identifier = "Europa", Parent = transforms.JupiterBarycenter.Identifier, Transform = { - Rotation = { - Type = "SpiceRotation", - SourceFrame = "IAU_EUROPA", - DestinationFrame = "GALACTIC" - }, Translation = { Type = "SpiceTranslation", - Target = "EUROPA", - Observer = "JUPITER BARYCENTER" + Target = kernels.ID.Europa, + Observer = coreKernels.ID.JupiterBarycenter + }, + Rotation = { + Type = "SpiceRotation", + SourceFrame = kernels.Frame.Europa, + DestinationFrame = coreKernels.Frame.Galactic } }, Renderable = { @@ -79,8 +79,6 @@ local EuropaLabel = { asset.onInitialize(function() - openspace.spice.loadKernel(kernel.jup365) - openspace.addSceneGraphNode(Europa) openspace.addSceneGraphNode(EuropaLabel) end) @@ -88,8 +86,6 @@ end) asset.onDeinitialize(function() openspace.removeSceneGraphNode(EuropaLabel) openspace.removeSceneGraphNode(Europa) - - openspace.spice.unloadKernel(kernel.jup365) end) asset.export(Europa) diff --git a/data/assets/scene/solarsystem/planets/jupiter/europa/trail.asset b/data/assets/scene/solarsystem/planets/jupiter/europa/trail.asset index e2288b8bf6..f6e9e6033e 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/europa/trail.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/europa/trail.asset @@ -1,6 +1,6 @@ -asset.require("spice/base") local transforms = asset.require("../transforms") -local kernel = asset.require("../kernels") +local kernels = asset.require("../kernels") +local coreKernels = asset.require("spice/core") @@ -11,8 +11,8 @@ local EuropaTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "EUROPA", - Observer = "JUPITER BARYCENTER" + Target = kernels.ID.Europa, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 85.0 / 24.0, @@ -27,15 +27,11 @@ local EuropaTrail = { asset.onInitialize(function() - openspace.spice.loadKernel(kernel.jup365) - openspace.addSceneGraphNode(EuropaTrail) end) asset.onDeinitialize(function() openspace.removeSceneGraphNode(EuropaTrail) - - openspace.spice.unloadKernel(kernel.jup365) end) asset.export(EuropaTrail) @@ -45,8 +41,7 @@ asset.export(EuropaTrail) asset.meta = { Name = "Europa Trail", Version = "1.1", - Description = [[Trail of Europa as observed by the Jupiter. Data from NASA Spice (see - base spice asset)]], + Description = "Trail of Europa as observed by the Jupiter", Author = "OpenSpace Team", URL = "http://openspaceproject.com", License = "MIT license" diff --git a/data/assets/scene/solarsystem/planets/jupiter/ganymede/ganymede.asset b/data/assets/scene/solarsystem/planets/jupiter/ganymede/ganymede.asset index be7996b5d7..1affabb3aa 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/ganymede/ganymede.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/ganymede/ganymede.asset @@ -1,7 +1,7 @@ -asset.require("spice/base") asset.require("./trail") local transforms = asset.require("../transforms") -local kernel = asset.require("../kernels") +local kernels = asset.require("../kernels") +local coreKernels = asset.require("spice/core") @@ -17,15 +17,15 @@ local Ganymede = { Identifier = "Ganymede", Parent = transforms.JupiterBarycenter.Identifier, Transform = { - Rotation = { - Type = "SpiceRotation", - SourceFrame = "IAU_GANYMEDE", - DestinationFrame = "GALACTIC" - }, Translation = { Type = "SpiceTranslation", - Target = "GANYMEDE", - Observer = "JUPITER BARYCENTER" + Target = kernels.ID.Ganymede, + Observer = coreKernels.ID.JupiterBarycenter + }, + Rotation = { + Type = "SpiceRotation", + SourceFrame = kernels.Frame.Ganymede, + DestinationFrame = coreKernels.Frame.Galactic } }, Renderable = { @@ -79,8 +79,6 @@ local GanymedeLabel = { asset.onInitialize(function() - openspace.spice.loadKernel(kernel.jup365) - openspace.addSceneGraphNode(Ganymede) openspace.addSceneGraphNode(GanymedeLabel) end) @@ -88,8 +86,6 @@ end) asset.onDeinitialize(function() openspace.removeSceneGraphNode(GanymedeLabel) openspace.removeSceneGraphNode(Ganymede) - - openspace.spice.unloadKernel(kernel.jup365) end) asset.export(Ganymede) diff --git a/data/assets/scene/solarsystem/planets/jupiter/ganymede/trail.asset b/data/assets/scene/solarsystem/planets/jupiter/ganymede/trail.asset index 24f9d1e486..42e92748c1 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/ganymede/trail.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/ganymede/trail.asset @@ -1,6 +1,6 @@ -asset.require("spice/base") local transforms = asset.require("../transforms") -local kernel = asset.require("../kernels") +local kernels = asset.require("../kernels") +local coreKernels = asset.require("spice/core") @@ -11,8 +11,8 @@ local GanymedeTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "GANYMEDE", - Observer = "JUPITER BARYCENTER" + Target = kernels.ID.Ganymede, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.3 }, Period = 172.0 / 24.0, @@ -27,15 +27,11 @@ local GanymedeTrail = { asset.onInitialize(function() - openspace.spice.loadKernel(kernel.jup365) - openspace.addSceneGraphNode(GanymedeTrail) end) asset.onDeinitialize(function() openspace.removeSceneGraphNode(GanymedeTrail) - - openspace.spice.unloadKernel(kernel.jup365) end) asset.export(GanymedeTrail) @@ -45,8 +41,7 @@ asset.export(GanymedeTrail) asset.meta = { Name = "Ganymede Trail", Version = "1.1", - Description = [[Trail of Ganymede as observed by the Jupiter. Data from NASA Spice - (see base spice asset)]], + Description = "Trail of Ganymede as observed by the Jupiter", Author = "OpenSpace Team", URL = "http://openspaceproject.com", License = "MIT license" diff --git a/data/assets/scene/solarsystem/planets/jupiter/io/io.asset b/data/assets/scene/solarsystem/planets/jupiter/io/io.asset index 5f93bba501..a30db8cfe7 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/io/io.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/io/io.asset @@ -1,7 +1,7 @@ -asset.require("spice/base") asset.require("./trail") local transforms = asset.require("../transforms") -local kernel = asset.require("../kernels") +local kernels = asset.require("../kernels") +local coreKernels = asset.require("spice/core") @@ -19,13 +19,13 @@ local Io = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "IO", - Observer = "JUPITER BARYCENTER" + Target = kernels.ID.Io, + Observer = coreKernels.ID.JupiterBarycenter }, Rotation = { Type = "SpiceRotation", - SourceFrame = "IAU_IO", - DestinationFrame = "GALACTIC" + SourceFrame = kernels.Frame.Io, + DestinationFrame = coreKernels.Frame.Galactic } }, Renderable = { @@ -79,8 +79,6 @@ local IoLabel = { asset.onInitialize(function() - openspace.spice.loadKernel(kernel.jup365) - openspace.addSceneGraphNode(Io) openspace.addSceneGraphNode(IoLabel) end) @@ -88,8 +86,6 @@ end) asset.onDeinitialize(function() openspace.removeSceneGraphNode(IoLabel) openspace.removeSceneGraphNode(Io) - - openspace.spice.unloadKernel(kernel.jup365) end) asset.export(Io) diff --git a/data/assets/scene/solarsystem/planets/jupiter/io/trail.asset b/data/assets/scene/solarsystem/planets/jupiter/io/trail.asset index 37ce9a5c30..c145f47407 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/io/trail.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/io/trail.asset @@ -1,6 +1,6 @@ -asset.require("spice/base") local transforms = asset.require("../transforms") -local kernel = asset.require("../kernels") +local kernels = asset.require("../kernels") +local coreKernels = asset.require("spice/core") @@ -11,8 +11,8 @@ local IoTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "IO", - Observer = "JUPITER BARYCENTER" + Target = kernels.ID.Io, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.4, 0.2 }, Period = 42.0 / 24.0, @@ -27,15 +27,11 @@ local IoTrail = { asset.onInitialize(function() - openspace.spice.loadKernel(kernel.jup365) - openspace.addSceneGraphNode(IoTrail) end) asset.onDeinitialize(function() openspace.removeSceneGraphNode(IoTrail) - - openspace.spice.unloadKernel(kernel.jup365) end) asset.export(IoTrail) @@ -45,8 +41,7 @@ asset.export(IoTrail) asset.meta = { Name = "Io Trail", Version = "1.1", - Description = [[Trail of Io as observed by the Jupiter. Data from NASA Spice (see - base spice asset)]], + Description = "Trail of Io as observed by the Jupiter", Author = "OpenSpace Team", URL = "http://openspaceproject.com", License = "MIT license" diff --git a/data/assets/scene/solarsystem/planets/jupiter/jupiter.asset b/data/assets/scene/solarsystem/planets/jupiter/jupiter.asset index 6c17b0ba70..561332d4bd 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/jupiter.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/jupiter.asset @@ -1,6 +1,6 @@ -asset.require("spice/base") asset.require("./trail") local transforms = asset.require("./transforms") +local coreKernels = asset.require("spice/core") @@ -10,13 +10,13 @@ local Jupiter = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "JUPITER", - Observer = "JUPITER BARYCENTER" + Target = coreKernels.ID.Jupiter, + Observer = coreKernels.ID.JupiterBarycenter }, Rotation = { Type = "SpiceRotation", - SourceFrame = "IAU_JUPITER", - DestinationFrame = "GALACTIC" + SourceFrame = coreKernels.Frame.Jupiter, + DestinationFrame = coreKernels.Frame.Galactic } }, Renderable = { diff --git a/data/assets/scene/solarsystem/planets/jupiter/kernels.asset b/data/assets/scene/solarsystem/planets/jupiter/kernels.asset index ac4a956c60..075a9afbd5 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/kernels.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/kernels.asset @@ -1,3 +1,7 @@ +local coreKernels = asset.require("spice/core") + + + local kernels = asset.resource({ Name = "Jupiter Spice Kernels", Type = "HttpSynchronization", @@ -5,12 +9,32 @@ local kernels = asset.resource({ Version = 2 }) +local ID = { + Callisto = "CALLISTO", + Europa = "EUROPA", + Ganymede = "GANYMEDE", + Io = "IO" +} -asset.export("jup344", kernels .. "jup344.bsp") -asset.export("jup346", kernels .. "jup346.bsp") -asset.export("jup365", kernels .. "jup365.bsp") +local Frame = { + Callisto = coreKernels.Frame.Callisto, + Europa = coreKernels.Frame.Europa, + Ganymede = coreKernels.Frame.Ganymede, + Io = coreKernels.Frame.Io +} +asset.onInitialize(function() + openspace.spice.loadKernel(kernels .. "jup365.bsp") +end) + +asset.onDeinitialize(function() + openspace.spice.unloadKernel(kernels .. "jup365.bsp") +end) + +asset.export("ID", ID) +asset.export("Frame", Frame) + asset.meta = { Name = "Jupiter Spice Kernels", diff --git a/data/assets/scene/solarsystem/planets/jupiter/kernels344.asset b/data/assets/scene/solarsystem/planets/jupiter/kernels344.asset new file mode 100644 index 0000000000..6d58a7a524 --- /dev/null +++ b/data/assets/scene/solarsystem/planets/jupiter/kernels344.asset @@ -0,0 +1,137 @@ +local coreKernels = asset.require("spice/core") + + + +local kernels = asset.resource({ + Name = "Jupiter Spice Kernels", + Type = "HttpSynchronization", + Identifier = "jupiter_kernels", + Version = 2 +}) + +local ID = { + Adrastea = "ADRASTEA", + Aitne = "AITNE", + Amalthea = "AMALTHEA", + Ananke = "ANANKE", + Aoede = "AOEDE", + Arche = "ARCHE", + Autonoe = "AUTONOE", + Callirrhoe = "CALLIRRHOE", + Carme = "CARME", + Carpo = "CARPO", + Chaldene = "CHALDENE", + Cyllene = "CYLLENE", + Dia = "DIA", + Elara = "ELARA", + Erinome = "ERINOME", + Ersa = 571, + Euanthe = "EUANTHE", + Eukelade = "EUKELADE", + Eupheme = 560, + Euporie = "EUPORIE", + Eurydome = "EURYDOME", + Harpalyke = "HARPALYKE", + Hegemone = "HEGEMONE", + Helike = "HELIKE", + Hermippe = "HERMIPPE", + Herse = "HERSE", + Himalia = "HIMALIA", + Iocaste = "IOCASTE", + Isonoe = "ISONOE", + Kale = "KALE", + Kallichore = "KALLICHORE", + Kalyke = "KALYKE", + Kore = "KORE", + Leda = "LEDA", + Lysithea = "LYSITHEA", + Megaclite = "MEGACLITE", + Metis = "METIS", + Mneme = "MNEME", + Orthosie = "ORTHOSIE", + Pandia = 565, + Pasiphae = "PASIPHAE", + Pasithee = "PASITHEE", + Praxidike = "PRAXIDIKE", + S2003J2 = 55501, + S2003J4 = 55502, + S2003J5 = 557, + S2003J9 = 55503, + S2003J10 = 55504, + S2003J12 = 55505, + S2003J15 = 558, + S2003J16 = 55506, + S2003J18 = 555, + S2003J19 = 561, + S2003J23 = 55507, + S2010J1 = 551, + S2010J2 = 552, + S2011J1 = 572, + S2011J2 = 556, + S2016J1 = 554, + S2017J1 = 559, + S2017J2 = 563, + S2017J3 = 564, + S2017J5 = 566, + S2017J6 = 567, + S2017J7 = 568, + S2017J8 = 569, + S2017J9 = 570, + Sinope = "SINOPE", + Sponde = "SPONDE", + Taygete = "TAYGETE", + Thebe = "THEBE", + Thelxinoe = "THELXINOE", + Themisto = "THEMISTO", + Thyone = "THYONE", + Valetudo = 562 +} + +local Frame = { + Adrastea = coreKernels.Frame.Adrastea, + Amalthea = coreKernels.Frame.Amalthea, + Ananke = coreKernels.Frame.Ananke, + Callirrhoe = coreKernels.Frame.Callirrhoe, + Carme = coreKernels.Frame.Carme, + Chaldene = coreKernels.Frame.Chaldene, + Elara = coreKernels.Frame.Elara, + Erinome = coreKernels.Frame.Erinome, + Harpalyke = coreKernels.Frame.Harpalyke, + Himalia = coreKernels.Frame.Himalia, + Iocaste = coreKernels.Frame.Iocaste, + Isonoe = coreKernels.Frame.Isonoe, + Kalyke = coreKernels.Frame.Kalyke, + Leda = coreKernels.Frame.Leda, + Lysithea = coreKernels.Frame.Lysithea, + Megaclite = coreKernels.Frame.Magaclite, + Metis = coreKernels.Frame.Metis, + Pasiphae = coreKernels.Frame.Pasiphae, + Praxidike = coreKernels.Frame.Praxidike, + Sinope = coreKernels.Frame.Sinope, + Taygete = coreKernels.Frame.Taygete, + Thebe = coreKernels.Frame.Thebe, + Themisto = coreKernels.Frame.Themisto +} + + +asset.onInitialize(function() + openspace.spice.loadKernel(kernels .. "jup344.bsp") +end) + +asset.onDeinitialize(function() + openspace.spice.unloadKernel(kernels .. "jup344.bsp") +end) + +asset.export("ID", ID) +asset.export("Frame", Frame) + + + +asset.meta = { + Name = "Jupiter Spice Kernels", + Version = "1.0", + Description = "Generic SPICE kernels for Jupiter", + Author = "OpenSpace Team", + URL = "https://naif.jpl.nasa.gov/pub/naif/pds/wgc/kernels/spk/", + License = "NASA" +} diff --git a/data/assets/scene/solarsystem/planets/jupiter/kernels346.asset b/data/assets/scene/solarsystem/planets/jupiter/kernels346.asset new file mode 100644 index 0000000000..4eb996ae53 --- /dev/null +++ b/data/assets/scene/solarsystem/planets/jupiter/kernels346.asset @@ -0,0 +1,47 @@ +local kernels = asset.resource({ + Name = "Jupiter Spice Kernels", + Type = "HttpSynchronization", + Identifier = "jupiter_kernels", + Version = 2 +}) + + +local ID = { + S2011J3 = 55509, + S2018J2 = 55510, + S2018J3 = 55511, + S2021J1 = 55512, + S2021J2 = 55513, + S2021J3 = 55514, + S2021J4 = 55515, + S2021J5 = 55516, + S2021J6 = 55517, + S2016J3 = 55518, + S2016J4 = 55519, + S2018J4 = 55520, + S2022J1 = 55521, + S2022J2 = 55522, + S2022J3 = 55523 +} + + +asset.onInitialize(function() + openspace.spice.loadKernel(kernels .. "jup346.bsp") +end) + +asset.onDeinitialize(function() + openspace.spice.unloadKernel(kernels .. "jup346.bsp") +end) + +asset.export("ID", ID) + + + +asset.meta = { + Name = "Jupiter Spice Kernels", + Version = "1.0", + Description = "Generic SPICE kernels for Jupiter", + Author = "OpenSpace Team", + URL = "https://naif.jpl.nasa.gov/pub/naif/pds/wgc/kernels/spk/", + License = "NASA" +} diff --git a/data/assets/scene/solarsystem/planets/jupiter/minor/ananke_group.asset b/data/assets/scene/solarsystem/planets/jupiter/minor/ananke_group.asset index 71371df2d8..f010823a60 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/minor/ananke_group.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/minor/ananke_group.asset @@ -1,5 +1,7 @@ local transforms = asset.require("../transforms") -local kernel = asset.require("../kernels") +local kernels344 = asset.require("../kernels344") +local kernels346 = asset.require("../kernels346") +local coreKernels = asset.require("spice/core") @@ -9,8 +11,8 @@ local S2010J2 = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "552", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.S2010J2, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -40,8 +42,8 @@ local S2010J2Trail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "552", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.S2010J2, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 588.36, @@ -91,8 +93,8 @@ local Thelxinoe = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "THELXINOE", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Thelxinoe, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -122,8 +124,8 @@ local ThelxinoeTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "THELXINOE", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Thelxinoe, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 597.61, @@ -173,8 +175,8 @@ local Euanthe = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "EUANTHE", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Euanthe, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -204,8 +206,8 @@ local EuantheTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "EUANTHE", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Euanthe, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 598.09, @@ -255,8 +257,8 @@ local Iocaste = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "IOCASTE", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Iocaste, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -286,8 +288,8 @@ local IocasteTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "IOCASTE", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Iocaste, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 609.43, @@ -337,8 +339,8 @@ local S2003J16 = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "55506", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.S2003J16, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -368,8 +370,8 @@ local S2003J16Trail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "55506", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.S2003J16, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 610.36, @@ -419,8 +421,8 @@ local Praxidike = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "PRAXIDIKE", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Praxidike, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -450,8 +452,8 @@ local PraxidikeTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "PRAXIDIKE", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Praxidike, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 613.90, @@ -501,8 +503,8 @@ local Harpalyke = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "HARPALYKE", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Harpalyke, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -532,8 +534,8 @@ local HarpalykeTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "HARPALYKE", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Harpalyke, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 624.54, @@ -583,8 +585,8 @@ local Mneme = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "MNEME", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Mneme, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -614,8 +616,8 @@ local MnemeTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "MNEME", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Mneme, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 627.48, @@ -665,8 +667,8 @@ local Hermippe = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "HERMIPPE", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Hermippe, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -696,8 +698,8 @@ local HermippeTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "HERMIPPE", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Hermippe, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 629.81, @@ -747,8 +749,8 @@ local Thyone = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "THYONE", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Thyone, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -778,8 +780,8 @@ local ThyoneTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "THYONE", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Thyone, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 639.80, @@ -829,8 +831,8 @@ local Ananke = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "ANANKE", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Ananke, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -860,8 +862,8 @@ local AnankeTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "ANANKE", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Ananke, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 640.38, @@ -911,8 +913,8 @@ local S2021J1 = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "55512", - Observer = "JUPITER BARYCENTER" + Target = kernels346.ID.S2021J1, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -942,8 +944,8 @@ local S2021J1Trail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "55512", - Observer = "JUPITER BARYCENTER" + Target = kernels346.ID.S2021J1, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 606.99, @@ -993,8 +995,8 @@ local S2021J2 = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "55513", - Observer = "JUPITER BARYCENTER" + Target = kernels346.ID.S2021J2, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -1024,8 +1026,8 @@ local S2021J2Trail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "55513", - Observer = "JUPITER BARYCENTER" + Target = kernels346.ID.S2021J2, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 627.96, @@ -1075,8 +1077,8 @@ local S2021J3 = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "55514", - Observer = "JUPITER BARYCENTER" + Target = kernels346.ID.S2021J3, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -1106,8 +1108,8 @@ local S2021J3Trail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "55514", - Observer = "JUPITER BARYCENTER" + Target = kernels346.ID.S2021J3, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 643.85, @@ -1157,8 +1159,8 @@ local S2022J3 = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "55523", - Observer = "JUPITER BARYCENTER" + Target = kernels346.ID.S2022J3, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -1188,8 +1190,8 @@ local S2022J3Trail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "55523", - Observer = "JUPITER BARYCENTER" + Target = kernels346.ID.S2022J3, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 617.82, @@ -1239,8 +1241,8 @@ local S2017J3 = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "564", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.S2017J3, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -1270,8 +1272,8 @@ local S2017J3Trail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "564", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.S2017J3, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 606.3, @@ -1321,8 +1323,8 @@ local S2017J7 = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "568", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.S2017J7, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -1352,8 +1354,8 @@ local S2017J7Trail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "568", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.S2017J7, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 602.6, @@ -1403,8 +1405,8 @@ local S2017J9 = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "570", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.S2017J9, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -1434,8 +1436,8 @@ local S2017J9Trail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "570", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.S2017J9, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 639.2, @@ -1485,8 +1487,8 @@ local S2003J2 = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "55501", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.S2003J2, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -1516,8 +1518,8 @@ local S2003J2Trail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "55501", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.S2003J2, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 602.02, @@ -1567,8 +1569,8 @@ local S2003J12 = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "55505", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.S2003J12, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -1598,8 +1600,8 @@ local S2003J12Trail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "55505", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.S2003J12, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 646.64, @@ -1644,10 +1646,6 @@ local S2003J12Label = { } asset.onInitialize(function() - openspace.spice.loadKernel(kernel.jup344) - openspace.spice.loadKernel(kernel.jup346) - - openspace.addSceneGraphNode(S2010J2) openspace.addSceneGraphNode(S2010J2Trail) openspace.addSceneGraphNode(S2010J2Label) @@ -1809,10 +1807,6 @@ asset.onDeinitialize(function() openspace.removeSceneGraphNode(S2010J2Label) openspace.removeSceneGraphNode(S2010J2Trail) openspace.removeSceneGraphNode(S2010J2) - - - openspace.spice.unloadKernel(kernel.jup346) - openspace.spice.unloadKernel(kernel.jup344) end) asset.export(S2010J2) diff --git a/data/assets/scene/solarsystem/planets/jupiter/minor/carme_group.asset b/data/assets/scene/solarsystem/planets/jupiter/minor/carme_group.asset index 429b30578c..eef55cec46 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/minor/carme_group.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/minor/carme_group.asset @@ -1,5 +1,7 @@ local transforms = asset.require("../transforms") -local kernel = asset.require("../kernels") +local kernels344 = asset.require("../kernels344") +local kernels346 = asset.require("../kernels346") +local coreKernels = asset.require("spice/core") @@ -9,8 +11,8 @@ local Herse = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "HERSE", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Herse, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -40,8 +42,8 @@ local HerseTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "HERSE", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Herse, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 672.75, @@ -91,8 +93,8 @@ local Aitne = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "AITNE", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Aitne, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -122,8 +124,8 @@ local AitneTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "AITNE", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Aitne, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 679.64, @@ -173,8 +175,8 @@ local Kale = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "KALE", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Kale, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -204,8 +206,8 @@ local KaleTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "KALE", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Kale, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 685.32, @@ -255,8 +257,8 @@ local Taygete = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "TAYGETE", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Taygete, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -286,8 +288,8 @@ local TaygeteTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "TAYGETE", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Taygete, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 686.67, @@ -337,8 +339,8 @@ local Chaldene = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "CHALDENE", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Chaldene, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -368,8 +370,8 @@ local ChaldeneTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "CHALDENE", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Chaldene, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 699.33, @@ -419,8 +421,8 @@ local Erinome = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "ERINOME", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Erinome, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -450,8 +452,8 @@ local ErinomeTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "ERINOME", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Erinome, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 711.96, @@ -501,8 +503,8 @@ local Kallichore = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "KALLICHORE", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Kallichore, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -532,8 +534,8 @@ local KallichoreTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "KALLICHORE", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Kallichore, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 717.81, @@ -583,8 +585,8 @@ local Kalyke = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "KALYKE", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Kalyke, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -614,8 +616,8 @@ local KalykeTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "KALYKE", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Kalyke, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 721.02, @@ -665,8 +667,8 @@ local Pasithee = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "PASITHEE", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Pasithee, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -696,8 +698,8 @@ local PasitheeTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "PASITHEE", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Pasithee, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 726.93, @@ -747,8 +749,8 @@ local S2010J1 = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "551", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.S2010J1, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -778,8 +780,8 @@ local S2010J1Trail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "551", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.S2010J1, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 722.83, @@ -829,8 +831,8 @@ local Eukelade = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "EUKELADE", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Eukelade, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -860,8 +862,8 @@ local EukeladeTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "EUKELADE", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Eukelade, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 735.20, @@ -911,8 +913,8 @@ local Arche = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "ARCHE", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Arche, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -942,8 +944,8 @@ local ArcheTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "ARCHE", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Arche, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 746.19, @@ -993,8 +995,8 @@ local Isonoe = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "ISONOE", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Isonoe, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -1024,8 +1026,8 @@ local IsonoeTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "ISONOE", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Isonoe, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 750.13, @@ -1075,8 +1077,8 @@ local Carme = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "CARME", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Carme, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -1106,8 +1108,8 @@ local CarmeTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "CARME", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Carme, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 763.95, @@ -1157,8 +1159,8 @@ local S2003J5 = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "557", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.S2003J5, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -1188,8 +1190,8 @@ local S2003J5Trail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "557", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.S2003J5, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 758.34, @@ -1239,8 +1241,8 @@ local S2018J3 = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "55511", - Observer = "JUPITER BARYCENTER" + Target = kernels346.ID.S2018J3, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -1270,8 +1272,8 @@ local S2018J3Trail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "55511", - Observer = "JUPITER BARYCENTER" + Target = kernels346.ID.S2018J3, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 704.56, @@ -1321,8 +1323,8 @@ local S2021J4 = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "55515", - Observer = "JUPITER BARYCENTER" + Target = kernels346.ID.S2021J4, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -1352,8 +1354,8 @@ local S2021J4Trail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "55515", - Observer = "JUPITER BARYCENTER" + Target = kernels346.ID.S2021J4, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 710.13, @@ -1403,8 +1405,8 @@ local S2021J5 = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "55516", - Observer = "JUPITER BARYCENTER" + Target = kernels346.ID.S2021J5, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -1434,8 +1436,8 @@ local S2021J5Trail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "55516", - Observer = "JUPITER BARYCENTER" + Target = kernels346.ID.S2021J5, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 704.80, @@ -1485,8 +1487,8 @@ local S2021J6 = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "55517", - Observer = "JUPITER BARYCENTER" + Target = kernels346.ID.S2021J6, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -1516,8 +1518,8 @@ local S2021J6Trail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "55517", - Observer = "JUPITER BARYCENTER" + Target = kernels346.ID.S2021J6, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 732.55, @@ -1567,8 +1569,8 @@ local S2016J3 = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "55518", - Observer = "JUPITER BARYCENTER" + Target = kernels346.ID.S2016J3, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -1598,8 +1600,8 @@ local S2016J3Trail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "55518", - Observer = "JUPITER BARYCENTER" + Target = kernels346.ID.S2016J3, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 676.37, @@ -1649,8 +1651,8 @@ local S2022J1 = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "55521", - Observer = "JUPITER BARYCENTER" + Target = kernels346.ID.S2022J1, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -1680,8 +1682,8 @@ local S2022J1Trail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "55521", - Observer = "JUPITER BARYCENTER" + Target = kernels346.ID.S2022J1, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 667.34, @@ -1731,8 +1733,8 @@ local S2022J2 = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "55522", - Observer = "JUPITER BARYCENTER" + Target = kernels346.ID.S2022J2, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -1762,8 +1764,8 @@ local S2022J2Trail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "55522", - Observer = "JUPITER BARYCENTER" + Target = kernels346.ID.S2022J2, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 685.51, @@ -1813,8 +1815,8 @@ local S2017J2 = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "563", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.S2017J2, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -1844,8 +1846,8 @@ local S2017J2Trail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "563", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.S2017J2, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 723.1, @@ -1895,8 +1897,8 @@ local S2017J5 = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "566", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.S2017J5, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -1926,8 +1928,8 @@ local S2017J5Trail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "566", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.S2017J5, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 719.5, @@ -1977,8 +1979,8 @@ local S2017J8 = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "569", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.S2017J8, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -2008,8 +2010,8 @@ local S2017J8Trail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "569", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.S2017J8, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 719.6, @@ -2059,8 +2061,8 @@ local S2011J1 = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "572", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.S2011J1, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -2090,8 +2092,8 @@ local S2011J1Trail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "572", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.S2011J1, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 686.6, @@ -2141,8 +2143,8 @@ local S2003J9 = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "55503", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.S2003J9, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -2172,8 +2174,8 @@ local S2003J9Trail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "55503", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.S2003J9, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 767.6, @@ -2223,8 +2225,8 @@ local S2003J10 = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "55504", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.S2003J10, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -2254,8 +2256,8 @@ local S2003J10Trail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "55504", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.S2003J10, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 705.96, @@ -2301,10 +2303,6 @@ local S2003J10Label = { asset.onInitialize(function() - openspace.spice.loadKernel(kernel.jup344) - openspace.spice.loadKernel(kernel.jup346) - - openspace.addSceneGraphNode(Herse) openspace.addSceneGraphNode(HerseTrail) openspace.addSceneGraphNode(HerseLabel) @@ -2530,10 +2528,6 @@ asset.onDeinitialize(function() openspace.removeSceneGraphNode(HerseLabel) openspace.removeSceneGraphNode(HerseTrail) openspace.removeSceneGraphNode(Herse) - - - openspace.spice.loadKernel(kernel.jup346) - openspace.spice.loadKernel(kernel.jup344) end) asset.export(Herse) diff --git a/data/assets/scene/solarsystem/planets/jupiter/minor/carpo_group.asset b/data/assets/scene/solarsystem/planets/jupiter/minor/carpo_group.asset index 14ba43eb87..8517d24a7d 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/minor/carpo_group.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/minor/carpo_group.asset @@ -1,5 +1,7 @@ local transforms = asset.require("../transforms") -local kernel = asset.require("../kernels") +local kernels344 = asset.require("../kernels344") +local kernels346 = asset.require("../kernels346") +local coreKernels = asset.require("spice/core") @@ -9,8 +11,8 @@ local Carpo = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "CARPO", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Carpo, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -40,8 +42,8 @@ local CarpoTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "CARPO", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Carpo, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 458.62, @@ -116,8 +118,8 @@ local S2018J4 = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "55520", - Observer = "JUPITER BARYCENTER" + Target = kernels346.ID.S2018J4, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -147,8 +149,8 @@ local S2018J4Trail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "55520", - Observer = "JUPITER BARYCENTER" + Target = kernels346.ID.S2018J4, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 458.62, @@ -219,9 +221,6 @@ local S2018J4LabelNear = { asset.onInitialize(function() - openspace.spice.loadKernel(kernel.jup344) - - openspace.addSceneGraphNode(Carpo) openspace.addSceneGraphNode(CarpoTrail) openspace.addSceneGraphNode(CarpoLabel) @@ -239,8 +238,6 @@ asset.onDeinitialize(function() openspace.removeSceneGraphNode(CarpoLabel) openspace.removeSceneGraphNode(CarpoTrail) openspace.removeSceneGraphNode(Carpo) - - openspace.spice.unloadKernel(kernel.jup344) end) asset.export(Carpo) diff --git a/data/assets/scene/solarsystem/planets/jupiter/minor/himalia_group.asset b/data/assets/scene/solarsystem/planets/jupiter/minor/himalia_group.asset index 4fc3675d13..909b69dc87 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/minor/himalia_group.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/minor/himalia_group.asset @@ -1,5 +1,7 @@ local transforms = asset.require("../transforms") -local kernel = asset.require("../kernels") +local kernels344 = asset.require("../kernels344") +local kernels346 = asset.require("../kernels346") +local coreKernels = asset.require("spice/core") @@ -9,8 +11,8 @@ local Leda = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "LEDA", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Leda, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -40,8 +42,8 @@ local LedaTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "LEDA", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Leda, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 240.82, @@ -91,8 +93,8 @@ local Himalia = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "HIMALIA", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Himalia, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -122,8 +124,8 @@ local HimaliaTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "HIMALIA", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Himalia, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 250.23, @@ -173,8 +175,8 @@ local Lysithea = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "LYSITHEA", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Lysithea, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -204,8 +206,8 @@ local LysitheaTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "LYSITHEA", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Lysithea, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 259.89, @@ -255,8 +257,8 @@ local Elara = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "ELARA", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Elara, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -286,8 +288,8 @@ local ElaraTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "ELARA", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Elara, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 257.62, @@ -337,8 +339,8 @@ local Dia = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "DIA", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Dia, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -368,8 +370,8 @@ local DiaTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "DIA", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Dia, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 287.93, @@ -419,8 +421,8 @@ local S2011J3 = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "55509", - Observer = "JUPITER BARYCENTER" + Target = kernels346.ID.S2011J3, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -450,8 +452,8 @@ local S2011J3Trail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "55509", - Observer = "JUPITER BARYCENTER" + Target = kernels346.ID.S2011J3, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 261.77, @@ -501,8 +503,8 @@ local S2018J2 = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "55510", - Observer = "JUPITER BARYCENTER" + Target = kernels346.ID.S2018J2, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -532,8 +534,8 @@ local S2018J2Trail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "55510", - Observer = "JUPITER BARYCENTER" + Target = kernels346.ID.S2018J2, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 250.88, @@ -583,8 +585,8 @@ local Pandia = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "565", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Pandia, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -614,8 +616,8 @@ local PandiaTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "565", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Pandia, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 251.911, @@ -665,8 +667,8 @@ local Ersa = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "571", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Ersa, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -696,8 +698,8 @@ local ErsaTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "571", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Ersa, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 249.229, @@ -743,10 +745,6 @@ local ErsaLabel = { asset.onInitialize(function() - openspace.spice.loadKernel(kernel.jup344) - openspace.spice.loadKernel(kernel.jup346) - - openspace.addSceneGraphNode(Leda) openspace.addSceneGraphNode(LedaTrail) openspace.addSceneGraphNode(LedaLabel) @@ -820,10 +818,6 @@ asset.onDeinitialize(function() openspace.removeSceneGraphNode(LedaLabel) openspace.removeSceneGraphNode(LedaTrail) openspace.removeSceneGraphNode(Leda) - - - openspace.spice.unloadKernel(kernel.jup346) - openspace.spice.unloadKernel(kernel.jup344) end) asset.export(Leda) diff --git a/data/assets/scene/solarsystem/planets/jupiter/minor/inner_group.asset b/data/assets/scene/solarsystem/planets/jupiter/minor/inner_group.asset index f07135e154..6a4f892747 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/minor/inner_group.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/minor/inner_group.asset @@ -1,5 +1,6 @@ local transforms = asset.require("../transforms") -local kernel = asset.require("../kernels") +local kernels344 = asset.require("../kernels344") +local coreKernels = asset.require("spice/core") @@ -9,8 +10,8 @@ local Metis = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "METIS", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Metis, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -40,8 +41,8 @@ local MetisTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "METIS", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Metis, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 0.117912037, @@ -91,8 +92,8 @@ local Adrastea = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "ADRASTEA", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Adrastea, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -122,8 +123,8 @@ local AdrasteaTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "ADRASTEA", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Adrastea, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 0.2982638889, @@ -173,8 +174,8 @@ local Amalthea = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "AMALTHEA", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Amalthea, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -204,8 +205,8 @@ local AmaltheaTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "AMALTHEA", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Amalthea, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 0.4981828704, @@ -255,8 +256,8 @@ local Thebe = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "THEBE", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Thebe, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -286,8 +287,8 @@ local ThebeTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "THEBE", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Thebe, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 0.6745023148, @@ -333,9 +334,6 @@ local ThebeLabel = { asset.onInitialize(function() - openspace.spice.loadKernel(kernel.jup365) - - openspace.addSceneGraphNode(Metis) openspace.addSceneGraphNode(MetisTrail) openspace.addSceneGraphNode(MetisLabel) @@ -370,9 +368,6 @@ asset.onDeinitialize(function() openspace.removeSceneGraphNode(ThebeLabel) openspace.removeSceneGraphNode(ThebeTrail) openspace.removeSceneGraphNode(Thebe) - - - openspace.spice.unloadKernel(kernel.jup365) end) diff --git a/data/assets/scene/solarsystem/planets/jupiter/minor/other_groups.asset b/data/assets/scene/solarsystem/planets/jupiter/minor/other_groups.asset index 5b601ff7d6..1ff300f7f2 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/minor/other_groups.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/minor/other_groups.asset @@ -1,5 +1,6 @@ local transforms = asset.require("../transforms") -local kernel = asset.require("../kernels") +local kernels344 = asset.require("../kernels344") +local coreKernels = asset.require("spice/core") @@ -9,8 +10,8 @@ local Eupheme = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "560", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Eupheme, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -40,8 +41,8 @@ local EuphemeTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "560", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Eupheme, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 628.06, @@ -91,8 +92,8 @@ local S2003J19 = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "561", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.S2003J19, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -122,8 +123,8 @@ local S2003J19Trail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "561", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.S2003J19, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 699.12, @@ -173,8 +174,8 @@ local Valetudo = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "562", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Valetudo, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -204,8 +205,8 @@ local ValetudoTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "562", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Valetudo, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 527.41, @@ -251,9 +252,6 @@ local ValetudoLabel = { asset.onInitialize(function() - openspace.spice.loadKernel(kernel.jup344) - - openspace.addSceneGraphNode(Eupheme) openspace.addSceneGraphNode(EuphemeTrail) openspace.addSceneGraphNode(EuphemeLabel) @@ -279,9 +277,6 @@ asset.onDeinitialize(function() openspace.removeSceneGraphNode(EuphemeLabel) openspace.removeSceneGraphNode(EuphemeTrail) openspace.removeSceneGraphNode(Eupheme) - - - openspace.spice.unloadKernel(kernel.jup344) end) asset.export(Eupheme) diff --git a/data/assets/scene/solarsystem/planets/jupiter/minor/pasiphae_group.asset b/data/assets/scene/solarsystem/planets/jupiter/minor/pasiphae_group.asset index 79da80391a..d2a93c6345 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/minor/pasiphae_group.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/minor/pasiphae_group.asset @@ -1,5 +1,7 @@ local transforms = asset.require("../transforms") -local kernel = asset.require("../kernels") +local kernels344 = asset.require("../kernels344") +local kernels346 = asset.require("../kernels346") +local coreKernels = asset.require("spice/core") @@ -9,8 +11,8 @@ local Euporie = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "EUPORIE", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Euporie, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -40,8 +42,8 @@ local EuporieTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "EUPORIE", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Euporie, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 538.78, @@ -91,8 +93,8 @@ local S2003J18 = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "555", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.S2003J18, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -122,8 +124,8 @@ local S2003J18Trail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "555", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.S2003J18, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 587.38, @@ -173,8 +175,8 @@ local Helike = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "HELIKE", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Helike, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -204,8 +206,8 @@ local HelikeTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "HELIKE", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Helike, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 601.40, @@ -255,8 +257,8 @@ local Orthosie = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "ORTHOSIE", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Orthosie, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -286,8 +288,8 @@ local OrthosieTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "ORTHOSIE", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Orthosie, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 602.62, @@ -337,8 +339,8 @@ local S2016J1 = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "554", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.S2016J1, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -368,8 +370,8 @@ local S2016J1Trail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "554", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.S2016J1, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 603.83, @@ -419,8 +421,8 @@ local S2003J15 = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "558", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.S2003J15, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -450,8 +452,8 @@ local S2003J15Trail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "558", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.S2003J15, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 699.68, @@ -501,8 +503,8 @@ local Aoede = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "AOEDE", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Aoede, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -532,8 +534,8 @@ local AoedeTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "AOEDE", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Aoede, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 714.66, @@ -583,8 +585,8 @@ local Callirrhoe = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "CALLIRRHOE", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Callirrhoe, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -614,8 +616,8 @@ local CallirrhoeTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "CALLIRRHOE", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Callirrhoe, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 727.11, @@ -665,8 +667,8 @@ local Eurydome = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "EURYDOME", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Eurydome, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -696,8 +698,8 @@ local EurydomeTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "EURYDOME", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Eurydome, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 723.36, @@ -747,8 +749,8 @@ local Kore = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "KORE", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Kore, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -778,8 +780,8 @@ local KoreTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "KORE", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Kore, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 776.02, @@ -829,8 +831,8 @@ local Cyllene = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "CYLLENE", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Cyllene, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -860,8 +862,8 @@ local CylleneTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "CYLLENE", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Cyllene, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 731.10, @@ -911,8 +913,8 @@ local S2011J2 = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "556", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.S2011J2, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -942,8 +944,8 @@ local S2011J2Trail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "556", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.S2011J2, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 731.32, @@ -993,8 +995,8 @@ local S2017J1 = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "559", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.S2017J1, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -1024,8 +1026,8 @@ local S2017J1Trail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "559", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.S2017J1, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 734.15, @@ -1075,8 +1077,8 @@ local S2003J4 = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "55502", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.S2003J4, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -1106,8 +1108,8 @@ local S2003J4Trail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "55502", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.S2003J4, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 739.29, @@ -1157,8 +1159,8 @@ local Pasiphae = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "PASIPHAE", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Pasiphae, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -1188,8 +1190,8 @@ local PasiphaeTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "PASIPHAE", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Pasiphae, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 731.10, @@ -1239,8 +1241,8 @@ local Hegemone = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "HEGEMONE", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Hegemone, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -1270,8 +1272,8 @@ local HegemoneTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "HEGEMONE", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Hegemone, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 745.50, @@ -1321,8 +1323,8 @@ local Sinope = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "SINOPE", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Sinope, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -1352,8 +1354,8 @@ local SinopeTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "SINOPE", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Sinope, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 739.33, @@ -1403,8 +1405,8 @@ local Sponde = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "SPONDE", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Sponde, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -1434,8 +1436,8 @@ local SpondeTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "SPONDE", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Sponde, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 771.60, @@ -1485,8 +1487,8 @@ local Autonoe = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "AUTONOE", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Autonoe, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -1516,8 +1518,8 @@ local AutonoeTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "AUTONOE", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Autonoe, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 772.17, @@ -1567,8 +1569,8 @@ local Megaclite = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "MEGACLITE", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Megaclite, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -1598,8 +1600,8 @@ local MegacliteTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "MEGACLITE", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Megaclite, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 792.44, @@ -1649,8 +1651,8 @@ local S2016J4 = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "55519", - Observer = "JUPITER BARYCENTER" + Target = kernels346.ID.S2016J4, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -1680,8 +1682,8 @@ local S2016J4Trail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "55519", - Observer = "JUPITER BARYCENTER" + Target = kernels346.ID.S2016J4, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 743.69, @@ -1731,8 +1733,8 @@ local S2017J6 = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "567", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.S2017J6, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -1762,8 +1764,8 @@ local S2017J6Trail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "567", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.S2017J6, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 683.0, @@ -1813,8 +1815,8 @@ local S2003J23 = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "55507", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.S2003J23, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -1844,8 +1846,8 @@ local S2003J23Trail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "55507", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.S2003J23, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 792.00, @@ -1891,10 +1893,6 @@ local S2003J23Label = { asset.onInitialize(function() - openspace.spice.loadKernel(kernel.jup344) - openspace.spice.loadKernel(kernel.jup346) - - openspace.addSceneGraphNode(Euporie) openspace.addSceneGraphNode(EuporieTrail) openspace.addSceneGraphNode(EuporieLabel) @@ -2080,10 +2078,6 @@ asset.onDeinitialize(function() openspace.removeSceneGraphNode(EuporieLabel) openspace.removeSceneGraphNode(EuporieTrail) openspace.removeSceneGraphNode(Euporie) - - - openspace.spice.unloadKernel(kernel.jup346) - openspace.spice.unloadKernel(kernel.jup344) end) asset.export(Euporie) diff --git a/data/assets/scene/solarsystem/planets/jupiter/minor/themisto_group.asset b/data/assets/scene/solarsystem/planets/jupiter/minor/themisto_group.asset index 14d26fed81..6f992cd43b 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/minor/themisto_group.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/minor/themisto_group.asset @@ -1,5 +1,6 @@ local transforms = asset.require("../transforms") -local kernel = asset.require("../kernels") +local kernels344 = asset.require("../kernels344") +local coreKernels = asset.require("spice/core") @@ -9,8 +10,8 @@ local Themisto = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "THEMISTO", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Themisto, + Observer = coreKernels.ID.JupiterBarycenter } }, Renderable = { @@ -40,8 +41,8 @@ local ThemistoTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "THEMISTO", - Observer = "JUPITER BARYCENTER" + Target = kernels344.ID.Themisto, + Observer = coreKernels.ID.JupiterBarycenter }, Color = { 0.4, 0.3, 0.01 }, Period = 129.87, @@ -87,9 +88,6 @@ local ThemistoLabel = { asset.onInitialize(function() - openspace.spice.loadKernel(kernel.jup344) - - openspace.addSceneGraphNode(Themisto) openspace.addSceneGraphNode(ThemistoTrail) openspace.addSceneGraphNode(ThemistoLabel) @@ -99,9 +97,6 @@ asset.onDeinitialize(function() openspace.removeSceneGraphNode(ThemistoLabel) openspace.removeSceneGraphNode(ThemistoTrail) openspace.removeSceneGraphNode(Themisto) - - - openspace.spice.unloadKernel(kernel.jup344) end) asset.export(Themisto) diff --git a/data/assets/scene/solarsystem/planets/jupiter/trail.asset b/data/assets/scene/solarsystem/planets/jupiter/trail.asset index 79947ce385..983a630479 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/trail.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/trail.asset @@ -1,5 +1,5 @@ -asset.require("spice/base") local transforms = asset.require("scene/solarsystem/sun/transforms") +local coreKernels = asset.require("spice/core") @@ -10,8 +10,8 @@ local JupiterTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "JUPITER", - Observer = "SSB" + Target = coreKernels.ID.Jupiter, + Observer = coreKernels.ID.SolarSystemBarycenter }, Color = { 0.8, 0.7, 0.7 }, Period = 4330.595, @@ -40,8 +40,7 @@ asset.export(JupiterTrail) asset.meta = { Name = "Jupiter Trail", Version = "1.1", - Description = [[Trail of Jupiter as observed by the Sun. Data from NASA Spice (see - base spice asset)]], + Description = "Trail of Jupiter as observed by the Sun", Author = "OpenSpace Team", URL = "http://openspaceproject.com", License = "MIT license" diff --git a/data/assets/scene/solarsystem/planets/jupiter/trail_barycenter.asset b/data/assets/scene/solarsystem/planets/jupiter/trail_barycenter.asset index ed2eb9f195..fd819f7f82 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/trail_barycenter.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/trail_barycenter.asset @@ -1,5 +1,5 @@ -asset.require("spice/base") local transforms = asset.require("scene/solarsystem/sun/transforms") +local coreKernels = asset.require("spice/core") @@ -11,8 +11,8 @@ local JupiterBarycenterTrail = { Enabled = false, Translation = { Type = "SpiceTranslation", - Target = "JUPITER BARYCENTER", - Observer = "SSB" + Target = coreKernels.ID.JupiterBarycenter, + Observer = coreKernels.Frame.SolarSystemBarycenter }, Color = { 0.8, 0.7, 0.7 }, Period = 4330.595, @@ -41,8 +41,7 @@ asset.export(JupiterBarycenterTrail) asset.meta = { Name = "Jupiter Trail", Version = "1.1", - Description = [[Trail of Jupiter's Barycenter as observed by the Sun. Data from NASA - Spice (see base spice asset)]], + Description = "Trail of Jupiter's Barycenter as observed by the Sun", Author = "OpenSpace Team", URL = "http://openspaceproject.com", License = "MIT license" diff --git a/data/assets/scene/solarsystem/planets/jupiter/trail_earth.asset b/data/assets/scene/solarsystem/planets/jupiter/trail_earth.asset index 1150e90a6a..5d8e9fc196 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/trail_earth.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/trail_earth.asset @@ -1,6 +1,6 @@ -asset.require("spice/base") local transforms = asset.require("scene/solarsystem/sun/transforms") local earthTransforms = asset.require("scene/solarsystem/planets/earth/transforms") +local coreKernels = asset.require("spice/core") @@ -12,8 +12,8 @@ local JupiterTrailEarth = { Enabled = false, Translation = { Type = "SpiceTranslation", - Target = "JUPITER", - Observer = "EARTH" + Target = coreKernels.ID.Jupiter, + Observer = coreKernels.ID.Earth }, Color = { 1.0, 0.5, 0.2 }, Period = 224.695, @@ -42,8 +42,7 @@ asset.export(JupiterTrailEarth) asset.meta = { Name = "Jupiter Trail from Earth", Version = "1.1", - Description = [[Trail of Jupiter as observed by the Earth. Data from NASA SPICE (see - base spice asset)]], + Description = "Trail of Jupiter as observed by the Earth", Author = "OpenSpace Team", URL = "http://openspaceproject.com", License = "MIT license" diff --git a/data/assets/scene/solarsystem/planets/jupiter/transforms.asset b/data/assets/scene/solarsystem/planets/jupiter/transforms.asset index b821473516..0292ae1395 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/transforms.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/transforms.asset @@ -1,5 +1,5 @@ -asset.require("spice/base") local transforms = asset.require("scene/solarsystem/sun/transforms") +local coreKernels = asset.require("spice/core") @@ -9,8 +9,8 @@ local JupiterBarycenter = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "JUPITER BARYCENTER", - Observer = "SSB" + Target = coreKernels.ID.JupiterBarycenter, + Observer = coreKernels.ID.SolarSystemBarycenter } }, GUI = { diff --git a/data/assets/scene/solarsystem/planets/mars/mars.asset b/data/assets/scene/solarsystem/planets/mars/mars.asset index 12d03f46d4..5e30ec3758 100644 --- a/data/assets/scene/solarsystem/planets/mars/mars.asset +++ b/data/assets/scene/solarsystem/planets/mars/mars.asset @@ -1,6 +1,6 @@ -asset.require("spice/base") asset.require("./trail") local transforms = asset.require("./transforms") +local coreKernels = asset.require("spice/core") @@ -21,13 +21,13 @@ local Mars = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "MARS", - Observer = "MARS BARYCENTER" + Target = coreKernels.ID.Mars, + Observer = coreKernels.ID.MarsBarycenter }, Rotation = { Type = "SpiceRotation", - SourceFrame = "IAU_MARS", - DestinationFrame = "GALACTIC" + SourceFrame = coreKernels.Frame.Mars, + DestinationFrame = coreKernels.Frame.Galactic } }, Renderable = { diff --git a/data/assets/scene/solarsystem/planets/mars/moons/deimos.asset b/data/assets/scene/solarsystem/planets/mars/moons/deimos.asset index bcaf61ac8c..b4d428b8cf 100644 --- a/data/assets/scene/solarsystem/planets/mars/moons/deimos.asset +++ b/data/assets/scene/solarsystem/planets/mars/moons/deimos.asset @@ -1,6 +1,8 @@ local transforms = asset.require("scene/solarsystem/planets/mars/transforms") local sunTransforms = asset.require("scene/solarsystem/sun/transforms") local sun = asset.require("scene/solarsystem/sun/sun") +local kernels = asset.require("./kernels") +local coreKernels = asset.require("spice/core") @@ -11,13 +13,6 @@ local model = asset.resource({ Version = 1 }) -local kernels = asset.resource({ - Name = "Mars Spice Kernels", - Type = "HttpSynchronization", - Identifier = "mars_kernels", - Version = 1 -}) - local Deimos = { Identifier = "Deimos", @@ -26,13 +21,13 @@ local Deimos = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "DEIMOS", - Observer = "MARS BARYCENTER" + Target = kernels.ID.Deimos, + Observer = coreKernels.ID.MarsBarycenter }, Rotation = { Type = "SpiceRotation", - SourceFrame = "IAU_DEIMOS", - DestinationFrame = "GALACTIC" + SourceFrame = kernels.Frame.Deimos, + DestinationFrame = coreKernels.Frame.Galactic } }, Renderable = { @@ -62,8 +57,8 @@ local DeimosTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "DEIMOS", - Observer = "MARS BARYCENTER" + Target = kernels.ID.Deimos, + Observer = coreKernels.ID.MarsBarycenter }, Color = { 1.0, 0.605, 0.420 }, Period = 1.263, @@ -104,8 +99,6 @@ local DeimosLabel = { asset.onInitialize(function() - openspace.spice.loadKernel(kernels .. "mar097.bsp") - openspace.addSceneGraphNode(Deimos) openspace.addSceneGraphNode(DeimosTrail) openspace.addSceneGraphNode(DeimosLabel) @@ -115,8 +108,6 @@ asset.onDeinitialize(function() openspace.removeSceneGraphNode(DeimosLabel) openspace.removeSceneGraphNode(DeimosTrail) openspace.removeSceneGraphNode(Deimos) - - openspace.spice.unloadKernel(kernels .. "mar097.bsp") end) asset.export(Deimos) diff --git a/data/assets/scene/solarsystem/planets/mars/moons/deimos_globe.asset b/data/assets/scene/solarsystem/planets/mars/moons/deimos_globe.asset index 6becb727ca..66f0e13563 100644 --- a/data/assets/scene/solarsystem/planets/mars/moons/deimos_globe.asset +++ b/data/assets/scene/solarsystem/planets/mars/moons/deimos_globe.asset @@ -1,28 +1,22 @@ local transforms = asset.require("../transforms") +local kernels = asset.require("./kernels") +local coreKernels = asset.require("spice/core") -local kernels = asset.resource({ - Name = "Mars Spice Kernels", - Type = "HttpSynchronization", - Identifier = "mars_kernels", - Version = 1 -}) - - local DeimosGlobe = { Identifier = "Deimos_Globe", Parent = transforms.MarsBarycenter.Identifier, Transform = { Translation = { Type = "SpiceTranslation", - Target = "DEIMOS", - Observer = "MARS BARYCENTER" + Target = kernels.ID.Deimos, + Observer = coreKernels.ID.MarsBarycenter }, Rotation = { Type = "SpiceRotation", - SourceFrame = "IAU_DEIMOS", - DestinationFrame = "GALACTIC" + SourceFrame = kernels.Frame.Deimos, + DestinationFrame = coreKernels.Frame.Galactic } }, Renderable = { @@ -43,15 +37,11 @@ local DeimosGlobe = { asset.onInitialize(function() - openspace.spice.loadKernel(kernels .. "mar097.bsp") - openspace.addSceneGraphNode(DeimosGlobe) end) asset.onDeinitialize(function() openspace.removeSceneGraphNode(DeimosGlobe) - - openspace.spice.unloadKernel(kernels .. "mar097.bsp") end) asset.export(DeimosGlobe) diff --git a/data/assets/scene/solarsystem/planets/mars/moons/kernels.asset b/data/assets/scene/solarsystem/planets/mars/moons/kernels.asset new file mode 100644 index 0000000000..d090f96459 --- /dev/null +++ b/data/assets/scene/solarsystem/planets/mars/moons/kernels.asset @@ -0,0 +1,33 @@ +local coreKernels = asset.require("spice/core") + + + +local kernels = asset.resource({ + Name = "Mars Spice Kernels", + Type = "HttpSynchronization", + Identifier = "mars_kernels", + Version = 1 +}) + + +local ID = { + Deimos = "DEIMOS", + Phobos = "PHOBOS" +} + +local Frame = { + Deimos = coreKernels.Frame.Deimos, + Phobos = coreKernels.Frame.Phobos +} + + +asset.onInitialize(function() + openspace.spice.loadKernel(kernels .. "mar097.bsp") +end) + +asset.onDeinitialize(function() + openspace.spice.unloadKernel(kernels .. "mar097.bsp") +end) + +asset.export("ID", ID) +asset.export("Frame", Frame) diff --git a/data/assets/scene/solarsystem/planets/mars/moons/phobos.asset b/data/assets/scene/solarsystem/planets/mars/moons/phobos.asset index e726196159..8e3fb4ecd8 100644 --- a/data/assets/scene/solarsystem/planets/mars/moons/phobos.asset +++ b/data/assets/scene/solarsystem/planets/mars/moons/phobos.asset @@ -1,6 +1,8 @@ local transforms = asset.require("scene/solarsystem/planets/mars/transforms") local sunTransforms = asset.require("scene/solarsystem/sun/transforms") local sun = asset.require("scene/solarsystem/sun/sun") +local kernels = asset.require("./kernels") +local coreKernels = asset.require("spice/core") @@ -11,13 +13,6 @@ local model = asset.resource({ Version = 1 }) -local kernels = asset.resource({ - Name = "Mars Spice Kernels", - Type = "HttpSynchronization", - Identifier = "mars_kernels", - Version = 1 -}) - local Phobos = { Identifier = "Phobos", @@ -26,13 +21,13 @@ local Phobos = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "PHOBOS", - Observer = "MARS BARYCENTER" + Target = kernels.ID.Phobos, + Observer = coreKernels.ID.MarsBarycenter }, Rotation = { Type = "SpiceRotation", - SourceFrame = "IAU_PHOBOS", - DestinationFrame = "GALACTIC" + SourceFrame = kernels.Frame.Phobos, + DestinationFrame = coreKernels.Frame.Galactic } }, Renderable = { @@ -62,8 +57,8 @@ local PhobosTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "PHOBOS", - Observer = "MARS BARYCENTER" + Target = kernels.ID.Phobos, + Observer = coreKernels.ID.MarsBarycenter }, Color = { 1.0, 0.605, 0.420 }, Period = 0.31891023, @@ -104,8 +99,6 @@ local PhobosLabel = { asset.onInitialize(function() - openspace.spice.loadKernel(kernels .. "mar097.bsp") - openspace.addSceneGraphNode(Phobos) openspace.addSceneGraphNode(PhobosTrail) openspace.addSceneGraphNode(PhobosLabel) @@ -115,8 +108,6 @@ asset.onDeinitialize(function() openspace.removeSceneGraphNode(PhobosLabel) openspace.removeSceneGraphNode(PhobosTrail) openspace.removeSceneGraphNode(Phobos) - - openspace.spice.unloadKernel(kernels .. "mar097.bsp") end) asset.export(Phobos) diff --git a/data/assets/scene/solarsystem/planets/mars/moons/phobos_globe.asset b/data/assets/scene/solarsystem/planets/mars/moons/phobos_globe.asset index 147136e331..ec0eab634c 100644 --- a/data/assets/scene/solarsystem/planets/mars/moons/phobos_globe.asset +++ b/data/assets/scene/solarsystem/planets/mars/moons/phobos_globe.asset @@ -1,28 +1,22 @@ local transforms = asset.require("../transforms") +local kernels = asset.require("./kernels") +local coreKernels = asset.require("spice/core") -local kernels = asset.resource({ - Name = "Mars Spice Kernels", - Type = "HttpSynchronization", - Identifier = "mars_kernels", - Version = 1 -}) - - local PhobosGlobe = { Identifier = "Phobos_Globe", Parent = transforms.MarsBarycenter.Identifier, Transform = { Translation = { Type = "SpiceTranslation", - Target = "PHOBOS", - Observer = "MARS BARYCENTER" + Target = kernels.ID.Phobos, + Observer = coreKernels.ID.MarsBarycenter }, Rotation = { Type = "SpiceRotation", - SourceFrame = "IAU_PHOBOS", - DestinationFrame = "GALACTIC" + SourceFrame = kernels.Frame.Phobos, + DestinationFrame = coreKernels.Frame.Galactic }, }, Renderable = { @@ -43,15 +37,11 @@ local PhobosGlobe = { asset.onInitialize(function() - openspace.spice.loadKernel(kernels .. "mar097.bsp") - openspace.addSceneGraphNode(PhobosGlobe) end) asset.onDeinitialize(function() openspace.removeSceneGraphNode(PhobosGlobe) - - openspace.spice.unloadKernel(kernels .. "mar097.bsp") end) asset.export(PhobosGlobe) diff --git a/data/assets/scene/solarsystem/planets/mars/trail.asset b/data/assets/scene/solarsystem/planets/mars/trail.asset index 2a8c8785b8..c432c5cb0d 100644 --- a/data/assets/scene/solarsystem/planets/mars/trail.asset +++ b/data/assets/scene/solarsystem/planets/mars/trail.asset @@ -1,5 +1,5 @@ -asset.require("spice/base") local transforms = asset.require("scene/solarsystem/sun/transforms") +local coreKernels = asset.require("spice/core") @@ -10,8 +10,8 @@ local MarsTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "MARS", - Observer = "SSB" + Target = coreKernels.ID.Mars, + Observer = coreKernels.ID.SolarSystemBarycenter }, Color = { 0.814, 0.305, 0.220 }, Period = 686.973, @@ -21,8 +21,7 @@ local MarsTrail = { GUI = { Name = "Mars Trail", Path = "/Solar System/Planets/Mars", - Description = [[Trail of Mars as observed by the Sun. Data from NASA Spice (see - base spice asset)]] + Description = "Trail of Mars as observed by the Sun" } } diff --git a/data/assets/scene/solarsystem/planets/mars/trail_barycenter.asset b/data/assets/scene/solarsystem/planets/mars/trail_barycenter.asset index 7aa361676a..775a83d4b6 100644 --- a/data/assets/scene/solarsystem/planets/mars/trail_barycenter.asset +++ b/data/assets/scene/solarsystem/planets/mars/trail_barycenter.asset @@ -1,5 +1,5 @@ -asset.require("spice/base") local transforms = asset.require("scene/solarsystem/sun/transforms") +local coreKernels = asset.require("spice/core") @@ -11,8 +11,8 @@ local MarsBarycenterTrail = { Enabled = false, Translation = { Type = "SpiceTranslation", - Target = "MARS BARYCENTER", - Observer = "SSB" + Target = coreKernels.ID.MarsBarycenter, + Observer = coreKernels.ID.SolarSystemBarycenter }, Color = { 0.814, 0.305, 0.220 }, Period = 686.973, @@ -22,8 +22,7 @@ local MarsBarycenterTrail = { GUI = { Name = "Mars Barycenter Trail", Path = "/Solar System/Planets/Mars", - Description = [[Trail of Mars' Barycenter as observed by the Sun. Data from NASA Spice - (see base spice asset)]] + Description = "Trail of Mars' Barycenter as observed by the Sun" } } diff --git a/data/assets/scene/solarsystem/planets/mars/trail_earth.asset b/data/assets/scene/solarsystem/planets/mars/trail_earth.asset index e77711aa8d..8498ffc6ec 100644 --- a/data/assets/scene/solarsystem/planets/mars/trail_earth.asset +++ b/data/assets/scene/solarsystem/planets/mars/trail_earth.asset @@ -1,5 +1,5 @@ -asset.require("spice/base") local transforms = asset.require("scene/solarsystem/planets/earth/transforms") +local coreKernels = asset.require("spice/core") @@ -11,8 +11,8 @@ local MarsTrailEarth = { Enabled = false, Translation = { Type = "SpiceTranslation", - Target = "MARS", - Observer = "EARTH" + Target = coreKernels.ID.Mars, + Observer = coreKernels.ID.Earth }, Color = { 1.0, 0.5, 0.2 }, Period = 224.695, @@ -42,8 +42,7 @@ asset.export(MarsTrailEarth) asset.meta = { Name = "Mars Trail from Earth", Version = "1.1", - Description = [[Trail of Mars, parented to Earth with Earth as the SPICE observer. Data - from NASA SPICE (see base spice asset)]], + Description = "Trail of Mars, parented to Earth with Earth as the SPICE observer", Author = "OpenSpace Team", URL = "http://openspaceproject.com", License = "MIT license" diff --git a/data/assets/scene/solarsystem/planets/mars/transforms.asset b/data/assets/scene/solarsystem/planets/mars/transforms.asset index dadc6d49c6..8a7a90041a 100644 --- a/data/assets/scene/solarsystem/planets/mars/transforms.asset +++ b/data/assets/scene/solarsystem/planets/mars/transforms.asset @@ -1,5 +1,5 @@ -asset.require("spice/base") local transforms = asset.require("scene/solarsystem/sun/transforms") +local coreKernels = asset.require("spice/core") @@ -9,8 +9,8 @@ local MarsBarycenter = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "MARS BARYCENTER", - Observer = "SSB" + Target = coreKernels.ID.MarsBarycenter, + Observer = coreKernels.ID.SolarSystemBarycenter } }, GUI = { diff --git a/data/assets/scene/solarsystem/planets/mercury/mercury.asset b/data/assets/scene/solarsystem/planets/mercury/mercury.asset index a884cef006..4fc7a2b520 100644 --- a/data/assets/scene/solarsystem/planets/mercury/mercury.asset +++ b/data/assets/scene/solarsystem/planets/mercury/mercury.asset @@ -1,6 +1,6 @@ -asset.require("spice/base") asset.require("./trail") local transforms = asset.require("./transforms") +local coreKernels = asset.require("spice/core") @@ -18,13 +18,13 @@ local Mercury = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "MERCURY", - Observer = "MERCURY BARYCENTER" + Target = coreKernels.ID.Mercury, + Observer = coreKernels.ID.MercuryBarycenter }, Rotation = { Type = "SpiceRotation", - SourceFrame = "IAU_MERCURY", - DestinationFrame = "GALACTIC" + SourceFrame = coreKernels.Frame.Mercury, + DestinationFrame = coreKernels.Frame.Galactic } }, Renderable = { diff --git a/data/assets/scene/solarsystem/planets/mercury/trail.asset b/data/assets/scene/solarsystem/planets/mercury/trail.asset index ecb673e41c..e87c904aba 100644 --- a/data/assets/scene/solarsystem/planets/mercury/trail.asset +++ b/data/assets/scene/solarsystem/planets/mercury/trail.asset @@ -1,5 +1,5 @@ -asset.require("spice/base") local transforms = asset.require("scene/solarsystem/sun/transforms") +local coreKernels = asset.require("spice/core") @@ -10,8 +10,8 @@ local MercuryTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "MERCURY", - Observer = "SSB" + Target = coreKernels.ID.Mercury, + Observer = coreKernels.ID.SolarSystemBarycenter }, Color = { 0.6, 0.5, 0.5 }, Period = 87.968, @@ -41,7 +41,7 @@ asset.export(MercuryTrail) asset.meta = { Name = "Mercury Trail", Version = "1.1", - Description = "Main trail for Mercury. Data from NASA Spice (see base spice asset)", + Description = "Main trail for Mercury", Author = "OpenSpace Team", URL = "http://openspaceproject.com", License = "MIT license" diff --git a/data/assets/scene/solarsystem/planets/mercury/trail_barycenter.asset b/data/assets/scene/solarsystem/planets/mercury/trail_barycenter.asset index a628148e8a..215c9a0611 100644 --- a/data/assets/scene/solarsystem/planets/mercury/trail_barycenter.asset +++ b/data/assets/scene/solarsystem/planets/mercury/trail_barycenter.asset @@ -1,5 +1,5 @@ -asset.require("spice/base") local transforms = asset.require("scene/solarsystem/sun/transforms") +local coreKernels = asset.require("spice/core") @@ -11,8 +11,8 @@ local MercuryBarycenterTrail = { Enabled = false, Translation = { Type = "SpiceTranslation", - Target = "MERCURY BARYCENTER", - Observer = "SSB" + Target = coreKernels.ID.MercuryBarycenter, + Observer = coreKernels.ID.SolarSystemBarycenter }, Color = { 0.6, 0.5, 0.5 }, Period = 87.968, @@ -42,8 +42,7 @@ asset.export(MercuryBarycenterTrail) asset.meta = { Name = "Mercury Trail", Version = "1.1", - Description = [[Trail for Mercury's Barycenter. Data from NASA Spice (see base spice - asset)]], + Description = "Trail for Mercury's Barycenter", Author = "OpenSpace Team", URL = "http://openspaceproject.com", License = "MIT license" diff --git a/data/assets/scene/solarsystem/planets/mercury/trail_earth.asset b/data/assets/scene/solarsystem/planets/mercury/trail_earth.asset index 259460e939..c8d38db592 100644 --- a/data/assets/scene/solarsystem/planets/mercury/trail_earth.asset +++ b/data/assets/scene/solarsystem/planets/mercury/trail_earth.asset @@ -1,6 +1,6 @@ -asset.require("spice/base") local transforms = asset.require("scene/solarsystem/sun/transforms") local earthTransforms = asset.require("scene/solarsystem/planets/earth/transforms") +local coreKernels = asset.require("spice/core") @@ -12,8 +12,8 @@ local MercuryTrailEarth = { Enabled = false, Translation = { Type = "SpiceTranslation", - Target = "MERCURY", - Observer = "EARTH" + Target = coreKernels.ID.Mercury, + Observer = coreKernels.ID.Earth }, Color = { 1.0, 0.5, 0.2 }, Period = 224.695, diff --git a/data/assets/scene/solarsystem/planets/mercury/transforms.asset b/data/assets/scene/solarsystem/planets/mercury/transforms.asset index 072de7b715..9d34b9c070 100644 --- a/data/assets/scene/solarsystem/planets/mercury/transforms.asset +++ b/data/assets/scene/solarsystem/planets/mercury/transforms.asset @@ -1,5 +1,5 @@ -asset.require("spice/base") local transforms = asset.require("scene/solarsystem/sun/transforms") +local coreKernels = asset.require("spice/core") @@ -9,8 +9,8 @@ local MercuryBarycenter = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "MERCURY BARYCENTER", - Observer = "SSB" + Target = coreKernels.ID.MercuryBarycenter, + Observer = coreKernels.ID.SolarSystemBarycenter } }, GUI = { diff --git a/data/assets/scene/solarsystem/planets/neptune/inner_moons.asset b/data/assets/scene/solarsystem/planets/neptune/inner_moons.asset index 7b74e64e61..10070b7d01 100644 --- a/data/assets/scene/solarsystem/planets/neptune/inner_moons.asset +++ b/data/assets/scene/solarsystem/planets/neptune/inner_moons.asset @@ -1,5 +1,6 @@ local transforms = asset.require("./transforms") -local kernel = asset.require("./kernels") +local kernel = asset.require("./kernels095") +local coreKernels = asset.require("spice/core") @@ -9,8 +10,8 @@ local Naiad = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "NAIAD", - Observer = "NEPTUNE BARYCENTER" + Target = kernel.ID.Naiad, + Observer = coreKernels.ID.NeptuneBarycenter } }, Renderable = { @@ -40,8 +41,8 @@ local NaiadTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "NAIAD", - Observer = "NEPTUNE BARYCENTER" + Target = kernel.ID.Naiad, + Observer = coreKernels.ID.NeptuneBarycenter }, Color = { 0.2, 0.5, 0.75 }, Period = 0.294, @@ -91,8 +92,8 @@ local Thalassa = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "THALASSA", - Observer = "NEPTUNE BARYCENTER" + Target = kernel.ID.Thalassa, + Observer = coreKernels.ID.NeptuneBarycenter } }, Renderable = { @@ -122,8 +123,8 @@ local ThalassaTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "THALASSA", - Observer = "NEPTUNE BARYCENTER" + Target = kernel.ID.Thalassa, + Observer = coreKernels.ID.NeptuneBarycenter }, Color = { 0.2, 0.5, 0.75 }, Period = 0.311, @@ -173,8 +174,8 @@ local Despina = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "DESPINA", - Observer = "NEPTUNE BARYCENTER" + Target = kernel.ID.Despina, + Observer = coreKernels.ID.NeptuneBarycenter } }, Renderable = { @@ -204,8 +205,8 @@ local DespinaTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "DESPINA", - Observer = "NEPTUNE BARYCENTER" + Target = kernel.ID.Despina, + Observer = coreKernels.ID.NeptuneBarycenter }, Color = { 0.2, 0.5, 0.75 }, Period = 0.335, @@ -255,8 +256,8 @@ local Galatea = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "GALATEA", - Observer = "NEPTUNE BARYCENTER" + Target = kernel.ID.Galatea, + Observer = coreKernels.ID.NeptuneBarycenter } }, Renderable = { @@ -286,8 +287,8 @@ local GalateaTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "GALATEA", - Observer = "NEPTUNE BARYCENTER" + Target = kernel.ID.Galatea, + Observer = coreKernels.ID.NeptuneBarycenter }, Color = { 0.2, 0.5, 0.75 }, Period = 0.429, @@ -337,8 +338,8 @@ local Larissa = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "LARISSA", - Observer = "NEPTUNE BARYCENTER" + Target = kernel.ID.Larissa, + Observer = coreKernels.ID.NeptuneBarycenter } }, Renderable = { @@ -368,8 +369,8 @@ local LarissaTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "LARISSA", - Observer = "NEPTUNE BARYCENTER" + Target = kernel.ID.Larissa, + Observer = coreKernels.ID.NeptuneBarycenter }, Color = { 0.2, 0.5, 0.75 }, Period = 0.555, @@ -419,8 +420,8 @@ local Hippocamp = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "814", - Observer = "NEPTUNE BARYCENTER" + Target = kernel.ID.Hippocamp, + Observer = coreKernels.ID.NeptuneBarycenter } }, Renderable = { @@ -450,8 +451,8 @@ local HippocampTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "814", - Observer = "NEPTUNE BARYCENTER" + Target = kernel.ID.Hippocamp, + Observer = coreKernels.ID.NeptuneBarycenter }, Color = { 0.2, 0.5, 0.75 }, Period = 0.936, @@ -501,8 +502,8 @@ local Proteus = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "PROTEUS", - Observer = "NEPTUNE BARYCENTER" + Target = kernel.ID.Proteus, + Observer = coreKernels.ID.NeptuneBarycenter } }, Renderable = { @@ -532,8 +533,8 @@ local ProteusTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "PROTEUS", - Observer = "NEPTUNE BARYCENTER" + Target = kernel.ID.Proteus, + Observer = coreKernels.ID.NeptuneBarycenter }, Color = { 0.2, 0.5, 0.75 }, Period = 1.122, @@ -579,10 +580,6 @@ local ProteusLabel = { asset.onInitialize(function() - openspace.spice.loadKernel(kernel.nep095) - openspace.spice.loadKernel(kernel.nep097) - - openspace.addSceneGraphNode(Naiad) openspace.addSceneGraphNode(NaiadTrail) openspace.addSceneGraphNode(NaiadLabel) @@ -640,10 +637,6 @@ asset.onDeinitialize(function() openspace.removeSceneGraphNode(ProteusLabel) openspace.removeSceneGraphNode(ProteusTrail) openspace.removeSceneGraphNode(Proteus) - - - openspace.spice.unloadKernel(kernel.nep097) - openspace.spice.unloadKernel(kernel.nep095) end) asset.export(Naiad) diff --git a/data/assets/scene/solarsystem/planets/neptune/irregular_moons.asset b/data/assets/scene/solarsystem/planets/neptune/irregular_moons.asset index 6b1f13d4fc..fbd440905a 100644 --- a/data/assets/scene/solarsystem/planets/neptune/irregular_moons.asset +++ b/data/assets/scene/solarsystem/planets/neptune/irregular_moons.asset @@ -1,5 +1,6 @@ local transforms = asset.require("./transforms") -local kernel = asset.require("./kernels") +local kernels102 = asset.require("./kernels102") +local coreKernels = asset.require("spice/core") @@ -9,8 +10,8 @@ local Halimede = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "HALIMEDE", - Observer = "NEPTUNE BARYCENTER" + Target = kernels102.ID.Halimede, + Observer = coreKernels.ID.NeptuneBarycenter } }, Renderable = { @@ -40,8 +41,8 @@ local HalimedeTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "HALIMEDE", - Observer = "NEPTUNE BARYCENTER" + Target = kernels102.ID.Halimede, + Observer = coreKernels.ID.NeptuneBarycenter }, Color = { 0.2, 0.5, 0.75 }, Period = 1879.08, @@ -91,8 +92,8 @@ local Psamathe = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "PSAMATHE", - Observer = "NEPTUNE BARYCENTER" + Target = kernels102.ID.Psamathe, + Observer = coreKernels.ID.NeptuneBarycenter } }, Renderable = { @@ -122,8 +123,8 @@ local PsamatheTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "PSAMATHE", - Observer = "NEPTUNE BARYCENTER" + Target = kernels102.ID.Psamathe, + Observer = coreKernels.ID.NeptuneBarycenter }, Color = { 0.2, 0.5, 0.75 }, Period = 9074.3, @@ -173,8 +174,8 @@ local Sao = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "SAO", - Observer = "NEPTUNE BARYCENTER" + Target = kernels102.ID.Sao, + Observer = coreKernels.ID.NeptuneBarycenter } }, Renderable = { @@ -204,8 +205,8 @@ local SaoTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "SAO", - Observer = "NEPTUNE BARYCENTER" + Target = kernels102.ID.Sao, + Observer = coreKernels.ID.NeptuneBarycenter }, Color = { 0.2, 0.5, 0.75 }, Period = 2912.72, @@ -255,8 +256,8 @@ local Laomedeia = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "LAOMEDEIA", - Observer = "NEPTUNE BARYCENTER" + Target = kernels102.ID.Laomedeia, + Observer = coreKernels.ID.NeptuneBarycenter } }, Renderable = { @@ -286,8 +287,8 @@ local LaomedeiaTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "LAOMEDEIA", - Observer = "NEPTUNE BARYCENTER" + Target = kernels102.ID.Laomedeia, + Observer = coreKernels.ID.NeptuneBarycenter }, Color = { 0.2, 0.5, 0.75 }, Period = 3171.33, @@ -337,8 +338,8 @@ local Neso = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "NESO", - Observer = "NEPTUNE BARYCENTER" + Target = kernels102.ID.Neso, + Observer = coreKernels.ID.NeptuneBarycenter } }, Renderable = { @@ -368,8 +369,8 @@ local NesoTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "NESO", - Observer = "NEPTUNE BARYCENTER" + Target = kernels102.ID.Neso, + Observer = coreKernels.ID.NeptuneBarycenter }, Color = { 0.2, 0.5, 0.75 }, Period = 9740.73, @@ -415,9 +416,6 @@ local NesoLabel = { asset.onInitialize(function() - openspace.spice.loadKernel(kernel.nep102) - - openspace.addSceneGraphNode(Halimede) openspace.addSceneGraphNode(HalimedeTrail) openspace.addSceneGraphNode(HalimedeLabel) @@ -459,9 +457,6 @@ asset.onDeinitialize(function() openspace.removeSceneGraphNode(NesoLabel) openspace.removeSceneGraphNode(NesoTrail) openspace.removeSceneGraphNode(Neso) - - - openspace.spice.unloadKernel(kernel.nep102) end) asset.export(Halimede) diff --git a/data/assets/scene/solarsystem/planets/neptune/kernels095.asset b/data/assets/scene/solarsystem/planets/neptune/kernels095.asset new file mode 100644 index 0000000000..ebd656215f --- /dev/null +++ b/data/assets/scene/solarsystem/planets/neptune/kernels095.asset @@ -0,0 +1,53 @@ +local coreKernels = asset.require("spice/core") + + + +local kernels = asset.resource({ + Name = "Neptune Spice Kernels", + Type = "HttpSynchronization", + Identifier = "neptune_kernels", + Version = 2 +}) + + +local ID = { + Despina = "DESPINA", + Galatea = "GALATEA", + Hippocamp = 814, + Larissa = "LARISSA", + Naiad = "NAIAD", + Proteus = "PROTEUS", + Thalassa = "THALASSA" +} + +local Frame = { + Despina = coreKernels.Frame.Despina, + Galatea = coreKernels.Frame.Galatea, + Larissa = coreKernels.Frame.Larissa, + Naiad = coreKernels.Frame.Naiad, + Proteus = coreKernels.Frame.Proteus, + Thalassa = coreKernels.Frame.Thalassa +} + + +asset.onInitialize(function() + openspace.spice.loadKernel(kernels .. "nep102.bsp") +end) + +asset.onDeinitialize(function() + openspace.spice.unloadKernel(kernels .. "nep102.bsp") +end) + +asset.export("ID", ID) +asset.export("Frame", Frame) + + + +asset.meta = { + Name = "Neptune Spice Kernels", + Version = "1.0", + Description = "Generic SPICE kernels for Neptune", + Author = "OpenSpace Team", + URL = "https://naif.jpl.nasa.gov/pub/naif/pds/wgc/kernels/spk/", + License = "NASA" +} diff --git a/data/assets/scene/solarsystem/planets/neptune/kernels.asset b/data/assets/scene/solarsystem/planets/neptune/kernels102.asset similarity index 54% rename from data/assets/scene/solarsystem/planets/neptune/kernels.asset rename to data/assets/scene/solarsystem/planets/neptune/kernels102.asset index e1c2feb317..06ca2973ed 100644 --- a/data/assets/scene/solarsystem/planets/neptune/kernels.asset +++ b/data/assets/scene/solarsystem/planets/neptune/kernels102.asset @@ -6,10 +6,24 @@ local kernels = asset.resource({ }) -asset.export("nep095", kernels .. "nep095.bsp") -asset.export("nep097", kernels .. "nep097.bsp") -asset.export("nep101xl_802", kernels .. "nep101xl-802.bsp") -asset.export("nep102", kernels .. "nep102.bsp") +local ID = { + Halimede = "HALIMEDE", + Laomedeia = "LAOMEDEIA", + Psamathe = "PSAMATHE", + Sao = "SAO", + Neso = "NESO" +} + + +asset.onInitialize(function() + openspace.spice.loadKernel(kernels .. "nep102.bsp") +end) + +asset.onDeinitialize(function() + openspace.spice.unloadKernel(kernels .. "nep102.bsp") +end) + +asset.export("ID", ID) diff --git a/data/assets/scene/solarsystem/planets/neptune/neptune.asset b/data/assets/scene/solarsystem/planets/neptune/neptune.asset index 08a80ed703..5d2ba64570 100644 --- a/data/assets/scene/solarsystem/planets/neptune/neptune.asset +++ b/data/assets/scene/solarsystem/planets/neptune/neptune.asset @@ -1,7 +1,6 @@ -asset.require("spice/base") asset.require("./trail") local transforms = asset.require("./transforms") -local kernel = asset.require("./kernels") +local coreKernels = asset.require("spice/core") @@ -11,13 +10,13 @@ local Neptune = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "NEPTUNE", - Observer = "NEPTUNE BARYCENTER" + Target = coreKernels.ID.Neptune, + Observer = coreKernels.ID.NeptuneBarycenter }, Rotation = { Type = "SpiceRotation", - SourceFrame = "IAU_NEPTUNE", - DestinationFrame = "GALACTIC" + SourceFrame = coreKernels.Frame.Neptune, + DestinationFrame = coreKernels.Frame.Galactic } }, Renderable = { @@ -61,8 +60,6 @@ local NeptuneLabel = { asset.onInitialize(function() - openspace.spice.loadKernel(kernel.nep097) - openspace.addSceneGraphNode(Neptune) openspace.addSceneGraphNode(NeptuneLabel) end) @@ -70,8 +67,6 @@ end) asset.onDeinitialize(function() openspace.removeSceneGraphNode(NeptuneLabel) openspace.removeSceneGraphNode(Neptune) - - openspace.spice.unloadKernel(kernel.nep097) end) asset.export(Neptune) diff --git a/data/assets/scene/solarsystem/planets/neptune/nereid/nereid.asset b/data/assets/scene/solarsystem/planets/neptune/nereid/nereid.asset index 889f01cc3b..c09dd887c0 100644 --- a/data/assets/scene/solarsystem/planets/neptune/nereid/nereid.asset +++ b/data/assets/scene/solarsystem/planets/neptune/nereid/nereid.asset @@ -1,8 +1,16 @@ local transforms = asset.require("../transforms") -local kernel = asset.require("../kernels") +local coreKernels = asset.require("spice/core") +local kernels = asset.resource({ + Name = "Neptune Spice Kernels", + Type = "HttpSynchronization", + Identifier = "neptune_kernels", + Version = 2 +}) + + local Nereid = { Identifier = "Nereid", Parent = transforms.NeptuneBarycenter.Identifier, @@ -10,7 +18,7 @@ local Nereid = { Translation = { Type = "SpiceTranslation", Target = "NEREID", - Observer = "NEPTUNE BARYCENTER" + Observer = coreKernels.ID.NeptuneBarycenter } }, Renderable = { @@ -34,7 +42,7 @@ local NereidTrail = { Translation = { Type = "SpiceTranslation", Target = "NEREID", - Observer = "NEPTUNE BARYCENTER" + Observer = coreKernels.ID.NeptuneBarycenter }, Color = { 0.2, 0.5, 0.75 }, Period = 360.13, @@ -74,8 +82,7 @@ local NereidLabel = { asset.onInitialize(function() - openspace.spice.loadKernel(kernel.nep101xl_802) - + openspace.spice.loadKernel(kernels .. "nep101xl-802.bsp") openspace.addSceneGraphNode(Nereid) openspace.addSceneGraphNode(NereidTrail) @@ -87,8 +94,7 @@ asset.onDeinitialize(function() openspace.removeSceneGraphNode(NereidTrail) openspace.removeSceneGraphNode(Nereid) - - openspace.spice.unloadKernel(kernel.nep101xl_802) + openspace.spice.unloadKernel(kernels .. "nep101xl-802.bsp") end) asset.export(Nereid) diff --git a/data/assets/scene/solarsystem/planets/neptune/trail.asset b/data/assets/scene/solarsystem/planets/neptune/trail.asset index 62268797bf..e8f0ca1647 100644 --- a/data/assets/scene/solarsystem/planets/neptune/trail.asset +++ b/data/assets/scene/solarsystem/planets/neptune/trail.asset @@ -1,6 +1,5 @@ -asset.require("spice/base") local transforms = asset.require("scene/solarsystem/sun/transforms") -local kernel = asset.require("./kernels") +local coreKernels = asset.require("spice/core") @@ -11,8 +10,8 @@ local NeptuneTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "NEPTUNE", - Observer = "SSB" + Target = coreKernels.ID.Neptune, + Observer = coreKernels.ID.SolarSystemBarycenter }, Color = { 0.2, 0.5, 1.0 }, -- Period = 60200, @@ -39,15 +38,11 @@ local NeptuneTrail = { asset.onInitialize(function() - openspace.spice.loadKernel(kernel.nep097) - openspace.addSceneGraphNode(NeptuneTrail) end) asset.onDeinitialize(function() openspace.removeSceneGraphNode(NeptuneTrail) - - openspace.spice.unloadKernel(kernel.nep097) end) asset.export(NeptuneTrail) @@ -57,7 +52,7 @@ asset.export(NeptuneTrail) asset.meta = { Name = "Neptune Trail", Version = "1.1", - Description = "Main trail of Neptune. Data from NASA Spice (see base spice asset)", + Description = "Main trail of Neptune", Author = "OpenSpace Team", URL = "http://openspaceproject.com", License = "MIT license" diff --git a/data/assets/scene/solarsystem/planets/neptune/trail_barycenter.asset b/data/assets/scene/solarsystem/planets/neptune/trail_barycenter.asset index 4a5de693f7..d3ba82200b 100644 --- a/data/assets/scene/solarsystem/planets/neptune/trail_barycenter.asset +++ b/data/assets/scene/solarsystem/planets/neptune/trail_barycenter.asset @@ -1,6 +1,5 @@ -asset.require("spice/base") local transforms = asset.require("scene/solarsystem/sun/transforms") -local kernel = asset.require("./kernels") +local coreKernels = asset.require("spice/core") @@ -12,8 +11,8 @@ local NeptuneBarycenterTrail = { Enabled = false, Translation = { Type = "SpiceTranslation", - Target = "NEPTUNE BARYCENTER", - Observer = "SSB" + Target = coreKernels.ID.NeptuneBarycenter, + Observer = coreKernels.ID.SolarSystemBarycenter }, Color = { 0.2, 0.5, 1.0 }, Period = 60266, @@ -29,15 +28,11 @@ local NeptuneBarycenterTrail = { asset.onInitialize(function() - openspace.spice.loadKernel(kernel.nep097) - openspace.addSceneGraphNode(NeptuneBarycenterTrail) end) asset.onDeinitialize(function() openspace.removeSceneGraphNode(NeptuneBarycenterTrail) - - openspace.spice.unloadKernel(kernel.nep097) end) asset.export(NeptuneBarycenterTrail) @@ -47,8 +42,7 @@ asset.export(NeptuneBarycenterTrail) asset.meta = { Name = "Neptune Trail", Version = "1.1", - Description = [[Trail of Neptune's Barycenter. Data from NASA Spice (see base spice - asset)]], + Description = "Trail of Neptune's Barycenter", Author = "OpenSpace Team", URL = "http://openspaceproject.com", License = "MIT license" diff --git a/data/assets/scene/solarsystem/planets/neptune/trail_earth.asset b/data/assets/scene/solarsystem/planets/neptune/trail_earth.asset index 9becaa7d4a..89a6c1ef73 100644 --- a/data/assets/scene/solarsystem/planets/neptune/trail_earth.asset +++ b/data/assets/scene/solarsystem/planets/neptune/trail_earth.asset @@ -1,7 +1,6 @@ -asset.require("spice/base") local transforms = asset.require("scene/solarsystem/sun/transforms") local earthTransforms = asset.require("scene/solarsystem/planets/earth/transforms") -local kernel = asset.require("./kernels") +local coreKernels = asset.require("spice/core") @@ -13,8 +12,8 @@ local NeptuneTrailEarth = { Enabled = false, Translation = { Type = "SpiceTranslation", - Target = "NEPTUNE", - Observer = "EARTH" + Target = coreKernels.ID.Neptune, + Observer = coreKernels.ID.Earth }, Color = { 1.0, 0.5, 0.2 }, Period = 224.695, @@ -30,15 +29,11 @@ local NeptuneTrailEarth = { asset.onInitialize(function() - openspace.spice.loadKernel(kernel.nep097) - openspace.addSceneGraphNode(NeptuneTrailEarth) end) asset.onDeinitialize(function() openspace.removeSceneGraphNode(NeptuneTrailEarth) - - openspace.spice.unloadKernel(kernel.nep097) end) asset.export(NeptuneTrailEarth) diff --git a/data/assets/scene/solarsystem/planets/neptune/transforms.asset b/data/assets/scene/solarsystem/planets/neptune/transforms.asset index 93e780ad6d..a2dd5f261b 100644 --- a/data/assets/scene/solarsystem/planets/neptune/transforms.asset +++ b/data/assets/scene/solarsystem/planets/neptune/transforms.asset @@ -1,6 +1,5 @@ -asset.require("spice/base") local transforms = asset.require("scene/solarsystem/sun/transforms") -local kernel = asset.require("./kernels") +local coreKernels = asset.require("spice/core") @@ -10,8 +9,8 @@ local NeptuneBarycenter = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "NEPTUNE BARYCENTER", - Observer = "SSB" + Target = coreKernels.ID.NeptuneBarycenter, + Observer = coreKernels.ID.SolarSystemBarycenter } }, GUI = { @@ -23,15 +22,11 @@ local NeptuneBarycenter = { asset.onInitialize(function() - openspace.spice.loadKernel(kernel.nep097) - openspace.addSceneGraphNode(NeptuneBarycenter) end) asset.onDeinitialize(function() openspace.removeSceneGraphNode(NeptuneBarycenter) - - openspace.spice.unloadKernel(kernel.nep097) end) asset.export(NeptuneBarycenter) diff --git a/data/assets/scene/solarsystem/planets/neptune/triton/trail.asset b/data/assets/scene/solarsystem/planets/neptune/triton/trail.asset deleted file mode 100644 index fc8f537041..0000000000 --- a/data/assets/scene/solarsystem/planets/neptune/triton/trail.asset +++ /dev/null @@ -1,53 +0,0 @@ -asset.require("spice/base") -local transforms = asset.require("../transforms") -local kernel = asset.require("../kernels") - - - -local Trail = { - Identifier = "TritonTrail", - Parent = transforms.NeptuneBarycenter.Identifier, - Renderable = { - Type = "RenderableTrailOrbit", - Translation = { - Type = "SpiceTranslation", - Target = "TRITON", - Observer = "NEPTUNE BARYCENTER" - }, - Color = { 0.2, 0.5, 0.75 }, - Period = 5.877, - Resolution = 1000 - }, - Tag = { "moonTrail_solarSystem", "moonTrail_giants", "moonTrail_neptune" }, - GUI = { - Name = "Triton Trail", - Path = "/Solar System/Planets/Neptune/Major Moons/Triton" - } -} - -asset.onInitialize(function() - openspace.spice.loadKernel(kernel.nep097) - - - openspace.addSceneGraphNode(Trail) -end) - -asset.onDeinitialize(function() - openspace.removeSceneGraphNode(Trail) - - - openspace.spice.unloadKernel(kernel.nep097) -end) - -asset.export(Trail) - - -asset.meta = { - Name = "Triton Trail", - Version = "1.1", - Description = [[Trail of Triton as observed by the Neptune. Data from NASA Spice (see - base spice asset)]], - Author = "OpenSpace Team", - URL = "http://openspaceproject.com", - License = "MIT license" -} diff --git a/data/assets/scene/solarsystem/planets/neptune/triton/triton.asset b/data/assets/scene/solarsystem/planets/neptune/triton/triton.asset index df573a0ee9..4cba8e5a83 100644 --- a/data/assets/scene/solarsystem/planets/neptune/triton/triton.asset +++ b/data/assets/scene/solarsystem/planets/neptune/triton/triton.asset @@ -1,8 +1,16 @@ local transforms = asset.require("../transforms") -local kernel = asset.require("../kernels") +local coreKernels = asset.require("spice/core") +local kernels = asset.resource({ + Name = "Neptune Spice Kernels", + Type = "HttpSynchronization", + Identifier = "neptune_kernels", + Version = 2 +}) + + local Triton = { Identifier = "Triton", Parent = transforms.NeptuneBarycenter.Identifier, @@ -10,12 +18,12 @@ local Triton = { Translation = { Type = "SpiceTranslation", Target = "TRITON", - Observer = "NEPTUNE BARYCENTER" + Observer = coreKernels.ID.NeptuneBarycenter }, Rotation = { Type = "SpiceRotation", SourceFrame = "IAU_TRITON", - DestinationFrame = "GALACTIC" + DestinationFrame = coreKernels.Frame.Galactic } }, Renderable = { @@ -39,7 +47,7 @@ local TritonTrail = { Translation = { Type = "SpiceTranslation", Target = "TRITON", - Observer = "NEPTUNE BARYCENTER" + Observer = coreKernels.ID.NeptuneBarycenter }, Color = { 0.2, 0.5, 0.75 }, Period = 5.875, @@ -79,8 +87,7 @@ local TritonLabel = { asset.onInitialize(function() - openspace.spice.loadKernel(kernel.nep097) - + openspace.spice.loadKernel(kernels .. "nep097.bsp") openspace.addSceneGraphNode(Triton) openspace.addSceneGraphNode(TritonTrail) @@ -92,8 +99,7 @@ asset.onDeinitialize(function() openspace.removeSceneGraphNode(TritonTrail) openspace.removeSceneGraphNode(Triton) - - openspace.spice.unloadKernel(kernel.nep097) + openspace.spice.unloadKernel(kernels .. "nep097.bsp") end) asset.export(Triton) diff --git a/data/assets/scene/solarsystem/planets/saturn/dione/dione.asset b/data/assets/scene/solarsystem/planets/saturn/dione/dione.asset index 059a8978b8..2d198d2bfa 100644 --- a/data/assets/scene/solarsystem/planets/saturn/dione/dione.asset +++ b/data/assets/scene/solarsystem/planets/saturn/dione/dione.asset @@ -1,6 +1,7 @@ asset.require("./trail") local transforms = asset.require("../transforms") -local kernel = asset.require("../kernels") +local kernels = asset.require("../kernels") +local coreKernels = asset.require("spice/core") @@ -18,13 +19,13 @@ local Dione = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "DIONE", - Observer = "SATURN BARYCENTER" + Target = kernels.ID.Dione, + Observer = coreKernels.ID.SaturnBarycenter }, Rotation = { Type = "SpiceRotation", - SourceFrame = "IAU_ENCELADUS", - DestinationFrame = "GALACTIC" + SourceFrame = coreKernels.Frame.Dione, + DestinationFrame = coreKernels.Frame.Galactic } }, Renderable = { @@ -79,8 +80,6 @@ local DioneLabel = { asset.onInitialize(function() - openspace.spice.loadKernel(kernel.sat441) - openspace.addSceneGraphNode(Dione) openspace.addSceneGraphNode(DioneLabel) end) @@ -88,8 +87,6 @@ end) asset.onDeinitialize(function() openspace.removeSceneGraphNode(DioneLabel) openspace.removeSceneGraphNode(Dione) - - openspace.spice.unloadKernel(kernel.sat441) end) asset.export(Dione) diff --git a/data/assets/scene/solarsystem/planets/saturn/dione/trail.asset b/data/assets/scene/solarsystem/planets/saturn/dione/trail.asset index 41cdab9d54..000ef6aaf2 100644 --- a/data/assets/scene/solarsystem/planets/saturn/dione/trail.asset +++ b/data/assets/scene/solarsystem/planets/saturn/dione/trail.asset @@ -1,5 +1,6 @@ local transforms = asset.require("../transforms") -local kernel = asset.require("../kernels") +local kernels = asset.require("../kernels") +local coreKernels = asset.require("spice/core") @@ -10,8 +11,8 @@ local DioneTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "DIONE", - Observer = "SATURN BARYCENTER" + Target = kernels.ID.Dione, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 66.0 / 24.0, @@ -27,15 +28,11 @@ local DioneTrail = { asset.onInitialize(function() - openspace.spice.loadKernel(kernel.sat441) - openspace.addSceneGraphNode(DioneTrail) end) asset.onDeinitialize(function() openspace.removeSceneGraphNode(DioneTrail) - - openspace.spice.unloadKernel(kernel.sat441) end) asset.export(DioneTrail) @@ -45,7 +42,7 @@ asset.export(DioneTrail) asset.meta = { Name = "Dione Trail", Version = "1.0", - Description = "Trail for Dione. Data from NASA Spice (see base spice asset)", + Description = "Trail for Dione", Author = "OpenSpace Team", URL = "http://openspaceproject.com", License = "MIT license" diff --git a/data/assets/scene/solarsystem/planets/saturn/enceladus/enceladus.asset b/data/assets/scene/solarsystem/planets/saturn/enceladus/enceladus.asset index b18131ccef..844c4c80cf 100644 --- a/data/assets/scene/solarsystem/planets/saturn/enceladus/enceladus.asset +++ b/data/assets/scene/solarsystem/planets/saturn/enceladus/enceladus.asset @@ -1,6 +1,7 @@ asset.require("./trail") local transforms = asset.require("../transforms") -local kernel = asset.require("../kernels") +local kernels = asset.require("../kernels") +local coreKernels = asset.require("spice/core") @@ -18,13 +19,13 @@ local Enceladus = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "ENCELADUS", - Observer = "SATURN BARYCENTER" + Target = kernels.ID.Enceladus, + Observer = coreKernels.ID.SaturnBarycenter }, Rotation = { Type = "SpiceRotation", - SourceFrame = "IAU_ENCELADUS", - DestinationFrame = "GALACTIC" + SourceFrame = kernels.Frame.Enceladus, + DestinationFrame = coreKernels.Frame.Galactic } }, Renderable = { @@ -80,8 +81,6 @@ local EnceladusLabel = { asset.onInitialize(function() - openspace.spice.loadKernel(kernel.sat441) - openspace.addSceneGraphNode(Enceladus) openspace.addSceneGraphNode(EnceladusLabel) end) @@ -89,8 +88,6 @@ end) asset.onDeinitialize(function() openspace.removeSceneGraphNode(EnceladusLabel) openspace.removeSceneGraphNode(Enceladus) - - openspace.spice.unloadKernel(kernel.sat441) end) asset.export(Enceladus) diff --git a/data/assets/scene/solarsystem/planets/saturn/enceladus/trail.asset b/data/assets/scene/solarsystem/planets/saturn/enceladus/trail.asset index e518227623..feeeaf909e 100644 --- a/data/assets/scene/solarsystem/planets/saturn/enceladus/trail.asset +++ b/data/assets/scene/solarsystem/planets/saturn/enceladus/trail.asset @@ -1,5 +1,6 @@ local transforms = asset.require("../transforms") -local kernel = asset.require("../kernels") +local kernels = asset.require("../kernels") +local coreKernels = asset.require("spice/core") @@ -10,8 +11,8 @@ local EnceladusTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "ENCELADUS", - Observer = "SATURN BARYCENTER" + Target = kernels.ID.Enceladus, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 33.0 / 24.0, @@ -27,15 +28,11 @@ local EnceladusTrail = { asset.onInitialize(function() - openspace.spice.loadKernel(kernel.sat441) - openspace.addSceneGraphNode(EnceladusTrail) end) asset.onDeinitialize(function() openspace.removeSceneGraphNode(EnceladusTrail) - - openspace.spice.unloadKernel(kernel.sat441) end) asset.export(EnceladusTrail) @@ -45,7 +42,7 @@ asset.export(EnceladusTrail) asset.meta = { Name = "Enceladus Trail", Version = "1.1", - Description = "Trail for Enceladus. Data from NASA Spice (see base spice asset)", + Description = "Trail for Enceladus", Author = "OpenSpace Team", URL = "http://openspaceproject.com", License = "MIT license" diff --git a/data/assets/scene/solarsystem/planets/saturn/hyperion/hyperion.asset b/data/assets/scene/solarsystem/planets/saturn/hyperion/hyperion.asset index 5be4586437..9ea90bfa22 100644 --- a/data/assets/scene/solarsystem/planets/saturn/hyperion/hyperion.asset +++ b/data/assets/scene/solarsystem/planets/saturn/hyperion/hyperion.asset @@ -1,6 +1,7 @@ asset.require("./trail") local transforms = asset.require("../transforms") -local kernel = asset.require("../kernels") +local kernels = asset.require("../kernels") +local coreKernels = asset.require("spice/core") @@ -18,8 +19,8 @@ local Hyperion = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "HYPERION", - Observer = "SATURN BARYCENTER" + Target = kernels.ID.Hyperion, + Observer = coreKernels.ID.SaturnBarycenter } -- The IAU report does not give an orientation model for Hyperion. -- Hyperion's rotation is chaotic and not predictable for long periods. @@ -76,8 +77,6 @@ local HyperionLabel = { asset.onInitialize(function() - openspace.spice.loadKernel(kernel.sat441) - openspace.addSceneGraphNode(Hyperion) openspace.addSceneGraphNode(HyperionLabel) end) @@ -85,8 +84,6 @@ end) asset.onDeinitialize(function() openspace.removeSceneGraphNode(HyperionLabel) openspace.removeSceneGraphNode(Hyperion) - - openspace.spice.unloadKernel(kernel.sat441) end) asset.export(Hyperion) diff --git a/data/assets/scene/solarsystem/planets/saturn/hyperion/trail.asset b/data/assets/scene/solarsystem/planets/saturn/hyperion/trail.asset index 5957e218b1..3b4bbdc3b5 100644 --- a/data/assets/scene/solarsystem/planets/saturn/hyperion/trail.asset +++ b/data/assets/scene/solarsystem/planets/saturn/hyperion/trail.asset @@ -1,5 +1,6 @@ local transforms = asset.require("../transforms") -local kernel = asset.require("../kernels") +local kernels = asset.require("../kernels") +local coreKernels = asset.require("spice/core") @@ -10,8 +11,8 @@ local HyperionTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "HYPERION", - Observer = "SATURN BARYCENTER" + Target = kernels.ID.Hyperion, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 21.276, @@ -26,15 +27,11 @@ local HyperionTrail = { asset.onInitialize(function() - openspace.spice.loadKernel(kernel.sat441) - openspace.addSceneGraphNode(HyperionTrail) end) asset.onDeinitialize(function() openspace.removeSceneGraphNode(HyperionTrail) - - openspace.spice.unloadKernel(kernel.sat441) end) asset.export(HyperionTrail) @@ -44,8 +41,7 @@ asset.export(HyperionTrail) asset.meta = { Name = "Hyperion Trail", Version = "1.1", - Description = [[Trail of Saturn's moon Hyperion as observed by Saturn. Data from NASA - Spice (see base spice asset)]], + Description = "Trail of Saturn's moon Hyperion as observed by Saturn", Author = "OpenSpace Team", URL = "http://openspaceproject.com", License = "MIT license" diff --git a/data/assets/scene/solarsystem/planets/saturn/iapetus/iapetus.asset b/data/assets/scene/solarsystem/planets/saturn/iapetus/iapetus.asset index 6ed3d230a8..c7a5c2dcb5 100644 --- a/data/assets/scene/solarsystem/planets/saturn/iapetus/iapetus.asset +++ b/data/assets/scene/solarsystem/planets/saturn/iapetus/iapetus.asset @@ -1,6 +1,7 @@ asset.require("./trail") local transforms = asset.require("../transforms") -local kernel = asset.require("../kernels") +local kernels = asset.require("../kernels") +local coreKernels = asset.require("spice/core") @@ -18,13 +19,13 @@ local Iapetus = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "IAPETUS", - Observer = "SATURN BARYCENTER" + Target = kernels.ID.Iapetus, + Observer = coreKernels.ID.SaturnBarycenter }, Rotation = { Type = "SpiceRotation", - SourceFrame = "IAU_IAPETUS", - DestinationFrame = "GALACTIC" + SourceFrame = kernels.Frame.Iapetus, + DestinationFrame = coreKernels.Frame.Galactic } }, Renderable = { @@ -80,8 +81,6 @@ local IapetusLabel = { asset.onInitialize(function() - openspace.spice.loadKernel(kernel.sat441) - openspace.addSceneGraphNode(Iapetus) openspace.addSceneGraphNode(IapetusLabel) end) @@ -89,8 +88,6 @@ end) asset.onDeinitialize(function() openspace.removeSceneGraphNode(IapetusLabel) openspace.removeSceneGraphNode(Iapetus) - - openspace.spice.unloadKernel(kernel.sat441) end) asset.export(Iapetus) diff --git a/data/assets/scene/solarsystem/planets/saturn/iapetus/trail.asset b/data/assets/scene/solarsystem/planets/saturn/iapetus/trail.asset index 4b67b96bbf..7e8b0dd695 100644 --- a/data/assets/scene/solarsystem/planets/saturn/iapetus/trail.asset +++ b/data/assets/scene/solarsystem/planets/saturn/iapetus/trail.asset @@ -1,5 +1,6 @@ local transforms = asset.require("../transforms") -local kernel = asset.require("../kernels") +local kernels = asset.require("../kernels") +local coreKernels = asset.require("spice/core") @@ -10,8 +11,8 @@ local IapetusTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "IAPETUS", - Observer = "SATURN BARYCENTER" + Target = kernels.ID.Iapetus, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 79.0, @@ -27,15 +28,11 @@ local IapetusTrail = { asset.onInitialize(function() - openspace.spice.loadKernel(kernel.sat441) - openspace.addSceneGraphNode(IapetusTrail) end) asset.onDeinitialize(function() openspace.removeSceneGraphNode(IapetusTrail) - - openspace.spice.unloadKernel(kernel.sat441) end) asset.export(IapetusTrail) @@ -45,7 +42,7 @@ asset.export(IapetusTrail) asset.meta = { Name = "Iapetus Trail", Version = "1.1", - Description = "Main trail for Iapetus. Data from NASA Spice (see base spice asset)", + Description = "Main trail for Iapetus", Author = "OpenSpace Team", URL = "http://openspaceproject.com", License = "MIT license" diff --git a/data/assets/scene/solarsystem/planets/saturn/kernels.asset b/data/assets/scene/solarsystem/planets/saturn/kernels.asset index a1dcf4b882..b2f61017f1 100644 --- a/data/assets/scene/solarsystem/planets/saturn/kernels.asset +++ b/data/assets/scene/solarsystem/planets/saturn/kernels.asset @@ -1,3 +1,7 @@ +local coreKernels = asset.require("spice/core") + + + local kernels = asset.resource({ Name = "Saturn Spice Kernels", Type = "HttpSynchronization", @@ -6,10 +10,43 @@ local kernels = asset.resource({ }) -asset.export("sat415", kernels .. "sat415.bsp") -asset.export("sat441", kernels .. "sat441.bsp") -asset.export("sat452", kernels .. "sat452.bsp") +local ID = { + Calypso = "CALYPSO", + Dione = "DIONE", + Enceladus = "ENCELADUS", + Helene = "HELENE", + Hyperion = "HYPERION", + Iapetus = "IAPETUS", + Mimas = "MIMAS", + Phoebe = "PHOEBE", + Polydeuces = "POLYDEUCES", + Rhea = "RHEA", + Tethys = "TETHYS", + Titan = "TITAN" +} +local Frame = { + Calypso = coreKernels.Frame.Calypso, + Dione = coreKernels.Frame.Dione, + Enceladus = coreKernels.Frame.Enceladus, + Iapetus = coreKernels.Frame.Iapetus, + Mimas = coreKernels.Frame.Mimas, + Rhea = coreKernels.Frame.Rhea, + Tethys = coreKernels.Frame.Tethys, + Titan = coreKernels.Frame.Titan +} + + +asset.onInitialize(function() + openspace.spice.loadKernel(kernels .. "sat441.bsp") +end) + +asset.onDeinitialize(function() + openspace.spice.unloadKernel(kernels .. "sat441.bsp") +end) + +asset.export("ID", ID) +asset.export("Frame", Frame) asset.meta = { diff --git a/data/assets/scene/solarsystem/planets/saturn/kernels415.asset b/data/assets/scene/solarsystem/planets/saturn/kernels415.asset new file mode 100644 index 0000000000..dc95ea5834 --- /dev/null +++ b/data/assets/scene/solarsystem/planets/saturn/kernels415.asset @@ -0,0 +1,58 @@ +local coreKernels = asset.require("spice/core") + + + +local kernels = asset.resource({ + Name = "Saturn Spice Kernels", + Type = "HttpSynchronization", + Identifier = "saturn_kernels", + Version = 2 +}) + + +local ID = { + Aegaeon = "AEGAEON", + Anthe = "ANTHE", + Atlas = "ATLAS", + Daphnis = "DAPHNIS", + Epimetheus = "EPIMETHEUS", + Janus = "JANUS", + Methone = "METHONE", + Pallene = "PALLENE", + Pan = "PAN", + Pandora = "PANDORA", + Prometheus = "PROMETHEUS", + Telesto = "TELESTO", +} + +local Frame = { + Atlas = coreKernels.Frame.Atlas, + Epimetheus = coreKernels.Frame.Epimetheus, + Janus = coreKernels.Frame.Janus, + Pan = coreKernels.Frame.Pan, + Pandora = coreKernels.Frame.Pandora, + Prometheus = coreKernels.Frame.Prometheus, + Telesto = coreKernels.Frame.Telesto +} + + +asset.onInitialize(function() + openspace.spice.loadKernel(kernels .. "sat415.bsp") +end) + +asset.onDeinitialize(function() + openspace.spice.unloadKernel(kernels .. "sat415.bsp") +end) + +asset.export("ID", ID) +asset.export("Frame", Frame) + + +asset.meta = { + Name = "Saturn Spice Kernels", + Version = "1.0", + Description = "Generic SPICE kernels for Saturn", + Author = "OpenSpace Team", + URL = "https://naif.jpl.nasa.gov/pub/naif/pds/wgc/kernels/spk/", + License = "NASA" +} diff --git a/data/assets/scene/solarsystem/planets/saturn/kernels452.asset b/data/assets/scene/solarsystem/planets/saturn/kernels452.asset new file mode 100644 index 0000000000..769e43e57e --- /dev/null +++ b/data/assets/scene/solarsystem/planets/saturn/kernels452.asset @@ -0,0 +1,91 @@ +local kernels = asset.resource({ + Name = "Saturn Spice Kernels", + Type = "HttpSynchronization", + Identifier = "saturn_kernels", + Version = 2 +}) + + +local ID = { + Aegir = "AEGIR", + Albiorix = "ALBIORIX", + Alvaldi = 665, + Angrboda = 655, + Bebhionn = "BEBHIONN", + Beli = 661, + Bergelmir = "BERGELMIR", + Bestla = "BESTLA", + Eggther = 659, + Erriapus = "ERRIAPUS", + Farbauti = "FARBAUTI", + Fenrir = "FENRIR", + Fornjot = "FORNJOT", + Geirrod = 666, + Gerd = 657, + Greip = "GREIP", + Gridr = 654, + Gunnlod = 662, + Hati = "HATI", + Hyrrokkin = "HYRROKKIN", + Ijiraq = "IJIRAQ", + Jarnsaxa = "JARNSAXA", + Kari = "KARI", + Kiviuq = "KIVIUQ", + Loge = "LOGE", + Mundilfari = "MUNDILFARI", + Narvi = "NARVI", + Paaliaq = "PAALIAQ", + S2004S7 = 65085, + S2004S12 = 65086, + S2004S13 = 65087, + S2004S17 = 65088, + S2004S21 = 65079, + S2004S24 = 65070, + S2004S26 = 658, + S2004S28 = 65077, + S2004S29 = 660, + S2004S31 = 65067, + S2004S34 = 664, + S2004S36 = 65081, + S2004S37 = 65082, + S2004S39 = 65084, + S2006S1 = 65089, + S2006S3 = 65090, + S2007S2 = 65091, + S2007S3 = 65092, + S2019S01 = 65093, + Siarnaq = "SIARNAQ", + Skadi = 627, + Skathi = "SKATHI", + Skoll = "SKOLL", + Skrymir = 656, + Suttungr = "SUTTUNGR", + Surtur = 648, + Tarqeq = "TARQEQ", + Tarvos = "TARVOS", + Thiazzi = 663, + Thrymr = "THRYMR", + Ymir = "YMIR", +} + + +asset.onInitialize(function() + openspace.spice.loadKernel(kernels .. "sat452.bsp") +end) + +asset.onDeinitialize(function() + openspace.spice.unloadKernel(kernels .. "sat452.bsp") +end) + +asset.export("ID", ID) + + + +asset.meta = { + Name = "Saturn Spice Kernels", + Version = "1.0", + Description = "Generic SPICE kernels for Saturn", + Author = "OpenSpace Team", + URL = "https://naif.jpl.nasa.gov/pub/naif/pds/wgc/kernels/spk/", + License = "NASA" +} diff --git a/data/assets/scene/solarsystem/planets/saturn/mimas/mimas.asset b/data/assets/scene/solarsystem/planets/saturn/mimas/mimas.asset index 09f4794b2f..1acffc38f2 100644 --- a/data/assets/scene/solarsystem/planets/saturn/mimas/mimas.asset +++ b/data/assets/scene/solarsystem/planets/saturn/mimas/mimas.asset @@ -1,6 +1,7 @@ asset.require("./trail") local transforms = asset.require("../transforms") -local kernel = asset.require("../kernels") +local kernels = asset.require("../kernels") +local coreKernels = asset.require("spice/core") @@ -18,13 +19,13 @@ local Mimas = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "MIMAS", - Observer = "SATURN BARYCENTER" + Target = kernels.ID.Mimas, + Observer = coreKernels.ID.SaturnBarycenter }, Rotation = { Type = "SpiceRotation", - SourceFrame = "IAU_MIMAS", - DestinationFrame = "GALACTIC" + SourceFrame = kernels.Frame.Mimas, + DestinationFrame = coreKernels.Frame.Galactic } }, Renderable = { @@ -80,8 +81,6 @@ local MimasLabel = { asset.onInitialize(function() - openspace.spice.loadKernel(kernel.sat441) - openspace.addSceneGraphNode(Mimas) openspace.addSceneGraphNode(MimasLabel) end) @@ -89,8 +88,6 @@ end) asset.onDeinitialize(function() openspace.removeSceneGraphNode(MimasLabel) openspace.removeSceneGraphNode(Mimas) - - openspace.spice.unloadKernel(kernel.sat441) end) asset.export(Mimas) diff --git a/data/assets/scene/solarsystem/planets/saturn/mimas/trail.asset b/data/assets/scene/solarsystem/planets/saturn/mimas/trail.asset index 72c60acddf..077cd6f20a 100644 --- a/data/assets/scene/solarsystem/planets/saturn/mimas/trail.asset +++ b/data/assets/scene/solarsystem/planets/saturn/mimas/trail.asset @@ -1,5 +1,6 @@ local transforms = asset.require("../transforms") -local kernel = asset.require("../kernels") +local kernels = asset.require("../kernels") +local coreKernels = asset.require("spice/core") @@ -10,8 +11,8 @@ local MimasTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "MIMAS", - Observer = "SATURN BARYCENTER" + Target = kernels.ID.Mimas, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 23.0 / 24.0, @@ -27,15 +28,11 @@ local MimasTrail = { asset.onInitialize(function() - openspace.spice.loadKernel(kernel.sat441) - openspace.addSceneGraphNode(MimasTrail) end) asset.onDeinitialize(function() openspace.removeSceneGraphNode(MimasTrail) - - openspace.spice.unloadKernel(kernel.sat441) end) asset.export(MimasTrail) @@ -45,7 +42,7 @@ asset.export(MimasTrail) asset.meta = { Name = "Mimas Trail", Version = "1.1", - Description = "Main trail for Mimas. Data from NASA Spice (see base spice asset)", + Description = "Main trail for Mimas", Author = "OpenSpace Team", URL = "http://openspaceproject.com", License = "MIT license" diff --git a/data/assets/scene/solarsystem/planets/saturn/minor/gallic_group.asset b/data/assets/scene/solarsystem/planets/saturn/minor/gallic_group.asset index a7124b52c9..9e3f76a20f 100644 --- a/data/assets/scene/solarsystem/planets/saturn/minor/gallic_group.asset +++ b/data/assets/scene/solarsystem/planets/saturn/minor/gallic_group.asset @@ -1,5 +1,6 @@ local transforms = asset.require("../transforms") -local kernel = asset.require("../kernels") +local kernels452 = asset.require("../kernels452") +local coreKernels = asset.require("spice/core") @@ -9,8 +10,8 @@ local Albiorix = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "ALBIORIX", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Albiorix, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -40,8 +41,8 @@ local AlbiorixTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "ALBIORIX", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Albiorix, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 774.58, @@ -91,8 +92,8 @@ local Bebhionn = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "BEBHIONN", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Bebhionn, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -122,8 +123,8 @@ local BebhionnTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "BEBHIONN", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Bebhionn, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 838.77, @@ -173,8 +174,8 @@ local Erriapus = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "ERRIAPUS", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Erriapus, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -204,8 +205,8 @@ local ErriapusTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "ERRIAPUS", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Erriapus, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 844.89, @@ -255,8 +256,8 @@ local Tarvos = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "TARVOS", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Tarvos, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -286,8 +287,8 @@ local TarvosTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "TARVOS", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Tarvos, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 944.23, @@ -333,9 +334,6 @@ local TarvosLabel = { asset.onInitialize(function() - openspace.spice.loadKernel(kernel.sat452) - - openspace.addSceneGraphNode(Albiorix) openspace.addSceneGraphNode(AlbiorixTrail) openspace.addSceneGraphNode(AlbiorixLabel) @@ -369,9 +367,6 @@ asset.onDeinitialize(function() openspace.removeSceneGraphNode(AlbiorixLabel) openspace.removeSceneGraphNode(AlbiorixTrail) openspace.removeSceneGraphNode(Albiorix) - - - openspace.spice.unloadKernel(kernel.sat452) end) asset.export(Albiorix) diff --git a/data/assets/scene/solarsystem/planets/saturn/minor/inuit_group.asset b/data/assets/scene/solarsystem/planets/saturn/minor/inuit_group.asset index b2847dad69..12664f2416 100644 --- a/data/assets/scene/solarsystem/planets/saturn/minor/inuit_group.asset +++ b/data/assets/scene/solarsystem/planets/saturn/minor/inuit_group.asset @@ -1,5 +1,6 @@ local transforms = asset.require("../transforms") -local kernel = asset.require("../kernels") +local kernels452 = asset.require("../kernels452") +local coreKernels = asset.require("spice/core") @@ -9,8 +10,8 @@ local Kiviuq = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "KIVIUQ", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Kiviuq, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -40,8 +41,8 @@ local KiviuqTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "KIVIUQ", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Kiviuq, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 448.16, @@ -91,8 +92,8 @@ local Ijiraq = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "IJIRAQ", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Ijiraq, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -122,8 +123,8 @@ local IjiraqTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "IJIRAQ", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Ijiraq, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 451.77, @@ -173,8 +174,8 @@ local Paaliaq = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "PAALIAQ", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Paaliaq, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -204,8 +205,8 @@ local PaaliaqTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "PAALIAQ", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Paaliaq, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 692.98, @@ -255,8 +256,8 @@ local Siarnaq = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "SIARNAQ", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Siarnaq, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -286,8 +287,8 @@ local SiarnaqTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "SIARNAQ", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Siarnaq, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 884.88, @@ -337,8 +338,8 @@ local Tarqeq = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "TARQEQ", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Tarqeq, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -368,8 +369,8 @@ local TarqeqTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "TARQEQ", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Tarqeq, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 894.86, @@ -419,8 +420,8 @@ local S2004S29 = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "660", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.S2004S29, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -450,8 +451,8 @@ local S2004S29Trail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "660", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.S2004S29, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 858.77, @@ -501,8 +502,8 @@ local S2004S31 = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "65067", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.S2004S31, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -532,8 +533,8 @@ local S2004S31Trail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "65067", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.S2004S31, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 853.80, @@ -583,8 +584,8 @@ local S2019S01 = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "65093", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.S2019S01, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -614,8 +615,8 @@ local S2019S01Trail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "65093", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.S2019S01, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 443.78, @@ -661,9 +662,6 @@ local S2019S01Label = { asset.onInitialize(function() - openspace.spice.loadKernel(kernel.sat452) - - openspace.addSceneGraphNode(Kiviuq) openspace.addSceneGraphNode(KiviuqTrail) openspace.addSceneGraphNode(KiviuqLabel) @@ -729,9 +727,6 @@ asset.onDeinitialize(function() openspace.removeSceneGraphNode(KiviuqLabel) openspace.removeSceneGraphNode(KiviuqTrail) openspace.removeSceneGraphNode(Kiviuq) - - - openspace.spice.unloadKernel(kernel.sat452) end) asset.export(Kiviuq) diff --git a/data/assets/scene/solarsystem/planets/saturn/minor/norse_group.asset b/data/assets/scene/solarsystem/planets/saturn/minor/norse_group.asset index d7da7ce2b7..27996bedf8 100644 --- a/data/assets/scene/solarsystem/planets/saturn/minor/norse_group.asset +++ b/data/assets/scene/solarsystem/planets/saturn/minor/norse_group.asset @@ -1,5 +1,7 @@ local transforms = asset.require("../transforms") local kernels = asset.require("../kernels") +local kernels452 = asset.require("../kernels452") +local coreKernels = asset.require("spice/core") @@ -9,8 +11,8 @@ local Phoebe = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "PHOEBE", - Observer = "SATURN BARYCENTER" + Target = kernels.ID.Phoebe, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -40,8 +42,8 @@ local PhoebeTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "PHOEBE", - Observer = "SATURN BARYCENTER" + Target = kernels.ID.Phoebe, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 545.09, @@ -91,8 +93,8 @@ local Skathi = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "SKATHI", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Skathi, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -122,8 +124,8 @@ local SkathiTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "SKATHI", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Skathi, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 732.52, @@ -173,8 +175,8 @@ local S2007S2 = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "65091", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.S2007S2, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -204,8 +206,8 @@ local S2007S2Trail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "65091", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.S2007S2, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 792.96, @@ -255,8 +257,8 @@ local Skoll = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "SKOLL", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Skoll, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -286,8 +288,8 @@ local SkollTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "SKOLL", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Skoll, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 862.37, @@ -337,8 +339,8 @@ local S2004S13 = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "65087", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.S2004S13, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -368,8 +370,8 @@ local S2004S13Trail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "65087", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.S2004S13, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 905.85, @@ -419,8 +421,8 @@ local Greip = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "GREIP", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Greip, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -450,8 +452,8 @@ local GreipTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "GREIP", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Greip, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 906.56, @@ -501,8 +503,8 @@ local Hyrrokkin = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "HYRROKKIN", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Hyrrokkin, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -532,8 +534,8 @@ local HyrrokkinTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "HYRROKKIN", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Hyrrokkin, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 914.29, @@ -583,8 +585,8 @@ local Jarnsaxa = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "JARNSAXA", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Jarnsaxa, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -614,8 +616,8 @@ local JarnsaxaTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "JARNSAXA", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Jarnsaxa, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 943.78, @@ -665,8 +667,8 @@ local Mundilfari = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "MUNDILFARI", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Mundilfari, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -696,8 +698,8 @@ local MundilfariTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "MUNDILFARI", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Mundilfari, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 956.70, @@ -747,8 +749,8 @@ local S2006S1 = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "65089", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.S2006S1, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -778,8 +780,8 @@ local S2006S1Trail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "65089", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.S2006S1, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 972.41, @@ -829,8 +831,8 @@ local S2004S17 = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "65088", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.S2004S17, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -860,8 +862,8 @@ local S2004S17Trail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "65088", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.S2004S17, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 985.45, @@ -911,8 +913,8 @@ local Bergelmir = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "BERGELMIR", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Bergelmir, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -942,8 +944,8 @@ local BergelmirTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "BERGELMIR", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Bergelmir, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 985.83, @@ -993,8 +995,8 @@ local Narvi = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "NARVI", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Narvi, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -1024,8 +1026,8 @@ local NarviTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "NARVI", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Narvi, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 1008.45, @@ -1075,8 +1077,8 @@ local Suttungr = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "SUTTUNGR", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Suttungr, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -1106,8 +1108,8 @@ local SuttungrTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "SUTTUNGR", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Suttungr, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 1022.82, @@ -1157,8 +1159,8 @@ local Hati = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "HATI", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Hati, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -1188,8 +1190,8 @@ local HatiTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "HATI", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Hati, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 1033.05, @@ -1239,8 +1241,8 @@ local S2004S12 = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "65086", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.S2004S12, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -1270,8 +1272,8 @@ local S2004S12Trail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "65086", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.S2004S12, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 1048.54, @@ -1321,8 +1323,8 @@ local Farbauti = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "FARBAUTI", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Farbauti, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -1352,8 +1354,8 @@ local FarbautiTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "FARBAUTI", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Farbauti, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 1054.78, @@ -1403,8 +1405,8 @@ local Thrymr = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "THRYMR", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Thrymr, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -1434,8 +1436,8 @@ local ThrymrTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "THRYMR", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Thrymr, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 1078.09, @@ -1485,8 +1487,8 @@ local Aegir = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "AEGIR", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Aegir, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -1516,8 +1518,8 @@ local AegirTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "AEGIR", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Aegir, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 1094.46, @@ -1567,8 +1569,8 @@ local S2007S3 = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "65092", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.S2007S3, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -1598,8 +1600,8 @@ local S2007S3Trail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "65092", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.S2007S3, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 1100.0, @@ -1649,8 +1651,8 @@ local Bestla = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "BESTLA", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Bestla, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -1680,8 +1682,8 @@ local BestlaTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "BESTLA", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Bestla, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 1101.45, @@ -1731,8 +1733,8 @@ local S2004S7 = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "65085", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.S2004S7, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -1762,8 +1764,8 @@ local S2004S7Trail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "65085", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.S2004S7, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 1101.99, @@ -1813,8 +1815,8 @@ local S2006S3 = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "65090", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.S2006S3, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -1844,8 +1846,8 @@ local S2006S3Trail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "65090", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.S2006S3, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 1142.37, @@ -1895,8 +1897,8 @@ local Fenrir = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "FENRIR", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Fenrir, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -1926,8 +1928,8 @@ local FenrirTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "FENRIR", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Fenrir, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 1212.53, @@ -1977,8 +1979,8 @@ local Surtur = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "648", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Surtur, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -2008,8 +2010,8 @@ local SurturTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "648", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Surtur, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 1297.7, @@ -2059,8 +2061,8 @@ local Kari = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "KARI", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Kari, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -2090,8 +2092,8 @@ local KariTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "KARI", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Kari, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 1245.06, @@ -2141,8 +2143,8 @@ local Ymir = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "YMIR", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Ymir, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -2172,8 +2174,8 @@ local YmirTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "YMIR", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Ymir, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 1254.15, @@ -2223,8 +2225,8 @@ local Loge = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "LOGE", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Loge, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -2254,8 +2256,8 @@ local LogeTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "LOGE", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Loge, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 1300.95, @@ -2305,8 +2307,8 @@ local Fornjot = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "FORNJOT", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Fornjot, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -2336,8 +2338,8 @@ local FornjotTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "FORNJOT", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Fornjot, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 1432.16, @@ -2387,8 +2389,8 @@ local Skadi = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "627", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Skadi, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -2418,8 +2420,8 @@ local SkadiTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "627", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Skadi, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 728.2, @@ -2469,8 +2471,8 @@ local Gridr = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "654", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Gridr, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -2500,8 +2502,8 @@ local GridrTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "654", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Gridr, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 990.23, @@ -2551,8 +2553,8 @@ local Angrboda = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "655", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Angrboda, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -2582,8 +2584,8 @@ local AngrbodaTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "655", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Angrboda, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 1080.4, @@ -2633,8 +2635,8 @@ local Skrymir = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "656", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Skrymir, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -2664,8 +2666,8 @@ local SkrymirTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "656", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Skrymir, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 1164.3, @@ -2715,8 +2717,8 @@ local Gerd = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "657", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Gerd, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -2746,8 +2748,8 @@ local GerdTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "657", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Gerd, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 1095.0, @@ -2797,8 +2799,8 @@ local S2004S26 = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "658", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.S2004S26, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -2828,8 +2830,8 @@ local S2004S26Trail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "658", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.S2004S26, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 1624.2, @@ -2879,8 +2881,8 @@ local Eggther = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "659", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Eggther, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -2910,8 +2912,8 @@ local EggtherTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "659", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Eggther, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 1033.0, @@ -2961,8 +2963,8 @@ local Beli = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "661", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Beli, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -2992,8 +2994,8 @@ local BeliTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "661", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Beli, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 1084.1, @@ -3043,8 +3045,8 @@ local Gunnlod = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "662", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Gunnlod, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -3074,8 +3076,8 @@ local GunnlodTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "662", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Gunnlod, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 1175.3, @@ -3125,8 +3127,8 @@ local Thiazzi = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "663", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Thiazzi, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -3156,8 +3158,8 @@ local ThiazziTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "663", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Thiazzi, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 1361.5, @@ -3207,8 +3209,8 @@ local S2004S34 = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "664", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.S2004S34, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -3238,8 +3240,8 @@ local S2004S34Trail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "664", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.S2004S34, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 1412.5, @@ -3289,8 +3291,8 @@ local Alvaldi = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "665", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Alvaldi, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -3320,8 +3322,8 @@ local AlvaldiTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "665", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Alvaldi, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 1208.1, @@ -3371,8 +3373,8 @@ local Geirrod = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "666", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Geirrod, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -3402,8 +3404,8 @@ local GeirrodTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "666", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.Geirrod, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 1295.8, @@ -3453,8 +3455,8 @@ local S2004S28 = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "65077", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.S2004S28, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -3484,8 +3486,8 @@ local S2004S28Trail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "65077", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.S2004S28, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 1197.2, @@ -3535,8 +3537,8 @@ local S2004S21 = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "65079", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.S2004S21, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -3566,8 +3568,8 @@ local S2004S21Trail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "65079", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.S2004S21, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 1365.1, @@ -3617,8 +3619,8 @@ local S2004S36 = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "65081", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.S2004S36, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -3648,8 +3650,8 @@ local S2004S36Trail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "65081", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.S2004S36, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 1354.2, @@ -3699,8 +3701,8 @@ local S2004S37 = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "65082", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.S2004S37, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -3730,8 +3732,8 @@ local S2004S37Trail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "65082", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.S2004S37, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 752.88, @@ -3781,8 +3783,8 @@ local S2004S39 = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "65084", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.S2004S39, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -3812,8 +3814,8 @@ local S2004S39Trail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "65084", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.S2004S39, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 1277.5, @@ -3859,10 +3861,6 @@ local S2004S39Label = { asset.onInitialize(function() - openspace.spice.loadKernel(kernels.sat441) - openspace.spice.loadKernel(kernels.sat452) - - openspace.addSceneGraphNode(Phoebe) openspace.addSceneGraphNode(PhoebeTrail) openspace.addSceneGraphNode(PhoebeLabel) @@ -4240,9 +4238,6 @@ asset.onDeinitialize(function() openspace.removeSceneGraphNode(PhoebeLabel) openspace.removeSceneGraphNode(PhoebeTrail) openspace.removeSceneGraphNode(Phoebe) - - openspace.spice.unloadKernel(kernels.sat452) - openspace.spice.unloadKernel(kernels.sat441) end) asset.export(Phoebe) diff --git a/data/assets/scene/solarsystem/planets/saturn/minor/other_group.asset b/data/assets/scene/solarsystem/planets/saturn/minor/other_group.asset index e4119e6abe..623bd34efb 100644 --- a/data/assets/scene/solarsystem/planets/saturn/minor/other_group.asset +++ b/data/assets/scene/solarsystem/planets/saturn/minor/other_group.asset @@ -1,5 +1,8 @@ local transforms = asset.require("../transforms") local kernels = asset.require("../kernels") +local kernels415 = asset.require("../kernels415") +local kernels452 = asset.require("../kernels452") +local coreKernels = asset.require("spice/core") @@ -9,8 +12,8 @@ local Aegaeon = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "AEGAEON", - Observer = "SATURN BARYCENTER" + Target = kernels415.ID.Aegaeon, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -40,8 +43,8 @@ local AegaeonTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "AEGAEON", - Observer = "SATURN BARYCENTER" + Target = kernels415.ID.Aegaeon, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 0.80812, @@ -91,8 +94,8 @@ local Methone = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "METHONE", - Observer = "SATURN BARYCENTER" + Target = kernels415.ID.Methone, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -122,8 +125,8 @@ local MethoneTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "METHONE", - Observer = "SATURN BARYCENTER" + Target = kernels415.ID.Methone, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 1.00957, @@ -173,8 +176,8 @@ local Anthe = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "ANTHE", - Observer = "SATURN BARYCENTER" + Target = kernels415.ID.Anthe, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -204,8 +207,8 @@ local AntheTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "ANTHE", - Observer = "SATURN BARYCENTER" + Target = kernels415.ID.Anthe, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 1.05089, @@ -255,8 +258,8 @@ local Pallene = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "PALLENE", - Observer = "SATURN BARYCENTER" + Target = kernels415.ID.Pallene, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -286,8 +289,8 @@ local PalleneTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "PALLENE", - Observer = "SATURN BARYCENTER" + Target = kernels415.ID.Pallene, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 1.370218, @@ -337,8 +340,8 @@ local Telesto = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "TELESTO", - Observer = "SATURN BARYCENTER" + Target = kernels415.ID.Telesto, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -368,8 +371,8 @@ local TelestoTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "TELESTO", - Observer = "SATURN BARYCENTER" + Target = kernels415.ID.Telesto, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 1.887802, @@ -419,8 +422,8 @@ local Calypso = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "CALYPSO", - Observer = "SATURN BARYCENTER" + Target = kernels.ID.Calypso, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -450,8 +453,8 @@ local CalypsoTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "CALYPSO", - Observer = "SATURN BARYCENTER" + Target = kernels.ID.Calypso, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 1.887802, @@ -501,8 +504,8 @@ local Helene = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "HELENE", - Observer = "SATURN BARYCENTER" + Target = kernels.ID.Helene, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -532,8 +535,8 @@ local HeleneTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "HELENE", - Observer = "SATURN BARYCENTER" + Target = kernels.ID.Helene, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 2.736915, @@ -583,8 +586,8 @@ local Polydeuces = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "POLYDEUCES", - Observer = "SATURN BARYCENTER" + Target = kernels.ID.Polydeuces, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -614,8 +617,8 @@ local PolydeucesTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "POLYDEUCES", - Observer = "SATURN BARYCENTER" + Target = kernels.ID.Polydeuces, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 2.736915, @@ -665,8 +668,8 @@ local S2004S24 = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "65070", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.S2004S24, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -696,8 +699,8 @@ local S2004S24Trail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "65070", - Observer = "SATURN BARYCENTER" + Target = kernels452.ID.S2004S24, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 1293.85, @@ -743,11 +746,6 @@ local S2004S24Label = { asset.onInitialize(function() - openspace.spice.loadKernel(kernels.sat415) - openspace.spice.loadKernel(kernels.sat441) - openspace.spice.loadKernel(kernels.sat452) - - openspace.addSceneGraphNode(Aegaeon) openspace.addSceneGraphNode(AegaeonTrail) openspace.addSceneGraphNode(AegaeonLabel) @@ -821,12 +819,6 @@ asset.onDeinitialize(function() openspace.removeSceneGraphNode(S2004S24Label) openspace.removeSceneGraphNode(S2004S24Trail) openspace.removeSceneGraphNode(S2004S24) - - - openspace.spice.unloadKernel(kernels.sat452) - openspace.spice.unloadKernel(kernels.sat441) - openspace.spice.unloadKernel(kernels.sat415) - end) asset.export(Aegaeon) diff --git a/data/assets/scene/solarsystem/planets/saturn/minor/shepherd_group.asset b/data/assets/scene/solarsystem/planets/saturn/minor/shepherd_group.asset index cee798aee0..7f689ba830 100644 --- a/data/assets/scene/solarsystem/planets/saturn/minor/shepherd_group.asset +++ b/data/assets/scene/solarsystem/planets/saturn/minor/shepherd_group.asset @@ -1,4 +1,6 @@ local transforms = asset.require("../transforms") +local kernels415 = asset.require("../kernels415") +local coreKernels = asset.require("spice/core") @@ -22,8 +24,8 @@ local Prometheus = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "PROMETHEUS", - Observer = "SATURN BARYCENTER" + Target = kernels415.ID.Prometheus, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -53,8 +55,8 @@ local PrometheusTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "PROMETHEUS", - Observer = "SATURN BARYCENTER" + Target = kernels415.ID.Prometheus, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 0.612990038, @@ -104,8 +106,8 @@ local Pandora = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "PANDORA", - Observer = "SATURN BARYCENTER" + Target = kernels415.ID.Pandora, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -135,8 +137,8 @@ local PandoraTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "PANDORA", - Observer = "SATURN BARYCENTER" + Target = kernels415.ID.Pandora, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 0.628504213, @@ -186,8 +188,8 @@ local Atlas = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "ATLAS", - Observer = "SATURN BARYCENTER" + Target = kernels415.ID.Atlas, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -217,8 +219,8 @@ local AtlasTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "ATLAS", - Observer = "SATURN BARYCENTER" + Target = kernels415.ID.Atlas, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 0.6016947883, @@ -268,8 +270,8 @@ local Janus = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "JANUS", - Observer = "SATURN BARYCENTER" + Target = kernels415.ID.Janus, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -299,8 +301,8 @@ local JanusTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "JANUS", - Observer = "SATURN BARYCENTER" + Target = kernels415.ID.Janus, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 0.694660342, @@ -350,8 +352,8 @@ local Epimetheus = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "EPIMETHEUS", - Observer = "SATURN BARYCENTER" + Target = kernels415.ID.Epimetheus, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -381,8 +383,8 @@ local EpimetheusTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "EPIMETHEUS", - Observer = "SATURN BARYCENTER" + Target = kernels415.ID.Epimetheus, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 0.694333517, @@ -432,8 +434,8 @@ local Daphnis = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "DAPHNIS", - Observer = "SATURN BARYCENTER" + Target = kernels415.ID.Daphnis, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -463,8 +465,8 @@ local DaphnisTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "DAPHNIS", - Observer = "SATURN BARYCENTER" + Target = kernels415.ID.Daphnis, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 0.5940798, @@ -514,8 +516,8 @@ local Pan = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "PAN", - Observer = "SATURN BARYCENTER" + Target = kernels415.ID.Pan, + Observer = coreKernels.ID.SaturnBarycenter } }, Renderable = { @@ -545,8 +547,8 @@ local PanTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "PAN", - Observer = "SATURN BARYCENTER" + Target = kernels415.ID.Pan, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 0.575050718, diff --git a/data/assets/scene/solarsystem/planets/saturn/rhea/rhea.asset b/data/assets/scene/solarsystem/planets/saturn/rhea/rhea.asset index d8f9983b5d..4141b94b55 100644 --- a/data/assets/scene/solarsystem/planets/saturn/rhea/rhea.asset +++ b/data/assets/scene/solarsystem/planets/saturn/rhea/rhea.asset @@ -1,6 +1,7 @@ asset.require("./trail") local transforms = asset.require("../transforms") -local kernel = asset.require("../kernels") +local kernels = asset.require("../kernels") +local coreKernels = asset.require("spice/core") @@ -18,13 +19,13 @@ local Rhea = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "RHEA", - Observer = "SATURN BARYCENTER" + Target = kernels.ID.Rhea, + Observer = coreKernels.ID.SaturnBarycenter }, Rotation = { Type = "SpiceRotation", - SourceFrame = "IAU_RHEA", - DestinationFrame = "GALACTIC" + SourceFrame = kernels.Frame.Rhea, + DestinationFrame = coreKernels.Frame.Galactic } }, Renderable = { @@ -80,8 +81,6 @@ local RheaLabel = { asset.onInitialize(function() - openspace.spice.loadKernel(kernel.sat441) - openspace.addSceneGraphNode(Rhea) openspace.addSceneGraphNode(RheaLabel) end) @@ -89,8 +88,6 @@ end) asset.onDeinitialize(function() openspace.removeSceneGraphNode(RheaLabel) openspace.removeSceneGraphNode(Rhea) - - openspace.spice.unloadKernel(kernel.sat441) end) asset.export(Rhea) diff --git a/data/assets/scene/solarsystem/planets/saturn/rhea/trail.asset b/data/assets/scene/solarsystem/planets/saturn/rhea/trail.asset index 57b15feb7a..1288cb2133 100644 --- a/data/assets/scene/solarsystem/planets/saturn/rhea/trail.asset +++ b/data/assets/scene/solarsystem/planets/saturn/rhea/trail.asset @@ -1,5 +1,6 @@ local transforms = asset.require("../transforms") -local kernel = asset.require("../kernels") +local kernels = asset.require("../kernels") +local coreKernels = asset.require("spice/core") @@ -10,8 +11,8 @@ local RheaTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "RHEA", - Observer = "SATURN BARYCENTER" + Target = kernels.ID.Rhea, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 108.0 / 24.0, @@ -27,15 +28,11 @@ local RheaTrail = { asset.onInitialize(function() - openspace.spice.loadKernel(kernel.sat441) - openspace.addSceneGraphNode(RheaTrail) end) asset.onDeinitialize(function() openspace.removeSceneGraphNode(RheaTrail) - - openspace.spice.unloadKernel(kernel.sat441) end) asset.export(RheaTrail) @@ -45,7 +42,7 @@ asset.export(RheaTrail) asset.meta = { Name = "Rhea Trail", Version = "1.0", - Description = "Main trail for Rhea. Data from NASA Spice (see base spice asset)", + Description = "Main trail for Rhea", Author = "OpenSpace Team", URL = "http://openspaceproject.com", License = "MIT license" diff --git a/data/assets/scene/solarsystem/planets/saturn/saturn.asset b/data/assets/scene/solarsystem/planets/saturn/saturn.asset index 2039e3c9a9..25ab1bcf88 100644 --- a/data/assets/scene/solarsystem/planets/saturn/saturn.asset +++ b/data/assets/scene/solarsystem/planets/saturn/saturn.asset @@ -1,6 +1,6 @@ -asset.require("spice/base") asset.require("./trail") local transforms = asset.require("./transforms") +local coreKernels = asset.require("spice/core") @@ -18,13 +18,13 @@ local Saturn = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "SATURN", - Observer = "SATURN BARYCENTER" + Target = coreKernels.ID.Saturn, + Observer = coreKernels.ID.SaturnBarycenter }, Rotation = { Type = "SpiceRotation", - SourceFrame = "IAU_SATURN", - DestinationFrame = "GALACTIC" + SourceFrame = coreKernels.Frame.Saturn, + DestinationFrame = coreKernels.Frame.Galactic } }, Renderable = { diff --git a/data/assets/scene/solarsystem/planets/saturn/tethys/tethys.asset b/data/assets/scene/solarsystem/planets/saturn/tethys/tethys.asset index 73caeb2422..7212447486 100644 --- a/data/assets/scene/solarsystem/planets/saturn/tethys/tethys.asset +++ b/data/assets/scene/solarsystem/planets/saturn/tethys/tethys.asset @@ -1,6 +1,7 @@ asset.require("./trail") local transforms = asset.require("../transforms") -local kernel = asset.require("../kernels") +local kernels = asset.require("../kernels") +local coreKernels = asset.require("spice/core") @@ -18,13 +19,13 @@ local Tethys = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "TETHYS", - Observer = "SATURN BARYCENTER" + Target = kernels.ID.Tethys, + Observer = coreKernels.ID.SaturnBarycenter }, Rotation = { Type = "SpiceRotation", - SourceFrame = "IAU_TETHYS", - DestinationFrame = "GALACTIC" + SourceFrame = kernels.Frame.Tethys, + DestinationFrame = coreKernels.Frame.Galactic } }, Renderable = { @@ -78,8 +79,6 @@ local TethysLabel = { asset.onInitialize(function() - openspace.spice.loadKernel(kernel.sat441) - openspace.addSceneGraphNode(Tethys) openspace.addSceneGraphNode(TethysLabel) end) @@ -87,8 +86,6 @@ end) asset.onDeinitialize(function() openspace.removeSceneGraphNode(TethysLabel) openspace.removeSceneGraphNode(Tethys) - - openspace.spice.unloadKernel(kernel.sat441) end) asset.export(Tethys) diff --git a/data/assets/scene/solarsystem/planets/saturn/tethys/trail.asset b/data/assets/scene/solarsystem/planets/saturn/tethys/trail.asset index f9253f7bc3..5b8009b6c6 100644 --- a/data/assets/scene/solarsystem/planets/saturn/tethys/trail.asset +++ b/data/assets/scene/solarsystem/planets/saturn/tethys/trail.asset @@ -1,5 +1,6 @@ local transforms = asset.require("../transforms") -local kernel = asset.require("../kernels") +local kernels = asset.require("../kernels") +local coreKernels = asset.require("spice/core") @@ -10,8 +11,8 @@ local TethysTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "TETHYS", - Observer = "SATURN BARYCENTER" + Target = kernels.ID.Tethys, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 45.0 / 24.0, @@ -27,15 +28,11 @@ local TethysTrail = { asset.onInitialize(function() - openspace.spice.loadKernel(kernel.sat441) - openspace.addSceneGraphNode(TethysTrail) end) asset.onDeinitialize(function() openspace.removeSceneGraphNode(TethysTrail) - - openspace.spice.unloadKernel(kernel.sat441) end) asset.export(TethysTrail) @@ -45,7 +42,7 @@ asset.export(TethysTrail) asset.meta = { Name = "Tethys Trail", Version = "1.0", - Description = "Main trail for Tethys. Data from NASA Spice (see base spice asset)", + Description = "Main trail for Tethys", Author = "OpenSpace Team", URL = "http://openspaceproject.com", License = "MIT license" diff --git a/data/assets/scene/solarsystem/planets/saturn/titan/titan.asset b/data/assets/scene/solarsystem/planets/saturn/titan/titan.asset index ae597cbc2a..856893dbbd 100644 --- a/data/assets/scene/solarsystem/planets/saturn/titan/titan.asset +++ b/data/assets/scene/solarsystem/planets/saturn/titan/titan.asset @@ -1,6 +1,7 @@ asset.require("./trail") local transforms = asset.require("../transforms") -local kernel = asset.require("../kernels") +local kernels = asset.require("../kernels") +local coreKernels = asset.require("spice/core") @@ -18,13 +19,13 @@ local Titan = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "TITAN", - Observer = "SATURN BARYCENTER" + Target = kernels.ID.Titan, + Observer = coreKernels.ID.SaturnBarycenter }, Rotation = { Type = "SpiceRotation", - SourceFrame = "IAU_TITAN", - DestinationFrame = "GALACTIC" + SourceFrame = kernels.Frame.Titan, + DestinationFrame = coreKernels.Frame.Galactic } }, Renderable = { @@ -80,8 +81,6 @@ local TitanLabel = { asset.onInitialize(function() - openspace.spice.loadKernel(kernel.sat441) - openspace.addSceneGraphNode(Titan) openspace.addSceneGraphNode(TitanLabel) end) @@ -89,8 +88,6 @@ end) asset.onDeinitialize(function() openspace.removeSceneGraphNode(TitanLabel) openspace.removeSceneGraphNode(Titan) - - openspace.spice.unloadKernel(kernel.sat441) end) asset.export(Titan) diff --git a/data/assets/scene/solarsystem/planets/saturn/titan/trail.asset b/data/assets/scene/solarsystem/planets/saturn/titan/trail.asset index c5568ac4a8..2cf180023f 100644 --- a/data/assets/scene/solarsystem/planets/saturn/titan/trail.asset +++ b/data/assets/scene/solarsystem/planets/saturn/titan/trail.asset @@ -1,5 +1,6 @@ local transforms = asset.require("../transforms") -local kernel = asset.require("../kernels") +local kernels = asset.require("../kernels") +local coreKernels = asset.require("spice/core") @@ -10,8 +11,8 @@ local TitanTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "TITAN", - Observer = "SATURN BARYCENTER" + Target = kernels.ID.Titan, + Observer = coreKernels.ID.SaturnBarycenter }, Color = { 0.5, 0.3, 0.3 }, Period = 16.0, @@ -27,15 +28,11 @@ local TitanTrail = { asset.onInitialize(function() - openspace.spice.loadKernel(kernel.sat441) - openspace.addSceneGraphNode(TitanTrail) end) asset.onDeinitialize(function() openspace.removeSceneGraphNode(TitanTrail) - - openspace.spice.unloadKernel(kernel.sat441) end) asset.export(TitanTrail) @@ -45,7 +42,7 @@ asset.export(TitanTrail) asset.meta = { Name = "Titan Trail", Version = "1.2", - Description = "Main trail for Titan. Data from NASA Spice (see base spice asset)", + Description = "Main trail for Titan", Author = "OpenSpace Team", URL = "http://openspaceproject.com", License = "MIT license" diff --git a/data/assets/scene/solarsystem/planets/saturn/trail.asset b/data/assets/scene/solarsystem/planets/saturn/trail.asset index 5dafbc7db8..a68a4bd96c 100644 --- a/data/assets/scene/solarsystem/planets/saturn/trail.asset +++ b/data/assets/scene/solarsystem/planets/saturn/trail.asset @@ -1,4 +1,5 @@ local transforms = asset.require("scene/solarsystem/sun/transforms") +local coreKernels = asset.require("spice/core") @@ -9,8 +10,8 @@ local SaturnTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "SATURN", - Observer = "SSB" + Target = coreKernels.ID.Saturn, + Observer = coreKernels.ID.SolarSystemBarycenter }, Color = { 0.85, 0.75, 0.51 }, Period = 10746.94, @@ -40,7 +41,7 @@ asset.export(SaturnTrail) asset.meta = { Name = "Saturn Trail", Version = "1.1", - Description = "Main trail of Saturn. Data from NASA Spice (see base spice asset)", + Description = "Main trail of Saturn", Author = "OpenSpace Team", URL = "http://openspaceproject.com", License = "MIT license" diff --git a/data/assets/scene/solarsystem/planets/saturn/trail_barycenter.asset b/data/assets/scene/solarsystem/planets/saturn/trail_barycenter.asset index 163618be21..792de0b42b 100644 --- a/data/assets/scene/solarsystem/planets/saturn/trail_barycenter.asset +++ b/data/assets/scene/solarsystem/planets/saturn/trail_barycenter.asset @@ -1,4 +1,5 @@ local transforms = asset.require("scene/solarsystem/sun/transforms") +local coreKernels = asset.require("spice/core") @@ -10,8 +11,8 @@ local SaturnBarycenterTrail = { Enabled = false, Translation = { Type = "SpiceTranslation", - Target = "SATURN BARYCENTER", - Observer = "SSB" + Target = coreKernels.ID.SaturnBarycenter, + Observer = coreKernels.ID.SolarSystemBarycenter }, Color = { 0.85, 0.75, 0.51 }, Period = 10746.94, @@ -41,8 +42,7 @@ asset.export(SaturnBarycenterTrail) asset.meta = { Name = "Saturn Trail", Version = "1.1", - Description = [[Trail of Saturn's Barycenter. Data from NASA Spice (see base spice - asset)]], + Description = "Trail of Saturn's Barycenter", Author = "OpenSpace Team", URL = "http://openspaceproject.com", License = "MIT license" diff --git a/data/assets/scene/solarsystem/planets/saturn/trail_earth.asset b/data/assets/scene/solarsystem/planets/saturn/trail_earth.asset index 162419e53d..603c66ca9b 100644 --- a/data/assets/scene/solarsystem/planets/saturn/trail_earth.asset +++ b/data/assets/scene/solarsystem/planets/saturn/trail_earth.asset @@ -1,5 +1,5 @@ -asset.require("spice/base") local transforms = asset.require("scene/solarsystem/planets/earth/transforms") +local coreKernels = asset.require("spice/core") @@ -11,8 +11,8 @@ local SaturnTrailEarth = { Enabled = false, Translation = { Type = "SpiceTranslation", - Target = "SATURN", - Observer = "EARTH" + Target = coreKernels.ID.Saturn, + Observer = coreKernels.ID.Earth }, Color = { 1.0, 0.5, 0.2 }, Period = 224.695, @@ -42,8 +42,7 @@ asset.export(SaturnTrailEarth) asset.meta = { Name = "Saturn Trail from Earth", Version = "1.1", - Description = [[Alternate trail of Saturn, as observed by the Earth rather then the Sun. - Data from NASA SPICE (see base spice asset)]], + Description = "Alternate trail of Saturn", Author = "OpenSpace Team", URL = "http://openspaceproject.com", License = "MIT license" diff --git a/data/assets/scene/solarsystem/planets/saturn/transforms.asset b/data/assets/scene/solarsystem/planets/saturn/transforms.asset index 2543e1eb57..44f74f849c 100644 --- a/data/assets/scene/solarsystem/planets/saturn/transforms.asset +++ b/data/assets/scene/solarsystem/planets/saturn/transforms.asset @@ -1,5 +1,5 @@ -asset.require("spice/base") local transforms = asset.require("scene/solarsystem/sun/transforms") +local coreKernels = asset.require("spice/core") @@ -9,8 +9,8 @@ local SaturnBarycenter = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "SATURN BARYCENTER", - Observer = "SSB" + Target = coreKernels.ID.SaturnBarycenter, + Observer = coreKernels.ID.SolarSystemBarycenter } }, GUI = { diff --git a/data/assets/scene/solarsystem/planets/uranus/inner_moons.asset b/data/assets/scene/solarsystem/planets/uranus/inner_moons.asset index d1cb322f91..ddad1b483a 100644 --- a/data/assets/scene/solarsystem/planets/uranus/inner_moons.asset +++ b/data/assets/scene/solarsystem/planets/uranus/inner_moons.asset @@ -1,5 +1,6 @@ local transforms = asset.require("./transforms") -local kernel = asset.require("./kernels") +local kernels115 = asset.require("./kernels115") +local coreKernels = asset.require("spice/core") @@ -9,8 +10,8 @@ local Cordelia = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "CORDELIA", - Observer = "URANUS BARYCENTER" + Target = kernels115.ID.Cordelia, + Observer = coreKernels.ID.UranusBarycenter } }, Renderable = { @@ -40,8 +41,8 @@ local CordeliaTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "CORDELIA", - Observer = "URANUS BARYCENTER" + Target = kernels115.ID.Cordelia, + Observer = coreKernels.ID.UranusBarycenter }, Color = { 0.60, 0.65, 0.84 }, Period = 0.335034, @@ -91,8 +92,8 @@ local Ophelia = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "OPHELIA", - Observer = "URANUS BARYCENTER" + Target = kernels115.ID.Ophelia, + Observer = coreKernels.ID.UranusBarycenter } }, Renderable = { @@ -122,8 +123,8 @@ local OpheliaTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "OPHELIA", - Observer = "URANUS BARYCENTER" + Target = kernels115.ID.Ophelia, + Observer = coreKernels.ID.UranusBarycenter }, Color = { 0.60, 0.65, 0.84 }, Period = 0.3764, @@ -173,8 +174,8 @@ local Bianca = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "BIANCA", - Observer = "URANUS BARYCENTER" + Target = kernels115.ID.Bianca, + Observer = coreKernels.ID.UranusBarycenter } }, Renderable = { @@ -204,8 +205,8 @@ local BiancaTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "BIANCA", - Observer = "URANUS BARYCENTER" + Target = kernels115.ID.Bianca, + Observer = coreKernels.ID.UranusBarycenter }, Color = { 0.60, 0.65, 0.84 }, Period = 0.434579, @@ -255,8 +256,8 @@ local Cressida = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "CRESSIDA", - Observer = "URANUS BARYCENTER" + Target = kernels115.ID.Cressida, + Observer = coreKernels.ID.UranusBarycenter } }, Renderable = { @@ -286,8 +287,8 @@ local CressidaTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "CRESSIDA", - Observer = "URANUS BARYCENTER" + Target = kernels115.ID.Cressida, + Observer = coreKernels.ID.UranusBarycenter }, Color = { 0.60, 0.65, 0.84 }, Period = 0.463570, @@ -337,8 +338,8 @@ local Desdemona = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "DESDEMONA", - Observer = "URANUS BARYCENTER" + Target = kernels115.ID.Desdemona, + Observer = coreKernels.ID.UranusBarycenter } }, Renderable = { @@ -368,8 +369,8 @@ local DesdemonaTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "DESDEMONA", - Observer = "URANUS BARYCENTER" + Target = kernels115.ID.Desdemona, + Observer = coreKernels.ID.UranusBarycenter }, Color = { 0.60, 0.65, 0.84 }, Period = 0.473650, @@ -419,8 +420,8 @@ local Juliet = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "JULIET", - Observer = "URANUS BARYCENTER" + Target = kernels115.ID.Juliet, + Observer = coreKernels.ID.UranusBarycenter } }, Renderable = { @@ -450,8 +451,8 @@ local JulietTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "JULIET", - Observer = "URANUS BARYCENTER" + Target = kernels115.ID.Juliet, + Observer = coreKernels.ID.UranusBarycenter }, Color = { 0.60, 0.65, 0.84 }, Period = 0.493065, @@ -501,8 +502,8 @@ local Portia = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "PORTIA", - Observer = "URANUS BARYCENTER" + Target = kernels115.ID.Portia, + Observer = coreKernels.ID.UranusBarycenter } }, Renderable = { @@ -532,8 +533,8 @@ local PortiaTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "PORTIA", - Observer = "URANUS BARYCENTER" + Target = kernels115.ID.Portia, + Observer = coreKernels.ID.UranusBarycenter }, Color = { 0.60, 0.65, 0.84 }, Period = 0.513196, @@ -583,8 +584,8 @@ local Rosalind = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "ROSALIND", - Observer = "URANUS BARYCENTER" + Target = kernels115.ID.Rosalind, + Observer = coreKernels.ID.UranusBarycenter } }, Renderable = { @@ -614,8 +615,8 @@ local RosalindTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "ROSALIND", - Observer = "URANUS BARYCENTER" + Target = kernels115.ID.Rosalind, + Observer = coreKernels.ID.UranusBarycenter }, Color = { 0.60, 0.65, 0.84 }, Period = 0.55846, @@ -665,8 +666,8 @@ local Cupid = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "CUPID", - Observer = "URANUS BARYCENTER" + Target = kernels115.ID.Cupid, + Observer = coreKernels.ID.UranusBarycenter } }, Renderable = { @@ -696,8 +697,8 @@ local CupidTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "CUPID", - Observer = "URANUS BARYCENTER" + Target = kernels115.ID.Cupid, + Observer = coreKernels.ID.UranusBarycenter }, Color = { 0.60, 0.65, 0.84 }, Period = 0.618, @@ -747,8 +748,8 @@ local Belinda = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "BELINDA", - Observer = "URANUS BARYCENTER" + Target = kernels115.ID.Belinda, + Observer = coreKernels.ID.UranusBarycenter } }, Renderable = { @@ -778,8 +779,8 @@ local BelindaTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "BELINDA", - Observer = "URANUS BARYCENTER" + Target = kernels115.ID.Belinda, + Observer = coreKernels.ID.UranusBarycenter }, Color = { 0.60, 0.65, 0.84 }, Period = 0.623527, @@ -829,8 +830,8 @@ local Perdita = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "PERDITA", - Observer = "URANUS BARYCENTER" + Target = kernels115.ID.Perdita, + Observer = coreKernels.ID.UranusBarycenter } }, Renderable = { @@ -860,8 +861,8 @@ local PerditaTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "PERDITA", - Observer = "URANUS BARYCENTER" + Target = kernels115.ID.Perdita, + Observer = coreKernels.ID.UranusBarycenter }, Color = { 0.60, 0.65, 0.84 }, Period = 0.638, @@ -911,8 +912,8 @@ local Puck = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "PUCK", - Observer = "URANUS BARYCENTER" + Target = kernels115.ID.Puck, + Observer = coreKernels.ID.UranusBarycenter } }, Renderable = { @@ -942,8 +943,8 @@ local PuckTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "PUCK", - Observer = "URANUS BARYCENTER" + Target = kernels115.ID.Puck, + Observer = coreKernels.ID.UranusBarycenter }, Color = { 0.60, 0.65, 0.84 }, Period = 0.761833, @@ -993,8 +994,8 @@ local Mab = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "MAB", - Observer = "URANUS BARYCENTER" + Target = kernels115.ID.Mab, + Observer = coreKernels.ID.UranusBarycenter } }, Renderable = { @@ -1024,8 +1025,8 @@ local MabTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "MAB", - Observer = "URANUS BARYCENTER" + Target = kernels115.ID.Mab, + Observer = coreKernels.ID.UranusBarycenter }, Color = { 0.60, 0.65, 0.84 }, Period = 0.923, @@ -1070,9 +1071,6 @@ local MabLabel = { } asset.onInitialize(function() - openspace.spice.loadKernel(kernel.ura115) - - openspace.addSceneGraphNode(Cordelia) openspace.addSceneGraphNode(CordeliaTrail) openspace.addSceneGraphNode(CordeliaLabel) @@ -1178,9 +1176,6 @@ asset.onDeinitialize(function() openspace.removeSceneGraphNode(MabLabel) openspace.removeSceneGraphNode(MabTrail) openspace.removeSceneGraphNode(Mab) - - - openspace.spice.unloadKernel(kernel.ura115) end) asset.export(Cordelia) diff --git a/data/assets/scene/solarsystem/planets/uranus/irregular_prograde_moons.asset b/data/assets/scene/solarsystem/planets/uranus/irregular_prograde_moons.asset index d48fb2a3d9..3a4ceb9481 100644 --- a/data/assets/scene/solarsystem/planets/uranus/irregular_prograde_moons.asset +++ b/data/assets/scene/solarsystem/planets/uranus/irregular_prograde_moons.asset @@ -1,5 +1,6 @@ local transforms = asset.require("./transforms") -local kernel = asset.require("./kernels") +local kernel = asset.require("./kernels116") +local coreKernels = asset.require("spice/core") @@ -9,8 +10,8 @@ local Margaret = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "MARGARET", - Observer = "URANUS BARYCENTER" + Target = kernel.ID.Margaret, + Observer = coreKernels.ID.UranusBarycenter } }, Renderable = { @@ -40,8 +41,8 @@ local MargaretTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "MARGARET", - Observer = "URANUS BARYCENTER" + Target = kernel.ID.Margaret, + Observer = coreKernels.ID.UranusBarycenter }, Color = { 0.60, 0.65, 0.84 }, Period = 1694.8, @@ -87,9 +88,6 @@ local MargaretLabel = { asset.onInitialize(function() - openspace.spice.loadKernel(kernel.ura116) - - openspace.addSceneGraphNode(Margaret) openspace.addSceneGraphNode(MargaretTrail) openspace.addSceneGraphNode(MargaretLabel) @@ -99,9 +97,6 @@ asset.onDeinitialize(function() openspace.removeSceneGraphNode(MargaretLabel) openspace.removeSceneGraphNode(MargaretTrail) openspace.removeSceneGraphNode(Margaret) - - - openspace.spice.unloadKernel(kernel.ura116) end) asset.export(Margaret) diff --git a/data/assets/scene/solarsystem/planets/uranus/irregular_retrograde_moons.asset b/data/assets/scene/solarsystem/planets/uranus/irregular_retrograde_moons.asset index 17a6c962ae..8572b9fec4 100644 --- a/data/assets/scene/solarsystem/planets/uranus/irregular_retrograde_moons.asset +++ b/data/assets/scene/solarsystem/planets/uranus/irregular_retrograde_moons.asset @@ -1,5 +1,6 @@ local transforms = asset.require("./transforms") -local kernel = asset.require("./kernels") +local kernel = asset.require("./kernels116") +local coreKernels = asset.require("spice/core") @@ -9,8 +10,8 @@ local Francisco = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "FRANCISCO", - Observer = "URANUS BARYCENTER" + Target = kernel.ID.Francisco, + Observer = coreKernels.ID.UranusBarycenter } }, Renderable = { @@ -40,8 +41,8 @@ local FranciscoTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "FRANCISCO", - Observer = "URANUS BARYCENTER" + Target = kernel.ID.Francisco, + Observer = coreKernels.ID.UranusBarycenter }, Color = { 0.60, 0.65, 0.84 }, Period = 266.56, @@ -91,8 +92,8 @@ local Caliban = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "CALIBAN", - Observer = "URANUS BARYCENTER" + Target = kernel.ID.Caliban, + Observer = coreKernels.ID.UranusBarycenter } }, Renderable = { @@ -122,8 +123,8 @@ local CalibanTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "CALIBAN", - Observer = "URANUS BARYCENTER" + Target = kernel.ID.Caliban, + Observer = coreKernels.ID.UranusBarycenter }, Color = { 0.60, 0.65, 0.84 }, Period = 579.50, @@ -173,8 +174,8 @@ local Stephano = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "STEPHANO", - Observer = "URANUS BARYCENTER" + Target = kernel.ID.Stephano, + Observer = coreKernels.ID.UranusBarycenter } }, Renderable = { @@ -204,8 +205,8 @@ local StephanoTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "STEPHANO", - Observer = "URANUS BARYCENTER" + Target = kernel.ID.Stephano, + Observer = coreKernels.ID.UranusBarycenter }, Color = { 0.60, 0.65, 0.84 }, Period = 676.50, @@ -255,8 +256,8 @@ local Trinculo = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "TRINCULO", - Observer = "URANUS BARYCENTER" + Target = kernel.ID.Trinculo, + Observer = coreKernels.ID.UranusBarycenter } }, Renderable = { @@ -286,8 +287,8 @@ local TrinculoTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "TRINCULO", - Observer = "URANUS BARYCENTER" + Target = kernel.ID.Trinculo, + Observer = coreKernels.ID.UranusBarycenter }, Color = { 0.60, 0.65, 0.84 }, Period = 758.10, @@ -337,8 +338,8 @@ local Sycorax = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "SYCORAX", - Observer = "URANUS BARYCENTER" + Target = kernel.ID.Sycorax, + Observer = coreKernels.ID.UranusBarycenter } }, Renderable = { @@ -368,8 +369,8 @@ local SycoraxTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "SYCORAX", - Observer = "URANUS BARYCENTER" + Target = kernel.ID.Sycorax, + Observer = coreKernels.ID.UranusBarycenter }, Color = { 0.60, 0.65, 0.84 }, Period = 1283.4, @@ -419,8 +420,8 @@ local Prospero = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "PROSPERO", - Observer = "URANUS BARYCENTER" + Target = kernel.ID.Prospero, + Observer = coreKernels.ID.UranusBarycenter } }, Renderable = { @@ -450,8 +451,8 @@ local ProsperoTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "PROSPERO", - Observer = "URANUS BARYCENTER" + Target = kernel.ID.Prospero, + Observer = coreKernels.ID.UranusBarycenter }, Color = { 0.60, 0.65, 0.84 }, Period = 1992.8, @@ -501,8 +502,8 @@ local Setebos = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "SETEBOS", - Observer = "URANUS BARYCENTER" + Target = kernel.ID.Setebos, + Observer = coreKernels.ID.UranusBarycenter } }, Renderable = { @@ -532,8 +533,8 @@ local SetebosTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "SETEBOS", - Observer = "URANUS BARYCENTER" + Target = kernel.ID.Setebos, + Observer = coreKernels.ID.UranusBarycenter }, Color = { 0.60, 0.65, 0.84 }, Period = 2202.3, @@ -583,8 +584,8 @@ local Ferdinand = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "FERDINAND", - Observer = "URANUS BARYCENTER" + Target = kernel.ID.Ferdinand, + Observer = coreKernels.ID.UranusBarycenter } }, Renderable = { @@ -614,8 +615,8 @@ local FerdinandTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "FERDINAND", - Observer = "URANUS BARYCENTER" + Target = kernel.ID.Ferdinand, + Observer = coreKernels.ID.UranusBarycenter }, Color = { 0.60, 0.65, 0.84 }, Period = 2823.4, @@ -661,9 +662,6 @@ local FerdinandLabel = { asset.onInitialize(function() - openspace.spice.loadKernel(kernel.ura116) - - openspace.addSceneGraphNode(Francisco) openspace.addSceneGraphNode(FranciscoTrail) openspace.addSceneGraphNode(FranciscoLabel) @@ -729,9 +727,6 @@ asset.onDeinitialize(function() openspace.removeSceneGraphNode(FranciscoLabel) openspace.removeSceneGraphNode(FranciscoTrail) openspace.removeSceneGraphNode(Francisco) - - - openspace.spice.unloadKernel(kernel.ura116) end) asset.export(Francisco) diff --git a/data/assets/scene/solarsystem/planets/uranus/kernels.asset b/data/assets/scene/solarsystem/planets/uranus/kernels.asset index 22ebcd1447..828d2e1a26 100644 --- a/data/assets/scene/solarsystem/planets/uranus/kernels.asset +++ b/data/assets/scene/solarsystem/planets/uranus/kernels.asset @@ -1,3 +1,7 @@ +local coreKernels = asset.require("spice/core") + + + local kernels = asset.resource({ Name = "Uranus Spice Kernels", Type = "HttpSynchronization", @@ -6,10 +10,33 @@ local kernels = asset.resource({ }) -asset.export("ura111", kernels .. "ura111.bsp") -asset.export("ura115", kernels .. "ura115.bsp") -asset.export("ura116", kernels .. "ura116.bsp") +local ID = { + Ariel = "ARIEL", + Miranda = "MIRANDA", + Oberon = "OBERON", + Titania = "TITANIA", + Umbriel = "UMBRIEL" +} +local Frame = { + Ariel = coreKernels.Frame.Ariel, + Miranda = coreKernels.Frame.Miranda, + Oberon = coreKernels.Frame.Oberon, + Titania = coreKernels.Frame.Titania, + Umbriel = coreKernels.Frame.Umbriel +} + + +asset.onInitialize(function() + openspace.spice.loadKernel(kernels .. "ura111.bsp") +end) + +asset.onDeinitialize(function() + openspace.spice.unloadKernel(kernels .. "ura111.bsp") +end) + +asset.export("ID", ID) +asset.export("Frame", Frame) asset.meta = { diff --git a/data/assets/scene/solarsystem/planets/uranus/kernels115.asset b/data/assets/scene/solarsystem/planets/uranus/kernels115.asset new file mode 100644 index 0000000000..813b364797 --- /dev/null +++ b/data/assets/scene/solarsystem/planets/uranus/kernels115.asset @@ -0,0 +1,62 @@ +local coreKernels = asset.require("spice/core") + + + +local kernels = asset.resource({ + Name = "Uranus Spice Kernels", + Type = "HttpSynchronization", + Identifier = "uranus_kernels", + Version = 2 +}) + +local ID = { + Belinda = "BELINDA", + Bianca = "BIANCA", + Cordelia = "CORDELIA", + Cressida = "CRESSIDA", + Cupid = "CUPID", + Desdemona = "DESDEMONA", + Juliet = "JULIET", + Mab = "MAB", + Ophelia = "OPHELIA", + Perdita = "PERDITA", + Portia = "PORTIA", + Puck = "PUCK", + Rosalind = "ROSALIND", +} + +local Frame = { + Belinda = coreKernels.Frame.Belinda, + Bianca = coreKernels.Frame.Bianca, + Cordelia = coreKernels.Frame.Cordelia, + Cressida = coreKernels.Frame.Cressida, + Desdemona = coreKernels.Frame.Desdemona, + Juliet = coreKernels.Frame.Juliet, + Ophelia = coreKernels.Frame.Ophelia, + Portia = coreKernels.Frame.Portia, + Puck = coreKernels.Frame.Puck, + Rosalind = coreKernels.Frame.Rosalind +} + + +asset.onInitialize(function() + openspace.spice.loadKernel(kernels .. "ura115.bsp") +end) + +asset.onDeinitialize(function() + openspace.spice.unloadKernel(kernels .. "ura115.bsp") +end) + +asset.export("ID", ID) +asset.export("Frame", Frame) + + + +asset.meta = { + Name = "Uranus Spice Kernels", + Version = "1.0", + Description = "Generic SPICE kernels for Uranus", + Author = "OpenSpace Team", + URL = "https://naif.jpl.nasa.gov/pub/naif/pds/wgc/kernels/spk/", + License = "NASA" +} diff --git a/data/assets/scene/solarsystem/planets/uranus/kernels116.asset b/data/assets/scene/solarsystem/planets/uranus/kernels116.asset new file mode 100644 index 0000000000..8ddd406153 --- /dev/null +++ b/data/assets/scene/solarsystem/planets/uranus/kernels116.asset @@ -0,0 +1,41 @@ +local kernels = asset.resource({ + Name = "Uranus Spice Kernels", + Type = "HttpSynchronization", + Identifier = "uranus_kernels", + Version = 2 +}) + + +local ID = { + Caliban = "CALIBAN", + Ferdinand = "FERDINAND", + Francisco = "FRANCISCO", + Margaret = "MARGARET", + Prospero = "PROSPERO", + Setebos = "SETEBOS", + Stephano = "STEPHANO", + Sycorax = "SYCORAX", + Trinculo = "TRINCULO", +} + + +asset.onInitialize(function() + openspace.spice.loadKernel(kernels .. "ura116.bsp") +end) + +asset.onDeinitialize(function() + openspace.spice.unloadKernel(kernels .. "ura116.bsp") +end) + +asset.export("ID", ID) + + + +asset.meta = { + Name = "Uranus Spice Kernels", + Version = "1.0", + Description = "Generic SPICE kernels for Uranus", + Author = "OpenSpace Team", + URL = "https://naif.jpl.nasa.gov/pub/naif/pds/wgc/kernels/spk/", + License = "NASA" +} diff --git a/data/assets/scene/solarsystem/planets/uranus/major_moons.asset b/data/assets/scene/solarsystem/planets/uranus/major_moons.asset index 4a4d5f4d46..9243080e63 100644 --- a/data/assets/scene/solarsystem/planets/uranus/major_moons.asset +++ b/data/assets/scene/solarsystem/planets/uranus/major_moons.asset @@ -1,5 +1,6 @@ local transforms = asset.require("./transforms") -local kernel = asset.require("./kernels") +local kernels = asset.require("./kernels") +local coreKernels = asset.require("spice/core") @@ -9,8 +10,8 @@ local Miranda = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "MIRANDA", - Observer = "URANUS BARYCENTER" + Target = kernels.ID.Miranda, + Observer = coreKernels.ID.UranusBarycenter } }, Renderable = { @@ -33,8 +34,8 @@ local MirandaTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "MIRANDA", - Observer = "URANUS BARYCENTER" + Target = kernels.ID.Miranda, + Observer = coreKernels.ID.UranusBarycenter }, Color = { 0.60, 0.65, 0.84 }, Period = 1.413479, @@ -78,8 +79,8 @@ local Ariel = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "ARIEL", - Observer = "URANUS BARYCENTER" + Target = kernels.ID.Ariel, + Observer = coreKernels.ID.UranusBarycenter } }, Renderable = { @@ -102,8 +103,8 @@ local ArielTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "ARIEL", - Observer = "URANUS BARYCENTER" + Target = kernels.ID.Ariel, + Observer = coreKernels.ID.UranusBarycenter }, Color = { 0.60, 0.65, 0.84 }, Period = 2.520379, @@ -147,8 +148,8 @@ local Umbriel = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "UMBRIEL", - Observer = "URANUS BARYCENTER" + Target = kernels.ID.Umbriel, + Observer = coreKernels.ID.UranusBarycenter } }, Renderable = { @@ -171,8 +172,8 @@ local UmbrielTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "UMBRIEL", - Observer = "URANUS BARYCENTER" + Target = kernels.ID.Umbriel, + Observer = coreKernels.ID.UranusBarycenter }, Color = { 0.60, 0.65, 0.84 }, Period = 4.144177, @@ -216,8 +217,8 @@ local Titania = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "TITANIA", - Observer = "URANUS BARYCENTER" + Target = kernels.ID.Titania, + Observer = coreKernels.ID.UranusBarycenter } }, Renderable = { @@ -240,8 +241,8 @@ local TitaniaTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "TITANIA", - Observer = "URANUS BARYCENTER" + Target = kernels.ID.Titania, + Observer = coreKernels.ID.UranusBarycenter }, Color = { 0.60, 0.65, 0.84 }, Period = 8.705872, @@ -285,8 +286,8 @@ local Oberon = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "OBERON", - Observer = "URANUS BARYCENTER" + Target = kernels.ID.Oberon, + Observer = coreKernels.ID.UranusBarycenter } }, Renderable = { @@ -309,8 +310,8 @@ local OberonTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "OBERON", - Observer = "URANUS BARYCENTER" + Target = kernels.ID.Oberon, + Observer = coreKernels.ID.UranusBarycenter }, Color = { 0.60, 0.65, 0.84 }, Period = 13.463239, @@ -411,9 +412,6 @@ local UranusMajorMoonsOff = { asset.onInitialize(function() - openspace.spice.loadKernel(kernel.ura111) - - openspace.addSceneGraphNode(Miranda) openspace.addSceneGraphNode(MirandaTrail) openspace.addSceneGraphNode(MirandaLabel) @@ -461,9 +459,6 @@ asset.onDeinitialize(function() openspace.removeSceneGraphNode(OberonLabel) openspace.removeSceneGraphNode(OberonTrail) openspace.removeSceneGraphNode(Oberon) - - - openspace.spice.unloadKernel(kernel.ura111) end) asset.export(Miranda) diff --git a/data/assets/scene/solarsystem/planets/uranus/trail.asset b/data/assets/scene/solarsystem/planets/uranus/trail.asset index 218363e6fe..0ab61784b2 100644 --- a/data/assets/scene/solarsystem/planets/uranus/trail.asset +++ b/data/assets/scene/solarsystem/planets/uranus/trail.asset @@ -1,4 +1,5 @@ local transforms = asset.require("scene/solarsystem/sun/transforms") +local coreKernels = asset.require("spice/core") @@ -9,8 +10,8 @@ local UranusTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "URANUS", - Observer = "SSB" + Target = coreKernels.ID.Uranus, + Observer = coreKernels.ID.SolarSystemBarycenter }, Color = { 0.60, 0.95, 1.00 }, Period = 30588.740, @@ -40,7 +41,7 @@ asset.export(UranusTrail) asset.meta = { Name = "Uranus Trail", Version = "1.1", - Description = "Main trail of Uranus. Data from NASA Spice (see base spice asset)", + Description = "Main trail of Uranus", Author = "OpenSpace Team", URL = "http://openspaceproject.com", License = "MIT license" diff --git a/data/assets/scene/solarsystem/planets/uranus/trail_barycenter.asset b/data/assets/scene/solarsystem/planets/uranus/trail_barycenter.asset index a636df6a17..0c24192994 100644 --- a/data/assets/scene/solarsystem/planets/uranus/trail_barycenter.asset +++ b/data/assets/scene/solarsystem/planets/uranus/trail_barycenter.asset @@ -1,4 +1,5 @@ local transforms = asset.require("scene/solarsystem/sun/transforms") +local coreKernels = asset.require("spice/core") @@ -10,8 +11,8 @@ local UranusBarycenterTrail = { Enabled = false, Translation = { Type = "SpiceTranslation", - Target = "URANUS BARYCENTER", - Observer = "SSB" + Target = coreKernels.ID.UranusBarycenter, + Observer = coreKernels.ID.SolarSystemBarycenter }, Color = { 0.60, 0.95, 1.00 }, Period = 30588.740, @@ -41,8 +42,7 @@ asset.export(UranusBarycenterTrail) asset.meta = { Name = "Uranus Trail", Version = "1.1", - Description = [[Trail of Uranus' Barycenter. Data from NASA Spice (see base spice - asset)]], + Description = "Trail of Uranus' Barycenter", Author = "OpenSpace Team", URL = "http://openspaceproject.com", License = "MIT license" diff --git a/data/assets/scene/solarsystem/planets/uranus/trail_earth.asset b/data/assets/scene/solarsystem/planets/uranus/trail_earth.asset index e18276cff8..a012dc433d 100644 --- a/data/assets/scene/solarsystem/planets/uranus/trail_earth.asset +++ b/data/assets/scene/solarsystem/planets/uranus/trail_earth.asset @@ -1,5 +1,5 @@ -asset.require("spice/base") local transforms = asset.require("scene/solarsystem/planets/earth/transforms") +local coreKernels = asset.require("spice/core") @@ -11,8 +11,8 @@ local UranusTrailEarth = { Enabled = false, Translation = { Type = "SpiceTranslation", - Target = "URANUS", - Observer = "EARTH" + Target = coreKernels.ID.Uranus, + Observer = coreKernels.ID.Earth }, Color = { 1.0, 0.5, 0.2 }, Period = 224.695, @@ -42,8 +42,7 @@ asset.export(UranusTrailEarth) asset.meta = { Name = "Uranus Trail from Earth", Version = "1.1", - Description = [[Alternate trail of Uranus, as observed by the Earth rather then the Sun. - Data from NASA SPICE (see base spice asset)]], + Description = "Alternate trail of Uranus, as observed by the Earth rather then the Sun", Author = "OpenSpace Team", URL = "http://openspaceproject.com", License = "MIT license" diff --git a/data/assets/scene/solarsystem/planets/uranus/transforms.asset b/data/assets/scene/solarsystem/planets/uranus/transforms.asset index 9f9ece5ef3..7973e8edb2 100644 --- a/data/assets/scene/solarsystem/planets/uranus/transforms.asset +++ b/data/assets/scene/solarsystem/planets/uranus/transforms.asset @@ -1,5 +1,5 @@ -asset.require("spice/base") local transforms = asset.require("scene/solarsystem/sun/transforms") +local coreKernels = asset.require("spice/core") @@ -9,8 +9,8 @@ local UranusBarycenter = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "URANUS BARYCENTER", - Observer = "SSB" + Target = coreKernels.ID.UranusBarycenter, + Observer = coreKernels.ID.SolarSystemBarycenter } }, GUI = { diff --git a/data/assets/scene/solarsystem/planets/uranus/uranus.asset b/data/assets/scene/solarsystem/planets/uranus/uranus.asset index e9bc9d07c4..ed3137f11f 100644 --- a/data/assets/scene/solarsystem/planets/uranus/uranus.asset +++ b/data/assets/scene/solarsystem/planets/uranus/uranus.asset @@ -1,6 +1,6 @@ -asset.require("spice/base") asset.require("./trail") local transforms = asset.require("./transforms") +local coreKernels = asset.require("spice/core") @@ -10,13 +10,13 @@ local Uranus = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "URANUS", - Observer = "URANUS BARYCENTER" + Target = coreKernels.ID.Uranus, + Observer = coreKernels.ID.UranusBarycenter }, Rotation = { Type = "SpiceRotation", - SourceFrame = "IAU_URANUS", - DestinationFrame = "GALACTIC" + SourceFrame = coreKernels.Frame.Uranus, + DestinationFrame = coreKernels.Frame.Galactic } }, Renderable = { diff --git a/data/assets/scene/solarsystem/planets/venus/trail.asset b/data/assets/scene/solarsystem/planets/venus/trail.asset index ffd8443417..6f57cec2e6 100644 --- a/data/assets/scene/solarsystem/planets/venus/trail.asset +++ b/data/assets/scene/solarsystem/planets/venus/trail.asset @@ -1,5 +1,5 @@ -asset.require("spice/base") local transforms = asset.require("scene/solarsystem/sun/transforms") +local coreKernels = asset.require("spice/core") @@ -10,8 +10,8 @@ local VenusTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "VENUS", - Observer = "SSB" + Target = coreKernels.ID.Venus, + Observer = coreKernels.ID.SolarSystemBarycenter }, Color = { 1.0, 0.5, 0.2 }, Period = 224.695, @@ -41,8 +41,7 @@ asset.export(VenusTrail) asset.meta = { Name = "Venus Trail", Version = "1.1", - Description = [[Trail of Venus as observed by the Sun. Data from NASA Spice (see base - spice asset)]], + Description = "Trail of Venus as observed by the Sun", Author = "OpenSpace Team", URL = "http://openspaceproject.com", License = "MIT license" diff --git a/data/assets/scene/solarsystem/planets/venus/trail_barycenter.asset b/data/assets/scene/solarsystem/planets/venus/trail_barycenter.asset index f777915426..4d681f0ebf 100644 --- a/data/assets/scene/solarsystem/planets/venus/trail_barycenter.asset +++ b/data/assets/scene/solarsystem/planets/venus/trail_barycenter.asset @@ -1,5 +1,5 @@ -asset.require("spice/base") local transforms = asset.require("scene/solarsystem/sun/transforms") +local coreKernels = asset.require("spice/core") @@ -11,8 +11,8 @@ local VenusBarycenterTrail = { Enabled = false, Translation = { Type = "SpiceTranslation", - Target = "VENUS BARYCENTER", - Observer = "SSB" + Target = coreKernels.ID.VenusBarycenter, + Observer = coreKernels.ID.SolarSystemBarycenter }, Color = { 1.0, 0.5, 0.2 }, Period = 224.695, @@ -42,8 +42,7 @@ asset.export(VenusBarycenterTrail) asset.meta = { Name = "Venus Trail", Version = "1.1", - Description = [[Barycenter Trail of Venus as observed by the Sun. Data from NASA Spice - (see base spice asset)]], + Description = "Barycenter Trail of Venus as observed by the Sun", Author = "OpenSpace Team", URL = "http://openspaceproject.com", License = "MIT license" diff --git a/data/assets/scene/solarsystem/planets/venus/trail_earth.asset b/data/assets/scene/solarsystem/planets/venus/trail_earth.asset index 0b305eb592..35fd04ca50 100644 --- a/data/assets/scene/solarsystem/planets/venus/trail_earth.asset +++ b/data/assets/scene/solarsystem/planets/venus/trail_earth.asset @@ -1,6 +1,6 @@ -asset.require("spice/base") local transforms = asset.require("scene/solarsystem/sun/transforms") local earthTransforms = asset.require("scene/solarsystem/planets/earth/transforms") +local coreKernels = asset.require("spice/core") @@ -12,8 +12,8 @@ local VenusTrailEarth = { Enabled = false, Translation = { Type = "SpiceTranslation", - Target = "VENUS", - Observer = "EARTH" + Target = coreKernels.ID.Venus, + Observer = coreKernels.ID.Earth }, Color = { 1.0, 0.5, 0.2 }, Period = 224.695, @@ -43,8 +43,7 @@ asset.export(VenusTrailEarth) asset.meta = { Name = "Venus Trail from Earth", Version = "1.1", - Description = [[Trail of Venus as observed by the Earth. Data from NASA SPICE (see base - spice asset)]], + Description = "Trail of Venus as observed by the Earth", Author = "OpenSpace Team", URL = "http://openspaceproject.com", License = "MIT license" diff --git a/data/assets/scene/solarsystem/planets/venus/transforms.asset b/data/assets/scene/solarsystem/planets/venus/transforms.asset index 719509e795..58cf0829d1 100644 --- a/data/assets/scene/solarsystem/planets/venus/transforms.asset +++ b/data/assets/scene/solarsystem/planets/venus/transforms.asset @@ -1,5 +1,5 @@ -asset.require("spice/base") local transforms = asset.require("scene/solarsystem/sun/transforms") +local coreKernels = asset.require("spice/core") @@ -9,8 +9,8 @@ local VenusBarycenter = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "VENUS BARYCENTER", - Observer = "SSB" + Target = coreKernels.ID.VenusBarycenter, + Observer = coreKernels.ID.SolarSystemBarycenter } }, GUI = { diff --git a/data/assets/scene/solarsystem/planets/venus/venus.asset b/data/assets/scene/solarsystem/planets/venus/venus.asset index 43a94091ce..5e517f623e 100644 --- a/data/assets/scene/solarsystem/planets/venus/venus.asset +++ b/data/assets/scene/solarsystem/planets/venus/venus.asset @@ -1,6 +1,6 @@ -asset.require("spice/base") asset.require("./trail") local transforms = asset.require("./transforms") +local coreKernels = asset.require("spice/core") @@ -18,13 +18,13 @@ local Venus = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "VENUS", - Observer = "VENUS BARYCENTER" + Target = coreKernels.ID.Venus, + Observer = coreKernels.ID.VenusBarycenter }, Rotation = { Type = "SpiceRotation", - SourceFrame = "IAU_VENUS", - DestinationFrame = "GALACTIC" + SourceFrame = coreKernels.Frame.Venus, + DestinationFrame = coreKernels.Frame.Galactic } }, Renderable = { diff --git a/data/assets/scene/solarsystem/sun/EUV_layer.asset b/data/assets/scene/solarsystem/sun/EUV_layer.asset index bd42a64afc..768412bd6b 100644 --- a/data/assets/scene/solarsystem/sun/EUV_layer.asset +++ b/data/assets/scene/solarsystem/sun/EUV_layer.asset @@ -1,4 +1,3 @@ -asset.require("spice/base") local propertyHelper = asset.require("util/property_helper") local transforms = asset.require("./transforms") diff --git a/data/assets/scene/solarsystem/sun/glare.asset b/data/assets/scene/solarsystem/sun/glare.asset index 054f014004..eccb8b60ed 100644 --- a/data/assets/scene/solarsystem/sun/glare.asset +++ b/data/assets/scene/solarsystem/sun/glare.asset @@ -1,4 +1,3 @@ -asset.require("spice/base") local transforms = asset.require("./transforms") diff --git a/data/assets/scene/solarsystem/sun/marker.asset b/data/assets/scene/solarsystem/sun/marker.asset index 778c3c235c..768ad646a2 100644 --- a/data/assets/scene/solarsystem/sun/marker.asset +++ b/data/assets/scene/solarsystem/sun/marker.asset @@ -1,4 +1,3 @@ -asset.require("spice/base") local transforms = asset.require("./transforms") diff --git a/data/assets/scene/solarsystem/sun/sun.asset b/data/assets/scene/solarsystem/sun/sun.asset index fb927a495a..e50dc5ace6 100644 --- a/data/assets/scene/solarsystem/sun/sun.asset +++ b/data/assets/scene/solarsystem/sun/sun.asset @@ -1,4 +1,3 @@ -asset.require("spice/base") local transforms = asset.require("./transforms") diff --git a/data/assets/scene/solarsystem/sun/transforms.asset b/data/assets/scene/solarsystem/sun/transforms.asset index 8c6de68de8..5bd3152753 100644 --- a/data/assets/scene/solarsystem/sun/transforms.asset +++ b/data/assets/scene/solarsystem/sun/transforms.asset @@ -1,4 +1,4 @@ -asset.require("spice/base") +local coreKernels = asset.require("spice/core") @@ -24,8 +24,8 @@ local SunCenter = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "SUN", - Observer = "SSB" + Target = coreKernels.ID.Sun, + Observer = coreKernels.ID.SolarSystemBarycenter } }, GUI = { @@ -43,13 +43,13 @@ local SunIAU = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "SUN", - Observer = "SSB" + Target = coreKernels.ID.Sun, + Observer = coreKernels.ID.SolarSystemBarycenter }, Rotation = { Type = "SpiceRotation", - SourceFrame = "IAU_SUN", - DestinationFrame = "GALACTIC" + SourceFrame = coreKernels.Frame.Sun, + DestinationFrame = coreKernels.Frame.Galactic } }, GUI = { @@ -65,13 +65,13 @@ local SunEclipJ2000 = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "SUN", - Observer = "SSB" + Target = coreKernels.ID.Sun, + Observer = coreKernels.ID.SolarSystemBarycenter }, Rotation = { Type = "SpiceRotation", - SourceFrame = "ECLIPJ2000", - DestinationFrame = "GALACTIC" + SourceFrame = coreKernels.Frame.EclipJ2000, + DestinationFrame = coreKernels.Frame.Galactic } }, GUI = { diff --git a/data/assets/scene/solarsystem/sun/transforms_heliosphere.asset b/data/assets/scene/solarsystem/sun/transforms_heliosphere.asset index 2ebbf05274..ad293dc48b 100644 --- a/data/assets/scene/solarsystem/sun/transforms_heliosphere.asset +++ b/data/assets/scene/solarsystem/sun/transforms_heliosphere.asset @@ -1,8 +1,10 @@ -asset.require("spice/base") local sunTransforms = asset.require("scene/solarsystem/sun/transforms") +local coreKernels = asset.require("spice/core") +local kernel = asset.resource("kernels/HEEQ180.tf") + local HEEQ180ReferenceFrame = { Identifier = "HEEQ180ReferenceFrame", -- The HEEQ180 reference frame should have Sun_IAU as parent @@ -15,8 +17,7 @@ local HEEQ180ReferenceFrame = { Rotation = { Type = "SpiceRotation", SourceFrame = "HEEQ180", - DestinationFrame = "GALACTIC", - Kernels = asset.resource("kernels/HEEQ180.tf") + DestinationFrame = coreKernels.Frame.Galactic } }, GUI = { @@ -28,11 +29,15 @@ local HEEQ180ReferenceFrame = { asset.onInitialize(function() + openspace.spice.loadKernel(kernel) + openspace.addSceneGraphNode(HEEQ180ReferenceFrame) end) asset.onDeinitialize(function() openspace.removeSceneGraphNode(HEEQ180ReferenceFrame) + + openspace.spice.unloadKernel(kernel) end) asset.export(HEEQ180ReferenceFrame) diff --git a/data/assets/scene/solarsystem/telescopes/gaia/gaia.asset b/data/assets/scene/solarsystem/telescopes/gaia/gaia.asset index 2ac0f14efc..de2a916640 100644 --- a/data/assets/scene/solarsystem/telescopes/gaia/gaia.asset +++ b/data/assets/scene/solarsystem/telescopes/gaia/gaia.asset @@ -20,7 +20,7 @@ local Gaia = { Attached = "Gaia", XAxis = { 1.0, 0.0, 0.0 }, XAxisOrthogonal = true, - YAxis = "Sun", + YAxis = sun.Sun.Identifier, YAxisInvert = true }, Scale = { diff --git a/data/assets/scene/solarsystem/telescopes/jwst/jwst.asset b/data/assets/scene/solarsystem/telescopes/jwst/jwst.asset index e0c49a2b6d..c9649f8ed0 100644 --- a/data/assets/scene/solarsystem/telescopes/jwst/jwst.asset +++ b/data/assets/scene/solarsystem/telescopes/jwst/jwst.asset @@ -1,4 +1,3 @@ -asset.require("spice/base") asset.require("./actions") asset.require("./mission") local sun = asset.require("scene/solarsystem/sun/sun") diff --git a/data/assets/scene/solarsystem/telescopes/jwst/kernels.asset b/data/assets/scene/solarsystem/telescopes/jwst/kernels.asset new file mode 100644 index 0000000000..f9b83d945e --- /dev/null +++ b/data/assets/scene/solarsystem/telescopes/jwst/kernels.asset @@ -0,0 +1,22 @@ +local kernels = asset.resource({ + Name = "JWST Kernel", + Type = "HttpSynchronization", + Identifier = "jwst_kernels", + Version = 2 +}) + + +local ID = { + JWST = 170 +} + + +asset.onInitialize(function() + openspace.spice.loadKernel(kernels .. "webb.bsp") +end) + +asset.onDeinitialize(function() + openspace.spice.unloadKernel(kernels .. "webb.bsp") +end) + +asset.export("ID", ID) diff --git a/data/assets/scene/solarsystem/telescopes/jwst/targets/hudf.asset b/data/assets/scene/solarsystem/telescopes/jwst/targets/hudf.asset index 3ff3c7cb1f..3c1a19312f 100644 --- a/data/assets/scene/solarsystem/telescopes/jwst/targets/hudf.asset +++ b/data/assets/scene/solarsystem/telescopes/jwst/targets/hudf.asset @@ -26,10 +26,7 @@ local HUDFPosition = { GUI = { Name = "Hubble Ultra Deep Field Position", Path = "/Solar System/Telescopes/JWST/HUDF", - Hidden = true, - Description = [[ - Galactic cartesian position for the Hubble Ultra Deep Field - ]] + Hidden = true } } diff --git a/data/assets/scene/solarsystem/telescopes/jwst/timelapse.asset b/data/assets/scene/solarsystem/telescopes/jwst/timelapse.asset index 8ab0ec61c3..9a47d0f50f 100644 --- a/data/assets/scene/solarsystem/telescopes/jwst/timelapse.asset +++ b/data/assets/scene/solarsystem/telescopes/jwst/timelapse.asset @@ -1,4 +1,4 @@ -asset.require("spice/base") -- openspace.time.advancedTime depends on SPICE +asset.require("spice/core") -- openspace.time.advancedTime depends on SPICE asset.require("scene/solarsystem/planets/earth/atmosphere") -- Function to advance a time stamp in the given number of days, hours, minutes and diff --git a/data/assets/scene/solarsystem/telescopes/jwst/trail.asset b/data/assets/scene/solarsystem/telescopes/jwst/trail.asset index 070f11312c..83f0d266eb 100644 --- a/data/assets/scene/solarsystem/telescopes/jwst/trail.asset +++ b/data/assets/scene/solarsystem/telescopes/jwst/trail.asset @@ -1,16 +1,8 @@ -asset.require("spice/base") local transforms = asset.require("scene/solarsystem/planets/earth/lagrange_points/l2") local earthTransforms = asset.require("scene/solarsystem/planets/earth/transforms") local sunTransforms = asset.require("scene/solarsystem/sun/transforms") - - - -local kernels = asset.resource({ - Name = "JWST Kernel", - Type = "HttpSynchronization", - Identifier = "jwst_kernels", - Version = 2 -}) +local kernels = asset.require("./kernels") +local coreKernels = asset.require("spice/core") local LaunchTime = "2021 DEC 25 12:20:00" @@ -33,8 +25,8 @@ local JWSTTrailLaunch = { Translation = { Type = "SpiceTranslation", Target = 170, -- JWST - Observer = "EARTH", - Frame = "IAU_EARTH" + Observer = coreKernels.ID.Earth, + Frame = coreKernels.Frame.Earth }, Color = { 0.9, 0.9, 0.0 }, StartTime = LaunchTime, @@ -64,9 +56,9 @@ local JWSTTrailCruise = { Type = "RenderableTrailTrajectory", Translation = { Type = "SpiceTranslation", - Target = 170, -- JWST - Observer = "EARTH", - Frame = "GALACTIC" + Target = kernels.ID.JWST, + Observer = coreKernels.ID.Earth, + Frame = coreKernels.Frame.Galactic }, Color = { 0.9, 0.9, 0.0 }, StartTime = DetachTime, @@ -97,8 +89,8 @@ local JWSTTrailOrbit = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = 170, -- JWST - Observer = 392, -- L2 + Target = kernels.ID.JWST, + Observer = transforms.ID.L2, Frame = "GALACTIC" }, Color = { 0.863, 0.0, 0.902 }, @@ -128,8 +120,8 @@ local JWSTTrailCoRevOrbit = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = 170, -- JWST - Observer = 392, -- L2 + Target = kernels.ID.JWST, + Observer = transforms.ID.L2, Frame = "L2_COREV" }, Color = { 1.0, 0.663, 0.157 }, @@ -157,9 +149,9 @@ local JWSTSunTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = 170, -- JWST - Observer = "SSB", - Frame = "GALACTIC" + Target = kernels.ID.JWST, + Observer = coreKernels.ID.SolarSystemBarycenter, + Frame = coreKernels.Frame.Galactic }, Color = { 0.0, 0.9, 0.9 }, Period = 365.242, @@ -176,8 +168,6 @@ local JWSTSunTrail = { asset.onInitialize(function() - openspace.spice.loadKernel(kernels .. "webb.bsp") - openspace.addSceneGraphNode(JWSTTrailLaunch) openspace.addSceneGraphNode(JWSTTrailCruise) openspace.addSceneGraphNode(JWSTTrailOrbit) @@ -191,8 +181,6 @@ asset.onDeinitialize(function() openspace.removeSceneGraphNode(JWSTTrailOrbit) openspace.removeSceneGraphNode(JWSTTrailCruise) openspace.removeSceneGraphNode(JWSTTrailLaunch) - - openspace.spice.unloadKernel(kernels .. "webb.bsp") end) asset.export(JWSTTrailLaunch) diff --git a/data/assets/scene/solarsystem/telescopes/jwst/transforms.asset b/data/assets/scene/solarsystem/telescopes/jwst/transforms.asset index a61ef50bfd..88a48e7a72 100644 --- a/data/assets/scene/solarsystem/telescopes/jwst/transforms.asset +++ b/data/assets/scene/solarsystem/telescopes/jwst/transforms.asset @@ -1,18 +1,11 @@ -asset.require("spice/base") -asset.require("scene/solarsystem/planets/earth/lagrange_points/l2") local earthTransforms = asset.require("scene/solarsystem/planets/earth/transforms") local sunTransforms = asset.require("scene/solarsystem/sun/transforms") +local l2 = asset.require("scene/solarsystem/planets/earth/lagrange_points/l2") +local kernels = asset.require("./kernels") +local coreKernels = asset.require("spice/core") -local kernels = asset.resource({ - Name = "JWST Kernel", - Type = "HttpSynchronization", - Identifier = "jwst_kernels", - Version = 2 -}) - - local LaunchTime = "2021 DEC 25 12:20:00" local DetachTime = "2021 DEC 25 12:50:00" local L2orbitInsertionTime = "2022 JAN 25 00:00:00" @@ -27,21 +20,21 @@ local JWSTPosition = { Keyframes = { [LaunchTime] = { Type = "SpiceTranslation", - Target = 170, -- JWST - Observer = "EARTH", - Frame = "IAU_EARTH" + Target = kernels.ID.JWST, + Observer = coreKernels.ID.Earth, + Frame = coreKernels.Frame.Earth }, [DetachTime] = { Type = "SpiceTranslation", - Target = 170, -- JWST - Observer = "EARTH", - Frame = "GALACTIC" + Target = kernels.ID.JWST, + Observer = coreKernels.ID.Earth, + Frame = coreKernels.Frame.Galactic }, [L2orbitInsertionTime] = { Type = "SpiceTranslation", - Target = 170, -- JWST - Observer = 392, -- L2 - Frame = "GALACTIC" + Target = kernels.ID.JWST, + Observer = l2.ID.L2, + Frame = coreKernels.Frame.Galactic } } } @@ -76,8 +69,6 @@ local JWSTRotation = { -- Reparent the JWSTPosition node when the data changes asset.onInitialize(function() - openspace.spice.loadKernel(kernels .. "webb.bsp") - openspace.addSceneGraphNode(JWSTPosition) openspace.addSceneGraphNode(JWSTRotation) @@ -112,8 +103,6 @@ asset.onDeinitialize(function() openspace.removeSceneGraphNode(JWSTRotation) openspace.removeSceneGraphNode(JWSTPosition) openspace.scriptScheduler.clear(1) - - openspace.spice.unloadKernel(kernels .. "webb.bsp") end) asset.export(JWSTPosition) diff --git a/data/assets/spice/base.asset b/data/assets/spice/base.asset deleted file mode 100644 index 7f651af46f..0000000000 --- a/data/assets/spice/base.asset +++ /dev/null @@ -1,42 +0,0 @@ -local pck = asset.resource({ - Name = "General PCK Kernels", - Type = "HttpSynchronization", - Identifier = "general_pck", - Version = 1 -}) - -local spk = asset.resource({ - Name = "General SPK Kernels", - Type = "HttpSynchronization", - Identifier = "general_spk", - Version = 2 -}) - - -local kernels = { - pck .. "pck00011.tpc", - spk .. "de430.bsp" -} - - -asset.onInitialize(function() - openspace.spice.loadKernel(pck .. "pck00011.tpc") - openspace.spice.loadKernel(spk .. "de430.bsp") -end) - -asset.onDeinitialize(function() - openspace.spice.unloadKernel(spk .. "de430.bsp") - openspace.spice.unloadKernel(pck .. "pck00011.tpc") -end) - - - -asset.meta = { - Name = "SPICE Base", - Version = "1.1", - Description = [[This asset contains the spice base kernels necessary for any space - application. Includes positions for Solar System bodies from 1850 to 2150]], - Author = "OpenSpace Team", - URL = "https://naif.jpl.nasa.gov/naif/data_generic.html", - License = "NASA" -} diff --git a/data/assets/spice/core.asset b/data/assets/spice/core.asset new file mode 100644 index 0000000000..ae6781f675 --- /dev/null +++ b/data/assets/spice/core.asset @@ -0,0 +1,191 @@ +local pck = asset.resource({ + Name = "General PCK Kernels", + Type = "HttpSynchronization", + Identifier = "general_pck", + Version = 1 +}) + +local spk = asset.resource({ + Name = "General SPK Kernels", + Type = "HttpSynchronization", + Identifier = "general_spk", + Version = 2 +}) + + +-- The following IDs are defined in the de430 kernel provided by the `generic_spk` package +local ID = { + Earth = "EARTH", + EarthBarycenter = "EARTH BARYCENTER", + Mars = "MARS", + MarsBarycenter = "MARS BARYCENTER", + Mercury = "MERCURY", + MercuryBarycenter = "MERCURY BARYCENTER", + Moon = "MOON", + Neptune = "NEPTUNE", + NeptuneBarycenter = "NEPTUNE BARYCENTER", + Jupiter = "JUPITER", + JupiterBarycenter = "JUPITER BARYCENTER", + Pluto = "PLUTO", + PlutoBarycenter = "PLUTO BARYCENTER", + Saturn = "SATURN", + SaturnBarycenter = "SATURN BARYCENTER", + SolarSystemBarycenter = "SOLAR SYSTEM BARYCENTER", + Sun = "SUN", + Uranus = "URANUS", + UranusBarycenter = "URANUS BARYCENTER", + Venus = "VENUS", + VenusBarycenter = "VENUS BARYCENTER", +} + +-- The following frames are provided as built-in reference frames by SPICE itself. See +-- https://naif.jpl.nasa.gov/pub/naif/toolkit_docs/C/req/frames.html +-- Appendix: "Built in" Inertial Reference Frames +-- Appendix: "Built in" PCK-Based IAU Body-Fixed Reference Frames +-- Appendix: High Precision Earth Fixed Frames +-- for more information +local Frame = { + J2000 = "J2000", + EclipJ2000 = "ECLIPJ2000", + Galactic = "GALACTIC", + + Earth = "IAU_EARTH", + ITRF93 = "ITRF93", + EarthFixed = "EARTH_FIXED", + Mars = "IAU_MARS", + Mercury = "IAU_MERCURY", + Moon = "IAU_MOON", + Neptune = "IAU_NEPTUNE", + Jupiter = "IAU_JUPITER", + Pluto = "IAU_PLUTO", + Saturn = "IAU_SATURN", + Sun = "IAU_SUN", + Uranus = "IAU_URANUS", + Venus = "IAU_VENUS", + + ["52Europa"] = "IAU_52_EUROPA", + Adrastea = "IAU_ADRASTEA", + Amalthea = "IAU_AMALTHEA", + Ananke = "IAU_ANANKE", + Ariel = "IAU_ARIEL", + Arrokoth = "IAU_ARROKOTH", + Atlas = "IAU_ATLAS", + Belinda = "IAU_BELINDA", + Bennu = "IAU_BENNU", + Bianca = "IAU_BIANCA", + Borrelly = "IAU_BORRELLY", + Callirrhoe = "IAU_CALLIRRHOE", + Callisto = "IAU_CALLISTO", + Calypso = "IAU_CALYPSO", + Carme = "IAU_CARME", + Ceres = "IAU_CERES", + Chaldene = "IAU_CHALDENE", + Charon = "IAU_CHARON", + Cordelia = "IAU_CORDELIA", + Cressida = "IAU_CRESSIDA", + Davida = "IAU_DAVIDA", + Deimos = "IAU_DEIMOS", + Desdemona = "IAU_DESDEMONA", + Despina = "IAU_DESPINA", + Didymos = "IAU_DIDYMOS", + Dimorphos = "IAU_DIMORPHOS", + Dione = "IAU_DIONE", + DonaldJohanson = "IAU_DONALDJOHANSON", + Elara = "IAU_ELARA", + Enceladus = "IAU_ENCELADUS", + Epimetheus = "IAU_EPIMETHEUS", + Erinome = "IAU_ERINOME", + Eros = "IAU_EROS", + Europa = "IAU_EUROPA", + Eurybates = "IAU_EURYBATES", + Galatea = "IAU_GALATEA", + Ganymede = "IAU_GANYMEDE", + Gaspra = "IAU_GASPRA", + Harpalyke = "IAU_HARPALYKE", + Helene = "IAU_HELENE", + Himalia = "IAU_HIMALIA", + Hydra = "IAU_HYDRA", + Hyperion = "IAU_HYPERION", + Iapetus = "IAU_IAPETUS", + Ida = "IAU_IDA", + Io = "IAU_IO", + Iocaste = "IAU_IOCASTE", + Isonoe = "IAU_ISONOE", + Itokawa = "IAU_ITOKAWA", + Janus = "IAU_JANUS", + Juliet = "IAU_JULIET", + Kalyke = "IAU_KALYKE", + Larissa = "IAU_LARISSA", + Leda = "IAU_LEDA", + Leucus = "IAU_LEUCUS", + Lutetia = "IAU_LUTETIA", + Lysithea = "IAU_LYSITHEA", + Magaclite = "IAU_MAGACLITE", + Menoetius = "IAU_MENOETIUS", + Metis = "IAU_METIS", + Mimas = "IAU_MIMAS", + Miranda = "IAU_MIRANDA", + Naiad = "IAU_NAIAD", + Nereid = "IAU_NEREID", + Nix = "IAU_NIX", + Oberon = "IAU_OBERON", + Ophelia = "IAU_OPHELIA", + Orus = "IAU_ORUS", + Pallas = "IAU_PALLAS", + Pan = "IAU_PAN", + Pandora = "IAU_PANDORA", + Pasiphae = "IAU_PASIPHAE", + Patroclus = "IAU_PATROCLUS", + Phobos = "IAU_PHOBOS", + Phoebe = "IAU_PHOEBE", + Polymele = "IAU_POLYMELE", + Portia = "IAU_PORTIA", + Praxidike = "IAU_PRAXIDIKE", + Prometheus = "IAU_PROMETHEUS", + Proteus = "IAU_PROTEUS", + Puck = "IAU_PUCK", + Queta = "IAU_QUETA", + Rhea = "IAU_RHEA", + Rosalind = "IAU_ROSALIND", + Ryugu = "IAU_RYUGU", + Sinope = "IAU_SINOPE", + Steins = "IAU_STEINS", + Taygete = "IAU_TAYGETE", + Telesto = "IAU_TELESTO", + Tempel1 = "IAU_TEMPEL_1", + Tethys = "IAU_TETHYS", + Thalassa = "IAU_THALASSA", + Thebe = "IAU_THEBE", + Themisto = "IAU_THEMISTO", + Titan = "IAU_TITAN", + Titania = "IAU_TITANIA", + Triton = "IAU_TRITON", + Umbriel = "IAU_UMBRIEL", + Vesta = "IAU_VESTA" +} + + +asset.onInitialize(function() + openspace.spice.loadKernel(pck .. "pck00011.tpc") + openspace.spice.loadKernel(spk .. "de430.bsp") +end) + +asset.onDeinitialize(function() + openspace.spice.unloadKernel(spk .. "de430.bsp") + openspace.spice.unloadKernel(pck .. "pck00011.tpc") +end) + +asset.export("ID", ID) +asset.export("Frame", Frame) + + + +asset.meta = { + Name = "SPICE Base", + Version = "1.1", + Description = [[This asset contains the spice base kernels necessary for any space + application. Includes positions for Solar System bodies from 1850 to 2150]], + Author = "OpenSpace Team", + URL = "https://naif.jpl.nasa.gov/naif/data_generic.html", + License = "NASA" +}