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
This commit is contained in:
Alexander Bock
2023-12-12 10:57:24 +01:00
committed by GitHub
parent aaa6522029
commit 6fee06aa4e
212 changed files with 3616 additions and 2905 deletions

View File

@@ -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

View File

@@ -7,7 +7,7 @@ local bookmarksCSV = asset.resource({
Name = "OpenSpace Bookmarks",
Type = "UrlSynchronization",
UseHash = false,
SecondsUntilResync = 0
SecondsUntilResync = 0,
Url = dataProvider
})

View File

@@ -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",

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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 = {

View File

@@ -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"

View File

@@ -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)

View File

@@ -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"

View File

@@ -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"

View File

@@ -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"

View File

@@ -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"

View File

@@ -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 = {

View File

@@ -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"

View File

@@ -1,6 +1,4 @@
local transforms = asset.require("scene/solarsystem/sun/transforms")
local kernels = asset.require("./kernels").PlutoKernels
asset.require("spice/base")

View File

@@ -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"

View File

@@ -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)

View File

@@ -1,7 +1,3 @@
asset.require("spice/base")
local TexturesPath = asset.resource({
Type = "HttpSynchronization",
Name = "Streamnodes textures",

View File

@@ -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 = {

View File

@@ -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)

View File

@@ -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)

View File

@@ -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

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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",

View File

@@ -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",

View File

@@ -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)

View File

@@ -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",

View File

@@ -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",

View File

@@ -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",

View File

@@ -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",

View File

@@ -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",

View File

@@ -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",

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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",

View File

@@ -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)

View File

@@ -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 = {

View File

@@ -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 }

View File

@@ -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)

View File

@@ -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)

View File

@@ -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,

View File

@@ -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)

View File

@@ -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 = {

View File

@@ -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",

View File

@@ -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 = {

View File

@@ -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"
},

View File

@@ -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)

View File

@@ -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)

View File

@@ -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",

View File

@@ -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 = {

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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",

View File

@@ -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",

View File

@@ -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",

View File

@@ -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 = {

View File

@@ -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)

View File

@@ -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)

View File

@@ -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
}

View File

@@ -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 },

View File

@@ -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",

View File

@@ -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 = {

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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 = {

View File

@@ -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"

View File

@@ -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" },

View File

@@ -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" },

View File

@@ -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" },

View File

@@ -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" },

View File

@@ -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" },

View File

@@ -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"

View File

@@ -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"

View File

@@ -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 = {

Some files were not shown because too many files have changed in this diff Show More