From 232a0e016d50dda18d732ef99369a67469737516 Mon Sep 17 00:00:00 2001 From: Alexander Bock Date: Thu, 18 Jan 2024 14:02:55 +0100 Subject: [PATCH] Add ESA's Bepicolombo mission (#3000) --- .../missions/bepicolombo/bepicolombo.asset | 16 + .../missions/bepicolombo/fov.asset | 10 + .../missions/bepicolombo/fov/bela.asset | 108 +++ .../missions/bepicolombo/fov/hga.asset | 48 + .../missions/bepicolombo/fov/mertis.asset | 104 +++ .../missions/bepicolombo/fov/mgns.asset | 57 ++ .../missions/bepicolombo/fov/mixs.asset | 81 ++ .../missions/bepicolombo/fov/phebus.asset | 137 +++ .../missions/bepicolombo/fov/serena.asset | 56 ++ .../bepicolombo/fov/serena_anodes.asset | 832 ++++++++++++++++++ .../missions/bepicolombo/fov/sibbiosys.asset | 378 ++++++++ .../missions/bepicolombo/fov/sixs.asset | 104 +++ .../bepicolombo/fov/startracker.asset | 107 +++ .../missions/bepicolombo/kernels.asset | 303 +++++++ .../missions/bepicolombo/mission.asset | 88 ++ .../missions/bepicolombo/model.asset | 84 ++ .../missions/bepicolombo/trails.asset | 73 ++ data/profiles/bepicolombo.profile | 183 ++++ 18 files changed, 2769 insertions(+) create mode 100644 data/assets/scene/solarsystem/missions/bepicolombo/bepicolombo.asset create mode 100644 data/assets/scene/solarsystem/missions/bepicolombo/fov.asset create mode 100644 data/assets/scene/solarsystem/missions/bepicolombo/fov/bela.asset create mode 100644 data/assets/scene/solarsystem/missions/bepicolombo/fov/hga.asset create mode 100644 data/assets/scene/solarsystem/missions/bepicolombo/fov/mertis.asset create mode 100644 data/assets/scene/solarsystem/missions/bepicolombo/fov/mgns.asset create mode 100644 data/assets/scene/solarsystem/missions/bepicolombo/fov/mixs.asset create mode 100644 data/assets/scene/solarsystem/missions/bepicolombo/fov/phebus.asset create mode 100644 data/assets/scene/solarsystem/missions/bepicolombo/fov/serena.asset create mode 100644 data/assets/scene/solarsystem/missions/bepicolombo/fov/serena_anodes.asset create mode 100644 data/assets/scene/solarsystem/missions/bepicolombo/fov/sibbiosys.asset create mode 100644 data/assets/scene/solarsystem/missions/bepicolombo/fov/sixs.asset create mode 100644 data/assets/scene/solarsystem/missions/bepicolombo/fov/startracker.asset create mode 100644 data/assets/scene/solarsystem/missions/bepicolombo/kernels.asset create mode 100644 data/assets/scene/solarsystem/missions/bepicolombo/mission.asset create mode 100644 data/assets/scene/solarsystem/missions/bepicolombo/model.asset create mode 100644 data/assets/scene/solarsystem/missions/bepicolombo/trails.asset create mode 100644 data/profiles/bepicolombo.profile diff --git a/data/assets/scene/solarsystem/missions/bepicolombo/bepicolombo.asset b/data/assets/scene/solarsystem/missions/bepicolombo/bepicolombo.asset new file mode 100644 index 0000000000..616728c08b --- /dev/null +++ b/data/assets/scene/solarsystem/missions/bepicolombo/bepicolombo.asset @@ -0,0 +1,16 @@ +asset.require("./model") +asset.require("./trails") +asset.require("./mission") +asset.require("./fov") + + + +asset.meta = { + Name = "BepiColombo", + Version = "1.0", + Description = + "This asset includes all of the other assets for the BepiColombo mission.", + Author = "OpenSpace Team", + URL = "http://openspaceproject.com", + License = "MIT license" +} diff --git a/data/assets/scene/solarsystem/missions/bepicolombo/fov.asset b/data/assets/scene/solarsystem/missions/bepicolombo/fov.asset new file mode 100644 index 0000000000..6dfe003e15 --- /dev/null +++ b/data/assets/scene/solarsystem/missions/bepicolombo/fov.asset @@ -0,0 +1,10 @@ +asset.require("./fov/bela") +asset.require("./fov/hga") +asset.require("./fov/mertis") +asset.require("./fov/mgns") +asset.require("./fov/mixs") +asset.require("./fov/phebus") +asset.require("./fov/serena") +asset.require("./fov/sibbiosys") +asset.require("./fov/sixs") +asset.require("./fov/startracker") diff --git a/data/assets/scene/solarsystem/missions/bepicolombo/fov/bela.asset b/data/assets/scene/solarsystem/missions/bepicolombo/fov/bela.asset new file mode 100644 index 0000000000..e99a422999 --- /dev/null +++ b/data/assets/scene/solarsystem/missions/bepicolombo/fov/bela.asset @@ -0,0 +1,108 @@ +local transforms = asset.require("../model") +local kernels = asset.require("../kernels") + + + +local BelaReceiver = { + Identifier = "BepiColomboMPO_BelaReceiver", + Parent = transforms.BepiColombo.Identifier, + Renderable = { + Type = "RenderableFov", + Body = kernels.ID.MPO, + Frame = kernels.Frame.BelaReceiver, + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "MPO_BELA_RX", + Method = "CIRCLE", + Aberration = "NONE" + }, + AlwaysDrawFov = true, + PotentialTargets = { "MERCURY", "EARTH", "VENUS" }, + FrameConversions = {} + }, + GUI = { + Name = "MPO BELA Receiver", + Path = "/Solar System/Missions/BepiColombo/Instruments", + } +} + +local BelaTransmitterMain = { + Identifier = "BepiColomboMPO_BelaTransmitterMain", + Parent = transforms.BepiColombo.Identifier, + Renderable = { + Type = "RenderableFov", + Body = kernels.ID.MPO, + Frame = kernels.Frame.BelaTransmitterMain, + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "MPO_BELA_TX_MAIN", + Method = "CIRCLE", + Aberration = "NONE" + }, + AlwaysDrawFov = true, + PotentialTargets = { "MERCURY", "EARTH", "VENUS" }, + FrameConversions = {} + }, + GUI = { + Name = "MPO BELA Transmitter Main", + Path = "/Solar System/Missions/BepiColombo/Instruments", + } +} + +local BelaTransmitterRed = { + Identifier = "BepiColomboMPO_BelaTransmitterRed", + Parent = transforms.BepiColombo.Identifier, + Renderable = { + Type = "RenderableFov", + Body = kernels.ID.MPO, + Frame = kernels.Frame.BelaTransmitterRed, + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "MPO_BELA_TX_RED", + Method = "CIRCLE", + Aberration = "NONE" + }, + AlwaysDrawFov = true, + PotentialTargets = { "MERCURY", "EARTH", "VENUS" }, + FrameConversions = {} + }, + GUI = { + Name = "MPO BELA Transmitter Main", + Path = "/Solar System/Missions/BepiColombo/Instruments", + } +} + +asset.onInitialize(function() + -- Circle shapes are currently not supported + -- openspace.addSceneGraphNode(BelaReceiver) + -- openspace.addSceneGraphNode(BelaTransmitterMain) + -- openspace.addSceneGraphNode(BelaTransmitterRed) +end) + +asset.onDeinitialize(function() + -- openspace.removeSceneGraphNode(BelaTransmitterRed) + -- openspace.removeSceneGraphNode(BelaTransmitterMain) + -- openspace.removeSceneGraphNode(BelaReceiver) +end) + + + +asset.meta = { + Name = "BELA", + Version = "1.0", + Description = [[ + BELA for the first time will return a digitized laser reflection signal (only in a + dedicated instrument mode in order to keep the overall data volume moderate). This + will allow characterizing the surface roughness with unprecedented detail and + accuracy. BELA's albedo measurement capability will be particularly important for + permanently shaded craters where ice is suspected to be found. Here, BELA can observe + with its laser where most other remote sensing instruments will fail to obtain a + signal. In its normal operational mode, BELA employs a modified digital filter + matching algorithms for return pulse detection, while other similar instruments + (MOLA, MLA) use analog filter matching. The digital filters can be exchanged at any + time by telecommand and/or parameter upload. + ]], + Author = "OpenSpace Team", + URL = "http://openspaceproject.com", + License = "MIT license" +} diff --git a/data/assets/scene/solarsystem/missions/bepicolombo/fov/hga.asset b/data/assets/scene/solarsystem/missions/bepicolombo/fov/hga.asset new file mode 100644 index 0000000000..e4e5e6c7e6 --- /dev/null +++ b/data/assets/scene/solarsystem/missions/bepicolombo/fov/hga.asset @@ -0,0 +1,48 @@ +local transforms = asset.require("../model") +local kernels = asset.require("../kernels") + + + +local HGA = { + Identifier = "BepiColomboMPO_HGA", + Parent = transforms.BepiColombo.Identifier, + Renderable = { + Type = "RenderableFov", + Body = kernels.ID.MPO, + Frame = kernels.Frame.HGA, + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "MPO_HGA", + Method = "CIRCLE", + Aberration = "NONE" + }, + AlwaysDrawFov = true, + PotentialTargets = { "MERCURY", "EARTH", "VENUS" }, + FrameConversions = {} + }, + GUI = { + Name = "MPO HGA", + Path = "/Solar System/Missions/BepiColombo/Instruments", + } +} + + +asset.onInitialize(function() + -- Circle shapes are currently not supported + -- openspace.addSceneGraphNode(HGA) +end) + +asset.onDeinitialize(function() + -- openspace.removeSceneGraphNode(HGA) +end) + + + +asset.meta = { + Name = "HGA", + Version = "1.0", + Description = "Shows the field-view for the High Gain Antenna of the MPO spacecraft.", + Author = "OpenSpace Team", + URL = "http://openspaceproject.com", + License = "MIT license" +} diff --git a/data/assets/scene/solarsystem/missions/bepicolombo/fov/mertis.asset b/data/assets/scene/solarsystem/missions/bepicolombo/fov/mertis.asset new file mode 100644 index 0000000000..2746bc7a0b --- /dev/null +++ b/data/assets/scene/solarsystem/missions/bepicolombo/fov/mertis.asset @@ -0,0 +1,104 @@ +local transforms = asset.require("../model") +local kernels = asset.require("../kernels") + + + +local MertisTis = { + Identifier = "BepiColomboMPO_MertisTis", + Parent = transforms.BepiColombo.Identifier, + Renderable = { + Type = "RenderableFov", + Body = kernels.ID.MPO, + Frame = kernels.Frame.MertisTis, + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "MPO_MERTIS_TIS", + Method = "RECTANGLE", + Aberration = "NONE" + }, + AlwaysDrawFov = true, + PotentialTargets = { "MERCURY", "EARTH", "VENUS" }, + FrameConversions = {} + }, + GUI = { + Name = "MPO MERTIS TIS", + Path = "/Solar System/Missions/BepiColombo/Instruments", + } +} + +local MertisTisPlanet = { + Identifier = "BepiColomboMPO_MertisTisPlanet", + Parent = transforms.BepiColombo.Identifier, + Renderable = { + Type = "RenderableFov", + Body = kernels.ID.MPO, + Frame = kernels.Frame.MertisTisPlanet, + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "MPO_MERTIS_TIS_PLANET", + Method = "RECTANGLE", + Aberration = "NONE" + }, + AlwaysDrawFov = true, + PotentialTargets = { "MERCURY", "EARTH", "VENUS" }, + FrameConversions = {} + }, + GUI = { + Name = "MPO MERTIS TIS Planet", + Path = "/Solar System/Missions/BepiColombo/Instruments", + } +} + +local MertisTisSpace = { + Identifier = "BepiColomboMPO_MertisTisSpace", + Parent = transforms.BepiColombo.Identifier, + Renderable = { + Type = "RenderableFov", + Body = kernels.ID.MPO, + Frame = kernels.Frame.MertisTisSpace, + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "MPO_MERTIS_TIS_SPACE", + Method = "RECTANGLE", + Aberration = "NONE" + }, + AlwaysDrawFov = true, + PotentialTargets = { "MERCURY", "EARTH", "VENUS" }, + FrameConversions = {} + }, + GUI = { + Name = "MPO MERTIS TIS Space", + Path = "/Solar System/Missions/BepiColombo/Instruments", + } +} + + +asset.onInitialize(function() + openspace.addSceneGraphNode(MertisTis) + openspace.addSceneGraphNode(MertisTisPlanet) + openspace.addSceneGraphNode(MertisTisSpace) +end) + +asset.onDeinitialize(function() + openspace.removeSceneGraphNode(MertisTisSpace) + openspace.removeSceneGraphNode(MertisTisPlanet) + openspace.removeSceneGraphNode(MertisTis) +end) + + + +asset.meta = { + Name = "MERTIS", + Version = "1.0", + Description = [[ + The Mercury Radiometer and Thermal Infrared Spectrometer (MERTIS) is an innovative + instrument for studying the surface composition and mineralogy of planet Mercury. + MERTIS combines an uncooled grating push broom IR-spectrometer (TIS) with a radiometer + (TIR), which will operate in the wavelength region of 7-14 and 7-40 um, respectively. + The spatial resolution of the MERTIS observations will be about 500 m globally and + better than 500 m for approximately 5-10 percent of the surface. + ]], + Author = "OpenSpace Team", + URL = "http://openspaceproject.com", + License = "MIT license" +} diff --git a/data/assets/scene/solarsystem/missions/bepicolombo/fov/mgns.asset b/data/assets/scene/solarsystem/missions/bepicolombo/fov/mgns.asset new file mode 100644 index 0000000000..d54ce926c3 --- /dev/null +++ b/data/assets/scene/solarsystem/missions/bepicolombo/fov/mgns.asset @@ -0,0 +1,57 @@ +local transforms = asset.require("../model") +local kernels = asset.require("../kernels") + + + +local MGNS = { + Identifier = "BepiColomboMPO_MGNS", + Parent = transforms.BepiColombo.Identifier, + Renderable = { + Type = "RenderableFov", + Body = kernels.ID.MPO, + Frame = kernels.Frame.MGNS, + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "MPO_MGNS", + Method = "CIRCLE", + Aberration = "NONE" + }, + AlwaysDrawFov = true, + PotentialTargets = { "MERCURY", "EARTH", "VENUS" }, + FrameConversions = {} + }, + GUI = { + Name = "MPO MGNS", + Path = "/Solar System/Missions/BepiColombo/Instruments", + } +} + + +asset.onInitialize(function() + -- Circle shapes are currently not supported + -- openspace.addSceneGraphNode(MGNS) +end) + +asset.onDeinitialize(function() + -- openspace.removeSceneGraphNode(MGNS) +end) + + + +asset.meta = { + Name = "MGNS", + Version = "1.0", + Description = [[ + The Mercury Gamma-ray and Neutron Spectrometer (MGNS) on board BepiColombo Mercury + Planet Orbiter is designed to observe and study the gamma-ray and neutron emissions of + Mercury. The MGNS is a multifunctional scientific instrument, comprising one gamma-ray + spectrometer and four neutron detectors. The sensor unit of the gamma-ray spectrometer + consists of one 3 by 3 inches high energy resolution inorganic scintillator crystal, + i.e. CeBr3, whereas the sensor unit of the neutron detectors consists of three 3He + gas-filled tubes and one stilbene organic scintillator crystal with plastic + scintillator as its anticoincidence shield. + ]], + Author = "OpenSpace Team", + URL = "http://openspaceproject.com", + License = "MIT license" +} diff --git a/data/assets/scene/solarsystem/missions/bepicolombo/fov/mixs.asset b/data/assets/scene/solarsystem/missions/bepicolombo/fov/mixs.asset new file mode 100644 index 0000000000..5696e1fed2 --- /dev/null +++ b/data/assets/scene/solarsystem/missions/bepicolombo/fov/mixs.asset @@ -0,0 +1,81 @@ +local transforms = asset.require("../model") +local kernels = asset.require("../kernels") + + + +local MIXS_C = { + Identifier = "BepiColomboMPO_MIXS-C", + Parent = transforms.BepiColombo.Identifier, + Renderable = { + Type = "RenderableFov", + Body = kernels.ID.MPO, + Frame = kernels.Frame.MIXS_C, + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "MPO_MIXS-C", + Method = "RECTANGLE", + Aberration = "NONE" + }, + AlwaysDrawFov = true, + PotentialTargets = { "MERCURY", "EARTH", "VENUS" }, + FrameConversions = {} + }, + GUI = { + Name = "MPO MIXS-C", + Path = "/Solar System/Missions/BepiColombo/Instruments", + } +} + +local MIXS_T = { + Identifier = "BepiColomboMPO_MIXS-T", + Parent = transforms.BepiColombo.Identifier, + Renderable = { + Type = "RenderableFov", + Body = kernels.ID.MPO, + Frame = kernels.Frame.MIXS_T, + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "MPO_MIXS-T", + Method = "RECTANGLE", + Aberration = "NONE" + }, + AlwaysDrawFov = true, + PotentialTargets = { "MERCURY", "EARTH", "VENUS" }, + FrameConversions = {} + }, + GUI = { + Name = "MPO MIXS-T", + Path = "/Solar System/Missions/BepiColombo/Instruments", + } +} + + +asset.onInitialize(function() + openspace.addSceneGraphNode(MIXS_C) + openspace.addSceneGraphNode(MIXS_T) +end) + +asset.onDeinitialize(function() + openspace.removeSceneGraphNode(MIXS_T) + openspace.removeSceneGraphNode(MIXS_C) +end) + + + +asset.meta = { + Name = "MIXS", + Version = "1.0", + Description = [[ + The MIXS instrument contains two parallel telescopes, designed to map the X-ray + emission from Mercury at two angular resolutions. The narrow-field telescope (MIXS-T) + uses a grazing incidence optic with a 1 degree field-of-view (FOV) and an imaging + detector with 64 x 64 pixels. The wide-field telescope (MIXS-C) uses a collimator to + define a FOV of ~10 degrees Full Width at Zero Maximum (FWZM). Its detector is + identical to MIXS-T, but as the collimator has no imaging capability, the pixels are + aggregated into a single output. The optical axes are aligned with the nadir-pointing + axis of the spacecraft. + ]], + Author = "OpenSpace Team", + URL = "http://openspaceproject.com", + License = "MIT license" +} diff --git a/data/assets/scene/solarsystem/missions/bepicolombo/fov/phebus.asset b/data/assets/scene/solarsystem/missions/bepicolombo/fov/phebus.asset new file mode 100644 index 0000000000..86d52904ec --- /dev/null +++ b/data/assets/scene/solarsystem/missions/bepicolombo/fov/phebus.asset @@ -0,0 +1,137 @@ +local transforms = asset.require("../model") +local kernels = asset.require("../kernels") + + + +local PhebusSlit75 = { + Identifier = "BepiColomboMPO_PhebusSlit75", + Parent = transforms.BepiColombo.Identifier, + Renderable = { + Type = "RenderableFov", + Body = kernels.ID.MPO, + Frame = kernels.Frame.PhebusSlit75, + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "MPO_PHEBUS_SLIT_75", + Method = "RECTANGLE", + Aberration = "NONE" + }, + AlwaysDrawFov = true, + PotentialTargets = { "MERCURY", "EARTH", "VENUS" }, + FrameConversions = {} + }, + GUI = { + Name = "MPO Phebus Slit 75", + Path = "/Solar System/Missions/BepiColombo/Instruments", + } +} + +local PhebusSlit100 = { + Identifier = "BepiColomboMPO_PhebusSlit100", + Parent = transforms.BepiColombo.Identifier, + Renderable = { + Type = "RenderableFov", + Body = kernels.ID.MPO, + Frame = kernels.Frame.PhebusSlit100, + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "MPO_PHEBUS_SLIT_100", + Method = "RECTANGLE", + Aberration = "NONE" + }, + AlwaysDrawFov = true, + PotentialTargets = { "MERCURY", "EARTH", "VENUS" }, + FrameConversions = {} + }, + GUI = { + Name = "MPO Phebus Slit 100", + Path = "/Solar System/Missions/BepiColombo/Instruments", + } +} + +local Phebus75 = { + Identifier = "BepiColomboMPO_Phebus75", + Parent = transforms.BepiColombo.Identifier, + Renderable = { + Type = "RenderableFov", + Body = kernels.ID.MPO, + Frame = kernels.Frame.Phebus75, + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "MPO_PHEBUS_75", + Method = "RECTANGLE", + Aberration = "NONE" + }, + AlwaysDrawFov = true, + PotentialTargets = { "MERCURY", "EARTH", "VENUS" }, + FrameConversions = {} + }, + GUI = { + Name = "MPO Phebus 75", + Path = "/Solar System/Missions/BepiColombo/Instruments", + } +} + +local Phebus100 = { + Identifier = "BepiColomboMPO_Phebus100", + Parent = transforms.BepiColombo.Identifier, + Renderable = { + Type = "RenderableFov", + Body = kernels.ID.MPO, + Frame = kernels.Frame.Phebus100, + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "MPO_PHEBUS_100", + Method = "RECTANGLE", + Aberration = "NONE" + }, + AlwaysDrawFov = true, + PotentialTargets = { "MERCURY", "EARTH", "VENUS" }, + FrameConversions = {} + }, + GUI = { + Name = "MPO Phebus 100", + Path = "/Solar System/Missions/BepiColombo/Instruments", + } +} + + +asset.onInitialize(function() + openspace.addSceneGraphNode(PhebusSlit75) + openspace.addSceneGraphNode(PhebusSlit100) + openspace.addSceneGraphNode(Phebus75) + openspace.addSceneGraphNode(Phebus100) +end) + +asset.onDeinitialize(function() + openspace.removeSceneGraphNode(Phebus100) + openspace.removeSceneGraphNode(Phebus75) + openspace.removeSceneGraphNode(PhebusSlit100) + openspace.removeSceneGraphNode(PhebusSlit75) +end) + + + +asset.meta = { + Name = "Phebus", + Version = "1.0", + Description = [[ + The PHEBUS instrument is a UV spectrometer covering the spectral range going from + 50 nm to 315 nm with two additional narrow bands in the visible around 404 nm (K line) + and 422 nm (Ca line). Photons from the source (exosphere of Mercury) are collected by + a SiC primary mirror installed inside a one-degree of freedom rotating mechanism + (360 degrees). The primary mirror focuses the photons on a slit. Spectrometric + information is obtained by the use of two gratings sharing the same pupil. Photons + going through the slit are scattered according to their wavelength onto two separate + intensified cross-delay anode detectors. One detector (labelled EUV) covers the + 55-155 nm wavelength range. The second one (labelled FUV) covers the 145-315nm + wavelength range. The two intensifiers based on Micro-Channel Plates use high voltages + at values around 3600-5000 V. The two visible narrow spectral bands are obtained by + two prisms on the side of the FUV detector that feed two identical Photo-Multiplier + Tubes. The high voltage level that is necessary for these PMT is around 1000 V. They + are called NUV Ca and NUV K detectors. + ]], + Author = "OpenSpace Team", + URL = "http://openspaceproject.com", + License = "MIT license" +} diff --git a/data/assets/scene/solarsystem/missions/bepicolombo/fov/serena.asset b/data/assets/scene/solarsystem/missions/bepicolombo/fov/serena.asset new file mode 100644 index 0000000000..ce050aa3ec --- /dev/null +++ b/data/assets/scene/solarsystem/missions/bepicolombo/fov/serena.asset @@ -0,0 +1,56 @@ +local transforms = asset.require("../model") +local kernels = asset.require("../kernels") + + + +local SerenaElena = { + Identifier = "BepiColomboMPO_SerenaElena", + Parent = transforms.BepiColombo.Identifier, + Renderable = { + Type = "RenderableFov", + Body = kernels.ID.MPO, + Frame = kernels.Frame.SerenaElena, + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "MPO_SERENA_ELENA", + Method = "POLYGON", + Aberration = "NONE" + }, + AlwaysDrawFov = true, + PotentialTargets = { "MERCURY", "EARTH", "VENUS" }, + FrameConversions = {} + }, + GUI = { + Name = "MPO Serena Elena", + Path = "/Solar System/Missions/BepiColombo/Instruments", + } +} + + +asset.onInitialize(function() + openspace.addSceneGraphNode(SerenaElena) +end) + +asset.onDeinitialize(function() + openspace.removeSceneGraphNode(SerenaElena) +end) + + + +asset.meta = { + Name = "Serena", + Version = "1.0", + Description = [[ + The Search for Exospheric Refilling and Emitted Natural Abundances (SERENA) is a + single instrument composed by 4 units devoted to the detection of neutral and ionized + particles in the Hermean environment. It addresses some of the main scientific + objectives of the BepiColombo mission: composition, origin and dynamics of Mercury's + exosphere and polar deposits; and structure and dynamics of Mercury's magnetosphere. + Each unit is able to operate individually and to achieve its specific scientific + objectives. In addition, the opportunity to operate sensors simultaneously greatly + improves the success of scientific objectives and allows for additional objectives. + ]], + Author = "OpenSpace Team", + URL = "http://openspaceproject.com", + License = "MIT license" +} diff --git a/data/assets/scene/solarsystem/missions/bepicolombo/fov/serena_anodes.asset b/data/assets/scene/solarsystem/missions/bepicolombo/fov/serena_anodes.asset new file mode 100644 index 0000000000..9476efd37f --- /dev/null +++ b/data/assets/scene/solarsystem/missions/bepicolombo/fov/serena_anodes.asset @@ -0,0 +1,832 @@ +local transforms = asset.require("../model") +local kernels = asset.require("../kernels") + + + +local SerenaElenaAN01 = { + Identifier = "BepiColomboMPO_SerenaElena_AN01", + Parent = transforms.BepiColombo.Identifier, + Renderable = { + Type = "RenderableFov", + Body = kernels.ID.MPO, + Frame = kernels.Frame.SerenaElenaAN01, + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "MPO_SERENA_ELENA_AN_01", + Method = "RECTANGLE", + Aberration = "NONE" + }, + AlwaysDrawFov = true, + PotentialTargets = { "MERCURY", "EARTH", "VENUS" }, + FrameConversions = {} + }, + GUI = { + Name = "MPO Serena Elena AN01", + Path = "/Solar System/Missions/BepiColombo/Instruments", + } +} + +local SerenaElenaAN02 = { + Identifier = "BepiColomboMPO_SerenaElena_AN02", + Parent = transforms.BepiColombo.Identifier, + Renderable = { + Type = "RenderableFov", + Body = kernels.ID.MPO, + Frame = kernels.Frame.SerenaElenaAN02, + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "MPO_SERENA_ELENA_AN_02", + Method = "RECTANGLE", + Aberration = "NONE" + }, + AlwaysDrawFov = true, + PotentialTargets = { "MERCURY", "EARTH", "VENUS" }, + FrameConversions = {} + }, + GUI = { + Name = "MPO Serena Elena AN02", + Path = "/Solar System/Missions/BepiColombo/Instruments", + } +} + +local SerenaElenaAN03 = { + Identifier = "BepiColomboMPO_SerenaElena_AN03", + Parent = transforms.BepiColombo.Identifier, + Renderable = { + Type = "RenderableFov", + Body = kernels.ID.MPO, + Frame = kernels.Frame.SerenaElenaAN03, + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "MPO_SERENA_ELENA_AN_03", + Method = "RECTANGLE", + Aberration = "NONE" + }, + AlwaysDrawFov = true, + PotentialTargets = { "MERCURY", "EARTH", "VENUS" }, + FrameConversions = {} + }, + GUI = { + Name = "MPO Serena Elena AN03", + Path = "/Solar System/Missions/BepiColombo/Instruments", + } +} + +local SerenaElenaAN04 = { + Identifier = "BepiColomboMPO_SerenaElena_AN04", + Parent = transforms.BepiColombo.Identifier, + Renderable = { + Type = "RenderableFov", + Body = kernels.ID.MPO, + Frame = kernels.Frame.SerenaElenaAN04, + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "MPO_SERENA_ELENA_AN_04", + Method = "RECTANGLE", + Aberration = "NONE" + }, + AlwaysDrawFov = true, + PotentialTargets = { "MERCURY", "EARTH", "VENUS" }, + FrameConversions = {} + }, + GUI = { + Name = "MPO Serena Elena AN04", + Path = "/Solar System/Missions/BepiColombo/Instruments", + } +} + +local SerenaElenaAN05 = { + Identifier = "BepiColomboMPO_SerenaElena_AN05", + Parent = transforms.BepiColombo.Identifier, + Renderable = { + Type = "RenderableFov", + Body = kernels.ID.MPO, + Frame = kernels.Frame.SerenaElenaAN05, + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "MPO_SERENA_ELENA_AN_05", + Method = "RECTANGLE", + Aberration = "NONE" + }, + AlwaysDrawFov = true, + PotentialTargets = { "MERCURY", "EARTH", "VENUS" }, + FrameConversions = {} + }, + GUI = { + Name = "MPO Serena Elena AN05", + Path = "/Solar System/Missions/BepiColombo/Instruments", + } +} + +local SerenaElenaAN06 = { + Identifier = "BepiColomboMPO_SerenaElena_AN06", + Parent = transforms.BepiColombo.Identifier, + Renderable = { + Type = "RenderableFov", + Body = kernels.ID.MPO, + Frame = kernels.Frame.SerenaElenaAN06, + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "MPO_SERENA_ELENA_AN_06", + Method = "RECTANGLE", + Aberration = "NONE" + }, + AlwaysDrawFov = true, + PotentialTargets = { "MERCURY", "EARTH", "VENUS" }, + FrameConversions = {} + }, + GUI = { + Name = "MPO Serena Elena AN06", + Path = "/Solar System/Missions/BepiColombo/Instruments", + } +} + +local SerenaElenaAN07 = { + Identifier = "BepiColomboMPO_SerenaElena_AN07", + Parent = transforms.BepiColombo.Identifier, + Renderable = { + Type = "RenderableFov", + Body = kernels.ID.MPO, + Frame = kernels.Frame.SerenaElenaAN07, + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "MPO_SERENA_ELENA_AN_07", + Method = "RECTANGLE", + Aberration = "NONE" + }, + AlwaysDrawFov = true, + PotentialTargets = { "MERCURY", "EARTH", "VENUS" }, + FrameConversions = {} + }, + GUI = { + Name = "MPO Serena Elena AN07", + Path = "/Solar System/Missions/BepiColombo/Instruments", + } +} + +local SerenaElenaAN08 = { + Identifier = "BepiColomboMPO_SerenaElena_AN08", + Parent = transforms.BepiColombo.Identifier, + Renderable = { + Type = "RenderableFov", + Body = kernels.ID.MPO, + Frame = kernels.Frame.SerenaElenaAN08, + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "MPO_SERENA_ELENA_AN_08", + Method = "RECTANGLE", + Aberration = "NONE" + }, + AlwaysDrawFov = true, + PotentialTargets = { "MERCURY", "EARTH", "VENUS" }, + FrameConversions = {} + }, + GUI = { + Name = "MPO Serena Elena AN08", + Path = "/Solar System/Missions/BepiColombo/Instruments", + } +} + +local SerenaElenaAN09 = { + Identifier = "BepiColomboMPO_SerenaElena_AN09", + Parent = transforms.BepiColombo.Identifier, + Renderable = { + Type = "RenderableFov", + Body = kernels.ID.MPO, + Frame = kernels.Frame.SerenaElenaAN09, + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "MPO_SERENA_ELENA_AN_09", + Method = "RECTANGLE", + Aberration = "NONE" + }, + AlwaysDrawFov = true, + PotentialTargets = { "MERCURY", "EARTH", "VENUS" }, + FrameConversions = {} + }, + GUI = { + Name = "MPO Serena Elena AN09", + Path = "/Solar System/Missions/BepiColombo/Instruments", + } +} + +local SerenaElenaAN10 = { + Identifier = "BepiColomboMPO_SerenaElena_AN10", + Parent = transforms.BepiColombo.Identifier, + Renderable = { + Type = "RenderableFov", + Body = kernels.ID.MPO, + Frame = kernels.Frame.SerenaElenaAN10, + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "MPO_SERENA_ELENA_AN_10", + Method = "RECTANGLE", + Aberration = "NONE" + }, + AlwaysDrawFov = true, + PotentialTargets = { "MERCURY", "EARTH", "VENUS" }, + FrameConversions = {} + }, + GUI = { + Name = "MPO Serena Elena AN10", + Path = "/Solar System/Missions/BepiColombo/Instruments", + } +} + +local SerenaElenaAN11 = { + Identifier = "BepiColomboMPO_SerenaElena_AN11", + Parent = transforms.BepiColombo.Identifier, + Renderable = { + Type = "RenderableFov", + Body = kernels.ID.MPO, + Frame = kernels.Frame.SerenaElenaAN11, + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "MPO_SERENA_ELENA_AN_11", + Method = "RECTANGLE", + Aberration = "NONE" + }, + AlwaysDrawFov = true, + PotentialTargets = { "MERCURY", "EARTH", "VENUS" }, + FrameConversions = {} + }, + GUI = { + Name = "MPO Serena Elena AN11", + Path = "/Solar System/Missions/BepiColombo/Instruments", + } +} + +local SerenaElenaAN12 = { + Identifier = "BepiColomboMPO_SerenaElena_AN12", + Parent = transforms.BepiColombo.Identifier, + Renderable = { + Type = "RenderableFov", + Body = kernels.ID.MPO, + Frame = kernels.Frame.SerenaElenaAN12, + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "MPO_SERENA_ELENA_AN_12", + Method = "RECTANGLE", + Aberration = "NONE" + }, + AlwaysDrawFov = true, + PotentialTargets = { "MERCURY", "EARTH", "VENUS" }, + FrameConversions = {} + }, + GUI = { + Name = "MPO Serena Elena AN12", + Path = "/Solar System/Missions/BepiColombo/Instruments", + } +} + +local SerenaElenaAN13 = { + Identifier = "BepiColomboMPO_SerenaElena_AN13", + Parent = transforms.BepiColombo.Identifier, + Renderable = { + Type = "RenderableFov", + Body = kernels.ID.MPO, + Frame = kernels.Frame.SerenaElenaAN13, + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "MPO_SERENA_ELENA_AN_13", + Method = "RECTANGLE", + Aberration = "NONE" + }, + AlwaysDrawFov = true, + PotentialTargets = { "MERCURY", "EARTH", "VENUS" }, + FrameConversions = {} + }, + GUI = { + Name = "MPO Serena Elena AN13", + Path = "/Solar System/Missions/BepiColombo/Instruments", + } +} + +local SerenaElenaAN14 = { + Identifier = "BepiColomboMPO_SerenaElena_AN14", + Parent = transforms.BepiColombo.Identifier, + Renderable = { + Type = "RenderableFov", + Body = kernels.ID.MPO, + Frame = kernels.Frame.SerenaElenaAN14, + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "MPO_SERENA_ELENA_AN_14", + Method = "RECTANGLE", + Aberration = "NONE" + }, + AlwaysDrawFov = true, + PotentialTargets = { "MERCURY", "EARTH", "VENUS" }, + FrameConversions = {} + }, + GUI = { + Name = "MPO Serena Elena AN14", + Path = "/Solar System/Missions/BepiColombo/Instruments", + } +} + +local SerenaElenaAN15 = { + Identifier = "BepiColomboMPO_SerenaElena_AN15", + Parent = transforms.BepiColombo.Identifier, + Renderable = { + Type = "RenderableFov", + Body = kernels.ID.MPO, + Frame = kernels.Frame.SerenaElenaAN15, + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "MPO_SERENA_ELENA_AN_15", + Method = "RECTANGLE", + Aberration = "NONE" + }, + AlwaysDrawFov = true, + PotentialTargets = { "MERCURY", "EARTH", "VENUS" }, + FrameConversions = {} + }, + GUI = { + Name = "MPO Serena Elena AN15", + Path = "/Solar System/Missions/BepiColombo/Instruments", + } +} + +local SerenaElenaAN16 = { + Identifier = "BepiColomboMPO_SerenaElena_AN16", + Parent = transforms.BepiColombo.Identifier, + Renderable = { + Type = "RenderableFov", + Body = kernels.ID.MPO, + Frame = kernels.Frame.SerenaElenaAN16, + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "MPO_SERENA_ELENA_AN_16", + Method = "RECTANGLE", + Aberration = "NONE" + }, + AlwaysDrawFov = true, + PotentialTargets = { "MERCURY", "EARTH", "VENUS" }, + FrameConversions = {} + }, + GUI = { + Name = "MPO Serena Elena AN16", + Path = "/Solar System/Missions/BepiColombo/Instruments", + } +} + +local SerenaElenaAN17 = { + Identifier = "BepiColomboMPO_SerenaElena_AN17", + Parent = transforms.BepiColombo.Identifier, + Renderable = { + Type = "RenderableFov", + Body = kernels.ID.MPO, + Frame = kernels.Frame.SerenaElenaAN17, + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "MPO_SERENA_ELENA_AN_17", + Method = "RECTANGLE", + Aberration = "NONE" + }, + AlwaysDrawFov = true, + PotentialTargets = { "MERCURY", "EARTH", "VENUS" }, + FrameConversions = {} + }, + GUI = { + Name = "MPO Serena Elena AN17", + Path = "/Solar System/Missions/BepiColombo/Instruments", + } +} + +local SerenaElenaAN18 = { + Identifier = "BepiColomboMPO_SerenaElena_AN18", + Parent = transforms.BepiColombo.Identifier, + Renderable = { + Type = "RenderableFov", + Body = kernels.ID.MPO, + Frame = kernels.Frame.SerenaElenaAN18, + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "MPO_SERENA_ELENA_AN_18", + Method = "RECTANGLE", + Aberration = "NONE" + }, + AlwaysDrawFov = true, + PotentialTargets = { "MERCURY", "EARTH", "VENUS" }, + FrameConversions = {} + }, + GUI = { + Name = "MPO Serena Elena AN18", + Path = "/Solar System/Missions/BepiColombo/Instruments", + } +} + +local SerenaElenaAN19 = { + Identifier = "BepiColomboMPO_SerenaElena_AN19", + Parent = transforms.BepiColombo.Identifier, + Renderable = { + Type = "RenderableFov", + Body = kernels.ID.MPO, + Frame = kernels.Frame.SerenaElenaAN19, + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "MPO_SERENA_ELENA_AN_19", + Method = "RECTANGLE", + Aberration = "NONE" + }, + AlwaysDrawFov = true, + PotentialTargets = { "MERCURY", "EARTH", "VENUS" }, + FrameConversions = {} + }, + GUI = { + Name = "MPO Serena Elena AN19", + Path = "/Solar System/Missions/BepiColombo/Instruments", + } +} + +local SerenaElenaAN20 = { + Identifier = "BepiColomboMPO_SerenaElena_AN20", + Parent = transforms.BepiColombo.Identifier, + Renderable = { + Type = "RenderableFov", + Body = kernels.ID.MPO, + Frame = kernels.Frame.SerenaElenaAN20, + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "MPO_SERENA_ELENA_AN_20", + Method = "RECTANGLE", + Aberration = "NONE" + }, + AlwaysDrawFov = true, + PotentialTargets = { "MERCURY", "EARTH", "VENUS" }, + FrameConversions = {} + }, + GUI = { + Name = "MPO Serena Elena AN20", + Path = "/Solar System/Missions/BepiColombo/Instruments", + } +} + +local SerenaElenaAN21 = { + Identifier = "BepiColomboMPO_SerenaElena_AN21", + Parent = transforms.BepiColombo.Identifier, + Renderable = { + Type = "RenderableFov", + Body = kernels.ID.MPO, + Frame = kernels.Frame.SerenaElenaAN21, + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "MPO_SERENA_ELENA_AN_21", + Method = "RECTANGLE", + Aberration = "NONE" + }, + AlwaysDrawFov = true, + PotentialTargets = { "MERCURY", "EARTH", "VENUS" }, + FrameConversions = {} + }, + GUI = { + Name = "MPO Serena Elena AN21", + Path = "/Solar System/Missions/BepiColombo/Instruments", + } +} + +local SerenaElenaAN22 = { + Identifier = "BepiColomboMPO_SerenaElena_AN22", + Parent = transforms.BepiColombo.Identifier, + Renderable = { + Type = "RenderableFov", + Body = kernels.ID.MPO, + Frame = kernels.Frame.SerenaElenaAN22, + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "MPO_SERENA_ELENA_AN_22", + Method = "RECTANGLE", + Aberration = "NONE" + }, + AlwaysDrawFov = true, + PotentialTargets = { "MERCURY", "EARTH", "VENUS" }, + FrameConversions = {} + }, + GUI = { + Name = "MPO Serena Elena AN22", + Path = "/Solar System/Missions/BepiColombo/Instruments", + } +} + +local SerenaElenaAN23 = { + Identifier = "BepiColomboMPO_SerenaElena_AN23", + Parent = transforms.BepiColombo.Identifier, + Renderable = { + Type = "RenderableFov", + Body = kernels.ID.MPO, + Frame = kernels.Frame.SerenaElenaAN23, + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "MPO_SERENA_ELENA_AN_23", + Method = "RECTANGLE", + Aberration = "NONE" + }, + AlwaysDrawFov = true, + PotentialTargets = { "MERCURY", "EARTH", "VENUS" }, + FrameConversions = {} + }, + GUI = { + Name = "MPO Serena Elena AN23", + Path = "/Solar System/Missions/BepiColombo/Instruments", + } +} + +local SerenaElenaAN24 = { + Identifier = "BepiColomboMPO_SerenaElena_AN24", + Parent = transforms.BepiColombo.Identifier, + Renderable = { + Type = "RenderableFov", + Body = kernels.ID.MPO, + Frame = kernels.Frame.SerenaElenaAN24, + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "MPO_SERENA_ELENA_AN_24", + Method = "RECTANGLE", + Aberration = "NONE" + }, + AlwaysDrawFov = true, + PotentialTargets = { "MERCURY", "EARTH", "VENUS" }, + FrameConversions = {} + }, + GUI = { + Name = "MPO Serena Elena AN24", + Path = "/Solar System/Missions/BepiColombo/Instruments", + } +} + +local SerenaElenaAN25 = { + Identifier = "BepiColomboMPO_SerenaElena_AN25", + Parent = transforms.BepiColombo.Identifier, + Renderable = { + Type = "RenderableFov", + Body = kernels.ID.MPO, + Frame = kernels.Frame.SerenaElenaAN25, + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "MPO_SERENA_ELENA_AN_25", + Method = "RECTANGLE", + Aberration = "NONE" + }, + AlwaysDrawFov = true, + PotentialTargets = { "MERCURY", "EARTH", "VENUS" }, + FrameConversions = {} + }, + GUI = { + Name = "MPO Serena Elena AN25", + Path = "/Solar System/Missions/BepiColombo/Instruments", + } +} + +local SerenaElenaAN26 = { + Identifier = "BepiColomboMPO_SerenaElena_AN26", + Parent = transforms.BepiColombo.Identifier, + Renderable = { + Type = "RenderableFov", + Body = kernels.ID.MPO, + Frame = kernels.Frame.SerenaElenaAN26, + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "MPO_SERENA_ELENA_AN_26", + Method = "RECTANGLE", + Aberration = "NONE" + }, + AlwaysDrawFov = true, + PotentialTargets = { "MERCURY", "EARTH", "VENUS" }, + FrameConversions = {} + }, + GUI = { + Name = "MPO Serena Elena AN26", + Path = "/Solar System/Missions/BepiColombo/Instruments", + } +} + +local SerenaElenaAN27 = { + Identifier = "BepiColomboMPO_SerenaElena_AN27", + Parent = transforms.BepiColombo.Identifier, + Renderable = { + Type = "RenderableFov", + Body = kernels.ID.MPO, + Frame = kernels.Frame.SerenaElenaAN27, + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "MPO_SERENA_ELENA_AN_27", + Method = "RECTANGLE", + Aberration = "NONE" + }, + AlwaysDrawFov = true, + PotentialTargets = { "MERCURY", "EARTH", "VENUS" }, + FrameConversions = {} + }, + GUI = { + Name = "MPO Serena Elena AN27", + Path = "/Solar System/Missions/BepiColombo/Instruments", + } +} + +local SerenaElenaAN28 = { + Identifier = "BepiColomboMPO_SerenaElena_AN28", + Parent = transforms.BepiColombo.Identifier, + Renderable = { + Type = "RenderableFov", + Body = kernels.ID.MPO, + Frame = kernels.Frame.SerenaElenaAN28, + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "MPO_SERENA_ELENA_AN_28", + Method = "RECTANGLE", + Aberration = "NONE" + }, + AlwaysDrawFov = true, + PotentialTargets = { "MERCURY", "EARTH", "VENUS" }, + FrameConversions = {} + }, + GUI = { + Name = "MPO Serena Elena AN28", + Path = "/Solar System/Missions/BepiColombo/Instruments", + } +} + +local SerenaElenaAN29 = { + Identifier = "BepiColomboMPO_SerenaElena_AN29", + Parent = transforms.BepiColombo.Identifier, + Renderable = { + Type = "RenderableFov", + Body = kernels.ID.MPO, + Frame = kernels.Frame.SerenaElenaAN29, + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "MPO_SERENA_ELENA_AN_29", + Method = "RECTANGLE", + Aberration = "NONE" + }, + AlwaysDrawFov = true, + PotentialTargets = { "MERCURY", "EARTH", "VENUS" }, + FrameConversions = {} + }, + GUI = { + Name = "MPO Serena Elena AN29", + Path = "/Solar System/Missions/BepiColombo/Instruments", + } +} + +local SerenaElenaAN30 = { + Identifier = "BepiColomboMPO_SerenaElena_AN30", + Parent = transforms.BepiColombo.Identifier, + Renderable = { + Type = "RenderableFov", + Body = kernels.ID.MPO, + Frame = kernels.Frame.SerenaElenaAN30, + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "MPO_SERENA_ELENA_AN_30", + Method = "RECTANGLE", + Aberration = "NONE" + }, + AlwaysDrawFov = true, + PotentialTargets = { "MERCURY", "EARTH", "VENUS" }, + FrameConversions = {} + }, + GUI = { + Name = "MPO Serena Elena AN30", + Path = "/Solar System/Missions/BepiColombo/Instruments", + } +} + +local SerenaElenaAN31 = { + Identifier = "BepiColomboMPO_SerenaElena_AN31", + Parent = transforms.BepiColombo.Identifier, + Renderable = { + Type = "RenderableFov", + Body = kernels.ID.MPO, + Frame = kernels.Frame.SerenaElenaAN31, + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "MPO_SERENA_ELENA_AN_31", + Method = "RECTANGLE", + Aberration = "NONE" + }, + AlwaysDrawFov = true, + PotentialTargets = { "MERCURY", "EARTH", "VENUS" }, + FrameConversions = {} + }, + GUI = { + Name = "MPO Serena Elena AN31", + Path = "/Solar System/Missions/BepiColombo/Instruments", + } +} + +local SerenaElenaAN32 = { + Identifier = "BepiColomboMPO_SerenaElena_AN32", + Parent = transforms.BepiColombo.Identifier, + Renderable = { + Type = "RenderableFov", + Body = kernels.ID.MPO, + Frame = kernels.Frame.SerenaElenaAN32, + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "MPO_SERENA_ELENA_AN_32", + Method = "RECTANGLE", + Aberration = "NONE" + }, + AlwaysDrawFov = true, + PotentialTargets = { "MERCURY", "EARTH", "VENUS" }, + FrameConversions = {} + }, + GUI = { + Name = "MPO Serena Elena AN32", + Path = "/Solar System/Missions/BepiColombo/Instruments", + } +} + + + +asset.onInitialize(function() + openspace.addSceneGraphNode(SerenaElenaAN01) + openspace.addSceneGraphNode(SerenaElenaAN02) + openspace.addSceneGraphNode(SerenaElenaAN03) + openspace.addSceneGraphNode(SerenaElenaAN04) + openspace.addSceneGraphNode(SerenaElenaAN05) + openspace.addSceneGraphNode(SerenaElenaAN06) + openspace.addSceneGraphNode(SerenaElenaAN07) + openspace.addSceneGraphNode(SerenaElenaAN08) + openspace.addSceneGraphNode(SerenaElenaAN09) + openspace.addSceneGraphNode(SerenaElenaAN10) + openspace.addSceneGraphNode(SerenaElenaAN11) + openspace.addSceneGraphNode(SerenaElenaAN12) + openspace.addSceneGraphNode(SerenaElenaAN13) + openspace.addSceneGraphNode(SerenaElenaAN14) + openspace.addSceneGraphNode(SerenaElenaAN15) + openspace.addSceneGraphNode(SerenaElenaAN16) + openspace.addSceneGraphNode(SerenaElenaAN17) + openspace.addSceneGraphNode(SerenaElenaAN18) + openspace.addSceneGraphNode(SerenaElenaAN19) + openspace.addSceneGraphNode(SerenaElenaAN20) + openspace.addSceneGraphNode(SerenaElenaAN21) + openspace.addSceneGraphNode(SerenaElenaAN22) + openspace.addSceneGraphNode(SerenaElenaAN23) + openspace.addSceneGraphNode(SerenaElenaAN24) + openspace.addSceneGraphNode(SerenaElenaAN25) + openspace.addSceneGraphNode(SerenaElenaAN26) + openspace.addSceneGraphNode(SerenaElenaAN27) + openspace.addSceneGraphNode(SerenaElenaAN28) + openspace.addSceneGraphNode(SerenaElenaAN29) + openspace.addSceneGraphNode(SerenaElenaAN30) + openspace.addSceneGraphNode(SerenaElenaAN31) + openspace.addSceneGraphNode(SerenaElenaAN32) +end) + +asset.onDeinitialize(function() + openspace.removeSceneGraphNode(SerenaElenaAN32) + openspace.removeSceneGraphNode(SerenaElenaAN31) + openspace.removeSceneGraphNode(SerenaElenaAN30) + openspace.removeSceneGraphNode(SerenaElenaAN29) + openspace.removeSceneGraphNode(SerenaElenaAN28) + openspace.removeSceneGraphNode(SerenaElenaAN27) + openspace.removeSceneGraphNode(SerenaElenaAN26) + openspace.removeSceneGraphNode(SerenaElenaAN25) + openspace.removeSceneGraphNode(SerenaElenaAN24) + openspace.removeSceneGraphNode(SerenaElenaAN23) + openspace.removeSceneGraphNode(SerenaElenaAN22) + openspace.removeSceneGraphNode(SerenaElenaAN21) + openspace.removeSceneGraphNode(SerenaElenaAN20) + openspace.removeSceneGraphNode(SerenaElenaAN19) + openspace.removeSceneGraphNode(SerenaElenaAN18) + openspace.removeSceneGraphNode(SerenaElenaAN17) + openspace.removeSceneGraphNode(SerenaElenaAN16) + openspace.removeSceneGraphNode(SerenaElenaAN15) + openspace.removeSceneGraphNode(SerenaElenaAN14) + openspace.removeSceneGraphNode(SerenaElenaAN13) + openspace.removeSceneGraphNode(SerenaElenaAN12) + openspace.removeSceneGraphNode(SerenaElenaAN11) + openspace.removeSceneGraphNode(SerenaElenaAN10) + openspace.removeSceneGraphNode(SerenaElenaAN09) + openspace.removeSceneGraphNode(SerenaElenaAN08) + openspace.removeSceneGraphNode(SerenaElenaAN07) + openspace.removeSceneGraphNode(SerenaElenaAN06) + openspace.removeSceneGraphNode(SerenaElenaAN05) + openspace.removeSceneGraphNode(SerenaElenaAN04) + openspace.removeSceneGraphNode(SerenaElenaAN03) + openspace.removeSceneGraphNode(SerenaElenaAN02) + openspace.removeSceneGraphNode(SerenaElenaAN01) +end) + + + +asset.meta = { + Name = "Serena Anodes", + Version = "1.0", + Description = [[ + The Search for Exospheric Refilling and Emitted Natural Abundances (SERENA) is a + single instrument composed by 4 units devoted to the detection of neutral and ionized + particles in the Hermean environment. It addresses some of the main scientific + objectives of the BepiColombo mission: composition, origin and dynamics of Mercury's + exosphere and polar deposits; and structure and dynamics of Mercury's magnetosphere. + Each unit is able to operate individually and to achieve its specific scientific + objectives. In addition, the opportunity to operate sensors simultaneously greatly + improves the success of scientific objectives and allows for additional objectives. + ]], + Author = "OpenSpace Team", + URL = "http://openspaceproject.com", + License = "MIT license" +} diff --git a/data/assets/scene/solarsystem/missions/bepicolombo/fov/sibbiosys.asset b/data/assets/scene/solarsystem/missions/bepicolombo/fov/sibbiosys.asset new file mode 100644 index 0000000000..b5199d9b94 --- /dev/null +++ b/data/assets/scene/solarsystem/missions/bepicolombo/fov/sibbiosys.asset @@ -0,0 +1,378 @@ +local transforms = asset.require("../model") +local kernels = asset.require("../kernels") + + + +local SimbioSys_HRIC_FPA = { + Identifier = "BepiColomboMPO_SIMBIOSYS_HRIC_FPA", + Parent = transforms.BepiColombo.Identifier, + Renderable = { + Type = "RenderableFov", + Body = kernels.ID.MPO, + Frame = kernels.Frame.SymbioSysHricFpa, + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "MPO_SIMBIO-SYS_HRIC_FPA", + Method = "RECTANGLE", + Aberration = "NONE" + }, + AlwaysDrawFov = true, + PotentialTargets = { "MERCURY", "EARTH", "VENUS" }, + FrameConversions = {} + }, + GUI = { + Name = "MPO Simbio-Sys HRIC FPA", + Path = "/Solar System/Missions/BepiColombo/Instruments", + } +} + +local SimbioSys_HRIC_F550 = { + Identifier = "BepiColomboMPO_SIMBIOSYS_HRIC_F550", + Parent = transforms.BepiColombo.Identifier, + Renderable = { + Type = "RenderableFov", + Body = kernels.ID.MPO, + Frame = kernels.Frame.SymbioSysHricF550, + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "MPO_SIMBIO-SYS_HRIC_F550", + Method = "RECTANGLE", + Aberration = "NONE" + }, + AlwaysDrawFov = true, + PotentialTargets = { "MERCURY", "EARTH", "VENUS" }, + FrameConversions = {} + }, + GUI = { + Name = "MPO Simbio-Sys HRIC F550", + Path = "/Solar System/Missions/BepiColombo/Instruments", + } +} + +local SimbioSys_HRIC_FPAN = { + Identifier = "BepiColomboMPO_SIMBIOSYS_HRIC_FPAN", + Parent = transforms.BepiColombo.Identifier, + Renderable = { + Type = "RenderableFov", + Body = kernels.ID.MPO, + Frame = kernels.Frame.SymbioSysHricFpan, + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "MPO_SIMBIO-SYS_HRIC_FPAN", + Method = "RECTANGLE", + Aberration = "NONE" + }, + AlwaysDrawFov = true, + PotentialTargets = { "MERCURY", "EARTH", "VENUS" }, + FrameConversions = {} + }, + GUI = { + Name = "MPO Simbio-Sys HRIC FPAN", + Path = "/Solar System/Missions/BepiColombo/Instruments", + } +} + +local SimbioSys_HRIC_F750 = { + Identifier = "BepiColomboMPO_SIMBIOSYS_HRIC_F750", + Parent = transforms.BepiColombo.Identifier, + Renderable = { + Type = "RenderableFov", + Body = kernels.ID.MPO, + Frame = kernels.Frame.SymbioSysHricF750, + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "MPO_SIMBIO-SYS_HRIC_F750", + Method = "RECTANGLE", + Aberration = "NONE" + }, + AlwaysDrawFov = true, + PotentialTargets = { "MERCURY", "EARTH", "VENUS" }, + FrameConversions = {} + }, + GUI = { + Name = "MPO Simbio-Sys HRIC F750", + Path = "/Solar System/Missions/BepiColombo/Instruments", + } +} + +local SimbioSys_HRIC_F880 = { + Identifier = "BepiColomboMPO_SIMBIOSYS_HRIC_F880", + Parent = transforms.BepiColombo.Identifier, + Renderable = { + Type = "RenderableFov", + Body = kernels.ID.MPO, + Frame = kernels.Frame.SymbioSysHricF880, + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "MPO_SIMBIO-SYS_HRIC_F880", + Method = "RECTANGLE", + Aberration = "NONE" + }, + AlwaysDrawFov = true, + PotentialTargets = { "MERCURY", "EARTH", "VENUS" }, + FrameConversions = {} + }, + GUI = { + Name = "MPO Simbio-Sys HRIC F880", + Path = "/Solar System/Missions/BepiColombo/Instruments", + } +} + +local SimbioSys_STC_L = { + Identifier = "BepiColomboMPO_SIMBIOSYS_STC_L", + Parent = transforms.BepiColombo.Identifier, + Renderable = { + Type = "RenderableFov", + Body = kernels.ID.MPO, + Frame = kernels.Frame.SymbioSysSTCL, + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "MPO_SIMBIO-SYS_STC-L", + Method = "RECTANGLE", + Aberration = "NONE" + }, + AlwaysDrawFov = true, + PotentialTargets = { "MERCURY", "EARTH", "VENUS" }, + FrameConversions = {} + }, + GUI = { + Name = "MPO Simbio-Sys STC L", + Path = "/Solar System/Missions/BepiColombo/Instruments", + } +} + +local SimbioSys_STC_H = { + Identifier = "BepiColomboMPO_SIMBIOSYS_STC_H", + Parent = transforms.BepiColombo.Identifier, + Renderable = { + Type = "RenderableFov", + Body = kernels.ID.MPO, + Frame = kernels.Frame.SymbioSysSTCH, + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "MPO_SIMBIO-SYS_STC-H", + Method = "RECTANGLE", + Aberration = "NONE" + }, + AlwaysDrawFov = true, + PotentialTargets = { "MERCURY", "EARTH", "VENUS" }, + FrameConversions = {} + }, + GUI = { + Name = "MPO Simbio-Sys STC H", + Path = "/Solar System/Missions/BepiColombo/Instruments", + } +} + +local SimbioSys_STC_L_F920 = { + Identifier = "BepiColomboMPO_SIMBIOSYS_STC_L_F920", + Parent = transforms.BepiColombo.Identifier, + Renderable = { + Type = "RenderableFov", + Body = kernels.ID.MPO, + Frame = kernels.Frame.SymbioSysSTCLF920, + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "MPO_SIMBIO-SYS_STC-L_F920", + Method = "RECTANGLE", + Aberration = "NONE" + }, + AlwaysDrawFov = true, + PotentialTargets = { "MERCURY", "EARTH", "VENUS" }, + FrameConversions = {} + }, + GUI = { + Name = "MPO Simbio-Sys STC L F920", + Path = "/Solar System/Missions/BepiColombo/Instruments", + } +} + +local SimbioSys_STC_L_F550 = { + Identifier = "BepiColomboMPO_SIMBIOSYS_STC_L_F550", + Parent = transforms.BepiColombo.Identifier, + Renderable = { + Type = "RenderableFov", + Body = kernels.ID.MPO, + Frame = kernels.Frame.SymbioSysSTCLF550, + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "MPO_SIMBIO-SYS_STC-L_F550", + Method = "RECTANGLE", + Aberration = "NONE" + }, + AlwaysDrawFov = true, + PotentialTargets = { "MERCURY", "EARTH", "VENUS" }, + FrameConversions = {} + }, + GUI = { + Name = "MPO Simbio-Sys STC L F550", + Path = "/Solar System/Missions/BepiColombo/Instruments", + } +} + +local SimbioSys_STC_L_P700 = { + Identifier = "BepiColomboMPO_SIMBIOSYS_STC_L_P700", + Parent = transforms.BepiColombo.Identifier, + Renderable = { + Type = "RenderableFov", + Body = kernels.ID.MPO, + Frame = kernels.Frame.SymbioSysSTCLP700, + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "MPO_SIMBIO-SYS_STC-L_P700", + Method = "RECTANGLE", + Aberration = "NONE" + }, + AlwaysDrawFov = true, + PotentialTargets = { "MERCURY", "EARTH", "VENUS" }, + FrameConversions = {} + }, + GUI = { + Name = "MPO Simbio-Sys STC L P700", + Path = "/Solar System/Missions/BepiColombo/Instruments", + } +} + +local SimbioSys_STC_H_P700 = { + Identifier = "BepiColomboMPO_SIMBIOSYS_STC_H_P700", + Parent = transforms.BepiColombo.Identifier, + Renderable = { + Type = "RenderableFov", + Body = kernels.ID.MPO, + Frame = kernels.Frame.SymbioSysSTCHP700, + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "MPO_SIMBIO-SYS_STC-H_P700", + Method = "RECTANGLE", + Aberration = "NONE" + }, + AlwaysDrawFov = true, + PotentialTargets = { "MERCURY", "EARTH", "VENUS" }, + FrameConversions = {} + }, + GUI = { + Name = "MPO Simbio-Sys STC H P700", + Path = "/Solar System/Missions/BepiColombo/Instruments", + } +} + +local SimbioSys_STC_H_F420 = { + Identifier = "BepiColomboMPO_SIMBIOSYS_STC_H_F420", + Parent = transforms.BepiColombo.Identifier, + Renderable = { + Type = "RenderableFov", + Body = kernels.ID.MPO, + Frame = kernels.Frame.SymbioSysSTCHF420, + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "MPO_SIMBIO-SYS_STC-H_F420", + Method = "RECTANGLE", + Aberration = "NONE" + }, + AlwaysDrawFov = true, + PotentialTargets = { "MERCURY", "EARTH", "VENUS" }, + FrameConversions = {} + }, + GUI = { + Name = "MPO Simbio-Sys STC H F420", + Path = "/Solar System/Missions/BepiColombo/Instruments", + } +} + +local SimbioSys_STC_H_F750 = { + Identifier = "BepiColomboMPO_SIMBIOSYS_STC_H_F750", + Parent = transforms.BepiColombo.Identifier, + Renderable = { + Type = "RenderableFov", + Body = kernels.ID.MPO, + Frame = kernels.Frame.SymbioSysSTCHF750, + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "MPO_SIMBIO-SYS_STC-H_F750", + Method = "RECTANGLE", + Aberration = "NONE" + }, + AlwaysDrawFov = true, + PotentialTargets = { "MERCURY", "EARTH", "VENUS" }, + FrameConversions = {} + }, + GUI = { + Name = "MPO Simbio-Sys STC H F750", + Path = "/Solar System/Missions/BepiColombo/Instruments", + } +} + +local SimbioSys_VIHI = { + Identifier = "BepiColomboMPO_SIMBIOSYS_VIHI", + Parent = transforms.BepiColombo.Identifier, + Renderable = { + Type = "RenderableFov", + Body = kernels.ID.MPO, + Frame = kernels.Frame.SymbioSysVIHI, + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "MPO_SIMBIO-SYS_VIHI", + Method = "RECTANGLE", + Aberration = "NONE" + }, + AlwaysDrawFov = true, + PotentialTargets = { "MERCURY", "EARTH", "VENUS" }, + FrameConversions = {} + }, + GUI = { + Name = "MPO Simbio-Sys VIHI", + Path = "/Solar System/Missions/BepiColombo/Instruments", + } +} + + +asset.onInitialize(function() + openspace.addSceneGraphNode(SimbioSys_HRIC_FPA) + openspace.addSceneGraphNode(SimbioSys_HRIC_F550) + openspace.addSceneGraphNode(SimbioSys_HRIC_FPAN) + openspace.addSceneGraphNode(SimbioSys_HRIC_F750) + openspace.addSceneGraphNode(SimbioSys_HRIC_F880) + openspace.addSceneGraphNode(SimbioSys_STC_L) + openspace.addSceneGraphNode(SimbioSys_STC_H) + openspace.addSceneGraphNode(SimbioSys_STC_L_F920) + openspace.addSceneGraphNode(SimbioSys_STC_L_F550) + openspace.addSceneGraphNode(SimbioSys_STC_L_P700) + openspace.addSceneGraphNode(SimbioSys_STC_H_P700) + openspace.addSceneGraphNode(SimbioSys_STC_H_F420) + openspace.addSceneGraphNode(SimbioSys_STC_H_F750) + openspace.addSceneGraphNode(SimbioSys_VIHI) +end) + +asset.onDeinitialize(function() + openspace.removeSceneGraphNode(SimbioSys_VIHI) + openspace.removeSceneGraphNode(SimbioSys_STC_H_F750) + openspace.removeSceneGraphNode(SimbioSys_STC_H_F420) + openspace.removeSceneGraphNode(SimbioSys_STC_H_P700) + openspace.removeSceneGraphNode(SimbioSys_STC_L_P700) + openspace.removeSceneGraphNode(SimbioSys_STC_L_F550) + openspace.removeSceneGraphNode(SimbioSys_STC_L_F920) + openspace.removeSceneGraphNode(SimbioSys_STC_H) + openspace.removeSceneGraphNode(SimbioSys_STC_L) + openspace.removeSceneGraphNode(SimbioSys_HRIC_F880) + openspace.removeSceneGraphNode(SimbioSys_HRIC_F750) + openspace.removeSceneGraphNode(SimbioSys_HRIC_FPAN) + openspace.removeSceneGraphNode(SimbioSys_HRIC_F550) + openspace.removeSceneGraphNode(SimbioSys_HRIC_FPA) +end) + + + +asset.meta = { + Name = "SYMBIO-SYS", + Version = "1.0", + Description = [[ + SIMBIO-SYS has been conceived to be integrated on the BepiColombo MPO pointing in the + nadir direction in order to perform the remote sensing of the Mercury surface during + the satellite orbits. The SIMBIO-SYS instrument architecture is based on 3 different + channels composing the instrument front-end with a common main electronics and power + supply. + ]], + Author = "OpenSpace Team", + URL = "http://openspaceproject.com", + License = "MIT license" +} diff --git a/data/assets/scene/solarsystem/missions/bepicolombo/fov/sixs.asset b/data/assets/scene/solarsystem/missions/bepicolombo/fov/sixs.asset new file mode 100644 index 0000000000..a523a5c653 --- /dev/null +++ b/data/assets/scene/solarsystem/missions/bepicolombo/fov/sixs.asset @@ -0,0 +1,104 @@ +local transforms = asset.require("../model") +local kernels = asset.require("../kernels") + + + +local SixsX1 = { + Identifier = "BepiColomboMPO_SixsX1", + Parent = transforms.BepiColombo.Identifier, + Renderable = { + Type = "RenderableFov", + Body = kernels.ID.MPO, + Frame = kernels.Frame.Sixs_X1, + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "MPO_SIXS-X-1", + Method = "ELLIPSE", + Aberration = "NONE" + }, + AlwaysDrawFov = true, + PotentialTargets = { "MERCURY", "EARTH", "VENUS" }, + FrameConversions = {} + }, + GUI = { + Name = "MPO Sixs X1", + Path = "/Solar System/Missions/BepiColombo/Instruments", + } +} + +local SixsX2 = { + Identifier = "BepiColomboMPO_SixsX2", + Parent = transforms.BepiColombo.Identifier, + Renderable = { + Type = "RenderableFov", + Body = kernels.ID.MPO, + Frame = kernels.Frame.Sixs_X2, + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "MPO_SIXS-X-2", + Method = "ELLIPSE", + Aberration = "NONE" + }, + AlwaysDrawFov = true, + PotentialTargets = { "MERCURY", "EARTH", "VENUS" }, + FrameConversions = {} + }, + GUI = { + Name = "MPO Sixs X2", + Path = "/Solar System/Missions/BepiColombo/Instruments", + } +} + +local SixsX3 = { + Identifier = "BepiColomboMPO_SixsX3", + Parent = transforms.BepiColombo.Identifier, + Renderable = { + Type = "RenderableFov", + Body = kernels.ID.MPO, + Frame = kernels.Frame.Sixs_X3, + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "MPO_SIXS-X-3", + Method = "ELLIPSE", + Aberration = "NONE" + }, + AlwaysDrawFov = true, + PotentialTargets = { "MERCURY", "EARTH", "VENUS" }, + FrameConversions = {} + }, + GUI = { + Name = "MPO Sixs X3", + Path = "/Solar System/Missions/BepiColombo/Instruments", + } +} + + +asset.onInitialize(function() + -- Circle shapes are currently not supported + -- openspace.addSceneGraphNode(SixsX1) + -- openspace.addSceneGraphNode(SixsX2) + -- openspace.addSceneGraphNode(SixsX3) +end) + +asset.onDeinitialize(function() + -- openspace.removeSceneGraphNode(SixsX3) + -- openspace.removeSceneGraphNode(SixsX2) + -- openspace.removeSceneGraphNode(SixsX1) +end) + + + +asset.meta = { + Name = "Sixs", + Version = "1.0", + Description = [[ + The scientific investigation performed by the Solar Intensity X-ray and particle + Spectrometer (SIXS) is the determination of solar impact on the Hermean surface in the + form of direct X-rays and energetic particles, which induce observable X-ray emission + via interaction with the surface of the planet. Particles of concern here are highly + energetic solar protons and electrons. + ]], + Author = "OpenSpace Team", + URL = "http://openspaceproject.com", + License = "MIT license" +} diff --git a/data/assets/scene/solarsystem/missions/bepicolombo/fov/startracker.asset b/data/assets/scene/solarsystem/missions/bepicolombo/fov/startracker.asset new file mode 100644 index 0000000000..924aa134a2 --- /dev/null +++ b/data/assets/scene/solarsystem/missions/bepicolombo/fov/startracker.asset @@ -0,0 +1,107 @@ +local transforms = asset.require("../model") +local kernels = asset.require("../kernels") + + + +local StarTracker1 = { + Identifier = "BepiColomboMPO_StarTracker1", + Parent = transforms.BepiColombo.Identifier, + Renderable = { + Type = "RenderableFov", + Body = kernels.ID.MPO, + Frame = kernels.Frame.StarTracker1, + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "MPO_STR-1", + Method = "CIRCLE", + Aberration = "NONE" + }, + AlwaysDrawFov = true, + PotentialTargets = { "MERCURY", "EARTH", "VENUS" }, + FrameConversions = {} + }, + GUI = { + Name = "MPO Star Tracker 1", + Path = "/Solar System/Missions/BepiColombo/Instruments", + } +} + +local StarTracker2 = { + Identifier = "BepiColomboMPO_StarTracker2", + Parent = transforms.BepiColombo.Identifier, + Renderable = { + Type = "RenderableFov", + Body = kernels.ID.MPO, + Frame = kernels.Frame.StarTracker2, + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "MPO_STR-2", + Method = "CIRCLE", + Aberration = "NONE" + }, + AlwaysDrawFov = true, + PotentialTargets = { "MERCURY", "EARTH", "VENUS" }, + FrameConversions = {} + }, + GUI = { + Name = "MPO Star Tracker 2", + Path = "/Solar System/Missions/BepiColombo/Instruments", + } +} + +local StarTracker3 = { + Identifier = "BepiColomboMPO_StarTracker3", + Parent = transforms.BepiColombo.Identifier, + Renderable = { + Type = "RenderableFov", + Body = kernels.ID.MPO, + Frame = kernels.Frame.StarTracker3, + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "MPO_STR-3", + Method = "CIRCLE", + Aberration = "NONE" + }, + AlwaysDrawFov = true, + PotentialTargets = { "MERCURY", "EARTH", "VENUS" }, + FrameConversions = {} + }, + GUI = { + Name = "MPO Star Tracker 3", + Path = "/Solar System/Missions/BepiColombo/Instruments", + } +} + + +asset.onInitialize(function() + -- Circle shapes are currently not supported + -- openspace.addSceneGraphNode(StarTracker1) + -- openspace.addSceneGraphNode(StarTracker2) + -- openspace.addSceneGraphNode(StarTracker3) +end) + +asset.onDeinitialize(function() + -- openspace.removeSceneGraphNode(StarTracker1) + -- openspace.removeSceneGraphNode(StarTracker2) + -- openspace.removeSceneGraphNode(StarTracker3) +end) + + + +asset.meta = { + Name = "Star Tracker", + Version = "1.0", + Description = [[ + From a functional point of view, the Autonomous Star Trackers can be seen as a video + camera plus an image processing unit that, starting from an image of the sky, extracts + the attitude information for the AOCS, measured with respect to the J2000 inertial + reference system. + + The STR can track up to 15 stars simultaneously and consists of a Single box that + contains the optical head, the main electronics and a baffle which is thermally + decoupled from the box. + ]], + Author = "OpenSpace Team", + URL = "http://openspaceproject.com", + License = "MIT license" +} diff --git a/data/assets/scene/solarsystem/missions/bepicolombo/kernels.asset b/data/assets/scene/solarsystem/missions/bepicolombo/kernels.asset new file mode 100644 index 0000000000..7503619b7a --- /dev/null +++ b/data/assets/scene/solarsystem/missions/bepicolombo/kernels.asset @@ -0,0 +1,303 @@ +local kernels = asset.resource({ + Name = "BepiColombo Kernels", + Type = "HttpSynchronization", + Identifier = "bepicolombo_kernels", + Version = 1 +}) + + +local BepiColomboKernels = { + -- Kernel list based on bc_ops_v413_20240112_001.tm + kernels .. "bc_mpo_magboom_default_s20191107_v01.bc", + kernels .. "bc_mpo_hga_scm_20181020_20190101_s20201020_v02.bc", + kernels .. "bc_mpo_hga_scm_20190101_20200101_s20230309_v01.bc", + kernels .. "bc_mpo_hga_scm_20200101_20210101_s20230309_v01.bc", + kernels .. "bc_mpo_hga_scm_20210101_20220101_s20230309_v01.bc", + kernels .. "bc_mpo_hga_scm_20220101_20230101_s20221229_v01.bc", + kernels .. "bc_mpo_hga_scm_20230101_20240101_s20240104_v01.bc", + kernels .. "bc_mpo_hga_scm_20240101_20240111_s20240110_v01.bc", + kernels .. "bc_mpo_mga_scm_20181020_20190101_s20200109_v02.bc", + kernels .. "bc_mpo_mga_scm_20190101_20200101_s20230309_v01.bc", + kernels .. "bc_mpo_mga_scm_20200101_20210101_s20230309_v01.bc", + kernels .. "bc_mpo_mga_scm_20210101_20220101_s20230309_v01.bc", + kernels .. "bc_mpo_mga_scm_20220101_20230101_s20221229_v01.bc", + kernels .. "bc_mpo_mga_scm_20230101_20240101_s20240104_v01.bc", + kernels .. "bc_mpo_mga_scm_20240101_20240111_s20240110_v01.bc", + kernels .. "bc_mpo_sa_scm_20181020_20190101_s20211202_v01.bc", + kernels .. "bc_mpo_sa_scm_20190101_20200101_s20230309_v01.bc", + kernels .. "bc_mpo_sa_scm_20200101_20210101_s20230309_v01.bc", + kernels .. "bc_mpo_sa_scm_20210101_20220101_s20230309_v01.bc", + kernels .. "bc_mpo_sa_scm_20220101_20230101_s20221229_v01.bc", + kernels .. "bc_mpo_sa_scm_20230101_20240101_s20240104_v01.bc", + kernels .. "bc_mpo_sa_scm_20240101_20240111_s20240110_v01.bc", + kernels .. "bc_mtm_sa_scm_20181020_20190101_s20200109_v02.bc", + kernels .. "bc_mtm_sa_scm_20190101_20200101_s20230309_v01.bc", + kernels .. "bc_mtm_sa_scm_20200101_20210101_s20230309_v01.bc", + kernels .. "bc_mtm_sa_scm_20210101_20220101_s20230309_v01.bc", + kernels .. "bc_mtm_sa_scm_20220101_20230101_s20221229_v01.bc", + kernels .. "bc_mtm_sa_scm_20230101_20240101_s20240104_v01.bc", + kernels .. "bc_mtm_sa_scm_20240101_20240111_s20240110_v01.bc", + kernels .. "bc_mmo_sc_scp_20180317_20251220_f20170228_v02.bc", + kernels .. "bc_mmo_sc_slt_50038_20251220_20280305_f20170228_v02.bc", + kernels .. "bc_mtm_sc_scp_20180317_20251219_f20181121_v02.bc", + kernels .. "bc_mtm_sep_scp_20181019_20251205_f20181127_v02.bc", + kernels .. "bc_mpo_sc_prelaunch_f20181121_v01.bc", + kernels .. "bc_mpo_sc_fcp_00160_20181020_20240216_f20181127_v01.bc", + kernels .. "bc_mpo_sc_scc_20181019_20190101_s20230309_v01.bc", + kernels .. "bc_mpo_sc_scc_20190101_20200101_s20230309_v01.bc", + kernels .. "bc_mpo_sc_scc_20200101_20210101_s20230309_v01.bc", + kernels .. "bc_mpo_sc_scc_20210101_20220101_s20230309_v01.bc", + kernels .. "bc_mpo_sc_scc_20220101_20230101_s20221229_v01.bc", + kernels .. "bc_mpo_sc_scc_20230101_20240101_s20240104_v01.bc", + kernels .. "bc_mpo_sc_scc_20240101_20240111_s20240110_v01.bc", + kernels .. "bc_mpo_sc_scm_20181020_20190101_s20230309_v01.bc", + kernels .. "bc_mpo_sc_scm_20190101_20200101_s20230309_v01.bc", + kernels .. "bc_mpo_sc_scm_20200101_20210101_s20210618_v01.bc", + kernels .. "bc_mpo_sc_scm_20210101_20220101_s20230309_v01.bc", + kernels .. "bc_mpo_sc_scm_20220101_20230101_s20230309_v01.bc", + kernels .. "bc_mpo_sc_scm_20230101_20240101_s20240104_v01.bc", + kernels .. "bc_mpo_sc_scm_20240101_20240111_s20240110_v01.bc", + kernels .. "bc_mpo_v34.tf", + kernels .. "bc_mtm_v12.tf", + kernels .. "bc_mmo_v13.tf", + kernels .. "bc_ops_v01.tf", + kernels .. "bc_sci_v12.tf", + kernels .. "bc_dsk_surfaces_v03.tf", + kernels .. "rssd0004.tf", + kernels .. "earth_topo_201023.tf", + kernels .. "earthstns_jaxa_20230905.tf", + kernels .. "earthfixeditrf93.tf", + kernels .. "estrack_v04.tf", + kernels .. "bc_mmo_sc_bus_v02.bds", + kernels .. "bc_mpo_sc_bus_v02.bds", + kernels .. "bc_mpo_sc_hga_v02.bds", + kernels .. "bc_mpo_sc_mga_v02.bds", + kernels .. "bc_mpo_sc_mosif_v02.bds", + kernels .. "bc_mpo_sc_sa_v02.bds", + kernels .. "bc_mtm_sc_bus_v02.bds", + kernels .. "bc_mtm_sc_samx_v02.bds", + kernels .. "bc_mtm_sc_sapx_v02.bds", + kernels .. "mercury_m002_mes_v02.bds", + + kernels .. "bc_mpo_bela_v09.ti", + kernels .. "bc_mpo_mertis_v08.ti", + kernels .. "bc_mpo_mgns_v02.ti", + kernels .. "bc_mpo_mixs_v06.ti", + kernels .. "bc_mpo_phebus_v06.ti", + kernels .. "bc_mpo_serena_v08.ti", + kernels .. "bc_mpo_simbio-sys_v10.ti", + kernels .. "bc_mpo_sixs_v08.ti", + kernels .. "bc_mpo_str_v02.ti", + kernels .. "bc_mpo_aux_v01.ti", + kernels .. "bc_mtm_mcam_v05.ti", + kernels .. "bc_mmo_mppe_v04.ti", + kernels .. "bc_mmo_msasi_v03.ti", + kernels .. "bc_mmo_ssas_v01.ti", + + kernels .. "de403_masses.tpc", + kernels .. "gm_de431.tpc", + kernels .. "pck00011_bc_v00.tpc", + + kernels .. "earth_070425_370426_predict.bpc", + kernels .. "earth_000101_240403_240109.bpc", + + kernels .. "bc_mpo_step_20240110.tsc", + kernels .. "bc_mpo_fict_20181127.tsc", + kernels .. "bc_mmo_fict_20170228.tsc", + + kernels .. "de432s.bsp", + kernels .. "earthstns_itrf93_201023.bsp", + kernels .. "earthstns_jaxa_20230905.bsp", + kernels .. "estrack_v04.bsp", + kernels .. "bc_sci_v02.bsp", + kernels .. "bc_mmo_struct_v01.bsp", + kernels .. "bc_mmo_scp_20181019_20251220_v02.bsp", + kernels .. "bc_mtm_struct_v06.bsp", + kernels .. "bc_mtm_scp_20181019_20251219_v03.bsp", + kernels .. "bc_mpo_cog_v03.bsp", + kernels .. "bc_mpo_cog_00160_20181118_20240201_v01.bsp", + kernels .. "bc_mpo_struct_v09.bsp", + kernels .. "bc_mpo_schulte_vector_v01.bsp", + kernels .. "bc_mpo_prelaunch_v01.bsp", + kernels .. "bc_mpo_fcp_00160_20181020_20260328_v01.bsp" + + +-- kernels .. "bc_mpo_step_20240110.tsc", +-- +-- kernels .. "de432s.bsp", +-- kernels .. "bc_mpo_fcp_00160_20181020_20260328_v01.bsp", +-- kernels .. "bc_mmo_struct_v01.bsp", +-- kernels .. "bc_mtm_struct_v06.bsp", +-- kernels .. "bc_mpo_struct_v09.bsp", +-- +-- kernels .. "bc_mmo_mppe_v04.ti", +-- kernels .. "bc_mmo_msasi_v03.ti", +-- kernels .. "bc_mmo_ssas_v01.ti", +-- kernels .. "bc_mpo_aux_v01.ti", +-- kernels .. "bc_mpo_bela_v09.ti", +-- kernels .. "bc_mpo_mertis_v08.ti", +-- kernels .. "bc_mpo_mgns_v02.ti", +-- kernels .. "bc_mpo_mixs_v06.ti", +-- kernels .. "bc_mpo_phebus_v06.ti", +-- kernels .. "bc_mpo_serena_v08.ti", +-- kernels .. "bc_mpo_simbio-sys_v10.ti", +-- kernels .. "bc_mpo_sixs_v08.ti", +-- kernels .. "bc_mpo_str_v02.ti", +-- kernels .. "bc_mtm_mcam_v05.ti", +-- +-- kernels .. "bc_sci_v12.tf", +-- kernels .. "bc_mmo_v13.tf", +-- kernels .. "bc_mpo_v34.tf", +-- kernels .. "bc_mtm_v12.tf", +-- kernels .. "bc_ops_v01.tf", +-- +-- kernels .. "bc_mpo_sc_fcp_00160_20181020_20240216_f20181127_v01.bc", +-- -- kernels .. "bc_mpo_sc_scm_20240101_20240111_s20240110_v01.bc", +-- -- kernels .. "bc_mpo_sc_scm_20230101_20240101_s20240104_v01.bc", +-- -- kernels .. "bc_mpo_sc_scm_20220101_20230101_s20230309_v01.bc", +-- -- kernels .. "bc_mpo_sc_scm_20210101_20220101_s20230309_v01.bc", +-- -- kernels .. "bc_mpo_sc_scm_20200101_20210101_s20210618_v01.bc", +-- -- kernels .. "bc_mpo_sc_scm_20190101_20200101_s20230309_v01.bc", +-- -- kernels .. "bc_mpo_sc_scm_20181020_20190101_s20230309_v01.bc", +-- +-- kernels .. "bc_mpo_sc_scc_20240101_20240111_s20240110_v01.bc", +-- kernels .. "bc_mpo_sc_scc_20230101_20240101_s20240104_v01.bc", +-- kernels .. "bc_mpo_sc_scc_20220101_20230101_s20221229_v01.bc", +-- kernels .. "bc_mpo_sc_scc_20210101_20220101_s20230309_v01.bc", +-- kernels .. "bc_mpo_sc_scc_20200101_20210101_s20230309_v01.bc", +-- kernels .. "bc_mpo_sc_scc_20190101_20200101_s20230309_v01.bc", +-- kernels .. "bc_mpo_sc_scc_20181019_20190101_s20230309_v01.bc", +-- +-- kernels .. "bc_mpo_hga_scm_20240101_20240111_s20240110_v01.bc", +-- kernels .. "bc_mpo_hga_scm_20181020_20190101_s20201020_v02.bc", +-- kernels .. "bc_mpo_hga_scm_20190101_20200101_s20230309_v01.bc", +-- kernels .. "bc_mpo_hga_scm_20200101_20210101_s20230309_v01.bc", +-- kernels .. "bc_mpo_hga_scm_20210101_20220101_s20230309_v01.bc", +-- kernels .. "bc_mpo_hga_scm_20220101_20230101_s20221229_v01.bc", +-- kernels .. "bc_mpo_hga_scm_20230101_20240101_s20240104_v01.bc", +-- kernels .. "bc_mpo_magboom_default_s20191107_v01.bc", +-- kernels .. "bc_mpo_mertis_zero_s20191107_v02.bc", +-- kernels .. "bc_mpo_mga_scm_20181020_20190101_s20200109_v02.bc", +-- kernels .. "bc_mpo_mga_scm_20190101_20200101_s20230309_v01.bc", +-- kernels .. "bc_mpo_mga_scm_20200101_20210101_s20230309_v01.bc", +-- kernels .. "bc_mpo_mga_scm_20210101_20220101_s20230309_v01.bc", +-- kernels .. "bc_mpo_mga_scm_20220101_20230101_s20221229_v01.bc", +-- kernels .. "bc_mpo_mga_scm_20230101_20240101_s20240104_v01.bc", +-- kernels .. "bc_mpo_mga_scm_20240101_20240111_s20240110_v01.bc", +-- kernels .. "bc_mpo_mga_zero_s20191107_v02.bc", +-- kernels .. "bc_mpo_phebus_zero_s20210408_v02.bc", +-- kernels .. "bc_mpo_sa_scm_20181020_20190101_s20211202_v01.bc", +-- kernels .. "bc_mpo_sa_scm_20190101_20200101_s20230309_v01.bc", +-- kernels .. "bc_mpo_sa_scm_20200101_20210101_s20230309_v01.bc", +-- kernels .. "bc_mpo_sa_scm_20210101_20220101_s20230309_v01.bc", +-- kernels .. "bc_mpo_sa_scm_20220101_20230101_s20221229_v01.bc", +-- kernels .. "bc_mpo_sa_scm_20230101_20240101_s20240104_v01.bc", +-- kernels .. "bc_mpo_sa_scm_20240101_20240111_s20240110_v01.bc", +-- kernels .. "bc_mpo_sa_zero_s20191107_v02.bc", +-- kernels .. "bc_mpo_sa_zero_s20191107_v02.bc", +-- kernels .. "bc_mpo_serena_zero_s20191207_v02.bc" +} + +local ID = { + MPO = "-121" +} + +local Frame = { + MPO = "MPO_SPACECRAFT", + + HGA = "MPO_HGA", + BelaReceiver = "MPO_BELA_RX", + BelaTransmitterMain = "MPO_BELA_TX_MAIN", + BelaTransmitterRed = "MPO_BELA_TX_RED", + MertisTis = "MPO_MERTIS_TIS", + MertisTisPlanet = "MPO_MERTIS_TIS_PLANET", + MertisTisSpace = "MPO_MERTIS_TIS_SPACE", + MGNS = "MPO_MGNS", + MIXS_C = "MPO_MIXS-C", + MIXS_T = "MPO_MIXS-T", + PhebusSlit75 = "MPO_PHEBUS_SLIT_75", + PhebusSlit100 = "MPO_PHEBUS_SLIT_100", + Phebus75 = "MPO_PHEBUS_75", + Phebus100 = "MPO_PHEBUS_100", + SerenaElena = "MPO_SERENA_ELENA", + SerenaElenaAN01 = "MPO_SERENA_ELENA_AN_01", + SerenaElenaAN02 = "MPO_SERENA_ELENA_AN_02", + SerenaElenaAN03 = "MPO_SERENA_ELENA_AN_03", + SerenaElenaAN04 = "MPO_SERENA_ELENA_AN_04", + SerenaElenaAN05 = "MPO_SERENA_ELENA_AN_05", + SerenaElenaAN06 = "MPO_SERENA_ELENA_AN_06", + SerenaElenaAN07 = "MPO_SERENA_ELENA_AN_07", + SerenaElenaAN08 = "MPO_SERENA_ELENA_AN_08", + SerenaElenaAN09 = "MPO_SERENA_ELENA_AN_09", + SerenaElenaAN10 = "MPO_SERENA_ELENA_AN_10", + SerenaElenaAN11 = "MPO_SERENA_ELENA_AN_11", + SerenaElenaAN12 = "MPO_SERENA_ELENA_AN_12", + SerenaElenaAN13 = "MPO_SERENA_ELENA_AN_13", + SerenaElenaAN14 = "MPO_SERENA_ELENA_AN_14", + SerenaElenaAN15 = "MPO_SERENA_ELENA_AN_15", + SerenaElenaAN16 = "MPO_SERENA_ELENA_AN_16", + SerenaElenaAN17 = "MPO_SERENA_ELENA_AN_17", + SerenaElenaAN18 = "MPO_SERENA_ELENA_AN_18", + SerenaElenaAN19 = "MPO_SERENA_ELENA_AN_19", + SerenaElenaAN20 = "MPO_SERENA_ELENA_AN_20", + SerenaElenaAN21 = "MPO_SERENA_ELENA_AN_21", + SerenaElenaAN22 = "MPO_SERENA_ELENA_AN_22", + SerenaElenaAN23 = "MPO_SERENA_ELENA_AN_23", + SerenaElenaAN24 = "MPO_SERENA_ELENA_AN_24", + SerenaElenaAN25 = "MPO_SERENA_ELENA_AN_25", + SerenaElenaAN26 = "MPO_SERENA_ELENA_AN_26", + SerenaElenaAN27 = "MPO_SERENA_ELENA_AN_27", + SerenaElenaAN28 = "MPO_SERENA_ELENA_AN_28", + SerenaElenaAN29 = "MPO_SERENA_ELENA_AN_29", + SerenaElenaAN30 = "MPO_SERENA_ELENA_AN_30", + SerenaElenaAN31 = "MPO_SERENA_ELENA_AN_31", + SerenaElenaAN32 = "MPO_SERENA_ELENA_AN_32", + SymbioSysHricFpa = "MPO_SIMBIO-SYS_HRIC_FPA", + SymbioSysHricF550 = "MPO_SIMBIO-SYS_HRIC_F550", + SymbioSysHricFpan = "MPO_SIMBIO-SYS_HRIC_FPAN", + SymbioSysHricF750 = "MPO_SIMBIO-SYS_HRIC_F750", + SymbioSysHricF880 = "MPO_SIMBIO-SYS_HRIC_F880", + SymbioSysSTCL = "MPO_SIMBIO-SYS_STC-L", + SymbioSysSTCH = "MPO_SIMBIO-SYS_STC-H", + SymbioSysSTCLF920 = "MPO_SIMBIO-SYS_STC-L_F920", + SymbioSysSTCLF550 = "MPO_SIMBIO-SYS_STC-L_F550", + SymbioSysSTCLP700 = "MPO_SIMBIO-SYS_STC-L_P700", + SymbioSysSTCHP700 = "MPO_SIMBIO-SYS_STC-H_P700", + SymbioSysSTCHF420 = "MPO_SIMBIO-SYS_STC-H_F420", + SymbioSysSTCHF750 = "MPO_SIMBIO-SYS_STC-H_F750", + SymbioSysVIHI = "MPO_SIMBIO-SYS_VIHI", + Sixs_X1 = "MPO_SIXS-X-1", + Sixs_X2 = "MPO_SIXS-X-2", + Sixs_X3 = "MPO_SIXS-X-3", + StarTracker1 = "MPO_STR-1", + StarTracker2 = "MPO_STR-2", + StarTracker3 = "MPO_STR-3", + + + + + +} + + +asset.onInitialize(function() + openspace.spice.loadKernel(BepiColomboKernels) +end) + +asset.onDeinitialize(function() + openspace.spice.unloadKernel(BepiColomboKernels) +end) + +asset.export("ID", ID) +asset.export("Frame", Frame) + + + +asset.meta = { + Name = "BepiColombo Kernels", + Version = "1.0", + Description = "This asset contains the SPICE kernels for the BepiColombo mission.", + Author = "OpenSpace Team", + URL = "http://openspaceproject.com", + License = "MIT license" +} diff --git a/data/assets/scene/solarsystem/missions/bepicolombo/mission.asset b/data/assets/scene/solarsystem/missions/bepicolombo/mission.asset new file mode 100644 index 0000000000..717e23b6c2 --- /dev/null +++ b/data/assets/scene/solarsystem/missions/bepicolombo/mission.asset @@ -0,0 +1,88 @@ +local Mission = { + Name = "BepiColombo", + Image = "https://scifleet.esa.int/downloads/bepi_mcs/bepicolombo.png", + Description = [[BepiColombo is Europe's first mission to Mercury. It will launch in October 2018 on a journey to the smallest and least explored terrestrial planet in our Solar System. Arriving at Mercury in December 2025, it will endure temperatures in excess of 350°C and gather data during a 1 year nominal mission. The mission comprises two spacecraft: 1. Mercury Planetary Orbiter (MPO), 2. Mercury Magnetospheric Orbiter (MMO). BepiColombo is a joint mission between ESA and the Japan Aerospace Exploration Agency (JAXA), executed under ESA leadership.]], + TimeRange = { + Start = "2018 OCT 20 01:45:00", + End = "2028 MAY 01 12:00:00" -- Preliminary time + }, + Milestones = { + { + Name = "Launch", + Date = "2018 OCT 20 01:45:00" + }, + { + Name = "Earth flyby", + Date = "2020 APR 10 04:25" + }, + { + Name = "First Venus flyby", + Date = "2020 OCT 15 03:58:00" + }, + { + Name = "Second Venus flyby", + Date = "2021 AUG 10 13:51:00" + }, + { + Name = "First Mercury flyby", + Date = "2021 OCT 01 23:34:41" + }, + { + Name = "Second Mercury flyby", + Date = "2022 JUN 23 09:44:00" + }, + { + Name = "Third Mercury flyby", + Date = "2023 JUN 19 19:34:00" + }, + { + Name = "Fourth Mercury flyby", + Date = "2024 SEP 05 12:00:00" -- Preliminary time + }, + { + Name = "Fifth Mercury flyby", + Date = "2024 DEC 02 12:00:00" -- Preliminary time + }, + { + Name = "Sixth Mercury flyby", + Date = "2025 JAN 09 12:00:00" -- Preliminary time + }, + { + Name = "Mercury orbit insertion", + Date = "2025 DEC 05 12:00:00" -- Preliminary time + }, + { + Name = "MPO in final science orbit", + Date = "2026 MAR 14 12:00:00" -- Preliminary time + }, + { + Name = "End of nominal mission", + Date = "2027 MAY 01 12:00:00" -- Preliminary time + }, + { + Name = "End of extended mission", + Date = "2028 MAY 01 12:00:00" -- Preliminary time + } + }, + Phases = {} +} + + +asset.onInitialize(function() + openspace.loadMission(Mission) +end) + +asset.onDeinitialize(function() + openspace.unloadMission(Mission.Name) +end) + + + +asset.meta = { + Name = "BepiColombo Mission", + Version = "1.0", + Description = "This asset contains the mission profile information for the BepiColombo mission. The data in this file has been taken from https://www.esa.int/Science_Exploration/Space_Science/BepiColombo/BepiColombo_factsheet", + Author = "OpenSpace Team", + URL = "http://openspaceproject.com", + License = "MIT license" +} diff --git a/data/assets/scene/solarsystem/missions/bepicolombo/model.asset b/data/assets/scene/solarsystem/missions/bepicolombo/model.asset new file mode 100644 index 0000000000..05aec4d10e --- /dev/null +++ b/data/assets/scene/solarsystem/missions/bepicolombo/model.asset @@ -0,0 +1,84 @@ +local transform = 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 modelFolder = asset.resource({ + Name = "BepiColombo Model", + Type = "HttpSynchronization", + Identifier = "bepicolombo_models", + Version = 1 +}) + + +local BepiColombo = { + Identifier = "BepiColombo", + Parent = transform.SolarSystemBarycenter.Identifier, + Transform = { + Translation = { + Type = "SpiceTranslation", + Target = kernels.ID.MPO, + Observer = coreKernels.ID.SolarSystemBarycenter + }, + Rotation = { + Type = "SpiceRotation", + SourceFrame = kernels.Frame.MPO, + DestinationFrame = coreKernels.Frame.Galactic + } + }, + GUI = { + Name = "BepiColombo", + Path = "/Solar System/Missions/BepiColombo" + } +} + +local Model = { + Identifier = "BepiColomboModel", + Parent = BepiColombo.Identifier, + Transform = { + Translation = { + Type = "StaticTranslation", + Position = { 0.0, -0.275, 0.0 } + } + }, + Renderable = { + Type = "RenderableModel", + GeometryFile = modelFolder .. "bepi_mcs.fbx", + ModelScale = 0.00075, -- The number has been determined by eyeballing it + LightSources = { + sun.LightSource + }, + PerformShading = true, + AmbientIntensity = 0.075 + }, + GUI = { + Name = "BepiColombo Model", + Path = "/Solar System/Missions/BepiColombo" + } +} + + +asset.onInitialize(function() + openspace.addSceneGraphNode(BepiColombo) + openspace.addSceneGraphNode(Model) +end) + +asset.onDeinitialize(function() + openspace.removeSceneGraphNode(Model) + openspace.removeSceneGraphNode(BepiColombo) +end) + +asset.export(BepiColombo) + + + +asset.meta = { + Name = "BepiColombo Model", + Version = "1.0", + Description = "This asset contains the model of the BepiColombo spacecraft. The model is retrieved from https://s2e2.cosmos.esa.int/bitbucket/projects/SPICE_KERNELS/repos/bepicolombo", + Author = "OpenSpace Team", + URL = "http://openspaceproject.com", + License = "MIT license" +} diff --git a/data/assets/scene/solarsystem/missions/bepicolombo/trails.asset b/data/assets/scene/solarsystem/missions/bepicolombo/trails.asset new file mode 100644 index 0000000000..b2220287c2 --- /dev/null +++ b/data/assets/scene/solarsystem/missions/bepicolombo/trails.asset @@ -0,0 +1,73 @@ +local kernels = asset.require("./kernels") +local mercury = asset.require("scene/solarsystem/planets/mercury/transforms") +local solarsystem = asset.require("scene/solarsystem/sun/transforms") +local coreKernels = asset.require("spice/core") + + + +local BepiColomboTrailSun = { + Identifier = "BepiColomboTrailSun", + Parent = solarsystem.SolarSystemBarycenter.Identifier, + Renderable = { + Type = "RenderableTrailTrajectory", + Translation = { + Type = "SpiceTranslation", + Target = kernels.ID.MPO, + Observer = coreKernels.ID.SolarSystemBarycenter + }, + Color = { 0.70, 0.50, 0.20 }, + StartTime = "2018 OCT 20 01:45:00", + EndTime = "2028 MAY 01 12:00:00", + SampleInterval = 60000 + }, + GUI = { + Name = "BepiColombo Trail (Sun)", + Path = "/Solar System/Missions/BepiColombo" + } +} + +local BepiColomboTrailMercury = { + Identifier = "BepiColomboTrailMercury", + Parent = mercury.MercuryBarycenter.Identifier, + Renderable = { + Type = "RenderableTrailTrajectory", + Translation = { + Type = "SpiceTranslation", + Target = kernels.ID.MPO, + Observer = coreKernels.ID.Mercury + }, + Color = { 0.625, 0.255, 0.45 }, + StartTime = "2025 DEC 05 12:00:00", + EndTime = "2028 MAY 01 12:00:00", + SampleInterval = 600 + }, + GUI = { + Name = "BepiColombo Trail (Mercury)", + Path = "/Solar System/Missions/BepiColombo" + } +} + + +asset.onInitialize(function() + openspace.addSceneGraphNode(BepiColomboTrailSun) + openspace.addSceneGraphNode(BepiColomboTrailMercury) +end) + +asset.onDeinitialize(function() + openspace.removeSceneGraphNode(BepiColomboTrailMercury) + openspace.removeSceneGraphNode(BepiColomboTrailSun) +end) + +asset.export(BepiColomboTrailSun) +asset.export(BepiColomboTrailMercury) + + + +asset.meta = { + Name = "BepiColombo Trails", + Version = "1.0", + Description = "This asset contains the trails for the BepiColombo spacecraft relative to the Sun and Mercury.", + Author = "OpenSpace Team", + URL = "http://openspaceproject.com", + License = "MIT license" +} diff --git a/data/profiles/bepicolombo.profile b/data/profiles/bepicolombo.profile new file mode 100644 index 0000000000..6cef837a3c --- /dev/null +++ b/data/profiles/bepicolombo.profile @@ -0,0 +1,183 @@ +{ + "assets": [ + "base", + "base_keybindings", + "scene/solarsystem/missions/bepicolombo/bepicolombo", + "scene/solarsystem/planets/earth/earth" + ], + "camera": { + "altitude": 17000000.0, + "anchor": "Earth", + "latitude": 58.5877, + "longitude": 16.1924, + "type": "goToGeo" + }, + "delta_times": [ + 1.0, + 5.0, + 30.0, + 60.0, + 300.0, + 1800.0, + 3600.0, + 43200.0, + 86400.0, + 604800.0, + 1209600.0, + 2592000.0, + 5184000.0, + 7776000.0, + 15552000.0, + 31536000.0, + 63072000.0, + 157680000.0, + 315360000.0, + 630720000.0 + ], + "mark_nodes": [ + "BepiColombo", + "Mercury", + "Earth", + "Venus", + "Sun" + ], + "meta": { + "author": "OpenSpace Team", + "description": "Default OpenSpace Profile. Adds Earth satellites not contained in other profiles", + "license": "MIT License", + "name": "Default", + "url": "https://www.openspaceproject.com", + "version": "1.0" + }, + "properties": [ + { + "name": "Scene.BepiColomboMPO_MertisTis.Renderable.Enabled", + "type": "setPropertyValueSingle", + "value": "false" + }, + { + "name": "Scene.BepiColomboMPO_MertisTisPlanet.Renderable.Enabled", + "type": "setPropertyValueSingle", + "value": "false" + }, + { + "name": "Scene.BepiColomboMPO_MertisTisSpace.Renderable.Enabled", + "type": "setPropertyValueSingle", + "value": "false" + }, + { + "name": "Scene.BepiColomboMPO_Phebus100.Renderable.Enabled", + "type": "setPropertyValueSingle", + "value": "false" + }, + { + "name": "Scene.BepiColomboMPO_Phebus75.Renderable.Enabled", + "type": "setPropertyValueSingle", + "value": "false" + }, + { + "name": "Scene.BepiColomboMPO_PhebusSlit100.Renderable.Enabled", + "type": "setPropertyValueSingle", + "value": "false" + }, + { + "name": "Scene.BepiColomboMPO_PhebusSlit75.Renderable.Enabled", + "type": "setPropertyValueSingle", + "value": "false" + }, + { + "name": "Scene.BepiColomboMPO_SerenaElena.Renderable.Enabled", + "type": "setPropertyValueSingle", + "value": "false" + }, + { + "name": "Scene.BepiColomboMPO_SIMBIOSYS_HRIC_F550.Renderable.Enabled", + "type": "setPropertyValueSingle", + "value": "false" + }, + { + "name": "Scene.BepiColomboMPO_SIMBIOSYS_HRIC_F750.Renderable.Enabled", + "type": "setPropertyValueSingle", + "value": "false" + }, + { + "name": "Scene.BepiColomboMPO_SIMBIOSYS_HRIC_F880.Renderable.Enabled", + "type": "setPropertyValueSingle", + "value": "false" + }, + { + "name": "Scene.BepiColomboMPO_SIMBIOSYS_HRIC_FPA.Renderable.Enabled", + "type": "setPropertyValueSingle", + "value": "false" + }, + { + "name": "Scene.BepiColomboMPO_SIMBIOSYS_HRIC_FPAN.Renderable.Enabled", + "type": "setPropertyValueSingle", + "value": "false" + }, + { + "name": "Scene.BepiColomboMPO_SIMBIOSYS_STC_H.Renderable.Enabled", + "type": "setPropertyValueSingle", + "value": "false" + }, + { + "name": "Scene.BepiColomboMPO_SIMBIOSYS_STC_H_F420.Renderable.Enabled", + "type": "setPropertyValueSingle", + "value": "false" + }, + { + "name": "Scene.BepiColomboMPO_SIMBIOSYS_STC_H_F750.Renderable.Enabled", + "type": "setPropertyValueSingle", + "value": "false" + }, + { + "name": "Scene.BepiColomboMPO_SIMBIOSYS_STC_H_P700.Renderable.Enabled", + "type": "setPropertyValueSingle", + "value": "false" + }, + { + "name": "Scene.BepiColomboMPO_SIMBIOSYS_STC_L.Renderable.Enabled", + "type": "setPropertyValueSingle", + "value": "false" + }, + { + "name": "Scene.BepiColomboMPO_SIMBIOSYS_STC_L_F550.Renderable.Enabled", + "type": "setPropertyValueSingle", + "value": "false" + }, + { + "name": "Scene.BepiColomboMPO_SIMBIOSYS_STC_L_F920.Renderable.Enabled", + "type": "setPropertyValueSingle", + "value": "false" + }, + { + "name": "Scene.BepiColomboMPO_SIMBIOSYS_STC_L_P700.Renderable.Enabled", + "type": "setPropertyValueSingle", + "value": "false" + }, + { + "name": "Scene.BepiColomboMPO_SIMBIOSYS_VIHI.Renderable.Enabled", + "type": "setPropertyValueSingle", + "value": "false" + }, + { + "name": "Scene.BepiColomboMPO_MIXS-C.Renderable.Enabled", + "type": "setPropertyValueSingle", + "value": "false" + }, + { + "name": "Scene.BepiColomboMPO_MIXS-T.Renderable.Enabled", + "type": "setPropertyValueSingle", + "value": "false" + } + ], + "time": { + "is_paused": false, + "type": "relative", + "value": "-1d" + }, + "version": { + "major": 1, + "minor": 3 + } +}