diff --git a/.clang-format b/.clang-format deleted file mode 100644 index 8065e04d7c..0000000000 --- a/.clang-format +++ /dev/null @@ -1,47 +0,0 @@ ---- -Language: Cpp -AccessModifierOffset: -4 -AlignEscapedNewlinesLeft: false -AlignTrailingComments: true -AllowAllParametersOfDeclarationOnNextLine: true -AllowShortFunctionsOnASingleLine: false -AllowShortIfStatementsOnASingleLine: false -AllowShortLoopsOnASingleLine: false -AlwaysBreakBeforeMultilineStrings: true -AlwaysBreakTemplateDeclarations: true -BinPackParameters: true -BreakBeforeBinaryOperators: true -BreakBeforeBraces: Stroustrup -BreakBeforeTernaryOperators: true -BreakConstructorInitializersBeforeComma: true -ColumnLimit: 90 -ConstructorInitializerAllOnOneLineOrOnePerLine: false -ConstructorInitializerIndentWidth: 4 -ContinuationIndentWidth: 6 -Cpp11BracedListStyle: true -DerivePointerBinding: false -IndentCaseLabels: true -#Check next -IndentFunctionDeclarationAfterType: true -IndentWidth: 4 -KeepEmptyLinesAtTheStartOfBlocks : false -MaxEmptyLinesToKeep: 1 -NamespaceIndentation: None -PenaltyBreakBeforeFirstCallParameter: 19 -PenaltyBreakComment: 300 -PenaltyBreakString: 1000 -PenaltyBreakFirstLessLess: 120 -PenaltyExcessCharacter: 1000000 -PenaltyReturnTypeOnItsOwnLine: 60 -PointerBindsToType: true -#Check next -SpaceBeforeAssignmentOperators: true -SpaceBeforeParens: ControlStatements -SpaceInEmptyParentheses: false -SpacesBeforeTrailingComments: 2 -SpacesInAngles: false -SpacesInCStyleCastParentheses: false -SpacesInParentheses: false -Standard: Cpp11 -UseTab: Never -... diff --git a/CMakeLists.txt b/CMakeLists.txt index d83fc0f5c2..c4c496ed59 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -28,9 +28,9 @@ project(OpenSpace) message(STATUS "Generating OpenSpace project") set(OPENSPACE_VERSION_MAJOR 0) -set(OPENSPACE_VERSION_MINOR 11) -set(OPENSPACE_VERSION_PATCH 1) -set(OPENSPACE_VERSION_STRING "Beta-1") +set(OPENSPACE_VERSION_MINOR 12) +set(OPENSPACE_VERSION_PATCH 0) +set(OPENSPACE_VERSION_STRING "Beta-2") set(OPENSPACE_BASE_DIR "${PROJECT_SOURCE_DIR}") set(OPENSPACE_APPS_DIR "${OPENSPACE_BASE_DIR}/apps") @@ -271,6 +271,12 @@ handle_applications() ########################################################################################## # Misc settings # ########################################################################################## +option(OPENSPACE_WITH_ABUFFER_RENDERER "Compile ABuffer Renderer" OFF) +if (OPENSPACE_WITH_ABUFFER_RENDERER) + target_compile_definitions(libOpenSpace PUBLIC "OPENSPACE_WITH_ABUFFER_RENDERER") +endif () + + # Just in case, create the bin directory add_custom_command( TARGET libOpenSpace diff --git a/apps/OpenSpace/main.cpp b/apps/OpenSpace/main.cpp index fc05459112..e28195223a 100644 --- a/apps/OpenSpace/main.cpp +++ b/apps/OpenSpace/main.cpp @@ -25,8 +25,10 @@ #include #include #include +#include #include + #include #include #include diff --git a/apps/Sync/main.cpp b/apps/Sync/main.cpp index 202b717c67..f9d69dbd4c 100644 --- a/apps/Sync/main.cpp +++ b/apps/Sync/main.cpp @@ -28,8 +28,10 @@ #include #include #include +#include #include +#include #include #include #include @@ -53,8 +55,7 @@ int main(int argc, char** argv) { "Sync", fmt::format( "Synchronizing scene {} out of {}: {}", - i + 1, tasks.size(), - task.description() + i + 1, tasks.size(), task.description() ) ); ProgressBar progressBar(100); diff --git a/data/assets/dawn.scene b/data/assets/dawn.scene index ffd93aa271..8b373157a5 100644 --- a/data/assets/dawn.scene +++ b/data/assets/dawn.scene @@ -4,7 +4,7 @@ local sceneHelper = asset.require('util/scene_helper') -- Specifying which other assets should be loaded in this scene asset.require('spice/base') assetHelper.requestAll(asset, 'scene/solarsystem/sun') -assetHelper.requestAll(asset, 'scene/solarsystem/planets') +asset.request('scene/solarsystem/planets') asset.request('scene/digitaluniverse/stars') asset.request('scene/digitaluniverse/milkyway') asset.require('scene/solarsystem/missions/dawn/ceres') diff --git a/data/assets/default.scene b/data/assets/default.scene index d5b4467a9c..4ca508dae8 100644 --- a/data/assets/default.scene +++ b/data/assets/default.scene @@ -8,6 +8,7 @@ assetHelper.requestAll(asset, 'scene/solarsystem/sun') asset.require('scene/solarsystem/planets') asset.require('scene/solarsystem/planets/mars/moons/phobos') asset.require('scene/solarsystem/planets/mars/moons/deimos') +asset.require('scene/solarsystem/dwarf_planets/pluto/system') assetHelper.requestAll(asset, 'scene/digitaluniverse') -- Load default key bindings applicable to most scenes asset.require('util/default_keybindings') @@ -58,7 +59,10 @@ local Keybindings = { local earthAsset = asset.require('scene/solarsystem/planets/earth/earth') asset.onInitialize(function () - openspace.time.setTime(openspace.time.currentWallTime()) + local now = openspace.time.currentWallTime() + -- Jump back one day to show a complete planet + openspace.time.setTime(openspace.time.advancedTime(now, "-1d")) + sceneHelper.bindKeys(Keybindings) openspace.setDefaultGuiSorting() diff --git a/data/assets/examples/dashboarditems.asset b/data/assets/examples/dashboarditems.asset new file mode 100644 index 0000000000..3d3f04d29e --- /dev/null +++ b/data/assets/examples/dashboarditems.asset @@ -0,0 +1,50 @@ +local assetHelper = asset.require('util/asset_helper') + +assetHelper.registerDashboardItems(asset, { + { + Type = "DashboardItemAngle", + Identifier = "Angle", + GuiName = "Angle", + ReferenceType = "Node", + ReferenceNodeName = "Earth", + DestinationType = "Node", + DestinationNodeName = "Moon" + }, + { + Type = "DashboardItemDate", + Identifier = "Date", + GuiName = "Date" + }, + { + Type = "DashboardItemSimulationIncrement", + Identifier = "SimulationIncrement", + GuiName = "Simulation Increment" + }, + { + Type = "DashboardItemDistance", + Identifier = "Distance", + GuiName = "Distance" + }, + { + Type = "DashboardItemFramerate", + Identifier = "Framerate", + GuiName = "Framerate" + }, + { + Type = "DashboardItemParallelConnection", + Identifier = "ParallelConnection", + GuiName = "Parallel Connection" + }, + { + Type = "DashboardItemMission", + Identifier = "Mission", + GuiName = "Mission" + }, + { + Type = "DashboardItemPropertyValue", + Identifier = "asd", + GuiName = "adasd", + URI = "Scene.Earth.RenderableGlobe.Enabled", + DisplayString = "Earth is enabled: {}" + } +}) diff --git a/data/assets/examples/slidedeck.asset b/data/assets/examples/slidedeck.asset new file mode 100644 index 0000000000..66e1846fa8 --- /dev/null +++ b/data/assets/examples/slidedeck.asset @@ -0,0 +1,35 @@ +local helper = asset.require('util/slidedeck_helper') +local deck = nil + +asset.onInitialize(function () + deck = helper.createDeck("example", { + FlatScreen = false, + SphericalPosition = {0.0, 3.1415 / 2}, + Scale = 0.7 + }) + + helper.addSlide(deck, "${DATA}/test2.jpg") + helper.addSlide(deck, "${DATA}/test3.jpg") + + local interpolationDuration = 0 + + function nextSlide() + helper.goToNextSlide(deck, interpolationDuration) + end + + function previousSlide() + helper.goToPreviousSlide(deck, interpolationDuration) + end + + helper.setCurrentSlide(deck, 1) + openspace.bindKey("RIGHT", "nextSlide()") + openspace.bindKey("LEFT", "previousSlide()") + +end) + + +asset.onDeinitialize(function() + openspace.clearKey("RIGHT") + openspace.clearKey("LEFT") + helper.removeDeck(deck) +end) diff --git a/data/assets/examples/volume/generated/.gitignore b/data/assets/examples/volume/generated/.gitignore new file mode 100644 index 0000000000..5eabe86a70 --- /dev/null +++ b/data/assets/examples/volume/generated/.gitignore @@ -0,0 +1,3 @@ +cartesian/ +cartesiansequence/ +spherical/ \ No newline at end of file diff --git a/data/assets/examples/volume/generated/cartesian.asset b/data/assets/examples/volume/generated/cartesian.asset new file mode 100644 index 0000000000..6561a2a76a --- /dev/null +++ b/data/assets/examples/volume/generated/cartesian.asset @@ -0,0 +1,38 @@ +-- This asset requires OpenSpace to be built with the OPENSPACE_MODULE_VOLUME enabled + +-- Before using this example, +-- the volume data itself needs to be generated, +-- using the task 'data/tasks/volume/generate_cartesian.task' + +local assetHelper = asset.require('util/asset_helper') +local transforms = asset.require("scene/solarsystem/sun/transforms") + +local sunRadius = 695508000 + +local volume = { + Identifier = "GeneratedVolume", + Parent = transforms.SolarSystemBarycenter.Identifier, + Renderable = { + Type = "RenderableTimeVaryingVolume", + SourceDirectory = asset.localResource("cartesian"), + TransferFunction = asset.localResource("../transferfunction.txt"), + StepSize = 0.01, + MinValue = 0, + MaxValue = 1, + GridType = "Cartesian", + SecondsBefore = 50*365*24*60*60, -- 50 years before + SecondsAfter = 50*365*24*60*60 -- 50 years after + }, + GUI = { + Path = "/Examples" + }, + Transform = { + Scale = { + Type = "StaticScale", + Scale = 1000 * sunRadius + } + } +} + +local objects = { volume } +assetHelper.registerSceneGraphNodes(asset, objects) \ No newline at end of file diff --git a/data/assets/examples/volume/generated/cartesiansequence.asset b/data/assets/examples/volume/generated/cartesiansequence.asset new file mode 100644 index 0000000000..4ec617eb64 --- /dev/null +++ b/data/assets/examples/volume/generated/cartesiansequence.asset @@ -0,0 +1,38 @@ +-- This asset requires OpenSpace to be built with the OPENSPACE_MODULE_VOLUME enabled + +-- Before using this example, +-- the volume data itself needs to be generated, +-- using the task 'data/tasks/volume/generate_cartesian_sequence.task' + +local assetHelper = asset.require('util/asset_helper') +local transforms = asset.require("scene/solarsystem/sun/transforms") + +local sunRadius = 695508000 + +local volume = { + Identifier = "GeneratedVolume", + Parent = transforms.SolarSystemBarycenter.Identifier, + Renderable = { + Type = "RenderableTimeVaryingVolume", + SourceDirectory = asset.localResource("cartesiansequence"), + TransferFunction = asset.localResource("../transferfunction.txt"), + StepSize = 0.01, + MinValue = 0, + MaxValue = 1, + GridType = "Cartesian", + SecondsBefore = 50*365*24*60*60, -- 50 years before + SecondsAfter = 50*365*24*60*60 -- 50 years after + }, + GUI = { + Path = "/Examples" + }, + Transform = { + Scale = { + Type = "StaticScale", + Scale = 1000 * sunRadius + } + } +} + +local objects = { volume } +assetHelper.registerSceneGraphNodes(asset, objects) \ No newline at end of file diff --git a/data/assets/examples/volume/generated/spherical.asset b/data/assets/examples/volume/generated/spherical.asset new file mode 100644 index 0000000000..20c7564393 --- /dev/null +++ b/data/assets/examples/volume/generated/spherical.asset @@ -0,0 +1,38 @@ +-- This asset requires OpenSpace to be built with the OPENSPACE_MODULE_VOLUME enabled + +-- Before using this example, +-- the volume data itself needs to be generated, +-- using the task 'data/tasks/volume/generate_spherical.task' + +local assetHelper = asset.require('util/asset_helper') +local transforms = asset.require("scene/solarsystem/sun/transforms") + +local astronomicalUnit = 149597870700 + +local volume = { + Identifier = "GeneratedVolume", + Parent = transforms.SolarSystemBarycenter.Identifier, + Renderable = { + Type = "RenderableTimeVaryingVolume", + SourceDirectory = asset.localResource("spherical"), + TransferFunction = asset.localResource("../transferfunction.txt"), + StepSize = 0.01, + MinValue = 0, + MaxValue = 1, + GridType = "Spherical", + SecondsBefore = 50*365*24*60*60, -- 50 years before + SecondsAfter = 50*365*24*60*60 -- 50 years after + }, + GUI = { + Path = "/Examples" + }, + Transform = { + Scale = { + Type = "StaticScale", + Scale = astronomicalUnit + } + } +} + +local objects = { volume } +assetHelper.registerSceneGraphNodes(asset, objects) \ No newline at end of file diff --git a/data/assets/examples/toyvolume.asset b/data/assets/examples/volume/toyvolume.asset similarity index 100% rename from data/assets/examples/toyvolume.asset rename to data/assets/examples/volume/toyvolume.asset diff --git a/data/assets/examples/volume/transferfunction.txt b/data/assets/examples/volume/transferfunction.txt new file mode 100644 index 0000000000..a93353df7a --- /dev/null +++ b/data/assets/examples/volume/transferfunction.txt @@ -0,0 +1,5 @@ +width 1024 +lower 0.0 +upper 1.0 +mappingkey 0.0 250 250 250 0 +mappingkey 1.0 200 200 200 255 \ No newline at end of file diff --git a/data/assets/juno.scene b/data/assets/juno.scene index c73a8fd830..dfcf4081da 100644 --- a/data/assets/juno.scene +++ b/data/assets/juno.scene @@ -4,7 +4,7 @@ local sceneHelper = asset.require('util/scene_helper') -- Specifying which other assets should be loaded in this scene asset.require('spice/base') assetHelper.requestAll(asset, 'scene/solarsystem/sun') -assetHelper.requestAll(asset, 'scene/solarsystem/planets') +asset.request('scene/solarsystem/planets') asset.request('scene/digitaluniverse/stars') asset.request('scene/digitaluniverse/milkyway') assetHelper.requireAll(asset, 'scene/solarsystem/missions/juno') diff --git a/data/assets/messenger.scene b/data/assets/messenger.scene new file mode 100644 index 0000000000..0c4ff9b3df --- /dev/null +++ b/data/assets/messenger.scene @@ -0,0 +1,77 @@ +--messenger.scene + +local assetHelper = asset.require('util/asset_helper') +local sceneHelper = asset.require('util/scene_helper') +local propertyHelper = asset.require('util/property_helper') + +asset.require('spice/base') +assetHelper.requestAll(asset, 'scene/solarsystem/sun') +asset.require('scene/solarsystem/planets') +asset.request('scene/digitaluniverse/stars') +asset.request('scene/digitaluniverse/milkyway') + +asset.require('util/default_keybindings') +asset.require('util/default_dashboard') + +local MessengerAsset = asset.require('scene/solarsystem/missions/messenger/messengerSC') + +if not openspace.modules.isLoaded("Volume") then + openspace.printError("Volume module is not loaded, skipping asset: mercurymagnetosphere") +else + asset.require('scene/solarsystem/missions/messenger/mercurymagnetosphere') +end + +asset.request('customization/globebrowsing') + +assetHelper.registerDashboardItems(asset, { + { + Type = "DashboardItemDistance", + Identifier = "MessengerDistance", + GuiName = "Messenger - Mercury Distance", + SourceType = "Node", + SourceNodeName = "Messenger", + DestinationType = "Node", + DestinationNodeName = "Mercury" + } +}) + + +asset.onInitialize(function () + + openspace.time.setTime("2011 MAY 13 00:05:18") + + openspace.setDefaultGuiSorting() + + sceneHelper.setDeltaTimeKeys({ + 1, 5, 10, 20, 40, 90, 360, 720, 2880, 14400, + 28800, 57600, 115200, 230400, 460800, 921600, 1843200, 3686400, 7372800, 14745600 + }) + + openspace.markInterestingNodes({ + "Mercury", "Messenger", "Earth", "Sun" + }) + + openspace.addVirtualProperty( + "BoolProperty", + "Show Trails", + "Scene.*Trail.renderable.Enabled", + "Disable or enable all trails of the scene at the same time", + true, + nil, + nil + ) + + + openspace.navigation.setCameraState({ + Focus = "Mercury", + Position = { 526781518487.171326, 257168309890.072144, -1381125204152.817383 }, + Rotation = {0.180662, 0.021334, 0.979084, 0.091111}, + }) +end) + +asset.onDeinitialize(function () + openspace.removeInterestingNodes({ + "Mercury", "Messenger", "Earth", "Sun" + }) +end) + diff --git a/data/assets/scene/digitaluniverse/6dF.asset b/data/assets/scene/digitaluniverse/6dF.asset index f5a80d2e3e..20d0ead030 100644 --- a/data/assets/scene/digitaluniverse/6dF.asset +++ b/data/assets/scene/digitaluniverse/6dF.asset @@ -28,7 +28,8 @@ local object = { ColorMap = speck .. "/lss.cmap", ColorOption = { "redshift", "prox5Mpc" }, ColorRange = { { 0.0, 0.075 }, { 1.0, 50.0 } }, - Unit = "Mpc" + Unit = "Mpc", + ScaleFactor = 508.0 }, GUI = { Name = "6dF Galaxies", diff --git a/data/assets/scene/digitaluniverse/constellations.asset b/data/assets/scene/digitaluniverse/constellations.asset index 0b18a7e549..18f1911df8 100644 --- a/data/assets/scene/digitaluniverse/constellations.asset +++ b/data/assets/scene/digitaluniverse/constellations.asset @@ -43,8 +43,8 @@ local constellations = { File = speck .. "/constellations.speck", LabelFile = speck .. "/constellations.label", TextColor = { 0.8, 0.8, 0.8, 1.0 }, - TextMinSize = 10.0, - TextMaxSize = 30.0, + TextSize = 14.5, + TextMaxSize = 170.0, TextMinSize = 8.0, MeshColor = { { 0.6, 0.4, 0.4 }, { 0.8, 0.0, 0.0 }, { 0.0, 0.3, 0.8 } }, Unit = "pc" diff --git a/data/assets/scene/digitaluniverse/dwarfs.asset b/data/assets/scene/digitaluniverse/dwarfs.asset index 8bec8ceaf7..a2817d4dc2 100644 --- a/data/assets/scene/digitaluniverse/dwarfs.asset +++ b/data/assets/scene/digitaluniverse/dwarfs.asset @@ -21,7 +21,7 @@ local object = { Renderable = { Type = "RenderableBillboardsCloud", Enabled = false, - Color = { 0.5, 1.0, 0.2 }, + Color = { 0.4, 0.0, 0.1 }, Transparency = 0.999, File = speck .. "/dwarfs.speck", Texture = textures .. "/point3.png", diff --git a/data/assets/scene/digitaluniverse/globularclusters.asset b/data/assets/scene/digitaluniverse/globularclusters.asset index 95e0505682..70ad83f995 100644 --- a/data/assets/scene/digitaluniverse/globularclusters.asset +++ b/data/assets/scene/digitaluniverse/globularclusters.asset @@ -31,6 +31,7 @@ local object = { ScaleFactor = 440.0, TextSize = 17.5, TextMinSize = 10.0, + TextMaxSize = 30.0, Unit = "pc" }, GUI = { diff --git a/data/assets/scene/digitaluniverse/h2regions.asset b/data/assets/scene/digitaluniverse/h2regions.asset index 61f756ef37..27772f3728 100644 --- a/data/assets/scene/digitaluniverse/h2regions.asset +++ b/data/assets/scene/digitaluniverse/h2regions.asset @@ -30,7 +30,8 @@ local object = { TextColor = { 0.5, 0.5, 0.5, 1.0 }, ScaleFactor = 420, TextSize = 17.25, - TextMinSize = 2.0, + TextMinSize = 10.0, + TextMinSize = 30.0, Unit = "pc" }, GUI = { diff --git a/data/assets/scene/digitaluniverse/localdwarfs.asset b/data/assets/scene/digitaluniverse/localdwarfs.asset index ba1354bb43..b31b13d09e 100644 --- a/data/assets/scene/digitaluniverse/localdwarfs.asset +++ b/data/assets/scene/digitaluniverse/localdwarfs.asset @@ -29,7 +29,7 @@ local object = { LabelFile = speck .. "/localdwarfs.label", TextColor = { 0.3, 0.3, 1.0, 1.0 }, ScaleFactor = 478, - TextSize = 19.2, + TextSize = 18.3, TextMinSize = 7.3, Unit = "Mpc" }, diff --git a/data/assets/scene/digitaluniverse/obassociations.asset b/data/assets/scene/digitaluniverse/obassociations.asset index 4de911b1d5..44fda4b670 100644 --- a/data/assets/scene/digitaluniverse/obassociations.asset +++ b/data/assets/scene/digitaluniverse/obassociations.asset @@ -31,6 +31,7 @@ local object = { ScaleFactor = 428.0, TextSize = 17.0, TextMinSize = 5.76, + TextMaxSize = 30.0, Unit = "pc" }, GUI = { diff --git a/data/assets/scene/digitaluniverse/openclusters.asset b/data/assets/scene/digitaluniverse/openclusters.asset index 8bd27ec145..2fde394eda 100644 --- a/data/assets/scene/digitaluniverse/openclusters.asset +++ b/data/assets/scene/digitaluniverse/openclusters.asset @@ -31,6 +31,7 @@ local object = { ScaleFactor = 418.33, TextSize = 16.68, TextMinSize = 4.5, + TextMaxSize = 30.0, Unit = "pc" }, GUI = { diff --git a/data/assets/scene/digitaluniverse/planetarynebulae.asset b/data/assets/scene/digitaluniverse/planetarynebulae.asset index f4f55b1b9c..ccd45f3ce3 100644 --- a/data/assets/scene/digitaluniverse/planetarynebulae.asset +++ b/data/assets/scene/digitaluniverse/planetarynebulae.asset @@ -31,6 +31,7 @@ local object = { ScaleFactor = 418.33, TextSize = 16.68, TextMinSize = 4.5, + TextMaxSize = 30.0, Unit = "pc" }, GUI = { diff --git a/data/assets/scene/digitaluniverse/pulsars.asset b/data/assets/scene/digitaluniverse/pulsars.asset index 0eb50d72d0..401dca9381 100644 --- a/data/assets/scene/digitaluniverse/pulsars.asset +++ b/data/assets/scene/digitaluniverse/pulsars.asset @@ -30,7 +30,8 @@ local object = { TextColor = { 0.7, 0.0, 0.0, 1.0 }, ScaleFactor = 418.33, TextSize = 16.68, - TextMinSize = 4.5, + TextMinSize = 7.5, + TextMaxSize = 30.0, Unit = "pc" }, GUI = { diff --git a/data/assets/scene/digitaluniverse/supernovaremnants.asset b/data/assets/scene/digitaluniverse/supernovaremnants.asset index 783a7a48ea..31cbe5d1c5 100644 --- a/data/assets/scene/digitaluniverse/supernovaremnants.asset +++ b/data/assets/scene/digitaluniverse/supernovaremnants.asset @@ -31,6 +31,7 @@ local object = { ScaleFactor = 440.08, TextSize = 17.5, TextMinSize = 8.0, + TextMaxSize = 30.0, CorrectionSizeEndDistance = 17.5, CorrectionSizeFactor = 13.96, Unit = "pc" diff --git a/data/assets/scene/digitaluniverse/tully.asset b/data/assets/scene/digitaluniverse/tully.asset index e3f5213edb..5c3ee2ca20 100644 --- a/data/assets/scene/digitaluniverse/tully.asset +++ b/data/assets/scene/digitaluniverse/tully.asset @@ -6,7 +6,7 @@ local textures = asset.syncedResource({ Name = "Tully Textures", Type = "HttpSynchronization", Identifier = "digitaluniverse_tully_textures", - Version = 1 + Version = 2 }) local speck = asset.syncedResource({ diff --git a/data/assets/scene/digitaluniverse/voids.asset b/data/assets/scene/digitaluniverse/voids.asset index 605e2c8a97..c6684a28c8 100644 --- a/data/assets/scene/digitaluniverse/voids.asset +++ b/data/assets/scene/digitaluniverse/voids.asset @@ -14,11 +14,12 @@ local object = { Renderable = { Type = "RenderableBillboardsCloud", Enabled = false, + DrawLabels = true, Color = { 1.0, 1.0, 1.0 }, Transparency = 0.65, LabelFile = speck .. "/voids.label", TextColor = { 0.0, 0.4, 0.7, 1.0 }, - TextSize = 21.9, + TextSize = 20.9, TextMinSize = 8.0, Unit = "Mpc" }, diff --git a/data/assets/scene/solarsystem/dwarf_planets/pluto/charon.asset b/data/assets/scene/solarsystem/dwarf_planets/pluto/charon.asset new file mode 100644 index 0000000000..7a7ffd934a --- /dev/null +++ b/data/assets/scene/solarsystem/dwarf_planets/pluto/charon.asset @@ -0,0 +1,51 @@ +local assetHelper = asset.require('util/asset_helper') +local transforms = asset.require('./transforms') +asset.require("spice/base") +asset.request('./trail') + + + +local Charon = { + Identifier = "Charon", + Parent = transforms.PlutoBarycenter.Identifier, + Transform = { + Translation = { + Type = "SpiceTranslation", + Target = "CHARON", + Observer = "PLUTO BARYCENTER", + Kernels = NewHorizonsKernels + }, + Rotation = { + Type = "SpiceRotation", + SourceFrame = "IAU_CHARON", + DestinationFrame = "GALACTIC" + }, + Scale = { + Type = "StaticScale", + Scale = 1.0 + } + }, + Renderable = { + Type = "RenderableGlobe", + Radii = { 6.035E5, 6.035E5, 6.035E5 }, + SegmentsPerPatch = 64, + Layers = { + ColorLayers = { + { + Identifier = "Greyscale_USGS", + Name = "Black & White [USGS]", + FilePath = "WMS:https://planetarymaps.usgs.gov/cgi-bin/mapserv?map=/maps/pluto/charon_simp_cyl.map&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&LAYERS=NEWHORIZONS_CHARON_MOSAIC&SRS=EPSG:4326&BBOX=-180,-90.0003,359.972,90", + Enabled = true + } + } + } + }, + Tag = { "planet_solarSystem", "planet_terrestrial" }, + GUI = { + Path = "/Solar System/Dwarf Planets/Pluto" + } +} + + + +assetHelper.registerSceneGraphNodesAndExport(asset, { Charon }) diff --git a/data/assets/scene/solarsystem/dwarf_planets/pluto/charon_trail.asset b/data/assets/scene/solarsystem/dwarf_planets/pluto/charon_trail.asset new file mode 100644 index 0000000000..afc1190919 --- /dev/null +++ b/data/assets/scene/solarsystem/dwarf_planets/pluto/charon_trail.asset @@ -0,0 +1,28 @@ +local assetHelper = asset.require('util/asset_helper') +local transforms = asset.require('./transforms') +asset.require("spice/base") + + +local CharonTrailBarycentric = { + Identifier = "CharonBarycentricTrail", + Parent = transforms.PlutoBarycenter.Identifier, + Renderable = { + Type = "RenderableTrailOrbit", + Translation = { + Type = "SpiceTranslation", + Target = "CHARON", + Observer = "PLUTO BARYCENTER" + }, + Color = { 0.00, 0.62, 1.00 }, + Period = 6.38723, + Resolution = 1000 + }, + GUI = { + Name = "Pluto Barycenteric Trail", + Path = "/Solar System/Dwarf Planets/Pluto" + } +} + + + +assetHelper.registerSceneGraphNodesAndExport(asset, { CharonTrailBarycentric }) diff --git a/data/assets/scene/solarsystem/dwarf_planets/pluto/hydra.asset b/data/assets/scene/solarsystem/dwarf_planets/pluto/hydra.asset new file mode 100644 index 0000000000..46887461ee --- /dev/null +++ b/data/assets/scene/solarsystem/dwarf_planets/pluto/hydra.asset @@ -0,0 +1,51 @@ +local assetHelper = asset.require('util/asset_helper') +local transforms = asset.require('./transforms') +local kernels = asset.require('./kernels').PlutoKernels + + + +local Hydra = { + Identifier = "Hydra", + Parent = transforms.PlutoBarycenter.Identifier, + Transform = { + Translation = { + Type = "SpiceTranslation", + Target = "HYDRA", + Observer = "PLUTO BARYCENTER", + Kernels = kernels + } + }, + Renderable = { + Type = "RenderableGlobe", + Radii = { 0.53E5, 0.53E5, 0.53E5 }, + SegmentsPerPatch = 64, + Layers = {} + }, + GUI = { + Path = "/Solar System/Dwarf Planets/Pluto" + } +} + +local HydraTrail = { + Identifier = "HydraTrail", + Parent = transforms.PlutoBarycenter.Identifier, + Renderable = { + Type = "RenderableTrailOrbit", + Translation = { + Type = "SpiceTranslation", + Target = "HYDRA", + Observer = "PLUTO BARYCENTER", + }, + Color = { 0.00, 0.62, 1.00 }, + Period = 38.20177, + Resolution = 1000 + }, + GUI = { + Name = "Hydra Trail", + Path = "/Solar System/Dwarf Planets/Pluto" + } +} + + + +assetHelper.registerSceneGraphNodesAndExport(asset, { Hydra, HydraTrail }) diff --git a/data/assets/scene/solarsystem/dwarf_planets/pluto/kerberos.asset b/data/assets/scene/solarsystem/dwarf_planets/pluto/kerberos.asset new file mode 100644 index 0000000000..a6f3643356 --- /dev/null +++ b/data/assets/scene/solarsystem/dwarf_planets/pluto/kerberos.asset @@ -0,0 +1,51 @@ +local assetHelper = asset.require('util/asset_helper') +local transforms = asset.require('./transforms') +local kernels = asset.require('./kernels').PlutoKernels + + + +local Kerberos = { + Identifier = "Kerberos", + Parent = transforms.PlutoBarycenter.Identifier, + Transform = { + Translation = { + Type = "SpiceTranslation", + Target = "KERBEROS", + Observer = "PLUTO BARYCENTER", + Kernels = PlutoKernels + } + }, + Renderable = { + Type = "RenderableGlobe", + Radii = { 0.1E5, 0.1E5, 0.1E5 }, + SegmentsPerPatch = 64, + Layers = {} + }, + GUI = { + Path = "/Solar System/Dwarf Planets/Pluto" + } +} + +local KerberosTrail = { + Identifier = "KerberosTrail", + Parent = transforms.PlutoBarycenter.Identifier, + Renderable = { + Type = "RenderableTrailOrbit", + Translation = { + Type = "SpiceTranslation", + Target = "KERBEROS", + Observer = "PLUTO BARYCENTER", + }, + Color = { 0.00, 0.62, 1.00 }, + Period = 32.16756, + Resolution = 1000 + }, + GUI = { + Name = "Hydra Trail", + Path = "/Solar System/Dwarf Planets/Pluto" + } +} + + + +assetHelper.registerSceneGraphNodesAndExport(asset, { Kerberos, KerberosTrail }) diff --git a/data/assets/scene/solarsystem/dwarf_planets/pluto/kernels.asset b/data/assets/scene/solarsystem/dwarf_planets/pluto/kernels.asset new file mode 100644 index 0000000000..ed16895beb --- /dev/null +++ b/data/assets/scene/solarsystem/dwarf_planets/pluto/kernels.asset @@ -0,0 +1,13 @@ +local Kernels = asset.syncedResource({ + Name = "Pluto Kernels", + Type = "HttpSynchronization", + Identifier = "pluto_kernels", + Version = 1 +}) + +local PlutoKernels = { + Kernels .. "/NavPE_de433_od122.bsp", + Kernels .. "/NavSE_plu047_od122.bsp" +} + +asset.export("PlutoKernels", PlutoKernels) diff --git a/data/assets/scene/solarsystem/dwarf_planets/pluto/nix.asset b/data/assets/scene/solarsystem/dwarf_planets/pluto/nix.asset new file mode 100644 index 0000000000..3ab7b01f12 --- /dev/null +++ b/data/assets/scene/solarsystem/dwarf_planets/pluto/nix.asset @@ -0,0 +1,51 @@ +local assetHelper = asset.require('util/asset_helper') +local transforms = asset.require('./transforms') +local kernels = asset.require('./kernels').PlutoKernels + + + +local Nix = { + Identifier = "Nix", + Parent = transforms.PlutoBarycenter.Identifier, + Transform = { + Translation = { + Type = "SpiceTranslation", + Target = "NIX", + Observer = "PLUTO BARYCENTER", + Kernels = PlutoKernels + } + }, + Renderable = { + Type = "RenderableGlobe", + Radii = { 0.45E5, 0.45E5, 0.45E5 }, + SegmentsPerPatch = 64, + Layers = {} + }, + GUI = { + Path = "/Solar System/Dwarf Planets/Pluto" + } +} + +local NixTrail = { + Identifier = "NixTrail", + Parent = transforms.PlutoBarycenter.Identifier, + Renderable = { + Type = "RenderableTrailOrbit", + Translation = { + Type = "SpiceTranslation", + Target = "NIX", + Observer = "PLUTO BARYCENTER", + }, + Color = { 0.00, 0.62, 1.00 }, + Period = 24.85463, + Resolution = 1000 + }, + GUI = { + Name = "Hydra Trail", + Path = "/Solar System/Dwarf Planets/Pluto" + } +} + + + +assetHelper.registerSceneGraphNodesAndExport(asset, { Nix, NixTrail }) diff --git a/data/assets/scene/solarsystem/dwarf_planets/pluto/pluto.asset b/data/assets/scene/solarsystem/dwarf_planets/pluto/pluto.asset new file mode 100644 index 0000000000..d49fbae85b --- /dev/null +++ b/data/assets/scene/solarsystem/dwarf_planets/pluto/pluto.asset @@ -0,0 +1,51 @@ +local assetHelper = asset.require('util/asset_helper') +local transforms = asset.require('./transforms') +asset.require("spice/base") +asset.request('./trail') + + + +local Pluto = { + Identifier = "Pluto", + Parent = transforms.PlutoBarycenter.Identifier, + Transform = { + Translation = { + Type = "SpiceTranslation", + Target = "PLUTO", + Observer = "PLUTO BARYCENTER", + Kernels = NewHorizonsKernels + }, + Rotation = { + Type = "SpiceRotation", + SourceFrame = "IAU_PLUTO", + DestinationFrame = "GALACTIC" + }, + Scale = { + Type = "StaticScale", + Scale = 1.0 + } + }, + Renderable = { + Type = "RenderableGlobe", + Radii = { 1.173E6, 1.173E6, 1.173E6 }, + SegmentsPerPatch = 64, + Layers = { + ColorLayers = { + { + Identifier = "Greyscale_USGS", + Name = "Black & White [USGS]", + FilePath = "WMS:https://planetarymaps.usgs.gov/cgi-bin/mapserv?map=/maps/pluto/pluto_simp_cyl.map&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&LAYERS=NEWHORIZONS_PLUTO_MOSAIC&SRS=EPSG:4326&BBOX=-180,-90,360,90", + Enabled = true + } + } + } + }, + Tag = { "planet_solarSystem", "planet_terrestrial" }, + GUI = { + Path = "/Solar System/Dwarf Planets/Pluto" + } +} + + + +assetHelper.registerSceneGraphNodesAndExport(asset, { Pluto }) diff --git a/data/assets/scene/solarsystem/dwarf_planets/pluto/pluto_trail.asset b/data/assets/scene/solarsystem/dwarf_planets/pluto/pluto_trail.asset new file mode 100644 index 0000000000..87c3736da9 --- /dev/null +++ b/data/assets/scene/solarsystem/dwarf_planets/pluto/pluto_trail.asset @@ -0,0 +1,28 @@ +local assetHelper = asset.require('util/asset_helper') +local transforms = asset.require('./transforms') +asset.require("spice/base") + + +local PlutoTrailBarycentric = { + Identifier = "PlutoBarycentricTrail", + Parent = transforms.PlutoBarycenter.Identifier, + Renderable = { + Type = "RenderableTrailOrbit", + Translation = { + Type = "SpiceTranslation", + Target = "PLUTO", + Observer = "PLUTO BARYCENTER" + }, + Color = { 0.00, 0.62, 1.00 }, + Period = 6.38723, + Resolution = 1000 + }, + GUI = { + Name = "Pluto Barycenteric Trail", + Path = "/Solar System/Dwarf Planets/Pluto" + } +} + + + +assetHelper.registerSceneGraphNodesAndExport(asset, { PlutoTrailBarycentric }) diff --git a/data/assets/scene/solarsystem/dwarf_planets/pluto/styx.asset b/data/assets/scene/solarsystem/dwarf_planets/pluto/styx.asset new file mode 100644 index 0000000000..40c5b52b2c --- /dev/null +++ b/data/assets/scene/solarsystem/dwarf_planets/pluto/styx.asset @@ -0,0 +1,51 @@ +local assetHelper = asset.require('util/asset_helper') +local transforms = asset.require('./transforms') +local kernels = asset.require('./kernels').PlutoKernels + + + +local Styx = { + Identifier = "Styx", + Parent = transforms.PlutoBarycenter.Identifier, + Transform = { + Translation = { + Type = "SpiceTranslation", + Target = "STYX", + Observer = "PLUTO BARYCENTER", + Kernels = PlutoKernels + } + }, + Renderable = { + Type = "RenderableGlobe", + Radii = { 0.45E5, 0.45E5, 0.45E5 }, + SegmentsPerPatch = 64, + Layers = {} + }, + GUI = { + Path = "/Solar System/Dwarf Planets/Pluto" + } +} + +local StyxTrail = { + Identifier = "StyxTrail", + Parent = transforms.PlutoBarycenter.Identifier, + Renderable = { + Type = "RenderableTrailOrbit", + Translation = { + Type = "SpiceTranslation", + Target = "STYX", + Observer = "PLUTO BARYCENTER", + }, + Color = { 0.00, 0.62, 1.00 }, + Period = 20.16155, + Resolution = 1000 + }, + GUI = { + Name = "Hydra Trail", + Path = "/Solar System/Dwarf Planets/Pluto" + } +} + + + +assetHelper.registerSceneGraphNodesAndExport(asset, { Styx, StyxTrail }) diff --git a/data/assets/scene/solarsystem/dwarf_planets/pluto/system.asset b/data/assets/scene/solarsystem/dwarf_planets/pluto/system.asset new file mode 100644 index 0000000000..27f589806f --- /dev/null +++ b/data/assets/scene/solarsystem/dwarf_planets/pluto/system.asset @@ -0,0 +1,10 @@ +asset.request('./trail') +asset.request('./pluto') +asset.request('./pluto_trail') +asset.request('./charon') +asset.request('./charon_trail') +asset.request('./hydra') +asset.request('./kerberos') +asset.request('./nix') +asset.request('./styx') + diff --git a/data/assets/scene/solarsystem/dwarf_planets/pluto/trail.asset b/data/assets/scene/solarsystem/dwarf_planets/pluto/trail.asset new file mode 100644 index 0000000000..ea4fda9347 --- /dev/null +++ b/data/assets/scene/solarsystem/dwarf_planets/pluto/trail.asset @@ -0,0 +1,32 @@ +local assetHelper = asset.require('util/asset_helper') +local transforms = asset.require('scene/solarsystem/sun/transforms') +asset.require("spice/base") +local kernels = asset.require('./kernels').PlutoKernels + + + +local PlutoBarycenterTrail = { + Identifier = "PlutoBarycenterTrail", + Parent = transforms.SolarSystemBarycenter.Identifier, + Renderable = { + Type = "RenderableTrailOrbit", + Translation = { + Type = "SpiceTranslation", + Target = "PLUTO BARYCENTER", + Observer = "SUN", + Kernels = kernels + }, + Color = { 0.3, 0.7, 0.3 }, + Period = 365.25, + Resolution = 1000 + }, + Tag = { "planetTrail_solarSystem", "planetTrail_dwarf" }, + GUI = { + Name = "Pluto Barycenter Trail", + Path = "/Solar System/Dwarf Planets/Pluto" + } +} + + + +assetHelper.registerSceneGraphNodesAndExport(asset, { PlutoBarycenterTrail }) diff --git a/data/assets/scene/solarsystem/dwarf_planets/pluto/transforms.asset b/data/assets/scene/solarsystem/dwarf_planets/pluto/transforms.asset new file mode 100644 index 0000000000..3c1df553ce --- /dev/null +++ b/data/assets/scene/solarsystem/dwarf_planets/pluto/transforms.asset @@ -0,0 +1,27 @@ +local assetHelper = asset.require('util/asset_helper') +local transforms = asset.require('scene/solarsystem/sun/transforms') +local kernels = asset.require('./kernels').PlutoKernels +asset.require("spice/base") + + + +local PlutoBarycenter = { + Identifier = "PlutoBarycenter", + Parent = transforms.SolarSystemBarycenter.Identifier, + Transform = { + Translation = { + Type = "SpiceTranslation", + Target = "PLUTO BARYCENTER", + Observer = "SUN", + Kernels = kernels + } + }, + GUI = { + Name = "Pluto Barycenter", + Path = "/Solar System/Dwarf Planets/Pluto" + } +} + + + +assetHelper.registerSceneGraphNodesAndExport(asset, { PlutoBarycenter }) diff --git a/data/assets/scene/solarsystem/missions/dawn/ceres.asset b/data/assets/scene/solarsystem/missions/dawn/ceres.asset index 119e42b728..0e7fd2fead 100644 --- a/data/assets/scene/solarsystem/missions/dawn/ceres.asset +++ b/data/assets/scene/solarsystem/missions/dawn/ceres.asset @@ -20,9 +20,9 @@ local Ceres = { SourceFrame = "IAU_CERES", DestinationFrame = "GALACTIC", Kernels = { - kernels .. "/pck/dawn_ceres_v01.tpc", - kernels .. "/spk/sb_ceres_140724.bsp", - kernels .. "/spk/sb_ceres_110211.bsp" + kernels .. "/dawn_ceres_v01.tpc", + kernels .. "/sb_ceres_140724.bsp", + kernels .. "/sb_ceres_110211.bsp" } }, Translation = { @@ -30,9 +30,9 @@ local Ceres = { Target = "CERES", Observer = "SSB", Kernels = { - kernels .. "/pck/dawn_ceres_v01.tpc", - kernels .. "/spk/sb_ceres_140724.bsp", - kernels .. "/spk/sb_ceres_110211.bsp" + kernels .. "/dawn_ceres_v01.tpc", + kernels .. "/sb_ceres_140724.bsp", + kernels .. "/sb_ceres_110211.bsp" } } }, diff --git a/data/assets/scene/solarsystem/missions/dawn/dawn.asset b/data/assets/scene/solarsystem/missions/dawn/dawn.asset index 1c7ab5f19e..1ac2764765 100644 --- a/data/assets/scene/solarsystem/missions/dawn/dawn.asset +++ b/data/assets/scene/solarsystem/missions/dawn/dawn.asset @@ -19,601 +19,601 @@ local models = asset.syncedResource({ }) local KernelFiles = { - kernels .. "/DawnKernels/spk/dawn_ref_070926-150201_070829.bsp", + kernels .. "/dawn_ref_070926-150201_070829.bsp", --ik - kernels .. "/DawnKernels/ik/dawn_fc_v10.ti", + kernels .. "/dawn_fc_v10.ti", -- SPK - kernels .. "/DawnKernels/spk/sb_ceres_110211.bsp", - kernels .. "/DawnKernels/spk/sb_ceres_140724.bsp", - kernels .. "/DawnKernels/spk/sb_vesta_071107.bsp", + kernels .. "/sb_ceres_110211.bsp", + kernels .. "/sb_ceres_140724.bsp", + kernels .. "/sb_vesta_071107.bsp", - kernels .. "/DawnKernels/spk/dawn_rec_070927_070930_081218_v1.bsp", - --[[kernels .. "/DawnKernels/spk/dawn_rec_070930_071201_081218_v1.bsp", - kernels .. "/DawnKernels/spk/dawn_rec_071201_080205_081218_v1.bsp", - kernels .. "/DawnKernels/spk/dawn_rec_080205_080325_081218_v1.bsp", - kernels .. "/DawnKernels/spk/dawn_rec_080325_080503_081218_v1.bsp", - kernels .. "/DawnKernels/spk/dawn_rec_080503_080601_081218_v1.bsp", - kernels .. "/DawnKernels/spk/dawn_rec_080601_080718_081218_v1.bsp", - kernels .. "/DawnKernels/spk/dawn_rec_080718_080910_081218_v1.bsp", - kernels .. "/DawnKernels/spk/dawn_rec_080910_081022_090218_v1.bsp", - kernels .. "/DawnKernels/spk/dawn_rec_081022_081109_090218_v1.bsp", - kernels .. "/DawnKernels/spk/dawn_rec_081109_090228_090306_v1.bsp", - kernels .. "/DawnKernels/spk/dawn_rec_090228_090501_090702_v1.bsp", - kernels .. "/DawnKernels/spk/dawn_rec_090501_090801_090916_v1.bsp", - kernels .. "/DawnKernels/spk/dawn_rec_090801_090915_090923_v1.bsp", - kernels .. "/DawnKernels/spk/dawn_rec_090915_091201_091202_v1.bsp", - kernels .. "/DawnKernels/spk/dawn_rec_091201_100208_100209_v1.bsp", - kernels .. "/DawnKernels/spk/dawn_rec_100208_100316_100323_v1.bsp", - kernels .. "/DawnKernels/spk/dawn_rec_100316_100413_100422_v1.bsp", - kernels .. "/DawnKernels/spk/dawn_rec_100413_100622_100830_v1.bsp", - kernels .. "/DawnKernels/spk/dawn_rec_100622_100824_100830_v1.bsp", - kernels .. "/DawnKernels/spk/dawn_rec_100824_101130_101202_v1.bsp", - kernels .. "/DawnKernels/spk/dawn_rec_101130_110201_110201_v1.bsp", - kernels .. "/DawnKernels/spk/dawn_rec_110201_110328_110328_v1.bsp", - kernels .. "/DawnKernels/spk/dawn_rec_110328_110419_110420_v1.bsp",--]] + kernels .. "/dawn_rec_070927_070930_081218_v1.bsp", + --[[kernels .. "/dawn_rec_070930_071201_081218_v1.bsp", + kernels .. "/dawn_rec_071201_080205_081218_v1.bsp", + kernels .. "/dawn_rec_080205_080325_081218_v1.bsp", + kernels .. "/dawn_rec_080325_080503_081218_v1.bsp", + kernels .. "/dawn_rec_080503_080601_081218_v1.bsp", + kernels .. "/dawn_rec_080601_080718_081218_v1.bsp", + kernels .. "/dawn_rec_080718_080910_081218_v1.bsp", + kernels .. "/dawn_rec_080910_081022_090218_v1.bsp", + kernels .. "/dawn_rec_081022_081109_090218_v1.bsp", + kernels .. "/dawn_rec_081109_090228_090306_v1.bsp", + kernels .. "/dawn_rec_090228_090501_090702_v1.bsp", + kernels .. "/dawn_rec_090501_090801_090916_v1.bsp", + kernels .. "/dawn_rec_090801_090915_090923_v1.bsp", + kernels .. "/dawn_rec_090915_091201_091202_v1.bsp", + kernels .. "/dawn_rec_091201_100208_100209_v1.bsp", + kernels .. "/dawn_rec_100208_100316_100323_v1.bsp", + kernels .. "/dawn_rec_100316_100413_100422_v1.bsp", + kernels .. "/dawn_rec_100413_100622_100830_v1.bsp", + kernels .. "/dawn_rec_100622_100824_100830_v1.bsp", + kernels .. "/dawn_rec_100824_101130_101202_v1.bsp", + kernels .. "/dawn_rec_101130_110201_110201_v1.bsp", + kernels .. "/dawn_rec_110201_110328_110328_v1.bsp", + kernels .. "/dawn_rec_110328_110419_110420_v1.bsp",--]] - kernels .. "/DawnKernels/spk/dawn_rec_110416_110802_110913_v1.bsp", - kernels .. "/DawnKernels/spk/dawn_rec_110802_110831_110922_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 .. "/DawnKernels/spk/dawn_rec_110928_111102_120615_v1.bsp", - kernels .. "/DawnKernels/spk/dawn_rec_111102_111210_120618_v1.bsp", - kernels .. "/DawnKernels/spk/dawn_rec_111211_120501_120620_v1.bsp", - kernels .. "/DawnKernels/spk/dawn_rec_120501_120611_120625_v1.bsp", - kernels .. "/DawnKernels/spk/dawn_rec_120611_120724_121101_v1.bsp",--]] - kernels .. "/DawnKernels/spk/dawn_rec_120724_120913_121213_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_120501_120611_120625_v1.bsp", + kernels .. "/dawn_rec_120611_120724_121101_v1.bsp",--]] + kernels .. "/dawn_rec_120724_120913_121213_v1.bsp", --PCK - --kernels .. "/pck/dawn_vesta_v06.tpc", - --kernels .. "/pck/dawn_ceres_v01.tpc", - --kernels .. "/pck/pck00008.tpc", + --kernels .. "/dawn_vesta_v06.tpc", + --kernels .. "/dawn_ceres_v01.tpc", + --kernels .. "/pck00008.tpc", -- FK - kernels .. "/DawnKernels/fk/dawn_vesta_v00.tf", - kernels .. "/DawnKernels/fk/dawn_v12.tf", + kernels .. "/dawn_vesta_v00.tf", + kernels .. "/dawn_v12.tf", --SCLK - kernels .. "/DawnKernels/sclk/dawn_203_sclkscet_00039.tsc", + kernels .. "/dawn_203_sclkscet_00039.tsc", -- CK - kernels .. "/DawnKernels/ck/dawn_sc_070927_070930.bc", - kernels .. "/DawnKernels/ck/dawn_sc_110801_110807.bc", - kernels .. "/DawnKernels/ck/dawn_sc_110808_110814.bc", - kernels .. "/DawnKernels/ck/dawn_sc_120910_120916.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_111226_120101.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_120102_120108.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_120109_120115.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_120116_120122.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_120123_120129.bc", + kernels .. "/dawn_sc_070927_070930.bc", + kernels .. "/dawn_sc_110801_110807.bc", + kernels .. "/dawn_sc_110808_110814.bc", + kernels .. "/dawn_sc_120910_120916.bc", + -- kernels .. "/dawn_sc_111226_120101.bc", + -- kernels .. "/dawn_sc_120102_120108.bc", + -- kernels .. "/dawn_sc_120109_120115.bc", + -- kernels .. "/dawn_sc_120116_120122.bc", + -- kernels .. "/dawn_sc_120123_120129.bc", -- all space craft CK files, ~10 gb - -- kernels .. "/DawnKernels/ck/dawn_sc_120123_120129.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_070927_070930.bc", + -- kernels .. "/dawn_sc_120123_120129.bc", + -- kernels .. "/dawn_sc_070927_070930.bc", --[[kernels .. "/ck/dawn_sc_071001_071007.bc", - kernels .. "/DawnKernels/ck/dawn_sc_071008_071014_v2.bc", - kernels .. "/DawnKernels/ck/dawn_sc_071015_071021.bc", - kernels .. "/DawnKernels/ck/dawn_sc_071022_071028_v2.bc", - kernels .. "/DawnKernels/ck/dawn_sc_071029_071104.bc", - kernels .. "/DawnKernels/ck/dawn_sc_071105_071111.bc", - kernels .. "/DawnKernels/ck/dawn_sc_071112_071118.bc", - kernels .. "/DawnKernels/ck/dawn_sc_071119_071125.bc", - kernels .. "/DawnKernels/ck/dawn_sc_071126_071202.bc", - kernels .. "/DawnKernels/ck/dawn_sc_071203_071209.bc", - kernels .. "/DawnKernels/ck/dawn_sc_071210_071216.bc", - kernels .. "/DawnKernels/ck/dawn_sc_071217_071223.bc", - kernels .. "/DawnKernels/ck/dawn_sc_071224_071230.bc", - kernels .. "/DawnKernels/ck/dawn_sc_071231_080106.bc", - kernels .. "/DawnKernels/ck/dawn_sc_080107_080113.bc", - kernels .. "/DawnKernels/ck/dawn_sc_080114_080120.bc", - kernels .. "/DawnKernels/ck/dawn_sc_080121_080127.bc", - kernels .. "/DawnKernels/ck/dawn_sc_080128_080203.bc", - kernels .. "/DawnKernels/ck/dawn_sc_080204_080210.bc", - kernels .. "/DawnKernels/ck/dawn_sc_080211_080217.bc", - kernels .. "/DawnKernels/ck/dawn_sc_080218_080224.bc", - kernels .. "/DawnKernels/ck/dawn_sc_080225_080302.bc", - kernels .. "/DawnKernels/ck/dawn_sc_080303_080309.bc", - kernels .. "/DawnKernels/ck/dawn_sc_080310_080316.bc", - kernels .. "/DawnKernels/ck/dawn_sc_080317_080323.bc", - kernels .. "/DawnKernels/ck/dawn_sc_080324_080330.bc", - kernels .. "/DawnKernels/ck/dawn_sc_080331_080406.bc", - kernels .. "/DawnKernels/ck/dawn_sc_080407_080413.bc", - kernels .. "/DawnKernels/ck/dawn_sc_080414_080420.bc", - kernels .. "/DawnKernels/ck/dawn_sc_080421_080427.bc", - kernels .. "/DawnKernels/ck/dawn_sc_080428_080504.bc", - kernels .. "/DawnKernels/ck/dawn_sc_080505_080511.bc", - kernels .. "/DawnKernels/ck/dawn_sc_080512_080518.bc", - kernels .. "/DawnKernels/ck/dawn_sc_080519_080525.bc", - kernels .. "/DawnKernels/ck/dawn_sc_080526_080601.bc", - kernels .. "/DawnKernels/ck/dawn_sc_080602_080608.bc", - kernels .. "/DawnKernels/ck/dawn_sc_080609_080615.bc", - kernels .. "/DawnKernels/ck/dawn_sc_080616_080622.bc", - kernels .. "/DawnKernels/ck/dawn_sc_080623_080629.bc", - kernels .. "/DawnKernels/ck/dawn_sc_080630_080706.bc", - kernels .. "/DawnKernels/ck/dawn_sc_080707_080713.bc", - kernels .. "/DawnKernels/ck/dawn_sc_080714_080720.bc", - kernels .. "/DawnKernels/ck/dawn_sc_080721_080727.bc", - kernels .. "/DawnKernels/ck/dawn_sc_080728_080803.bc", - kernels .. "/DawnKernels/ck/dawn_sc_080804_080810.bc", - kernels .. "/DawnKernels/ck/dawn_sc_080811_080817.bc", - kernels .. "/DawnKernels/ck/dawn_sc_080818_080824.bc", - kernels .. "/DawnKernels/ck/dawn_sc_080825_080831.bc", - kernels .. "/DawnKernels/ck/dawn_sc_080901_080907.bc", - kernels .. "/DawnKernels/ck/dawn_sc_080908_080914.bc", - kernels .. "/DawnKernels/ck/dawn_sc_080915_080921.bc", - kernels .. "/DawnKernels/ck/dawn_sc_080922_080928.bc", - kernels .. "/DawnKernels/ck/dawn_sc_080929_081005.bc", - kernels .. "/DawnKernels/ck/dawn_sc_081006_081012.bc", - kernels .. "/DawnKernels/ck/dawn_sc_081013_081019.bc", - kernels .. "/DawnKernels/ck/dawn_sc_081020_081026.bc", - kernels .. "/DawnKernels/ck/dawn_sc_081027_081102.bc", - kernels .. "/DawnKernels/ck/dawn_sc_081103_081109.bc", - kernels .. "/DawnKernels/ck/dawn_sc_081110_081116.bc", - kernels .. "/DawnKernels/ck/dawn_sc_081117_081123.bc", - kernels .. "/DawnKernels/ck/dawn_sc_081124_081130.bc", - kernels .. "/DawnKernels/ck/dawn_sc_081201_081207.bc", - kernels .. "/DawnKernels/ck/dawn_sc_081208_081214.bc", - kernels .. "/DawnKernels/ck/dawn_sc_081215_081221.bc", - kernels .. "/DawnKernels/ck/dawn_sc_081222_081228.bc", - kernels .. "/DawnKernels/ck/dawn_sc_081229_090104.bc", - kernels .. "/DawnKernels/ck/dawn_sc_090105_090111.bc", - kernels .. "/DawnKernels/ck/dawn_sc_090112_090118.bc", - kernels .. "/DawnKernels/ck/dawn_sc_090119_090125.bc", - kernels .. "/DawnKernels/ck/dawn_sc_090126_090201.bc", - kernels .. "/DawnKernels/ck/dawn_sc_090202_090208.bc", - kernels .. "/DawnKernels/ck/dawn_sc_090209_090215.bc", - kernels .. "/DawnKernels/ck/dawn_sc_090216_090222.bc", - kernels .. "/DawnKernels/ck/dawn_sc_090223_090301.bc", - kernels .. "/DawnKernels/ck/dawn_sc_090302_090308.bc", - kernels .. "/DawnKernels/ck/dawn_sc_090309_090315.bc", - kernels .. "/DawnKernels/ck/dawn_sc_090316_090322.bc", - kernels .. "/DawnKernels/ck/dawn_sc_090323_090329.bc", - kernels .. "/DawnKernels/ck/dawn_sc_090330_090405.bc", - kernels .. "/DawnKernels/ck/dawn_sc_090406_090412.bc", - kernels .. "/DawnKernels/ck/dawn_sc_090413_090419.bc", - kernels .. "/DawnKernels/ck/dawn_sc_090420_090426.bc", - kernels .. "/DawnKernels/ck/dawn_sc_090427_090503.bc", - kernels .. "/DawnKernels/ck/dawn_sc_090504_090510.bc", - kernels .. "/DawnKernels/ck/dawn_sc_090511_090517.bc", - kernels .. "/DawnKernels/ck/dawn_sc_090518_090524.bc", - kernels .. "/DawnKernels/ck/dawn_sc_090525_090531.bc", - kernels .. "/DawnKernels/ck/dawn_sc_090601_090607.bc", - kernels .. "/DawnKernels/ck/dawn_sc_090608_090614.bc", - kernels .. "/DawnKernels/ck/dawn_sc_090615_090621.bc", - kernels .. "/DawnKernels/ck/dawn_sc_090622_090628.bc", - kernels .. "/DawnKernels/ck/dawn_sc_090629_090705.bc", - kernels .. "/DawnKernels/ck/dawn_sc_090706_090712.bc", - kernels .. "/DawnKernels/ck/dawn_sc_090713_090719.bc", - kernels .. "/DawnKernels/ck/dawn_sc_090720_090726.bc", - kernels .. "/DawnKernels/ck/dawn_sc_090727_090802.bc", - kernels .. "/DawnKernels/ck/dawn_sc_090803_090809.bc", - kernels .. "/DawnKernels/ck/dawn_sc_090810_090816.bc", - kernels .. "/DawnKernels/ck/dawn_sc_090817_090823.bc", - kernels .. "/DawnKernels/ck/dawn_sc_090824_090830.bc", - kernels .. "/DawnKernels/ck/dawn_sc_090831_090906.bc", - kernels .. "/DawnKernels/ck/dawn_sc_090907_090913.bc", - kernels .. "/DawnKernels/ck/dawn_sc_090914_090920.bc", - kernels .. "/DawnKernels/ck/dawn_sc_090921_090927.bc", - kernels .. "/DawnKernels/ck/dawn_sc_090928_091004.bc", - kernels .. "/DawnKernels/ck/dawn_sc_091005_091011.bc", - kernels .. "/DawnKernels/ck/dawn_sc_091012_091018.bc", - kernels .. "/DawnKernels/ck/dawn_sc_091019_091025.bc", - kernels .. "/DawnKernels/ck/dawn_sc_091026_091101.bc", - kernels .. "/DawnKernels/ck/dawn_sc_091102_091108.bc", - kernels .. "/DawnKernels/ck/dawn_sc_091109_091115.bc", - kernels .. "/DawnKernels/ck/dawn_sc_091116_091122.bc", - kernels .. "/DawnKernels/ck/dawn_sc_091123_091129.bc", - kernels .. "/DawnKernels/ck/dawn_sc_091130_091206.bc", - kernels .. "/DawnKernels/ck/dawn_sc_091207_091213.bc", - kernels .. "/DawnKernels/ck/dawn_sc_091214_091220.bc", - kernels .. "/DawnKernels/ck/dawn_sc_091221_091227.bc", - kernels .. "/DawnKernels/ck/dawn_sc_091228_100103.bc", - kernels .. "/DawnKernels/ck/dawn_sc_100104_100110_v2.bc", - kernels .. "/DawnKernels/ck/dawn_sc_100111_100117_v2.bc",--]] - -- kernels .. "/DawnKernels/ck/dawn_sc_100118_100124.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_100125_100131.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_100201_100207.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_100208_100214.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_100215_100221.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_100222_100228.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_100301_100307.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_100308_100314.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_100315_100321.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_100322_100328.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_100329_100404.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_100405_100411.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_100412_100418.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_100419_100425.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_100426_100502.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_100503_100509.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_100510_100516.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_100517_100523.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_100524_100530.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_100531_100606.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_100607_100613.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_100614_100620.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_100621_100627.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_100628_100704.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_100705_100711.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_100712_100718.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_100719_100725.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_100726_100801.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_100802_100808.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_100809_100815.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_100816_100822.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_100823_100829.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_100830_100905.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_100906_100912.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_100913_100919.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_100920_100926.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_100927_101003.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_101004_101010.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_101011_101017.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_101018_101024.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_101025_101031.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_101101_101107.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_101108_101114.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_101115_101121.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_101122_101128.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_101129_101205.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_101206_101212.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_101213_101219.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_101220_101226.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_101227_110102.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_110103_110109.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_110110_110116.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_110117_110123.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_110124_110130.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_110131_110206.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_110207_110213.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_110214_110220.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_110221_110227.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_110228_110306.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_110307_110313.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_110314_110320.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_110321_110327.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_110328_110403.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_110404_110410.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_110411_110417.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_110418_110424.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_110425_110501.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_110502_110508.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_110509_110515.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_110516_110522.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_110523_110529.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_110530_110605.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_110606_110612.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_110613_110619.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_110620_110626.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_110627_110703.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_110704_110710.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_110711_110717.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_110718_110724.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_110725_110731.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_110801_110807.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_110808_110814.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_110815_110821.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_110822_110828.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_110829_110904.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_110905_110911.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_110912_110918.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_110919_110925.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_110926_111002.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_111003_111009.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_111010_111016.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_111017_111023.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_111024_111030.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_111031_111106.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_111107_111113.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_111114_111120.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_111121_111127.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_111128_111204.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_111205_111211.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_111212_111218.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_111219_111225.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_111226_120101.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_120102_120108.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_120109_120115.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_120116_120122.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_120123_120129.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_120130_120205.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_120206_120212.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_120213_120219.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_120220_120226.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_120227_120304.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_120305_120311.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_120312_120318.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_120319_120325.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_120326_120401.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_120402_120408.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_120409_120415.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_120416_120422.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_120423_120429.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_120430_120506.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_120507_120513.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_120514_120520.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_120521_120527.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_120528_120603.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_120604_120610.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_120611_120617.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_120618_120624.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_120625_120701.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_120702_120708.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_120709_120715.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_120716_120722.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_120723_120729.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_120730_120805.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_120806_120812.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_120813_120819.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_120820_120826.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_120827_120902.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_120903_120909.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_120910_120916.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_f2_3942xxxxx.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_pred_da028b_00_eu.bc", - -- kernels .. "/DawnKernels/ck/dawn_sc_pred_dc041a_00.bc", + kernels .. "/dawn_sc_071008_071014_v2.bc", + kernels .. "/dawn_sc_071015_071021.bc", + kernels .. "/dawn_sc_071022_071028_v2.bc", + kernels .. "/dawn_sc_071029_071104.bc", + kernels .. "/dawn_sc_071105_071111.bc", + kernels .. "/dawn_sc_071112_071118.bc", + kernels .. "/dawn_sc_071119_071125.bc", + kernels .. "/dawn_sc_071126_071202.bc", + kernels .. "/dawn_sc_071203_071209.bc", + kernels .. "/dawn_sc_071210_071216.bc", + kernels .. "/dawn_sc_071217_071223.bc", + kernels .. "/dawn_sc_071224_071230.bc", + kernels .. "/dawn_sc_071231_080106.bc", + kernels .. "/dawn_sc_080107_080113.bc", + kernels .. "/dawn_sc_080114_080120.bc", + kernels .. "/dawn_sc_080121_080127.bc", + kernels .. "/dawn_sc_080128_080203.bc", + kernels .. "/dawn_sc_080204_080210.bc", + kernels .. "/dawn_sc_080211_080217.bc", + kernels .. "/dawn_sc_080218_080224.bc", + kernels .. "/dawn_sc_080225_080302.bc", + kernels .. "/dawn_sc_080303_080309.bc", + kernels .. "/dawn_sc_080310_080316.bc", + kernels .. "/dawn_sc_080317_080323.bc", + kernels .. "/dawn_sc_080324_080330.bc", + kernels .. "/dawn_sc_080331_080406.bc", + kernels .. "/dawn_sc_080407_080413.bc", + kernels .. "/dawn_sc_080414_080420.bc", + kernels .. "/dawn_sc_080421_080427.bc", + kernels .. "/dawn_sc_080428_080504.bc", + kernels .. "/dawn_sc_080505_080511.bc", + kernels .. "/dawn_sc_080512_080518.bc", + kernels .. "/dawn_sc_080519_080525.bc", + kernels .. "/dawn_sc_080526_080601.bc", + kernels .. "/dawn_sc_080602_080608.bc", + kernels .. "/dawn_sc_080609_080615.bc", + kernels .. "/dawn_sc_080616_080622.bc", + kernels .. "/dawn_sc_080623_080629.bc", + kernels .. "/dawn_sc_080630_080706.bc", + kernels .. "/dawn_sc_080707_080713.bc", + kernels .. "/dawn_sc_080714_080720.bc", + kernels .. "/dawn_sc_080721_080727.bc", + kernels .. "/dawn_sc_080728_080803.bc", + kernels .. "/dawn_sc_080804_080810.bc", + kernels .. "/dawn_sc_080811_080817.bc", + kernels .. "/dawn_sc_080818_080824.bc", + kernels .. "/dawn_sc_080825_080831.bc", + kernels .. "/dawn_sc_080901_080907.bc", + kernels .. "/dawn_sc_080908_080914.bc", + kernels .. "/dawn_sc_080915_080921.bc", + kernels .. "/dawn_sc_080922_080928.bc", + kernels .. "/dawn_sc_080929_081005.bc", + kernels .. "/dawn_sc_081006_081012.bc", + kernels .. "/dawn_sc_081013_081019.bc", + kernels .. "/dawn_sc_081020_081026.bc", + kernels .. "/dawn_sc_081027_081102.bc", + kernels .. "/dawn_sc_081103_081109.bc", + kernels .. "/dawn_sc_081110_081116.bc", + kernels .. "/dawn_sc_081117_081123.bc", + kernels .. "/dawn_sc_081124_081130.bc", + kernels .. "/dawn_sc_081201_081207.bc", + kernels .. "/dawn_sc_081208_081214.bc", + kernels .. "/dawn_sc_081215_081221.bc", + kernels .. "/dawn_sc_081222_081228.bc", + kernels .. "/dawn_sc_081229_090104.bc", + kernels .. "/dawn_sc_090105_090111.bc", + kernels .. "/dawn_sc_090112_090118.bc", + kernels .. "/dawn_sc_090119_090125.bc", + kernels .. "/dawn_sc_090126_090201.bc", + kernels .. "/dawn_sc_090202_090208.bc", + kernels .. "/dawn_sc_090209_090215.bc", + kernels .. "/dawn_sc_090216_090222.bc", + kernels .. "/dawn_sc_090223_090301.bc", + kernels .. "/dawn_sc_090302_090308.bc", + kernels .. "/dawn_sc_090309_090315.bc", + kernels .. "/dawn_sc_090316_090322.bc", + kernels .. "/dawn_sc_090323_090329.bc", + kernels .. "/dawn_sc_090330_090405.bc", + kernels .. "/dawn_sc_090406_090412.bc", + kernels .. "/dawn_sc_090413_090419.bc", + kernels .. "/dawn_sc_090420_090426.bc", + kernels .. "/dawn_sc_090427_090503.bc", + kernels .. "/dawn_sc_090504_090510.bc", + kernels .. "/dawn_sc_090511_090517.bc", + kernels .. "/dawn_sc_090518_090524.bc", + kernels .. "/dawn_sc_090525_090531.bc", + kernels .. "/dawn_sc_090601_090607.bc", + kernels .. "/dawn_sc_090608_090614.bc", + kernels .. "/dawn_sc_090615_090621.bc", + kernels .. "/dawn_sc_090622_090628.bc", + kernels .. "/dawn_sc_090629_090705.bc", + kernels .. "/dawn_sc_090706_090712.bc", + kernels .. "/dawn_sc_090713_090719.bc", + kernels .. "/dawn_sc_090720_090726.bc", + kernels .. "/dawn_sc_090727_090802.bc", + kernels .. "/dawn_sc_090803_090809.bc", + kernels .. "/dawn_sc_090810_090816.bc", + kernels .. "/dawn_sc_090817_090823.bc", + kernels .. "/dawn_sc_090824_090830.bc", + kernels .. "/dawn_sc_090831_090906.bc", + kernels .. "/dawn_sc_090907_090913.bc", + kernels .. "/dawn_sc_090914_090920.bc", + kernels .. "/dawn_sc_090921_090927.bc", + kernels .. "/dawn_sc_090928_091004.bc", + kernels .. "/dawn_sc_091005_091011.bc", + kernels .. "/dawn_sc_091012_091018.bc", + kernels .. "/dawn_sc_091019_091025.bc", + kernels .. "/dawn_sc_091026_091101.bc", + kernels .. "/dawn_sc_091102_091108.bc", + kernels .. "/dawn_sc_091109_091115.bc", + kernels .. "/dawn_sc_091116_091122.bc", + kernels .. "/dawn_sc_091123_091129.bc", + kernels .. "/dawn_sc_091130_091206.bc", + kernels .. "/dawn_sc_091207_091213.bc", + kernels .. "/dawn_sc_091214_091220.bc", + kernels .. "/dawn_sc_091221_091227.bc", + kernels .. "/dawn_sc_091228_100103.bc", + kernels .. "/dawn_sc_100104_100110_v2.bc", + kernels .. "/dawn_sc_100111_100117_v2.bc",--]] + -- kernels .. "/dawn_sc_100118_100124.bc", + -- kernels .. "/dawn_sc_100125_100131.bc", + -- kernels .. "/dawn_sc_100201_100207.bc", + -- kernels .. "/dawn_sc_100208_100214.bc", + -- kernels .. "/dawn_sc_100215_100221.bc", + -- kernels .. "/dawn_sc_100222_100228.bc", + -- kernels .. "/dawn_sc_100301_100307.bc", + -- kernels .. "/dawn_sc_100308_100314.bc", + -- kernels .. "/dawn_sc_100315_100321.bc", + -- kernels .. "/dawn_sc_100322_100328.bc", + -- kernels .. "/dawn_sc_100329_100404.bc", + -- kernels .. "/dawn_sc_100405_100411.bc", + -- kernels .. "/dawn_sc_100412_100418.bc", + -- kernels .. "/dawn_sc_100419_100425.bc", + -- kernels .. "/dawn_sc_100426_100502.bc", + -- kernels .. "/dawn_sc_100503_100509.bc", + -- kernels .. "/dawn_sc_100510_100516.bc", + -- kernels .. "/dawn_sc_100517_100523.bc", + -- kernels .. "/dawn_sc_100524_100530.bc", + -- kernels .. "/dawn_sc_100531_100606.bc", + -- kernels .. "/dawn_sc_100607_100613.bc", + -- kernels .. "/dawn_sc_100614_100620.bc", + -- kernels .. "/dawn_sc_100621_100627.bc", + -- kernels .. "/dawn_sc_100628_100704.bc", + -- kernels .. "/dawn_sc_100705_100711.bc", + -- kernels .. "/dawn_sc_100712_100718.bc", + -- kernels .. "/dawn_sc_100719_100725.bc", + -- kernels .. "/dawn_sc_100726_100801.bc", + -- kernels .. "/dawn_sc_100802_100808.bc", + -- kernels .. "/dawn_sc_100809_100815.bc", + -- kernels .. "/dawn_sc_100816_100822.bc", + -- kernels .. "/dawn_sc_100823_100829.bc", + -- kernels .. "/dawn_sc_100830_100905.bc", + -- kernels .. "/dawn_sc_100906_100912.bc", + -- kernels .. "/dawn_sc_100913_100919.bc", + -- kernels .. "/dawn_sc_100920_100926.bc", + -- kernels .. "/dawn_sc_100927_101003.bc", + -- kernels .. "/dawn_sc_101004_101010.bc", + -- kernels .. "/dawn_sc_101011_101017.bc", + -- kernels .. "/dawn_sc_101018_101024.bc", + -- kernels .. "/dawn_sc_101025_101031.bc", + -- kernels .. "/dawn_sc_101101_101107.bc", + -- kernels .. "/dawn_sc_101108_101114.bc", + -- kernels .. "/dawn_sc_101115_101121.bc", + -- kernels .. "/dawn_sc_101122_101128.bc", + -- kernels .. "/dawn_sc_101129_101205.bc", + -- kernels .. "/dawn_sc_101206_101212.bc", + -- kernels .. "/dawn_sc_101213_101219.bc", + -- kernels .. "/dawn_sc_101220_101226.bc", + -- kernels .. "/dawn_sc_101227_110102.bc", + -- kernels .. "/dawn_sc_110103_110109.bc", + -- kernels .. "/dawn_sc_110110_110116.bc", + -- kernels .. "/dawn_sc_110117_110123.bc", + -- kernels .. "/dawn_sc_110124_110130.bc", + -- kernels .. "/dawn_sc_110131_110206.bc", + -- kernels .. "/dawn_sc_110207_110213.bc", + -- kernels .. "/dawn_sc_110214_110220.bc", + -- kernels .. "/dawn_sc_110221_110227.bc", + -- kernels .. "/dawn_sc_110228_110306.bc", + -- kernels .. "/dawn_sc_110307_110313.bc", + -- kernels .. "/dawn_sc_110314_110320.bc", + -- kernels .. "/dawn_sc_110321_110327.bc", + -- kernels .. "/dawn_sc_110328_110403.bc", + -- kernels .. "/dawn_sc_110404_110410.bc", + -- kernels .. "/dawn_sc_110411_110417.bc", + -- kernels .. "/dawn_sc_110418_110424.bc", + -- kernels .. "/dawn_sc_110425_110501.bc", + -- kernels .. "/dawn_sc_110502_110508.bc", + -- kernels .. "/dawn_sc_110509_110515.bc", + -- kernels .. "/dawn_sc_110516_110522.bc", + -- kernels .. "/dawn_sc_110523_110529.bc", + -- kernels .. "/dawn_sc_110530_110605.bc", + -- kernels .. "/dawn_sc_110606_110612.bc", + -- kernels .. "/dawn_sc_110613_110619.bc", + -- kernels .. "/dawn_sc_110620_110626.bc", + -- kernels .. "/dawn_sc_110627_110703.bc", + -- kernels .. "/dawn_sc_110704_110710.bc", + -- kernels .. "/dawn_sc_110711_110717.bc", + -- kernels .. "/dawn_sc_110718_110724.bc", + -- kernels .. "/dawn_sc_110725_110731.bc", + -- kernels .. "/dawn_sc_110801_110807.bc", + -- kernels .. "/dawn_sc_110808_110814.bc", + -- kernels .. "/dawn_sc_110815_110821.bc", + -- kernels .. "/dawn_sc_110822_110828.bc", + -- kernels .. "/dawn_sc_110829_110904.bc", + -- kernels .. "/dawn_sc_110905_110911.bc", + -- kernels .. "/dawn_sc_110912_110918.bc", + -- kernels .. "/dawn_sc_110919_110925.bc", + -- kernels .. "/dawn_sc_110926_111002.bc", + -- kernels .. "/dawn_sc_111003_111009.bc", + -- kernels .. "/dawn_sc_111010_111016.bc", + -- kernels .. "/dawn_sc_111017_111023.bc", + -- kernels .. "/dawn_sc_111024_111030.bc", + -- kernels .. "/dawn_sc_111031_111106.bc", + -- kernels .. "/dawn_sc_111107_111113.bc", + -- kernels .. "/dawn_sc_111114_111120.bc", + -- kernels .. "/dawn_sc_111121_111127.bc", + -- kernels .. "/dawn_sc_111128_111204.bc", + -- kernels .. "/dawn_sc_111205_111211.bc", + -- kernels .. "/dawn_sc_111212_111218.bc", + -- kernels .. "/dawn_sc_111219_111225.bc", + -- kernels .. "/dawn_sc_111226_120101.bc", + -- kernels .. "/dawn_sc_120102_120108.bc", + -- kernels .. "/dawn_sc_120109_120115.bc", + -- kernels .. "/dawn_sc_120116_120122.bc", + -- kernels .. "/dawn_sc_120123_120129.bc", + -- kernels .. "/dawn_sc_120130_120205.bc", + -- kernels .. "/dawn_sc_120206_120212.bc", + -- kernels .. "/dawn_sc_120213_120219.bc", + -- kernels .. "/dawn_sc_120220_120226.bc", + -- kernels .. "/dawn_sc_120227_120304.bc", + -- kernels .. "/dawn_sc_120305_120311.bc", + -- kernels .. "/dawn_sc_120312_120318.bc", + -- kernels .. "/dawn_sc_120319_120325.bc", + -- kernels .. "/dawn_sc_120326_120401.bc", + -- kernels .. "/dawn_sc_120402_120408.bc", + -- kernels .. "/dawn_sc_120409_120415.bc", + -- kernels .. "/dawn_sc_120416_120422.bc", + -- kernels .. "/dawn_sc_120423_120429.bc", + -- kernels .. "/dawn_sc_120430_120506.bc", + -- kernels .. "/dawn_sc_120507_120513.bc", + -- kernels .. "/dawn_sc_120514_120520.bc", + -- kernels .. "/dawn_sc_120521_120527.bc", + -- kernels .. "/dawn_sc_120528_120603.bc", + -- kernels .. "/dawn_sc_120604_120610.bc", + -- kernels .. "/dawn_sc_120611_120617.bc", + -- kernels .. "/dawn_sc_120618_120624.bc", + -- kernels .. "/dawn_sc_120625_120701.bc", + -- kernels .. "/dawn_sc_120702_120708.bc", + -- kernels .. "/dawn_sc_120709_120715.bc", + -- kernels .. "/dawn_sc_120716_120722.bc", + -- kernels .. "/dawn_sc_120723_120729.bc", + -- kernels .. "/dawn_sc_120730_120805.bc", + -- kernels .. "/dawn_sc_120806_120812.bc", + -- kernels .. "/dawn_sc_120813_120819.bc", + -- kernels .. "/dawn_sc_120820_120826.bc", + -- kernels .. "/dawn_sc_120827_120902.bc", + -- kernels .. "/dawn_sc_120903_120909.bc", + -- kernels .. "/dawn_sc_120910_120916.bc", + -- kernels .. "/dawn_sc_f2_3942xxxxx.bc", + -- kernels .. "/dawn_sc_pred_da028b_00_eu.bc", + -- kernels .. "/dawn_sc_pred_dc041a_00.bc", -- Solar array rotation kernels ~ 2gb - kernels .. "/DawnKernels/ck/dawn_sa_070927_070930.bc", + kernels .. "/dawn_sa_070927_070930.bc", --[[kernels .. "/ck/dawn_sa_071001_071007.bc", - kernels .. "/DawnKernels/ck/dawn_sa_071008_071014.bc", - kernels .. "/DawnKernels/ck/dawn_sa_071015_071021.bc", - kernels .. "/DawnKernels/ck/dawn_sa_071022_071028_v2.bc", - kernels .. "/DawnKernels/ck/dawn_sa_071029_071104.bc", - kernels .. "/DawnKernels/ck/dawn_sa_071105_071111.bc", - kernels .. "/DawnKernels/ck/dawn_sa_071112_071118.bc", - kernels .. "/DawnKernels/ck/dawn_sa_071119_071125.bc", - kernels .. "/DawnKernels/ck/dawn_sa_071126_071202.bc", - kernels .. "/DawnKernels/ck/dawn_sa_071203_071209.bc", - kernels .. "/DawnKernels/ck/dawn_sa_071210_071216.bc", - kernels .. "/DawnKernels/ck/dawn_sa_071217_071223.bc", - kernels .. "/DawnKernels/ck/dawn_sa_071224_071230.bc", - kernels .. "/DawnKernels/ck/dawn_sa_071231_080106.bc", - kernels .. "/DawnKernels/ck/dawn_sa_080107_080113.bc", - kernels .. "/DawnKernels/ck/dawn_sa_080114_080120.bc", - kernels .. "/DawnKernels/ck/dawn_sa_080121_080127.bc", - kernels .. "/DawnKernels/ck/dawn_sa_080128_080203.bc", - kernels .. "/DawnKernels/ck/dawn_sa_080204_080210.bc", - kernels .. "/DawnKernels/ck/dawn_sa_080211_080217.bc", - kernels .. "/DawnKernels/ck/dawn_sa_080218_080224.bc", - kernels .. "/DawnKernels/ck/dawn_sa_080225_080302.bc", - kernels .. "/DawnKernels/ck/dawn_sa_080303_080309.bc", - kernels .. "/DawnKernels/ck/dawn_sa_080310_080316.bc", - kernels .. "/DawnKernels/ck/dawn_sa_080317_080323.bc", - kernels .. "/DawnKernels/ck/dawn_sa_080324_080330.bc", - kernels .. "/DawnKernels/ck/dawn_sa_080331_080406.bc", - kernels .. "/DawnKernels/ck/dawn_sa_080407_080413.bc", - kernels .. "/DawnKernels/ck/dawn_sa_080414_080420.bc", - kernels .. "/DawnKernels/ck/dawn_sa_080421_080427.bc", - kernels .. "/DawnKernels/ck/dawn_sa_080428_080504.bc", - kernels .. "/DawnKernels/ck/dawn_sa_080505_080511.bc", - kernels .. "/DawnKernels/ck/dawn_sa_080512_080518.bc", - kernels .. "/DawnKernels/ck/dawn_sa_080519_080525.bc", - kernels .. "/DawnKernels/ck/dawn_sa_080526_080601.bc", - kernels .. "/DawnKernels/ck/dawn_sa_080602_080608.bc", - kernels .. "/DawnKernels/ck/dawn_sa_080609_080615.bc", - kernels .. "/DawnKernels/ck/dawn_sa_080616_080622.bc", - kernels .. "/DawnKernels/ck/dawn_sa_080623_080629.bc", - kernels .. "/DawnKernels/ck/dawn_sa_080630_080706.bc", - kernels .. "/DawnKernels/ck/dawn_sa_080707_080713.bc", - kernels .. "/DawnKernels/ck/dawn_sa_080714_080720.bc", - kernels .. "/DawnKernels/ck/dawn_sa_080721_080727.bc", - kernels .. "/DawnKernels/ck/dawn_sa_080728_080803.bc", - kernels .. "/DawnKernels/ck/dawn_sa_080804_080810.bc", - kernels .. "/DawnKernels/ck/dawn_sa_080811_080817.bc", - kernels .. "/DawnKernels/ck/dawn_sa_080818_080824.bc", - kernels .. "/DawnKernels/ck/dawn_sa_080825_080831.bc", - kernels .. "/DawnKernels/ck/dawn_sa_080901_080907.bc", - kernels .. "/DawnKernels/ck/dawn_sa_080908_080914.bc", - kernels .. "/DawnKernels/ck/dawn_sa_080915_080921.bc", - kernels .. "/DawnKernels/ck/dawn_sa_080922_080928.bc", - kernels .. "/DawnKernels/ck/dawn_sa_080929_081005.bc", - kernels .. "/DawnKernels/ck/dawn_sa_081006_081012.bc", - kernels .. "/DawnKernels/ck/dawn_sa_081013_081019.bc", - kernels .. "/DawnKernels/ck/dawn_sa_081020_081026.bc", - kernels .. "/DawnKernels/ck/dawn_sa_081027_081102.bc", - kernels .. "/DawnKernels/ck/dawn_sa_081103_081109.bc", - kernels .. "/DawnKernels/ck/dawn_sa_081110_081116.bc", - kernels .. "/DawnKernels/ck/dawn_sa_081117_081123.bc", - kernels .. "/DawnKernels/ck/dawn_sa_081124_081130.bc", - kernels .. "/DawnKernels/ck/dawn_sa_081201_081207.bc", - kernels .. "/DawnKernels/ck/dawn_sa_081208_081214.bc", - kernels .. "/DawnKernels/ck/dawn_sa_081215_081221.bc", - kernels .. "/DawnKernels/ck/dawn_sa_081222_081228.bc", - kernels .. "/DawnKernels/ck/dawn_sa_081229_090104.bc", - kernels .. "/DawnKernels/ck/dawn_sa_090105_090111.bc", - kernels .. "/DawnKernels/ck/dawn_sa_090112_090118.bc", - kernels .. "/DawnKernels/ck/dawn_sa_090119_090125.bc", - kernels .. "/DawnKernels/ck/dawn_sa_090126_090201.bc", - kernels .. "/DawnKernels/ck/dawn_sa_090202_090208.bc", - kernels .. "/DawnKernels/ck/dawn_sa_090209_090215.bc", - kernels .. "/DawnKernels/ck/dawn_sa_090216_090222.bc", - kernels .. "/DawnKernels/ck/dawn_sa_090223_090301.bc", - kernels .. "/DawnKernels/ck/dawn_sa_090302_090308.bc", - kernels .. "/DawnKernels/ck/dawn_sa_090309_090315.bc", - kernels .. "/DawnKernels/ck/dawn_sa_090316_090322.bc", - kernels .. "/DawnKernels/ck/dawn_sa_090323_090329.bc", - kernels .. "/DawnKernels/ck/dawn_sa_090330_090405.bc", - kernels .. "/DawnKernels/ck/dawn_sa_090406_090412.bc", - kernels .. "/DawnKernels/ck/dawn_sa_090413_090419.bc", - kernels .. "/DawnKernels/ck/dawn_sa_090420_090426.bc", - kernels .. "/DawnKernels/ck/dawn_sa_090427_090503.bc", - kernels .. "/DawnKernels/ck/dawn_sa_090504_090510.bc", - kernels .. "/DawnKernels/ck/dawn_sa_090511_090517.bc", - kernels .. "/DawnKernels/ck/dawn_sa_090518_090524.bc", - kernels .. "/DawnKernels/ck/dawn_sa_090525_090531.bc", - kernels .. "/DawnKernels/ck/dawn_sa_090601_090607.bc", - kernels .. "/DawnKernels/ck/dawn_sa_090608_090614.bc", - kernels .. "/DawnKernels/ck/dawn_sa_090615_090621.bc", - kernels .. "/DawnKernels/ck/dawn_sa_090622_090628.bc", - kernels .. "/DawnKernels/ck/dawn_sa_090629_090705.bc", - kernels .. "/DawnKernels/ck/dawn_sa_090706_090712.bc", - kernels .. "/DawnKernels/ck/dawn_sa_090713_090719.bc", - kernels .. "/DawnKernels/ck/dawn_sa_090720_090726.bc", - kernels .. "/DawnKernels/ck/dawn_sa_090727_090802.bc", - kernels .. "/DawnKernels/ck/dawn_sa_090803_090809.bc", - kernels .. "/DawnKernels/ck/dawn_sa_090810_090816.bc", - kernels .. "/DawnKernels/ck/dawn_sa_090817_090823.bc", - kernels .. "/DawnKernels/ck/dawn_sa_090824_090830.bc", - kernels .. "/DawnKernels/ck/dawn_sa_090831_090906.bc", - kernels .. "/DawnKernels/ck/dawn_sa_090907_090913.bc", - kernels .. "/DawnKernels/ck/dawn_sa_090914_090920.bc", - kernels .. "/DawnKernels/ck/dawn_sa_090921_090927.bc", - kernels .. "/DawnKernels/ck/dawn_sa_090928_091004.bc", - kernels .. "/DawnKernels/ck/dawn_sa_091005_091011.bc", - kernels .. "/DawnKernels/ck/dawn_sa_091012_091018.bc", - kernels .. "/DawnKernels/ck/dawn_sa_091019_091025.bc", - kernels .. "/DawnKernels/ck/dawn_sa_091026_091101.bc", - kernels .. "/DawnKernels/ck/dawn_sa_091102_091108.bc", - kernels .. "/DawnKernels/ck/dawn_sa_091109_091115.bc", - kernels .. "/DawnKernels/ck/dawn_sa_091116_091122.bc", - kernels .. "/DawnKernels/ck/dawn_sa_091123_091129.bc", - kernels .. "/DawnKernels/ck/dawn_sa_091130_091206.bc", - kernels .. "/DawnKernels/ck/dawn_sa_091207_091213.bc", - kernels .. "/DawnKernels/ck/dawn_sa_091214_091220.bc", - kernels .. "/DawnKernels/ck/dawn_sa_091221_091227.bc", - kernels .. "/DawnKernels/ck/dawn_sa_091228_100103.bc", - kernels .. "/DawnKernels/ck/dawn_sa_100104_100110_v2.bc", - kernels .. "/DawnKernels/ck/dawn_sa_100111_100117_v2.bc", - kernels .. "/DawnKernels/ck/dawn_sa_100118_100124.bc", - kernels .. "/DawnKernels/ck/dawn_sa_100125_100131.bc", - kernels .. "/DawnKernels/ck/dawn_sa_100201_100207.bc", - kernels .. "/DawnKernels/ck/dawn_sa_100208_100214.bc", - kernels .. "/DawnKernels/ck/dawn_sa_100215_100221.bc", - kernels .. "/DawnKernels/ck/dawn_sa_100222_100228.bc", - kernels .. "/DawnKernels/ck/dawn_sa_100301_100307.bc", - kernels .. "/DawnKernels/ck/dawn_sa_100308_100314.bc", - kernels .. "/DawnKernels/ck/dawn_sa_100315_100321.bc", - kernels .. "/DawnKernels/ck/dawn_sa_100322_100328.bc", - kernels .. "/DawnKernels/ck/dawn_sa_100329_100404.bc", - kernels .. "/DawnKernels/ck/dawn_sa_100405_100411.bc", - kernels .. "/DawnKernels/ck/dawn_sa_100412_100418.bc", - kernels .. "/DawnKernels/ck/dawn_sa_100419_100425.bc", - kernels .. "/DawnKernels/ck/dawn_sa_100426_100502.bc", - kernels .. "/DawnKernels/ck/dawn_sa_100503_100509.bc", - kernels .. "/DawnKernels/ck/dawn_sa_100510_100516.bc", - kernels .. "/DawnKernels/ck/dawn_sa_100517_100523.bc", - kernels .. "/DawnKernels/ck/dawn_sa_100524_100530.bc", - kernels .. "/DawnKernels/ck/dawn_sa_100531_100606.bc", - kernels .. "/DawnKernels/ck/dawn_sa_100607_100613.bc", - kernels .. "/DawnKernels/ck/dawn_sa_100614_100620.bc", - kernels .. "/DawnKernels/ck/dawn_sa_100621_100627.bc", - kernels .. "/DawnKernels/ck/dawn_sa_100628_100704.bc", - kernels .. "/DawnKernels/ck/dawn_sa_100705_100711.bc", - kernels .. "/DawnKernels/ck/dawn_sa_100712_100718.bc", - kernels .. "/DawnKernels/ck/dawn_sa_100719_100725.bc", - kernels .. "/DawnKernels/ck/dawn_sa_100726_100801.bc", - kernels .. "/DawnKernels/ck/dawn_sa_100802_100808.bc", - kernels .. "/DawnKernels/ck/dawn_sa_100809_100815.bc", - kernels .. "/DawnKernels/ck/dawn_sa_100816_100822.bc", - kernels .. "/DawnKernels/ck/dawn_sa_100823_100829.bc", - kernels .. "/DawnKernels/ck/dawn_sa_100830_100905.bc", - kernels .. "/DawnKernels/ck/dawn_sa_100906_100912.bc", - kernels .. "/DawnKernels/ck/dawn_sa_100913_100919.bc", - kernels .. "/DawnKernels/ck/dawn_sa_100920_100926.bc", - kernels .. "/DawnKernels/ck/dawn_sa_100927_101003.bc", - kernels .. "/DawnKernels/ck/dawn_sa_101004_101010.bc", - kernels .. "/DawnKernels/ck/dawn_sa_101011_101017.bc", --]] - -- kernels .. "/DawnKernels/ck/dawn_sa_101018_101024.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_101025_101031.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_101101_101107.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_101108_101114.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_101115_101121.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_101122_101128.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_101129_101205.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_101206_101212.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_101213_101219.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_101220_101226.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_101227_110102.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_110103_110109.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_110110_110116.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_110117_110123.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_110124_110130.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_110131_110206.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_110207_110213.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_110214_110220.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_110221_110227.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_110228_110306.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_110307_110313.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_110314_110320.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_110321_110327.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_110328_110403.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_110404_110410.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_110411_110417.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_110418_110424.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_110425_110501.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_110502_110508.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_110509_110515.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_110516_110522.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_110523_110529.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_110530_110605.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_110606_110612.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_110613_110619.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_110620_110626.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_110627_110703.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_110704_110710.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_110711_110717.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_110718_110724.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_110725_110731.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_110801_110807.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_110808_110814.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_110815_110821.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_110822_110828.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_110829_110904.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_110905_110911.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_110912_110918.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_110919_110925.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_110926_111002.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_111003_111009.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_111010_111016.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_111017_111023.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_111024_111030.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_111031_111106.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_111107_111113.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_111114_111120.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_111121_111127.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_111128_111204.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_111205_111211.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_111212_111218.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_111219_111225.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_111226_120101.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_120102_120108.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_120109_120115.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_120116_120122.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_120123_120129.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_120130_120205.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_120206_120212.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_120213_120219.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_120220_120226.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_120227_120304.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_120305_120311.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_120312_120318.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_120319_120325.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_120326_120401.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_120402_120408.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_120409_120415.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_120416_120422.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_120423_120429.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_120430_120506.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_120507_120513.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_120514_120520.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_120521_120527.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_120528_120603.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_120604_120610.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_120611_120617.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_120618_120624.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_120625_120701.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_120702_120708.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_120709_120715.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_120716_120722.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_120723_120729.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_120730_120805.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_120806_120812.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_120813_120819.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_120820_120826.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_120827_120902.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_120903_120909.bc", - -- kernels .. "/DawnKernels/ck/dawn_sa_120910_120916.bc", + kernels .. "/dawn_sa_071008_071014.bc", + kernels .. "/dawn_sa_071015_071021.bc", + kernels .. "/dawn_sa_071022_071028_v2.bc", + kernels .. "/dawn_sa_071029_071104.bc", + kernels .. "/dawn_sa_071105_071111.bc", + kernels .. "/dawn_sa_071112_071118.bc", + kernels .. "/dawn_sa_071119_071125.bc", + kernels .. "/dawn_sa_071126_071202.bc", + kernels .. "/dawn_sa_071203_071209.bc", + kernels .. "/dawn_sa_071210_071216.bc", + kernels .. "/dawn_sa_071217_071223.bc", + kernels .. "/dawn_sa_071224_071230.bc", + kernels .. "/dawn_sa_071231_080106.bc", + kernels .. "/dawn_sa_080107_080113.bc", + kernels .. "/dawn_sa_080114_080120.bc", + kernels .. "/dawn_sa_080121_080127.bc", + kernels .. "/dawn_sa_080128_080203.bc", + kernels .. "/dawn_sa_080204_080210.bc", + kernels .. "/dawn_sa_080211_080217.bc", + kernels .. "/dawn_sa_080218_080224.bc", + kernels .. "/dawn_sa_080225_080302.bc", + kernels .. "/dawn_sa_080303_080309.bc", + kernels .. "/dawn_sa_080310_080316.bc", + kernels .. "/dawn_sa_080317_080323.bc", + kernels .. "/dawn_sa_080324_080330.bc", + kernels .. "/dawn_sa_080331_080406.bc", + kernels .. "/dawn_sa_080407_080413.bc", + kernels .. "/dawn_sa_080414_080420.bc", + kernels .. "/dawn_sa_080421_080427.bc", + kernels .. "/dawn_sa_080428_080504.bc", + kernels .. "/dawn_sa_080505_080511.bc", + kernels .. "/dawn_sa_080512_080518.bc", + kernels .. "/dawn_sa_080519_080525.bc", + kernels .. "/dawn_sa_080526_080601.bc", + kernels .. "/dawn_sa_080602_080608.bc", + kernels .. "/dawn_sa_080609_080615.bc", + kernels .. "/dawn_sa_080616_080622.bc", + kernels .. "/dawn_sa_080623_080629.bc", + kernels .. "/dawn_sa_080630_080706.bc", + kernels .. "/dawn_sa_080707_080713.bc", + kernels .. "/dawn_sa_080714_080720.bc", + kernels .. "/dawn_sa_080721_080727.bc", + kernels .. "/dawn_sa_080728_080803.bc", + kernels .. "/dawn_sa_080804_080810.bc", + kernels .. "/dawn_sa_080811_080817.bc", + kernels .. "/dawn_sa_080818_080824.bc", + kernels .. "/dawn_sa_080825_080831.bc", + kernels .. "/dawn_sa_080901_080907.bc", + kernels .. "/dawn_sa_080908_080914.bc", + kernels .. "/dawn_sa_080915_080921.bc", + kernels .. "/dawn_sa_080922_080928.bc", + kernels .. "/dawn_sa_080929_081005.bc", + kernels .. "/dawn_sa_081006_081012.bc", + kernels .. "/dawn_sa_081013_081019.bc", + kernels .. "/dawn_sa_081020_081026.bc", + kernels .. "/dawn_sa_081027_081102.bc", + kernels .. "/dawn_sa_081103_081109.bc", + kernels .. "/dawn_sa_081110_081116.bc", + kernels .. "/dawn_sa_081117_081123.bc", + kernels .. "/dawn_sa_081124_081130.bc", + kernels .. "/dawn_sa_081201_081207.bc", + kernels .. "/dawn_sa_081208_081214.bc", + kernels .. "/dawn_sa_081215_081221.bc", + kernels .. "/dawn_sa_081222_081228.bc", + kernels .. "/dawn_sa_081229_090104.bc", + kernels .. "/dawn_sa_090105_090111.bc", + kernels .. "/dawn_sa_090112_090118.bc", + kernels .. "/dawn_sa_090119_090125.bc", + kernels .. "/dawn_sa_090126_090201.bc", + kernels .. "/dawn_sa_090202_090208.bc", + kernels .. "/dawn_sa_090209_090215.bc", + kernels .. "/dawn_sa_090216_090222.bc", + kernels .. "/dawn_sa_090223_090301.bc", + kernels .. "/dawn_sa_090302_090308.bc", + kernels .. "/dawn_sa_090309_090315.bc", + kernels .. "/dawn_sa_090316_090322.bc", + kernels .. "/dawn_sa_090323_090329.bc", + kernels .. "/dawn_sa_090330_090405.bc", + kernels .. "/dawn_sa_090406_090412.bc", + kernels .. "/dawn_sa_090413_090419.bc", + kernels .. "/dawn_sa_090420_090426.bc", + kernels .. "/dawn_sa_090427_090503.bc", + kernels .. "/dawn_sa_090504_090510.bc", + kernels .. "/dawn_sa_090511_090517.bc", + kernels .. "/dawn_sa_090518_090524.bc", + kernels .. "/dawn_sa_090525_090531.bc", + kernels .. "/dawn_sa_090601_090607.bc", + kernels .. "/dawn_sa_090608_090614.bc", + kernels .. "/dawn_sa_090615_090621.bc", + kernels .. "/dawn_sa_090622_090628.bc", + kernels .. "/dawn_sa_090629_090705.bc", + kernels .. "/dawn_sa_090706_090712.bc", + kernels .. "/dawn_sa_090713_090719.bc", + kernels .. "/dawn_sa_090720_090726.bc", + kernels .. "/dawn_sa_090727_090802.bc", + kernels .. "/dawn_sa_090803_090809.bc", + kernels .. "/dawn_sa_090810_090816.bc", + kernels .. "/dawn_sa_090817_090823.bc", + kernels .. "/dawn_sa_090824_090830.bc", + kernels .. "/dawn_sa_090831_090906.bc", + kernels .. "/dawn_sa_090907_090913.bc", + kernels .. "/dawn_sa_090914_090920.bc", + kernels .. "/dawn_sa_090921_090927.bc", + kernels .. "/dawn_sa_090928_091004.bc", + kernels .. "/dawn_sa_091005_091011.bc", + kernels .. "/dawn_sa_091012_091018.bc", + kernels .. "/dawn_sa_091019_091025.bc", + kernels .. "/dawn_sa_091026_091101.bc", + kernels .. "/dawn_sa_091102_091108.bc", + kernels .. "/dawn_sa_091109_091115.bc", + kernels .. "/dawn_sa_091116_091122.bc", + kernels .. "/dawn_sa_091123_091129.bc", + kernels .. "/dawn_sa_091130_091206.bc", + kernels .. "/dawn_sa_091207_091213.bc", + kernels .. "/dawn_sa_091214_091220.bc", + kernels .. "/dawn_sa_091221_091227.bc", + kernels .. "/dawn_sa_091228_100103.bc", + kernels .. "/dawn_sa_100104_100110_v2.bc", + kernels .. "/dawn_sa_100111_100117_v2.bc", + kernels .. "/dawn_sa_100118_100124.bc", + kernels .. "/dawn_sa_100125_100131.bc", + kernels .. "/dawn_sa_100201_100207.bc", + kernels .. "/dawn_sa_100208_100214.bc", + kernels .. "/dawn_sa_100215_100221.bc", + kernels .. "/dawn_sa_100222_100228.bc", + kernels .. "/dawn_sa_100301_100307.bc", + kernels .. "/dawn_sa_100308_100314.bc", + kernels .. "/dawn_sa_100315_100321.bc", + kernels .. "/dawn_sa_100322_100328.bc", + kernels .. "/dawn_sa_100329_100404.bc", + kernels .. "/dawn_sa_100405_100411.bc", + kernels .. "/dawn_sa_100412_100418.bc", + kernels .. "/dawn_sa_100419_100425.bc", + kernels .. "/dawn_sa_100426_100502.bc", + kernels .. "/dawn_sa_100503_100509.bc", + kernels .. "/dawn_sa_100510_100516.bc", + kernels .. "/dawn_sa_100517_100523.bc", + kernels .. "/dawn_sa_100524_100530.bc", + kernels .. "/dawn_sa_100531_100606.bc", + kernels .. "/dawn_sa_100607_100613.bc", + kernels .. "/dawn_sa_100614_100620.bc", + kernels .. "/dawn_sa_100621_100627.bc", + kernels .. "/dawn_sa_100628_100704.bc", + kernels .. "/dawn_sa_100705_100711.bc", + kernels .. "/dawn_sa_100712_100718.bc", + kernels .. "/dawn_sa_100719_100725.bc", + kernels .. "/dawn_sa_100726_100801.bc", + kernels .. "/dawn_sa_100802_100808.bc", + kernels .. "/dawn_sa_100809_100815.bc", + kernels .. "/dawn_sa_100816_100822.bc", + kernels .. "/dawn_sa_100823_100829.bc", + kernels .. "/dawn_sa_100830_100905.bc", + kernels .. "/dawn_sa_100906_100912.bc", + kernels .. "/dawn_sa_100913_100919.bc", + kernels .. "/dawn_sa_100920_100926.bc", + kernels .. "/dawn_sa_100927_101003.bc", + kernels .. "/dawn_sa_101004_101010.bc", + kernels .. "/dawn_sa_101011_101017.bc", --]] + -- kernels .. "/dawn_sa_101018_101024.bc", + -- kernels .. "/dawn_sa_101025_101031.bc", + -- kernels .. "/dawn_sa_101101_101107.bc", + -- kernels .. "/dawn_sa_101108_101114.bc", + -- kernels .. "/dawn_sa_101115_101121.bc", + -- kernels .. "/dawn_sa_101122_101128.bc", + -- kernels .. "/dawn_sa_101129_101205.bc", + -- kernels .. "/dawn_sa_101206_101212.bc", + -- kernels .. "/dawn_sa_101213_101219.bc", + -- kernels .. "/dawn_sa_101220_101226.bc", + -- kernels .. "/dawn_sa_101227_110102.bc", + -- kernels .. "/dawn_sa_110103_110109.bc", + -- kernels .. "/dawn_sa_110110_110116.bc", + -- kernels .. "/dawn_sa_110117_110123.bc", + -- kernels .. "/dawn_sa_110124_110130.bc", + -- kernels .. "/dawn_sa_110131_110206.bc", + -- kernels .. "/dawn_sa_110207_110213.bc", + -- kernels .. "/dawn_sa_110214_110220.bc", + -- kernels .. "/dawn_sa_110221_110227.bc", + -- kernels .. "/dawn_sa_110228_110306.bc", + -- kernels .. "/dawn_sa_110307_110313.bc", + -- kernels .. "/dawn_sa_110314_110320.bc", + -- kernels .. "/dawn_sa_110321_110327.bc", + -- kernels .. "/dawn_sa_110328_110403.bc", + -- kernels .. "/dawn_sa_110404_110410.bc", + -- kernels .. "/dawn_sa_110411_110417.bc", + -- kernels .. "/dawn_sa_110418_110424.bc", + -- kernels .. "/dawn_sa_110425_110501.bc", + -- kernels .. "/dawn_sa_110502_110508.bc", + -- kernels .. "/dawn_sa_110509_110515.bc", + -- kernels .. "/dawn_sa_110516_110522.bc", + -- kernels .. "/dawn_sa_110523_110529.bc", + -- kernels .. "/dawn_sa_110530_110605.bc", + -- kernels .. "/dawn_sa_110606_110612.bc", + -- kernels .. "/dawn_sa_110613_110619.bc", + -- kernels .. "/dawn_sa_110620_110626.bc", + -- kernels .. "/dawn_sa_110627_110703.bc", + -- kernels .. "/dawn_sa_110704_110710.bc", + -- kernels .. "/dawn_sa_110711_110717.bc", + -- kernels .. "/dawn_sa_110718_110724.bc", + -- kernels .. "/dawn_sa_110725_110731.bc", + -- kernels .. "/dawn_sa_110801_110807.bc", + -- kernels .. "/dawn_sa_110808_110814.bc", + -- kernels .. "/dawn_sa_110815_110821.bc", + -- kernels .. "/dawn_sa_110822_110828.bc", + -- kernels .. "/dawn_sa_110829_110904.bc", + -- kernels .. "/dawn_sa_110905_110911.bc", + -- kernels .. "/dawn_sa_110912_110918.bc", + -- kernels .. "/dawn_sa_110919_110925.bc", + -- kernels .. "/dawn_sa_110926_111002.bc", + -- kernels .. "/dawn_sa_111003_111009.bc", + -- kernels .. "/dawn_sa_111010_111016.bc", + -- kernels .. "/dawn_sa_111017_111023.bc", + -- kernels .. "/dawn_sa_111024_111030.bc", + -- kernels .. "/dawn_sa_111031_111106.bc", + -- kernels .. "/dawn_sa_111107_111113.bc", + -- kernels .. "/dawn_sa_111114_111120.bc", + -- kernels .. "/dawn_sa_111121_111127.bc", + -- kernels .. "/dawn_sa_111128_111204.bc", + -- kernels .. "/dawn_sa_111205_111211.bc", + -- kernels .. "/dawn_sa_111212_111218.bc", + -- kernels .. "/dawn_sa_111219_111225.bc", + -- kernels .. "/dawn_sa_111226_120101.bc", + -- kernels .. "/dawn_sa_120102_120108.bc", + -- kernels .. "/dawn_sa_120109_120115.bc", + -- kernels .. "/dawn_sa_120116_120122.bc", + -- kernels .. "/dawn_sa_120123_120129.bc", + -- kernels .. "/dawn_sa_120130_120205.bc", + -- kernels .. "/dawn_sa_120206_120212.bc", + -- kernels .. "/dawn_sa_120213_120219.bc", + -- kernels .. "/dawn_sa_120220_120226.bc", + -- kernels .. "/dawn_sa_120227_120304.bc", + -- kernels .. "/dawn_sa_120305_120311.bc", + -- kernels .. "/dawn_sa_120312_120318.bc", + -- kernels .. "/dawn_sa_120319_120325.bc", + -- kernels .. "/dawn_sa_120326_120401.bc", + -- kernels .. "/dawn_sa_120402_120408.bc", + -- kernels .. "/dawn_sa_120409_120415.bc", + -- kernels .. "/dawn_sa_120416_120422.bc", + -- kernels .. "/dawn_sa_120423_120429.bc", + -- kernels .. "/dawn_sa_120430_120506.bc", + -- kernels .. "/dawn_sa_120507_120513.bc", + -- kernels .. "/dawn_sa_120514_120520.bc", + -- kernels .. "/dawn_sa_120521_120527.bc", + -- kernels .. "/dawn_sa_120528_120603.bc", + -- kernels .. "/dawn_sa_120604_120610.bc", + -- kernels .. "/dawn_sa_120611_120617.bc", + -- kernels .. "/dawn_sa_120618_120624.bc", + -- kernels .. "/dawn_sa_120625_120701.bc", + -- kernels .. "/dawn_sa_120702_120708.bc", + -- kernels .. "/dawn_sa_120709_120715.bc", + -- kernels .. "/dawn_sa_120716_120722.bc", + -- kernels .. "/dawn_sa_120723_120729.bc", + -- kernels .. "/dawn_sa_120730_120805.bc", + -- kernels .. "/dawn_sa_120806_120812.bc", + -- kernels .. "/dawn_sa_120813_120819.bc", + -- kernels .. "/dawn_sa_120820_120826.bc", + -- kernels .. "/dawn_sa_120827_120902.bc", + -- kernels .. "/dawn_sa_120903_120909.bc", + -- kernels .. "/dawn_sa_120910_120916.bc", } local Dawn = { diff --git a/data/assets/scene/solarsystem/missions/dawn/dawn_kernels.asset b/data/assets/scene/solarsystem/missions/dawn/dawn_kernels.asset index 1a52f806c2..6ee7f55abc 100644 --- a/data/assets/scene/solarsystem/missions/dawn/dawn_kernels.asset +++ b/data/assets/scene/solarsystem/missions/dawn/dawn_kernels.asset @@ -1,8 +1,8 @@ local Kernels = asset.syncedResource({ Name = "Dawn Kernels", - Type = "TorrentSynchronization", + Type = "HttpSynchronization", Identifier = "dawn_kernels", - Magnet = "magnet:?xt=urn:btih:31997fff4bffa6959c7144d24a13f5fad4604fa6&dn=DawnKernels" + Version = 1 }) asset.export("Kernels", Kernels) \ No newline at end of file diff --git a/data/assets/scene/solarsystem/missions/dawn/vesta.asset b/data/assets/scene/solarsystem/missions/dawn/vesta.asset index 2279c520a4..d6b1735e36 100644 --- a/data/assets/scene/solarsystem/missions/dawn/vesta.asset +++ b/data/assets/scene/solarsystem/missions/dawn/vesta.asset @@ -19,9 +19,9 @@ local images = asset.syncedResource({ local models = asset.syncedResource({ Name = "Vesta Models", - Type = "TorrentSynchronization", + Type = "HttpSynchronization", Identifier = "vesta_comet", - Magnet = "magnet:?xt=urn:btih:4250685907FAEC6AE242485AB3E2018DE0377559&dn=VestaComet" + Version = 1 }) local Vesta = { @@ -33,8 +33,8 @@ local Vesta = { Target = "VESTA", Observer = "SUN", Kernels = { - --kernels .. "/pck/dawn_vesta_v06.tpc", - kernels .. "/DawnKernels/spk/sb_vesta_071107.bsp" + --kernels .. "/dawn_vesta_v06.tpc", + kernels .. "/sb_vesta_071107.bsp" } }, Rotation = { diff --git a/data/assets/scene/solarsystem/missions/juno/juno.asset b/data/assets/scene/solarsystem/missions/juno/juno.asset index 8919a2235d..e3cb17202b 100644 --- a/data/assets/scene/solarsystem/missions/juno/juno.asset +++ b/data/assets/scene/solarsystem/missions/juno/juno.asset @@ -18,115 +18,115 @@ local model = asset.syncedResource({ local kernels = asset.syncedResource({ Name = "Juno Kernels", - Type = "TorrentSynchronization", + Type = "HttpSynchronization", Identifier = "juno_kernels", - Magnet = "magnet:?xt=urn:btih:5A14C9E647C689A54BAB7A7DAEB5F312E8199C91&dn=Juno&tr=udp%3a%2f%2ftracker.openbittorrent.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.opentrackr.org%3a1337%2fannounce" + Version = 1 }) local JunoKernels = { - kernels .. "/Juno/JNO_SCLKSCET.00039.tsc", - kernels .. "/Juno/juno_jade_v00.ti", - kernels .. "/Juno/juno_jedi_v00.ti", - kernels .. "/Juno/juno_jiram_v01.ti", - kernels .. "/Juno/juno_junocam_v00.ti", - kernels .. "/Juno/juno_mag_v00.ti", - kernels .. "/Juno/juno_mwr_v01.ti", - kernels .. "/Juno/juno_struct_v01.ti", - kernels .. "/Juno/juno_uvs_v00.ti", - kernels .. "/Juno/juno_v08.tf", - kernels .. "/Juno/juno_waves_v00.ti", - kernels .. "/Juno/juno_mwr_v01.ti", - kernels .. "/Juno/spk_merge_110805_171017_130515.bsp", - kernels .. "/Juno/ck/juno_sc_prl_110930_111028_jc003c01_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_111028_111125_jc004b00_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_111125_111223_jc005b00_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_111223_120127_jc006a02_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_120127_120217_jc007a00_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_120217_120316_jc008b00_v02.bc", - kernels .. "/Juno/ck/juno_sc_prl_120316_120413_jc009a00_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_120413_120511_jc010a04_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_120511_120608_jc011a01_v02.bc", - kernels .. "/Juno/ck/juno_sc_prl_120608_120706_jc012b01_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_120706_120802_jc013a01_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_120802_120824_jc014b01_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_120824_120928_jc015m00_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_120919_120928_jc015o00_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_120928_121026_jc016c03_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_121026_121123_jc017a01_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_121123_121221_jc018b01_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_121221_130118_jc019a01_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_130118_130215_jc020b01_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_130315_130412_jc022b01_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_130412_130510_jc023b03_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_130510_130607_jc024a01_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_130607_130705_jc025a00_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_130705_130802_jc026a01_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_130726_131020_jx024a02_EFB_v03.bc", - kernels .. "/Juno/ck/juno_sc_prl_130802_130830_jc027a02_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_130830_130927_jc028a01_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_130926_131025_jc029a00_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_130927_131025_jc029c01_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_131022_131025_jc029f00_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_131025_131122_jc030b04_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_131122_131220_jc031b01_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_131220_140124_jc032a01_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_140124_140214_jc033a01_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_140214_140314_jc034b01_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_140314_140411_jc035a01_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_140411_140509_jc036b01_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_140509_140606_jc037b02_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_140606_140704_jc038a01_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_140704_140801_jc039b01_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_140801_140829_jc040a01_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_140829_140926_jc041a01_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_140926_141024_jc042a01_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_141024_141121_jc043a01_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_141105_141121_jc043m01_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_141107_141121_jc043s01_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_141121_141219_jc044a01_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_141219_150123_jc045a01_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_150123_150213_jc046a01_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_150213_150313_jc047a01_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_150312_150409_jc048a01_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_150410_150508_jc049a01_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_150508_150605_jc050a01_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_150605_150703_jc051a01_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_150703_150731_jc052a01_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_150731_150828_jc053a01_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_150805_150828_jc053m00_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_150807_150828_jc053s00_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_150828_150924_jc054a00_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_150924_151023_jc055a00_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_151023_151120_jc056a00_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_151120_151218_jc057a00_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_151218_160115_jc058a00_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_160115_160212_jc059a00_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_160212_160311_jc060a00_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_160311_160408_jc061a00_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_160408_160506_jc062a00_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_160506_160603_jc063a00_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_160603_160630_jc064a00_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_160708_160729_jm0001rp_v02.bc", - kernels .. "/Juno/ck/juno_sc_prl_160729_160826_jm0002rp_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_160827_160920_jm0003a00_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_160924_161019_jm0004a00_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_161014_161115_jm0005a00_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_161022_161115_jm0005b00_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_161115_161213_jx0405rp_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_161210_170115_jm0031a00_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_170115_170201_jm0032a00_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_170201_170309_jm0041a00_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_170309_170326_jm0042rp_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_170326_170427_jm0051rp_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_170427_170518_jm0052rp_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_170518_170615_jm0061a00_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_170615_170710_jm0062a00_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_170710_170805_jm0071a00_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_170805_170831_jm0072a00_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_170831_170927_jm0081a00_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_170927_171023_jm0082a00_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_171023_171030_jm0091a00_v01.bc", - kernels .. "/Juno/ck/juno_sc_prl_171023_171030_jm0091a00_v01.bc" + 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_v08.tf", + kernels .. "/juno_waves_v00.ti", + kernels .. "/juno_mwr_v01.ti", + kernels .. "/spk_merge_110805_171017_130515.bsp", + 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" } local RotationMatrix = { diff --git a/data/assets/scene/solarsystem/missions/messenger/mercurymagnetosphere.asset b/data/assets/scene/solarsystem/missions/messenger/mercurymagnetosphere.asset new file mode 100644 index 0000000000..9a8713faf6 --- /dev/null +++ b/data/assets/scene/solarsystem/missions/messenger/mercurymagnetosphere.asset @@ -0,0 +1,59 @@ +-- mercurymagnetosphere.asset + +local assetHelper = asset.require('util/asset_helper') + +local localFolder = asset.syncedResource({ + Name = "Mercury Magnetosphere", + Type = "HttpSynchronization", + Identifier = "mercury_magnetosphere", + Version = 1 +}) + + +local MercuryRadius = 2.4397E6 + +local Magnetosphere = { + Name = "Mercury Magnetosphere", + Identifier = "MercuryMagnetosphere", + Parent = "MercuryBarycenter", + SceneRadius = 0.8E+5, + Renderable = { + Type = "RenderableTimeVaryingVolume", + SourceDirectory = localFolder, + TransferFunction = localFolder .. "/transferfunction.txt", + Variable = "rho", + StepSize = "0.003", + Dimensions = {64, 64, 64}, + GridType = "Cartesian", + SecondsBefore = 24*60*60*365*100, + SecondsAfter = 24*60*60*365*100, + Enabled = false + }, + Transform = { + Translation = { + Type = "SpiceTranslation", + Target = "MERCURY", + Observer = "MERCURY BARYCENTER", + }, + Rotation = { + Type = "SpiceRotation", + SourceFrame = "MERCURYSE", + DestinationFrame = "GALACTIC", + Kernels = { + localFolder .. "/openspace_mercury.ti" + } + }, + Scale = { + Type = "StaticScale", + Scale = MercuryRadius, + }, + }, + GUI = { + Name = "Mercury Magnetosphere", + Path = "/Solar System/Missions/Messenger" + } +} + +assetHelper.registerSceneGraphNodesAndExport(asset, { + Magnetosphere +}) diff --git a/data/assets/scene/solarsystem/missions/messenger/messengerSC.asset b/data/assets/scene/solarsystem/missions/messenger/messengerSC.asset new file mode 100644 index 0000000000..96cefed1f6 --- /dev/null +++ b/data/assets/scene/solarsystem/missions/messenger/messengerSC.asset @@ -0,0 +1,206 @@ +local assetHelper = asset.require('util/asset_helper') +local sunTransforms = asset.require('scene/solarsystem/sun/transforms') +local mercuryTransforms = asset.require('scene/solarsystem/planets/mercury/transforms') + + +local models = asset.syncedResource({ + Name = "Messenger Models", + Type = "HttpSynchronization", + Identifier = "messenger_model", + Version = 1 +}) + +local kernels = asset.syncedResource({ + Name = "Messenger Kernels", + Type = "HttpSynchronization", + Identifier = "messenger_spice", + Version = 1 +}) + + +local LocalKernels = { + kernels .. '/messenger_2548.tsc', + + kernels .. '/de405.bsp', + kernels .. '/msgr_040803_150430_150430_od431sc_2.bsp', + kernels .. '/msgr_antenna_v000.bsp', + kernels .. '/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', + + kernels .. '/msgr_1103_v02.bc', + kernels .. '/msgr_1104_v02.bc', + kernels .. '/msgr_1105_v02.bc', + kernels .. '/msgr_1106_v02.bc', + + 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' +} + + +local RotationMatrix = { + 0, 1, 0, + 0, 0, 1, + 1, 0, 0 +} + +local Messenger = { + Identifier = "Messenger", + Parent = sunTransforms.SolarSystemBarycenter.Identifier, + Transform = { + Translation = { + Type = "SpiceTranslation", + Target = "MESSENGER", + Observer = "SUN", + Kernels = LocalKernels + }, + Rotation = { + Type = "SpiceRotation", + SourceFrame = "MSGR_SPACECRAFT", + DestinationFrame = "GALACTIC", + }, + }, + GUI = { + Name = "Messenger", + Path = "/Solar System/Missions/Messenger" + } +} + +local MessengerProbeBlack = { + Identifier = "MessengerProbe_black", + Parent = Messenger.Identifier, + Renderable = { + Type = "RenderableModel", + Geometry = { + Type = "MultiModelGeometry", + GeometryFile = models .. "/MessengerProbe_black.obj" + }, + ColorTexture = models .. "/Tex_black.png", + ModelTransform = RotationMatrix + }, + GUI = { + Name = "MessengerProbe Black", + Path = "/Solar System/Missions/Messenger" + } +} + +local MessengerProbeFoil = { + Identifier = "MessengerProbe_foil", + Parent = Messenger.Identifier, + Renderable = { + Type = "RenderableModel", + Geometry = { + Type = "MultiModelGeometry", + GeometryFile = models .. "/MessengerProbe_foil.obj" + }, + ColorTexture = models .. "/foil_n2.png", + ModelTransform = RotationMatrix + }, + GUI = { + Name = "MessengerProbe foil", + Path = "/Solar System/Missions/Messenger" + } +} + +local MessengerProbeHeatShield = { + Identifier = "MessengerProbe_heatShield", + Parent = Messenger.Identifier, + Renderable = { + Type = "RenderableModel", + Geometry = { + Type = "MultiModelGeometry", + GeometryFile = models .. "/MessengerProbe_heatShield.obj" + }, + ColorTexture = models .. "/AO_heatshield4.png", + ModelTransform = RotationMatrix + }, + GUI = { + Name = "MessengerProbe Heat Sheild", + Path = "/Solar System/Missions/Messenger" + } +} + + +local MessengerProbeMetal = { + Identifier = "MessengerProbe_Metal", + Parent = Messenger.Identifier, + Renderable = { + Type = "RenderableModel", + Geometry = { + Type = "MultiModelGeometry", + GeometryFile = models .. "/MessengerProbe_metal.obj" + }, + ColorTexture = models .. "/Tex_grey.png", + ModelTransform = RotationMatrix + }, + GUI = { + Name = "MessengerProbe Metal", + Path = "/Solar System/Missions/Messenger" + } +} + + +local MessengerProbePanels = { + Identifier = "MessengerProbe_panels", + Parent = Messenger.Identifier, + Renderable = { + Type = "RenderableModel", + Geometry = { + Type = "MultiModelGeometry", + GeometryFile = models .. "/MessengerProbe_panels.obj" + }, + ColorTexture = models .. "/Messenger_tex.png", + ModelTransform = RotationMatrix + }, + GUI = { + Name = "MessengerProbe Panels", + Path = "/Solar System/Missions/Messenger" + } +} + +local MessengerTrail = { + Identifier = "MessengerTrail", + Parent = mercuryTransforms.MercuryBarycenter.Identifier, + Renderable = { + Type = "RenderableTrailOrbit", + Translation = { + Type = "SpiceTranslation", + Target = "MESSENGER", + Observer = "MERCURY BARYCENTER", + Kernels = Kernels + }, + Color = { 0.288, 0.375, 0.934 }, + EnableFade = false, + StartTime = "2011 MARCH 01 12:00:00", + EndTime = "2011 MAY 30 12:00:00", + Period = 12, + Resolution = 10000 + + }, + GUI = { + Name = "Messenger Trail", + Path = "/Solar System/Missions/Messenger" + } +} + + +assetHelper.registerSceneGraphNodesAndExport(asset, { + Messenger, + MessengerProbeBlack, + MessengerProbeFoil, + MessengerProbeHeatShield, + MessengerProbeMetal, + MessengerProbePanels, + MessengerTrail +}) diff --git a/data/assets/scene/solarsystem/missions/messenger/openspace_mercury.ti b/data/assets/scene/solarsystem/missions/messenger/openspace_mercury.ti new file mode 100644 index 0000000000..218f8c3ec2 --- /dev/null +++ b/data/assets/scene/solarsystem/missions/messenger/openspace_mercury.ti @@ -0,0 +1,33 @@ +OpenSpace ecliptic frames: +Mercury-centric Solar Ecliptic (MERCURYSE) frame + +These frames are only defined as helper frames for OpenSpace. + + +X is parallel to the geometric planet-sun position vector. + + -Y axis is the normalized component of the planet's orbital vector + + +Z axis is parallel to the cross product of the frame's +X axis + and the frame's +Y axis. + +\begindata + + FRAME_MERCURYSE = 4600199 + FRAME_4600199_NAME = 'MERCURYSE' + FRAME_4600199_CLASS = 5 + FRAME_4600199_CLASS_ID = 4600199 + FRAME_4600199_CENTER = 199 + FRAME_4600199_RELATIVE = 'J2000' + FRAME_4600199_DEF_STYLE = 'PARAMETERIZED' + FRAME_4600199_FAMILY = 'TWO-VECTOR' + FRAME_4600199_PRI_AXIS = 'X' + FRAME_4600199_PRI_VECTOR_DEF = 'OBSERVER_TARGET_POSITION' + FRAME_4600199_PRI_OBSERVER = 'MERCURY' + FRAME_4600199_PRI_TARGET = 'SUN' + FRAME_4600199_PRI_ABCORR = 'NONE' + FRAME_4600199_SEC_AXIS = 'Y' + FRAME_4600199_SEC_VECTOR_DEF = 'OBSERVER_TARGET_VELOCITY' + FRAME_4600199_SEC_OBSERVER = 'MERCURY' + FRAME_4600199_SEC_TARGET = 'SUN' + FRAME_4600199_SEC_ABCORR = 'NONE' + FRAME_4600199_SEC_FRAME = 'J2000' diff --git a/data/assets/scene/solarsystem/missions/messenger/transferfunction.txt b/data/assets/scene/solarsystem/missions/messenger/transferfunction.txt new file mode 100644 index 0000000000..7174117a1e --- /dev/null +++ b/data/assets/scene/solarsystem/missions/messenger/transferfunction.txt @@ -0,0 +1,8 @@ +width 1024 +lower 0.0 +upper 0.1 +mappingkey 0.0 255 0 0 0 +mappingkey 0.01 255 0 0 0 +mappingkey 0.1 255 255 0 100 + +mappingkey 0.5 255 255 0 255 \ No newline at end of file diff --git a/data/assets/scene/solarsystem/missions/newhorizons/charon.asset b/data/assets/scene/solarsystem/missions/newhorizons/charon.asset index cbfb0391b7..b99860f62d 100644 --- a/data/assets/scene/solarsystem/missions/newhorizons/charon.asset +++ b/data/assets/scene/solarsystem/missions/newhorizons/charon.asset @@ -1,7 +1,6 @@ local assetHelper = asset.require('util/asset_helper') local transforms = asset.require('./transforms') local sunTransforms = asset.require('scene/solarsystem/sun/transforms') -local kernels = asset.require('./kernels') diff --git a/data/assets/scene/solarsystem/missions/newhorizons/hydra.asset b/data/assets/scene/solarsystem/missions/newhorizons/hydra.asset index 3f5b5da8cb..153c653dd4 100644 --- a/data/assets/scene/solarsystem/missions/newhorizons/hydra.asset +++ b/data/assets/scene/solarsystem/missions/newhorizons/hydra.asset @@ -19,7 +19,7 @@ local Hydra = { Type = "SpiceTranslation", Target = "HYDRA", Observer = "PLUTO BARYCENTER", - Kernels = kernels .. "/new_horizons/spk/NavSE_plu047_od122.bsp" + Kernels = kernels .. "/NavSE_plu047_od122.bsp" } }, Renderable = { diff --git a/data/assets/scene/solarsystem/missions/newhorizons/kerberos.asset b/data/assets/scene/solarsystem/missions/newhorizons/kerberos.asset index e5929a7e7f..87c156dd2c 100644 --- a/data/assets/scene/solarsystem/missions/newhorizons/kerberos.asset +++ b/data/assets/scene/solarsystem/missions/newhorizons/kerberos.asset @@ -19,7 +19,7 @@ local Kerberos = { Type = "SpiceTranslation", Target = "KERBEROS", Observer = "PLUTO BARYCENTER", - Kernels = kernels.Kernels .. "/new_horizons/spk/NavSE_plu047_od122.bsp" + Kernels = kernels.Kernels .. "/NavSE_plu047_od122.bsp" }, Rotation = { Type = "SpiceRotation", diff --git a/data/assets/scene/solarsystem/missions/newhorizons/kernels.asset b/data/assets/scene/solarsystem/missions/newhorizons/kernels.asset index f86a31820f..ed6816032b 100644 --- a/data/assets/scene/solarsystem/missions/newhorizons/kernels.asset +++ b/data/assets/scene/solarsystem/missions/newhorizons/kernels.asset @@ -1,44 +1,44 @@ local Kernels = asset.syncedResource({ Name = "New Horizons Kernels", - Type = "TorrentSynchronization", + Type = "HttpSynchronization", Identifier = "newhorizons_kernels", - Magnet = "magnet:?xt=urn:btih:4AF38BDD42C5B29A0EF1CE4AB274CD91C017B8CC&dn=new_horizons&tr=udp%3a%2f%2ftracker.ccc.de%3a80%2fannounce&tr=udp%3a%2f%2ftracker.openbittorrent.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.opentrackr.org%3a1337%2fannounce" + Version = 1 }) local NewHorizonsKernels = { - Kernels .. "/new_horizons/spk/nh_pred_20141201_20190301_od122.bsp", - Kernels .. "/new_horizons/spk/NavSE_plu047_od122.bsp", - Kernels .. "/new_horizons/spk/NavPE_de433_od122.bsp", + Kernels .. "/nh_pred_20141201_20190301_od122.bsp", + Kernels .. "/NavSE_plu047_od122.bsp", + Kernels .. "/NavPE_de433_od122.bsp", - Kernels .. "/new_horizons/sclk/new-horizons_1121.tsc", + Kernels .. "/new-horizons_1121.tsc", - Kernels .. "/new_horizons/ck/nh_scispi_2015_pred.bc", - Kernels .. "/new_horizons/ck/nh_scispi_2015_recon.bc", - Kernels .. "/new_horizons/ck/nh_lorri_wcs.bc", + Kernels .. "/nh_scispi_2015_pred.bc", + Kernels .. "/nh_scispi_2015_recon.bc", + Kernels .. "/nh_lorri_wcs.bc", - Kernels .. "/new_horizons/smithed_pc_and_sp/PLU_LORRI_ALL_161216.bc", + Kernels .. "/PLU_LORRI_ALL_161216.bc", - Kernels .. "/new_horizons/pck/nh_targets_v001.tpc", - Kernels .. "/new_horizons/pck/nh_pcnh_005.tpc", + Kernels .. "/nh_targets_v001.tpc", + Kernels .. "/nh_pcnh_005.tpc", - Kernels .. "/new_horizons/fk/nh_v220.tf", - Kernels .. "/new_horizons/ik/nh_allinstruments_v002.ti", - Kernels .. "/new_horizons/ik/nh_alice_v200.ti", - Kernels .. "/new_horizons/ik/nh_lorri_v201.ti", - Kernels .. "/new_horizons/ik/nh_pepssi_v110.ti", - Kernels .. "/new_horizons/ik/nh_ralph_v100.ti", - Kernels .. "/new_horizons/ik/nh_rex_v100.ti", - Kernels .. "/new_horizons/ik/nh_sdc_v101.ti", - Kernels .. "/new_horizons/ik/nh_swap_v100.ti", - Kernels .. "/new_horizons/ik/nh_astr_v000.ti", - Kernels .. "/new_horizons/ik/nh_fss_v000.ti", - Kernels .. "/new_horizons/fk/nh_soc_misc_v001.tf", - Kernels .. "/new_horizons/spk/nh_stars.bsp", + 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", } local PlutoKernels = { - Kernels .. "/new_horizons/spk/NavPE_de433_od122.bsp", - Kernels .. "/new_horizons/spk/NavSE_plu047_od122.bsp" + Kernels .. "/NavPE_de433_od122.bsp", + Kernels .. "/NavSE_plu047_od122.bsp" } diff --git a/data/assets/scene/solarsystem/missions/newhorizons/nix.asset b/data/assets/scene/solarsystem/missions/newhorizons/nix.asset index 20494361e5..86c04c376d 100644 --- a/data/assets/scene/solarsystem/missions/newhorizons/nix.asset +++ b/data/assets/scene/solarsystem/missions/newhorizons/nix.asset @@ -19,7 +19,7 @@ local Nix = { Type = "SpiceTranslation", Target = "NIX", Observer = "PLUTO BARYCENTER", - Kernels = kernels.Kernels .. "/new_horizons/spk/NavSE_plu047_od122.bsp" + Kernels = kernels.Kernels .. "/NavSE_plu047_od122.bsp" } }, Renderable = { diff --git a/data/assets/scene/solarsystem/missions/newhorizons/pluto.asset b/data/assets/scene/solarsystem/missions/newhorizons/pluto.asset index 953866302a..48dc6f7913 100644 --- a/data/assets/scene/solarsystem/missions/newhorizons/pluto.asset +++ b/data/assets/scene/solarsystem/missions/newhorizons/pluto.asset @@ -1,7 +1,6 @@ local assetHelper = asset.require('util/asset_helper') local transforms = asset.require('./transforms') local sunTransforms = asset.require('scene/solarsystem/sun/transforms') -local kernels = asset.require('./kernels') @@ -49,6 +48,10 @@ local Pluto = { Type = "SpiceRotation", SourceFrame = "IAU_PLUTO", DestinationFrame = "GALACTIC" + }, + Scale = { + Type = "StaticScale", + Scale = 1.0 } }, Renderable = { @@ -74,7 +77,8 @@ local Pluto = { Projection = { Sequence = images, EventFile = assets .. "/core_v9h_obs_getmets_v8_time_fix_nofrcd_mld.txt", - SequenceType = "hybrid", + -- SequenceType = "hybrid", + SequenceType = "image-sequence", Observer = "NEW HORIZONS", Target = "PLUTO", Aberration = "NONE", diff --git a/data/assets/scene/solarsystem/missions/newhorizons/styx.asset b/data/assets/scene/solarsystem/missions/newhorizons/styx.asset index 56ed5b9c62..85459c5c66 100644 --- a/data/assets/scene/solarsystem/missions/newhorizons/styx.asset +++ b/data/assets/scene/solarsystem/missions/newhorizons/styx.asset @@ -19,7 +19,7 @@ local Styx = { Type = "SpiceTranslation", Target = "STYX", Observer = "PLUTO BARYCENTER", - Kernels = kernels.Kernels .. "/new_horizons/spk/NavSE_plu047_od122.bsp" + Kernels = kernels.Kernels .. "/NavSE_plu047_od122.bsp" } }, Renderable = { diff --git a/data/assets/scene/solarsystem/missions/osirisrex/model.asset b/data/assets/scene/solarsystem/missions/osirisrex/model.asset index bc611bbf75..b1366bbc51 100644 --- a/data/assets/scene/solarsystem/missions/osirisrex/model.asset +++ b/data/assets/scene/solarsystem/missions/osirisrex/model.asset @@ -7,9 +7,9 @@ local earthTransforms = asset.require('scene/solarsystem/planets/earth/transform local kernels = asset.syncedResource({ Name = "Osiris Rex Kernels", - Type = "TorrentSynchronization", + Type = "HttpSynchronization", Identifier = "osirisrex_kernels", - Magnet = "magnet:?xt=urn:btih:26719889CAAB41792B97639D29AD49B1EDBA051E&dn=OsirisRexKernels&tr=udp%3a%2f%2ftracker.openbittorrent.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.opentrackr.org%3a1337%2fannounce" + Version = 1 }) local textures = asset.syncedResource({ @@ -33,116 +33,116 @@ KernelCase = 2 -- Right now we only have the image times for case 2 local CaseDependentKernels if KernelCase == 2 then CaseDependentKernels = { - kernels .. "/OsirisRexKernels/Nominal_Observations_Science/08_Recon/525m_Sortie_v2/ORX_Recon_525mSortie_Case02.bsp", - kernels .. "/OsirisRexKernels/Nominal_Observations_Science/08_Recon/525m_Sortie_v2/Recon_525mSortie_Case02_0Latitude.bc", - kernels .. "/OsirisRexKernels/Nominal_Observations_Science/08_Recon/525m_Sortie_v2/Recon_525mSortie_Case02_atl_19145_04.atf", + kernels .. "/ORX_Recon_525mSortie_Case02.bsp", + kernels .. "/Recon_525mSortie_Case02_0Latitude.bc", + kernels .. "/Recon_525mSortie_Case02_atl_19145_04.atf", - kernels .. "/OsirisRexKernels/Nominal_Observations_Science/08_Recon/225m_Sortie_v2/ORX_Recon_225mSortie_Case02.bsp", - kernels .. "/OsirisRexKernels/Nominal_Observations_Science/08_Recon/225m_Sortie_v2/Recon_225mSortie_Case02_0Latitude.bc" + kernels .. "/ORX_Recon_225mSortie_Case02.bsp", + kernels .. "/Recon_225mSortie_Case02_0Latitude.bc" } elseif KernelCase == 5 then CaseDependentKernels = { - kernels .. "/OsirisRexKernels/Nominal_Observations_Science/08_Recon/525m_Sortie_v2/ORX_Recon_525mSortie_Case05.bsp", - kernels .. "/OsirisRexKernels/Nominal_Observations_Science/08_Recon/525m_Sortie_v2/Recon_525mSortie_Case05_20negLatitude.bc", - kernels .. "/OsirisRexKernels/Nominal_Observations_Science/08_Recon/525m_Sortie_v2/Recon_525mSortie_Case05_atl_19145_04.atf", - kernels .. "/OsirisRexKernels/Nominal_Observations_Science/08_Recon/525m_Sortie_v2/Recon_525mSortie_Case05_NominalProfile.bc", + kernels .. "/ORX_Recon_525mSortie_Case05.bsp", + kernels .. "/Recon_525mSortie_Case05_20negLatitude.bc", + kernels .. "/Recon_525mSortie_Case05_atl_19145_04.atf", + kernels .. "/Recon_525mSortie_Case05_NominalProfile.bc", - kernels .. "/OsirisRexKernels/Nominal_Observations_Science/08_Recon/225m_Sortie_v2/ORX_Recon_225mSortie_Case05.bsp", - kernels .. "/OsirisRexKernels/Nominal_Observations_Science/08_Recon/225m_Sortie_v2/Recon_225mSortie_Case05_20negLatitude.bc" + kernels .. "/ORX_Recon_225mSortie_Case05.bsp", + kernels .. "/Recon_225mSortie_Case05_20negLatitude.bc" } elseif KernelCase == 8 then CaseDependentKernels = { - kernels .. "/OsirisRexKernels/Nominal_Observations_Science/08_Recon/525m_Sortie_v2/Recon_525mSortie_Case08_NominalProfile.bc", - kernels .. "/OsirisRexKernels/Nominal_Observations_Science/08_Recon/225m_Sortie_v2/ORX_Recon_225mSortie_Case08.bsp", - kernels .. "/OsirisRexKernels/Nominal_Observations_Science/08_Recon/225m_Sortie_v2/Recon_225mSortie_Case08_40negLatitude.bc" + kernels .. "/Recon_525mSortie_Case08_NominalProfile.bc", + kernels .. "/ORX_Recon_225mSortie_Case08.bsp", + kernels .. "/Recon_225mSortie_Case08_40negLatitude.bc" } elseif KernelCase == 11 then CaseDependentKernels = { - kernels .. "/OsirisRexKernels/Nominal_Observations_Science/08_Recon/225m_Sortie_v2/ORX_Recon_225mSortie_Case11.bsp", - kernels .. "/OsirisRexKernels/Nominal_Observations_Science/08_Recon/225m_Sortie_v2/Recon_225mSortie_Case11_60negLatitude.bc" + kernels .. "/ORX_Recon_225mSortie_Case11.bsp", + kernels .. "/Recon_225mSortie_Case11_60negLatitude.bc" } end local OsirisRexKernels = { -- background -- SCLK kernels needs to be loaded before CK kernels (and generally first) - kernels .. "/OsirisRexKernels/background/sclk/ORX_SCLKSCET.00000.tsc", + kernels .. "/ORX_SCLKSCET.00000.tsc", -- This cannot be loaded correctly for some reason! --openspace.spice.loadKernel(kernels .. "/OsirisRexKernels/background/dsk/RQ36mod.oct12_CCv0001.bds") - kernels .. "/OsirisRexKernels/background/fk/orx_v04.tf", - kernels .. "/OsirisRexKernels/background/ik/orx_lidar_v00.ti", - kernels .. "/OsirisRexKernels/background/ik/orx_ocams_v03.ti", - kernels .. "/OsirisRexKernels/background/ik/orx_otes_v00.ti", - kernels .. "/OsirisRexKernels/background/ik/orx_rexis_v00.ti", - kernels .. "/OsirisRexKernels/background/ik/orx_struct_v00.ti", - kernels .. "/OsirisRexKernels/background/ik/orx_navcam_v00.ti", - kernels .. "/OsirisRexKernels/background/ik/orx_ola_v00.ti", - kernels .. "/OsirisRexKernels/background/ik/orx_ovirs_v00.ti", - kernels .. "/OsirisRexKernels/background/ik/orx_stowcam_v00.ti", - -- kernels .. "/OsirisRexKernels/background/lsk/naif0011.tls", - kernels .. "/OsirisRexKernels/background/pck/bennu_SPH250m.tpc", - kernels .. "/OsirisRexKernels/background/pck/bennu_v10.tpc", + kernels .. "/orx_v04.tf", + kernels .. "/orx_lidar_v00.ti", + kernels .. "/orx_ocams_v03.ti", + kernels .. "/orx_otes_v00.ti", + kernels .. "/orx_rexis_v00.ti", + kernels .. "/orx_struct_v00.ti", + kernels .. "/orx_navcam_v00.ti", + kernels .. "/orx_ola_v00.ti", + kernels .. "/orx_ovirs_v00.ti", + kernels .. "/orx_stowcam_v00.ti", + -- kernels .. "/naif0011.tls", + kernels .. "/bennu_SPH250m.tpc", + kernels .. "/bennu_v10.tpc", -- Low res SPK - kernels .. "/OsirisRexKernels/background/spk/orx_160917_231024_pgaa3_day15m60_v1.bsp", - kernels .. "/OsirisRexKernels/background/spk/orx_160914_231024_pgaa3_day12m60_v1.bsp", + kernels .. "/orx_160917_231024_pgaa3_day15m60_v1.bsp", + kernels .. "/orx_160914_231024_pgaa3_day12m60_v1.bsp", - kernels .. "/OsirisRexKernels/background/spk/orx_160908_231024_pgaa3_day06m60_v1.bsp", - kernels .. "/OsirisRexKernels/background/spk/spk_orx_160908_231024_pgaa2_day06m60_v3.bsp", - kernels .. "/OsirisRexKernels/background/spk/orx_160908_231024_pgaa2_day06m60.bsp", + kernels .. "/orx_160908_231024_pgaa3_day06m60_v1.bsp", + kernels .. "/spk_orx_160908_231024_pgaa2_day06m60_v3.bsp", + kernels .. "/orx_160908_231024_pgaa2_day06m60.bsp", - kernels .. "/OsirisRexKernels/background/spk/OREX_20160908_M60_complete.bsp", - kernels .. "/OsirisRexKernels/background/spk/OREX_20160904_M45_complete.bsp", + kernels .. "/OREX_20160908_M60_complete.bsp", + kernels .. "/OREX_20160904_M45_complete.bsp", -- SPK - kernels .. "/OsirisRexKernels/background/spk/de421.bsp", - kernels .. "/OsirisRexKernels/background/spk/sb-101955-76.bsp", + kernels .. "/de421.bsp", + kernels .. "/sb-101955-76.bsp", -- Nominal_Profile_LowRes - kernels .. "/OsirisRexKernels/Nominal_Profile_LowRes/Approach_600s_20180816T230000_20181119T010000.bsp", - kernels .. "/OsirisRexKernels/Nominal_Profile_LowRes/Approach_NominalProfile_600s_20180816T230000_20181119T010000.bc", - kernels .. "/OsirisRexKernels/Nominal_Profile_LowRes/DetailedSurvey_600s_20190108T000000_20190317T000000.bsp", - kernels .. "/OsirisRexKernels/Nominal_Profile_LowRes/OrbitalA_600s_20181203T230000_20190109T000000.bsp", - kernels .. "/OsirisRexKernels/Nominal_Profile_LowRes/OrbitalA_NominalProfile_600s_20181203T230000_20190109T000000.bc", - kernels .. "/OsirisRexKernels/Nominal_Profile_LowRes/OrbitalB_600s_20190316T000000_20190521T000000.bsp", - kernels .. "/OsirisRexKernels/Nominal_Profile_LowRes/DetailedSurvey_NominalProfile_600s_20190108T000000_20190317T000000.bc", - kernels .. "/OsirisRexKernels/Nominal_Profile_LowRes/OrbitalB_NominalProfile600s_20190316T000000_20190521T000000.bc", - kernels .. "/OsirisRexKernels/Nominal_Profile_LowRes/PrelimSurvey_600s_20181119T230000_20181204T010000.bsp", - kernels .. "/OsirisRexKernels/Nominal_Profile_LowRes/PrelimSurvey_NominalProfile_600s_20181119T230000_20181204T010000.bc", - kernels .. "/OsirisRexKernels/Nominal_Profile_LowRes/Recon_600s_20190519T000000_20190830T000000.bsp", - kernels .. "/OsirisRexKernels/Nominal_Profile_LowRes/Recon_NominalProfile_600s_20190519T000000_20190830T000000.bc", + kernels .. "/Approach_600s_20180816T230000_20181119T010000.bsp", + kernels .. "/Approach_NominalProfile_600s_20180816T230000_20181119T010000.bc", + kernels .. "/DetailedSurvey_600s_20190108T000000_20190317T000000.bsp", + kernels .. "/OrbitalA_600s_20181203T230000_20190109T000000.bsp", + kernels .. "/OrbitalA_NominalProfile_600s_20181203T230000_20190109T000000.bc", + kernels .. "/OrbitalB_600s_20190316T000000_20190521T000000.bsp", + kernels .. "/DetailedSurvey_NominalProfile_600s_20190108T000000_20190317T000000.bc", + kernels .. "/OrbitalB_NominalProfile600s_20190316T000000_20190521T000000.bc", + kernels .. "/PrelimSurvey_600s_20181119T230000_20181204T010000.bsp", + kernels .. "/PrelimSurvey_NominalProfile_600s_20181119T230000_20181204T010000.bc", + kernels .. "/Recon_600s_20190519T000000_20190830T000000.bsp", + kernels .. "/Recon_NominalProfile_600s_20190519T000000_20190830T000000.bc", -- Nominal_Observations_Science - kernels .. "/OsirisRexKernels/Nominal_Observations_Science/03_Approach/DustSearch_v1/Phase03_AP_DustSearch_1.bc", - kernels .. "/OsirisRexKernels/Nominal_Observations_Science/03_Approach/LightCurve_v1/Phase03_AP_LightCurve_1.bc", - kernels .. "/OsirisRexKernels/Nominal_Observations_Science/03_Approach/LightCurve_v1/Phase03_AP_LightCurve_2.bc", - kernels .. "/OsirisRexKernels/Nominal_Observations_Science/03_Approach/NatSatSearch_v1/Phase03_AP_SatSearch_1.bc", - kernels .. "/OsirisRexKernels/Nominal_Observations_Science/03_Approach/NatSatSearch_v1/Phase03_AP_SatSearch_2.bc", - kernels .. "/OsirisRexKernels/Nominal_Observations_Science/03_Approach/PhaseFunction_v1/Phase03_AP_PhaseFunction_1.bc", - kernels .. "/OsirisRexKernels/Nominal_Observations_Science/03_Approach/ShapeModel_v1/Phase03_AP_ShapeModel_1.bc", - kernels .. "/OsirisRexKernels/Nominal_Observations_Science/03_Approach/ShapeModel_v1/Phase03_AP_ShapeModel_2.bc", - kernels .. "/OsirisRexKernels/Nominal_Observations_Science/03_Approach/ShapeModel_v1/Phase03_AP_ShapeModel_3.bc", - kernels .. "/OsirisRexKernels/Nominal_Observations_Science/03_Approach/ShapeModel_v1/Phase03_AP_ShapeModel_4.bc", - kernels .. "/OsirisRexKernels/Nominal_Observations_Science/03_Approach/ShapeModel_v1/Phase03_AP_ShapeModel_5.bc", - kernels .. "/OsirisRexKernels/Nominal_Observations_Science/03_Approach/ShapeModel_v1/Phase03_AP_ShapeModel_6.bc", - kernels .. "/OsirisRexKernels/Nominal_Observations_Science/03_Approach/ShapeModel_v1/Phase03_AP_ShapeModel_7.bc", - kernels .. "/OsirisRexKernels/Nominal_Observations_Science/03_Approach/ShapeModel_v1/Phase03_AP_ShapeModel_8.bc", - kernels .. "/OsirisRexKernels/Nominal_Observations_Science/03_Approach/ShapeModel_v1/Phase03_AP_ShapeModel_9_Forced4x4.bc", - kernels .. "/OsirisRexKernels/Nominal_Observations_Science/03_Approach/SpectraMap_v1/Phase03_AP_SpectraMap_1.bc", - kernels .. "/OsirisRexKernels/Nominal_Observations_Science/04_PrelimSurvey/MapCamOLA_v1/Phase04_PS_MC_1_v1_1a.bc", - kernels .. "/OsirisRexKernels/Nominal_Observations_Science/04_PrelimSurvey/MapCamOLA_v1/Phase04_PS_MC_2_v1_1a.bc", - kernels .. "/OsirisRexKernels/Nominal_Observations_Science/04_PrelimSurvey/OLA_v1/Phase04_PS_OLA_Nominal_1.bc", - kernels .. "/OsirisRexKernels/Nominal_Observations_Science/04_PrelimSurvey/OLA_v1/Phase04_PS_OLA_Nominal_2.bc", - kernels .. "/OsirisRexKernels/Nominal_Observations_Science/04_PrelimSurvey/OLA_v1/Phase04_PS_OLA_Nominal_3.bc", - kernels .. "/OsirisRexKernels/Nominal_Observations_Science/04_PrelimSurvey/OLA_v1/Phase04_PS_OLA_Nominal_4.bc", - kernels .. "/OsirisRexKernels/Nominal_Observations_Science/04_PrelimSurvey/PolyCam_v1/Phase04_PS_PolyCam_1.bc", - kernels .. "/OsirisRexKernels/Nominal_Observations_Science/04_PrelimSurvey/PolyCam_v1/Phase04_PS_PolyCam_2.bc", - kernels .. "/OsirisRexKernels/Nominal_Observations_Science/04_PrelimSurvey/PolyCam_v1/Phase04_PS_PolyCam_3.bc", - kernels .. "/OsirisRexKernels/Nominal_Observations_Science/04_PrelimSurvey/PolyCam_v1/Phase04_PS_PolyCam_4.bc", - kernels .. "/OsirisRexKernels/Nominal_Observations_Science/04_PrelimSurvey/PolyCam_v1/Phase04_PS_PolyCam_5.bc", - kernels .. "/OsirisRexKernels/Nominal_Observations_Science/04_PrelimSurvey/PolyCam_v1/Phase04_PS_PolyCam_6.bc", + kernels .. "/Phase03_AP_DustSearch_1.bc", + kernels .. "/Phase03_AP_LightCurve_1.bc", + kernels .. "/Phase03_AP_LightCurve_2.bc", + kernels .. "/Phase03_AP_SatSearch_1.bc", + kernels .. "/Phase03_AP_SatSearch_2.bc", + kernels .. "/Phase03_AP_PhaseFunction_1.bc", + kernels .. "/Phase03_AP_ShapeModel_1.bc", + kernels .. "/Phase03_AP_ShapeModel_2.bc", + kernels .. "/Phase03_AP_ShapeModel_3.bc", + kernels .. "/Phase03_AP_ShapeModel_4.bc", + kernels .. "/Phase03_AP_ShapeModel_5.bc", + kernels .. "/Phase03_AP_ShapeModel_6.bc", + kernels .. "/Phase03_AP_ShapeModel_7.bc", + kernels .. "/Phase03_AP_ShapeModel_8.bc", + kernels .. "/Phase03_AP_ShapeModel_9_Forced4x4.bc", + kernels .. "/Phase03_AP_SpectraMap_1.bc", + kernels .. "/Phase04_PS_MC_1_v1_1a.bc", + kernels .. "/Phase04_PS_MC_2_v1_1a.bc", + kernels .. "/Phase04_PS_OLA_Nominal_1.bc", + kernels .. "/Phase04_PS_OLA_Nominal_2.bc", + kernels .. "/Phase04_PS_OLA_Nominal_3.bc", + kernels .. "/Phase04_PS_OLA_Nominal_4.bc", + kernels .. "/Phase04_PS_PolyCam_1.bc", + kernels .. "/Phase04_PS_PolyCam_2.bc", + kernels .. "/Phase04_PS_PolyCam_3.bc", + kernels .. "/Phase04_PS_PolyCam_4.bc", + kernels .. "/Phase04_PS_PolyCam_5.bc", + kernels .. "/Phase04_PS_PolyCam_6.bc", --openspace.spice.loadKernel(kernels .. "/OsirisRexKernels/Nominal_Observations_Science/06_DetailedSurvey/BaseballDiamond_v2/atl_19013_18_BBD1_info.TXT") --openspace.spice.loadKernel(kernels .. "/OsirisRexKernels/Nominal_Observations_Science/06_DetailedSurvey/BaseballDiamond_v2/atl_19014_16_BBD2_info.TXT") @@ -150,32 +150,32 @@ local OsirisRexKernels = { --openspace.spice.loadKernel(kernels .. "/OsirisRexKernels/Nominal_Observations_Science/06_DetailedSurvey/BaseballDiamond_v2/atl_19021_19_BBD4_info.TXT") --openspace.spice.loadKernel(kernels .. "/OsirisRexKernels/Nominal_Observations_Science/06_DetailedSurvey/BaseballDiamond_v2/README.txt") - kernels .. "/OsirisRexKernels/Nominal_Observations_Science/06_DetailedSurvey/BaseballDiamond_v2/atl_19013_18_BBD1_v2.bc", - kernels .. "/OsirisRexKernels/Nominal_Observations_Science/06_DetailedSurvey/BaseballDiamond_v2/atl_19014_16_BBD2_v2.bc", - kernels .. "/OsirisRexKernels/Nominal_Observations_Science/06_DetailedSurvey/BaseballDiamond_v2/atl_19020_18_BBD3_v2.bc", - kernels .. "/OsirisRexKernels/Nominal_Observations_Science/06_DetailedSurvey/BaseballDiamond_v2/atl_19021_19_BBD4_v2.bc", + kernels .. "/atl_19013_18_BBD1_v2.bc", + kernels .. "/atl_19014_16_BBD2_v2.bc", + kernels .. "/atl_19020_18_BBD3_v2.bc", + kernels .. "/atl_19021_19_BBD4_v2.bc", - kernels .. "/OsirisRexKernels/Nominal_Observations_Science/06_DetailedSurvey/EquatorialStations_v1/Phase06_DS_Equatorial_Stations_1.bc", - kernels .. "/OsirisRexKernels/Nominal_Observations_Science/06_DetailedSurvey/EquatorialStations_v1/Phase06_DS_Equatorial_Stations_2.bc", - kernels .. "/OsirisRexKernels/Nominal_Observations_Science/06_DetailedSurvey/EquatorialStations_v1/Phase06_DS_Equatorial_Stations_3.bc", - kernels .. "/OsirisRexKernels/Nominal_Observations_Science/06_DetailedSurvey/EquatorialStations_v1/Phase06_DS_Equatorial_Stations_4.bc", - kernels .. "/OsirisRexKernels/Nominal_Observations_Science/06_DetailedSurvey/EquatorialStations_v1/Phase06_DS_Equatorial_Stations_5.bc", - kernels .. "/OsirisRexKernels/Nominal_Observations_Science/06_DetailedSurvey/EquatorialStations_v1/Phase06_DS_Equatorial_Stations_6.bc", - kernels .. "/OsirisRexKernels/Nominal_Observations_Science/06_DetailedSurvey/EquatorialStations_v1/Phase06_DS_Equatorial_Stations_7.bc", - kernels .. "/OsirisRexKernels/Nominal_Observations_Science/06_DetailedSurvey/PlumeSearch_v1/Phase06_DS_Plume_Search_1.bc", - kernels .. "/OsirisRexKernels/Nominal_Observations_Science/06_DetailedSurvey/PlumeSearch_v1/Phase06_DS_Plume_Search_2.bc", - kernels .. "/OsirisRexKernels/Nominal_Observations_Science/07_OrbitalB/CandidateSampleSite_v1/Phase07_OB_CSS_Mapping_1.bc", - kernels .. "/OsirisRexKernels/Nominal_Observations_Science/07_OrbitalB/CandidateSampleSite_v1/Phase07_OB_CSS_Mapping_2.bc", - kernels .. "/OsirisRexKernels/Nominal_Observations_Science/07_OrbitalB/CandidateSampleSite_v1/Phase07_OB_CSS_Mapping_3.bc", - kernels .. "/OsirisRexKernels/Nominal_Observations_Science/07_OrbitalB/CandidateSampleSite_v2/CSS_Mapping_1.a", - kernels .. "/OsirisRexKernels/Nominal_Observations_Science/07_OrbitalB/CandidateSampleSite_v2/CSS_Mapping_2.a", - kernels .. "/OsirisRexKernels/Nominal_Observations_Science/07_OrbitalB/CandidateSampleSite_v2/CSS_Mapping_3.a", + kernels .. "/Phase06_DS_Equatorial_Stations_1.bc", + kernels .. "/Phase06_DS_Equatorial_Stations_2.bc", + kernels .. "/Phase06_DS_Equatorial_Stations_3.bc", + kernels .. "/Phase06_DS_Equatorial_Stations_4.bc", + kernels .. "/Phase06_DS_Equatorial_Stations_5.bc", + kernels .. "/Phase06_DS_Equatorial_Stations_6.bc", + kernels .. "/Phase06_DS_Equatorial_Stations_7.bc", + kernels .. "/Phase06_DS_Plume_Search_1.bc", + kernels .. "/Phase06_DS_Plume_Search_2.bc", + kernels .. "/Phase07_OB_CSS_Mapping_1.bc", + kernels .. "/Phase07_OB_CSS_Mapping_2.bc", + kernels .. "/Phase07_OB_CSS_Mapping_3.bc", + kernels .. "/CSS_Mapping_1.a", + kernels .. "/CSS_Mapping_2.a", + kernels .. "/CSS_Mapping_3.a", - --openspace.spice.loadKernel(kernels .. "/OsirisRexKernels/Nominal_Observations_Science/08_Recon/225m_Sortie_v2/Case02_0Latitude.wmv") - --openspace.spice.loadKernel(kernels .. "/OsirisRexKernels/Nominal_Observations_Science/08_Recon/225m_Sortie_v2/Case05_20negLatitude.wmv") - --openspace.spice.loadKernel(kernels .. "/OsirisRexKernels/Nominal_Observations_Science/08_Recon/225m_Sortie_v2/Case08_40negLatitude.wmv") - --openspace.spice.loadKernel(kernels .. "/OsirisRexKernels/Nominal_Observations_Science/08_Recon/225m_Sortie_v2/Case11_60negLatitude.wmv") + --openspace.spice.loadKernel(kernels .. "/Case02_0Latitude.wmv") + --openspace.spice.loadKernel(kernels .. "/Case05_20negLatitude.wmv") + --openspace.spice.loadKernel(kernels .. "/Case08_40negLatitude.wmv") + --openspace.spice.loadKernel(kernels .. "/Case11_60negLatitude.wmv") } -- Append the CaseDependentKernels at the end of the OsirisRexKernels set diff --git a/data/assets/scene/solarsystem/missions/osirisrex/script_schedule.asset b/data/assets/scene/solarsystem/missions/osirisrex/script_schedule.asset index 9c331e2000..4bbf29979c 100644 --- a/data/assets/scene/solarsystem/missions/osirisrex/script_schedule.asset +++ b/data/assets/scene/solarsystem/missions/osirisrex/script_schedule.asset @@ -1,15 +1,15 @@ local scriptSchedulerHelper = asset.require('util/script_scheduler_helper') asset.onInitialize(function () - scriptSchedulerHelper.scheduleRenderableEnabled("2016 SEP 08 23:05:00", "OsirisRexTrailSolarSystem", false) - scriptSchedulerHelper.scheduleRenderableEnabled("2016 SEP 08 23:05:00", "OsirisRexTrailBennu", false) - scriptSchedulerHelper.scheduleRenderableEnabledReversable("2016 SEP 08 23:05:01", "OsirisRexTrailEarth", true) - scriptSchedulerHelper.scheduleRenderableEnabledReversable("2016 SEP 09 00:00:00", "OsirisRexTrailSolarSystem", true) - scriptSchedulerHelper.scheduleRenderableEnabledReversable("2016 SEP 09 02:00:00", "OsirisRexTrailEarth", false) - scriptSchedulerHelper.scheduleRenderableEnabledReversable("2018 OCT 11 00:00:00", "OsirisRexTrailBennu", true) - scriptSchedulerHelper.scheduleRenderableEnabledReversable("2018 OCT 15 00:00:00", "OsirisRexTrailSolarSystem", false) - scriptSchedulerHelper.scheduleRenderableEnabledReversable("2019 AUG 01 00:00:00", "OsirisRexTrailSolarSystem", true) - scriptSchedulerHelper.scheduleRenderableEnabledReversable("2019 AUG 01 00:00:00", "OsirisRexTrailBennu", false) + scriptSchedulerHelper.scheduleRenderableEnabled("2016 SEP 08 23:05:00", "Scene.OsirisRexTrailSolarSystem", false) + scriptSchedulerHelper.scheduleRenderableEnabled("2016 SEP 08 23:05:00", "Scene.OsirisRexTrailBennu", false) + scriptSchedulerHelper.scheduleRenderableEnabledReversable("2016 SEP 08 23:05:01", "Scene.OsirisRexTrailEarth", true) + scriptSchedulerHelper.scheduleRenderableEnabledReversable("2016 SEP 09 00:00:00", "Scene.OsirisRexTrailSolarSystem", true) + scriptSchedulerHelper.scheduleRenderableEnabledReversable("2016 SEP 09 02:00:00", "Scene.OsirisRexTrailEarth", false) + scriptSchedulerHelper.scheduleRenderableEnabledReversable("2018 OCT 11 00:00:00", "Scene.OsirisRexTrailBennu", true) + scriptSchedulerHelper.scheduleRenderableEnabledReversable("2018 OCT 15 00:00:00", "Scene.OsirisRexTrailSolarSystem", false) + scriptSchedulerHelper.scheduleRenderableEnabledReversable("2019 AUG 01 00:00:00", "Scene.OsirisRexTrailSolarSystem", true) + scriptSchedulerHelper.scheduleRenderableEnabledReversable("2019 AUG 01 00:00:00", "Scene.OsirisRexTrailBennu", false) end) diff --git a/data/assets/scene/solarsystem/missions/rosetta/67p.asset b/data/assets/scene/solarsystem/missions/rosetta/67p.asset index 65739cd7f0..06ff4db8e2 100644 --- a/data/assets/scene/solarsystem/missions/rosetta/67p.asset +++ b/data/assets/scene/solarsystem/missions/rosetta/67p.asset @@ -12,25 +12,18 @@ local textures = asset.syncedResource({ local models = asset.syncedResource({ Name = "67P Models", - Type = "TorrentSynchronization", + Type = "HttpSynchronization", Identifier = "67p_models", - Magnet = "magnet:?xt=urn:btih:16BDDBA5346219C64CD818AE00DEC6FEE095BCEC&dn=67P_rotated_5_130.obj&tr=udp%3a%2f%2ftracker.openbittorrent.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.publicbt.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.ccc.de%3a80%2fannounce" + Version = 1 }) -local imagesLocal = asset.syncedResource({ +local images = asset.syncedResource({ Name = "Rosetta Images", Type = "HttpSynchronization", Identifier = "rosettaimages", Version = 1 }) -local imagesTorrent = asset.syncedResource({ - Name = "Rosetta Image Torrent", - Type = "TorrentSynchronization", - Identifier = "rosettaimages", - Magnet = "magnet:?xt=urn:btih:4218A4C0DA6DFE418A3FD408C1AC9CCB7886165E&dn=rosettaimages&tr=udp%3a%2f%2ftracker.openbittorrent.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.opentrackr.org%3a1337%2fannounce" -}) .. "/rosettaimages" - local Barycenter = { Identifier = "67PBarycenter", Parent = transforms.SolarSystemBarycenter.Identifier, @@ -65,8 +58,7 @@ local Comet67P = { }, ColorTexture = textures .. "/gray.jpg", Projection = { - Sequence = { imagesTorrent }, - -- Sequence = { imagesLocal, imagesTorrent }, + Sequence = { images }, SequenceType = "image-sequence", Observer = "ROSETTA", Target = "CHURYUMOV-GERASIMENKO", diff --git a/data/assets/scene/solarsystem/missions/rosetta/rosetta.asset b/data/assets/scene/solarsystem/missions/rosetta/rosetta.asset index 1d61cf68bc..566695f1fe 100644 --- a/data/assets/scene/solarsystem/missions/rosetta/rosetta.asset +++ b/data/assets/scene/solarsystem/missions/rosetta/rosetta.asset @@ -20,59 +20,59 @@ local models = asset.syncedResource({ local kernels = asset.syncedResource({ Name = "Rosetta Kernels", - Type = "TorrentSynchronization", + Type = "HttpSynchronization", Identifier = "rosetta_kernels", - Magnet = "magnet:?xt=urn:btih:5DE346AE06D62FC53BEBBBBF591D1CA7715F6F64&dn=Rosetta&tr=udp%3a%2f%2ftracker.openbittorrent.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.opentrackr.org%3a1337%2fannounce" + Version = 1 }) local RosettaKernels = { - kernels .. "/Rosetta/SCLK/ROS_160718_STEP.TSC", - kernels .. "/Rosetta/SCLK/ros_triv.tsc", + kernels .. "/ROS_160718_STEP.TSC", + kernels .. "/ros_triv.tsc", - kernels .. "/Rosetta/SPK/CORB_DV_243_01___T19_00325.BSP", - kernels .. "/Rosetta/SPK/CORB_DV_223_01___T19_00302.BSP", - kernels .. "/Rosetta/SPK/CORB_DV_145_01___T19_00216.BSP", + 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 .. "/Rosetta/SPK/LORB_DV_236_01___T19_00318.BSP", - kernels .. "/Rosetta/SPK/LORB_DV_223_01___T19_00302.BSP", - kernels .. "/Rosetta/SPK/LORB_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 .. "/Rosetta/SPK/RORB_DV_243_01___T19_00325.BSP", - kernels .. "/Rosetta/SPK/RORB_DV_223_01___T19_00302.BSP", - kernels .. "/Rosetta/SPK/RORB_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 .. "/Rosetta/CK/ATNR_P040302093352_00127.BC", + kernels .. "/ATNR_P040302093352_00127.BC", - kernels .. "/Rosetta/SPK/ROS_STRUCT_V5.BSP", + kernels .. "/ROS_STRUCT_V5.BSP", - kernels .. "/Rosetta/IK/ROS_NAVCAM_V01.TI", + kernels .. "/ROS_NAVCAM_V01.TI", - kernels .. "/Rosetta/FK/ROS_CHURYUMOV_V01.TF", - kernels .. "/Rosetta/FK/ROS_V26.TF", + kernels .. "/ROS_CHURYUMOV_V01.TF", + kernels .. "/ROS_V26.TF", -- CK -- Rosetta attitude - kernels .. "/Rosetta/CK/RATT_DV_243_01_01____00325.BC", - kernels .. "/Rosetta/CK/RATT_DV_223_01_01____00302.BC", - kernels .. "/Rosetta/CK/RATT_DV_145_01_01____00216.BC", + 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 .. "/Rosetta/CK/CATT_DV_243_01_______00325.BC", - kernels .. "/Rosetta/CK/CATT_DV_223_01_______00302.BC", - kernels .. "/Rosetta/CK/CATT_DV_145_01_______00216.BC", + 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 .. "/Rosetta/CK/ROS_HGA_2016_V0035.BC", - kernels .. "/Rosetta/CK/ROS_HGA_2015_V0053.BC", - kernels .. "/Rosetta/CK/ROS_HGA_2014_V0044.BC", + kernels .. "/ROS_HGA_2016_V0035.BC", + kernels .. "/ROS_HGA_2015_V0053.BC", + kernels .. "/ROS_HGA_2014_V0044.BC", -- Solar arrays - kernels .. "/Rosetta/CK/ROS_SA_2016_V0034.BC", - kernels .. "/Rosetta/CK/ROS_SA_2015_V0042.BC", - kernels .. "/Rosetta/CK/ROS_SA_2014_V0047.BC", + kernels .. "/ROS_SA_2016_V0034.BC", + kernels .. "/ROS_SA_2015_V0042.BC", + kernels .. "/ROS_SA_2014_V0047.BC", - kernels .. "/Rosetta/PCK/ROS_CGS_RSOC_V03.TPC" + kernels .. "/ROS_CGS_RSOC_V03.TPC" } local RotationMatrix = { diff --git a/data/assets/scene/solarsystem/planets/earth/earth.asset b/data/assets/scene/solarsystem/planets/earth/earth.asset index e1074505e2..8335fb94a9 100644 --- a/data/assets/scene/solarsystem/planets/earth/earth.asset +++ b/data/assets/scene/solarsystem/planets/earth/earth.asset @@ -12,6 +12,12 @@ local mapServiceConfigsPath = asset.localResource("map_service_configs") local Earth = { Identifier = "Earth", Parent = transforms.EarthIAU.Identifier, + Transform = { + Scale = { + Type = "StaticScale", + Scale = 1.0 + } + }, Renderable = { Type = "RenderableGlobe", Radii = earthEllipsoid, @@ -33,7 +39,7 @@ local Earth = { FilePath = openspace.globebrowsing.createTemporalGibsGdalXml( "VIIRS_SNPP_CorrectedReflectance_TrueColor", "2015-11-24", - "Yesterday", + "Today", "1d", "250m", "jpg" @@ -240,6 +246,7 @@ local Earth = { TilePixelSize = 64, Fallback = { Name = "Earth Bluemarble Height", + Identifier = "Earth_Bluemarble_Height", FilePath = texturesPath .. "/earth_bluemarble_height.jpg", Enabled = true } diff --git a/data/assets/scene/solarsystem/planets/earth/transforms.asset b/data/assets/scene/solarsystem/planets/earth/transforms.asset index e93c136f2b..39fe3a9304 100644 --- a/data/assets/scene/solarsystem/planets/earth/transforms.asset +++ b/data/assets/scene/solarsystem/planets/earth/transforms.asset @@ -56,8 +56,6 @@ local EarthIAU = { } } - - assetHelper.registerSceneGraphNodesAndExport(asset, { EarthBarycenter, EarthInertial, diff --git a/data/assets/scene/solarsystem/planets/jupiter/callisto/callisto.asset b/data/assets/scene/solarsystem/planets/jupiter/callisto/callisto.asset index 6f1abe17c6..2075bbe6c8 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/callisto/callisto.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/callisto/callisto.asset @@ -2,7 +2,7 @@ local transforms = asset.require('../transforms') local assetHelper = asset.require('util/asset_helper') asset.require("spice/base") asset.request('./trail') -local kernels = asset.require('../jup310').Kernels +local kernel = asset.require('../kernels').jup310 @@ -21,13 +21,13 @@ local Callisto = { Type = "SpiceRotation", SourceFrame = "IAU_CALLISTO", DestinationFrame = "GALACTIC", - Kernels = kernels + Kernels = kernel }, Translation = { Type = "SpiceTranslation", Target = "CALLISTO", Observer = "JUPITER BARYCENTER", - Kernels = kernels + Kernels = kernel } }, Renderable = { diff --git a/data/assets/scene/solarsystem/planets/jupiter/callisto/trail.asset b/data/assets/scene/solarsystem/planets/jupiter/callisto/trail.asset index 2c4f4e58a0..f3dccc4bb8 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/callisto/trail.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/callisto/trail.asset @@ -1,7 +1,7 @@ local transforms = asset.require('../transforms') local assetHelper = asset.require('util/asset_helper') asset.require("spice/base") -local kernels = asset.require('../jup310').Kernels +local kernel = asset.require('../kernels').jup310 @@ -14,7 +14,7 @@ local CallistoTrail = { Type = "SpiceTranslation", Target = "CALLISTO", Observer = "JUPITER BARYCENTER", - Kernels = kernels + Kernels = kernel }, Color = { 0.4, 0.3, 0.01 }, Period = 17.0, diff --git a/data/assets/scene/solarsystem/planets/jupiter/europa/europa.asset b/data/assets/scene/solarsystem/planets/jupiter/europa/europa.asset index d37e1d2d3b..39f6578a3b 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/europa/europa.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/europa/europa.asset @@ -2,7 +2,7 @@ local transforms = asset.require('../transforms') local assetHelper = asset.require('util/asset_helper') asset.require("spice/base") asset.request('./trail') -local kernels = asset.require('../jup310').Kernels +local kernel = asset.require('../kernels').jup310 @@ -21,13 +21,13 @@ local Europa = { Type = "SpiceRotation", SourceFrame = "IAU_EUROPA", DestinationFrame = "GALACTIC", - Kernels = kernels + Kernels = kernel }, Translation = { Type = "SpiceTranslation", Target = "EUROPA", Observer = "JUPITER BARYCENTER", - Kernels = kernels + Kernels = kernel } }, Renderable = { diff --git a/data/assets/scene/solarsystem/planets/jupiter/europa/trail.asset b/data/assets/scene/solarsystem/planets/jupiter/europa/trail.asset index 9c450158f7..63adced944 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/europa/trail.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/europa/trail.asset @@ -1,7 +1,7 @@ local transforms = asset.require('../transforms') local assetHelper = asset.require('util/asset_helper') asset.require("spice/base") -local kernels = asset.require('../jup310').Kernels +local kernel = asset.require('../kernels').jup310 @@ -14,7 +14,7 @@ local EuropaTrail = { Type = "SpiceTranslation", Target = "EUROPA", Observer = "JUPITER BARYCENTER", - Kernels = kernels + Kernels = kernel }, Color = { 0.5, 0.3, 0.3 }, Period = 85.0 / 24.0, diff --git a/data/assets/scene/solarsystem/planets/jupiter/ganymede/ganymede.asset b/data/assets/scene/solarsystem/planets/jupiter/ganymede/ganymede.asset index 42efa8d7cb..7f61f4d7e1 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/ganymede/ganymede.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/ganymede/ganymede.asset @@ -2,7 +2,7 @@ local transforms = asset.require('../transforms') local assetHelper = asset.require('util/asset_helper') asset.require("spice/base") asset.request('./trail') -local kernels = asset.require('../jup310').Kernels +local kernel = asset.require('../kernels').jup310 @@ -21,13 +21,13 @@ local Ganymede = { Type = "SpiceRotation", SourceFrame = "IAU_GANYMEDE", DestinationFrame = "GALACTIC", - Kernels = kernels + Kernels = kernel }, Translation = { Type = "SpiceTranslation", Target = "GANYMEDE", Observer = "JUPITER BARYCENTER", - Kernels = kernels + Kernels = kernel } }, Renderable = { diff --git a/data/assets/scene/solarsystem/planets/jupiter/ganymede/trail.asset b/data/assets/scene/solarsystem/planets/jupiter/ganymede/trail.asset index 580e1429f3..3dfb4913d9 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/ganymede/trail.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/ganymede/trail.asset @@ -1,7 +1,7 @@ local transforms = asset.require('../transforms') local assetHelper = asset.require('util/asset_helper') asset.require("spice/base") -local kernels = asset.require('../jup310').Kernels +local kernel = asset.require('../kernels').jup310 @@ -14,7 +14,7 @@ local GanymedeTrail = { Type = "SpiceTranslation", Target = "GANYMEDE", Observer = "JUPITER BARYCENTER", - Kernels = kernels + Kernels = kernel }, Color = { 0.4, 0.3, 0.3 }, Period = 172.0 / 24.0, diff --git a/data/assets/scene/solarsystem/planets/jupiter/io/io.asset b/data/assets/scene/solarsystem/planets/jupiter/io/io.asset index 62d8309243..a5e7c63ecd 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/io/io.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/io/io.asset @@ -2,7 +2,7 @@ local transforms = asset.require('../transforms') local assetHelper = asset.require('util/asset_helper') asset.require("spice/base") asset.request('./trail') -local kernels = asset.require('../jup310').Kernels +local kernel = asset.require('../kernels').jup310 @@ -21,13 +21,13 @@ local Io = { Type = "SpiceRotation", SourceFrame = "IAU_IO", DestinationFrame = "GALACTIC", - Kernels = kernels + Kernels = kernel }, Translation = { Type = "SpiceTranslation", Target = "IO", Observer = "JUPITER BARYCENTER", - Kernels = kernels + Kernels = kernel }, }, Renderable = { diff --git a/data/assets/scene/solarsystem/planets/jupiter/io/trail.asset b/data/assets/scene/solarsystem/planets/jupiter/io/trail.asset index a971aaf806..75fd312b91 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/io/trail.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/io/trail.asset @@ -1,7 +1,7 @@ local transforms = asset.require('../transforms') local assetHelper = asset.require('util/asset_helper') asset.require("spice/base") -local kernels = asset.require('../jup310').Kernels +local kernel = asset.require('../kernels').jup310 @@ -14,7 +14,7 @@ local IoTrail = { Type = "SpiceTranslation", Target = "IO", Observer = "JUPITER BARYCENTER", - Kernels = kernels + Kernels = kernel }, Color = { 0.4, 0.4, 0.2 }, Period = 42.0 / 24.0, diff --git a/data/assets/scene/solarsystem/planets/jupiter/jup310.asset b/data/assets/scene/solarsystem/planets/jupiter/jup310.asset deleted file mode 100644 index c15f6d9553..0000000000 --- a/data/assets/scene/solarsystem/planets/jupiter/jup310.asset +++ /dev/null @@ -1,8 +0,0 @@ -local Kernels = asset.syncedResource({ - Name = "Jupiter Spice Kernels (jup310)", - Type = "TorrentSynchronization", - Identifier = "jup310", - Magnet = "magnet:?xt=urn:btih:E8B7D7E136DE1C6249158B254BFC8B9ECE2A0539&dn=jup310.bsp&tr=udp%3a%2f%2ftracker.openbittorrent.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.publicbt.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.ccc.de%3a80%2fannounce" -}) - -asset.export("Kernels", Kernels .. '/jup310.bsp') diff --git a/data/assets/scene/solarsystem/planets/jupiter/jup341.asset b/data/assets/scene/solarsystem/planets/jupiter/jup341.asset deleted file mode 100644 index c6a3a49291..0000000000 --- a/data/assets/scene/solarsystem/planets/jupiter/jup341.asset +++ /dev/null @@ -1,8 +0,0 @@ -local Kernels = asset.syncedResource({ - Name = "Jupiter Spice Kernels (jup341)", - Type = "TorrentSynchronization", - Identifier = "jup341", - Magnet = "magnet:?xt=urn:btih:276AC14CF861D45102DF8509F1D978C54A8C8D92&dn=jup341.bsp&tr=udp%3a%2f%2ftracker.openbittorrent.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.publicbt.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.ccc.de%3a80%2fannounce" -}) - -asset.export("Kernels", Kernels .. '/jup341.bsp') diff --git a/data/assets/scene/solarsystem/planets/jupiter/jupiter.asset b/data/assets/scene/solarsystem/planets/jupiter/jupiter.asset index 9333c339c1..b15a546a5e 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/jupiter.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/jupiter.asset @@ -20,6 +20,10 @@ local Jupiter = { Type = "SpiceRotation", SourceFrame = "IAU_JUPITER", DestinationFrame = "GALACTIC" + }, + Scale = { + Type = "StaticScale", + Scale = 1.0 } }, Renderable = { diff --git a/data/assets/scene/solarsystem/planets/jupiter/kernels.asset b/data/assets/scene/solarsystem/planets/jupiter/kernels.asset new file mode 100644 index 0000000000..cbceefcfc2 --- /dev/null +++ b/data/assets/scene/solarsystem/planets/jupiter/kernels.asset @@ -0,0 +1,9 @@ +local Kernels = asset.syncedResource({ + Name = "Jupiter Spice Kernels", + Type = "HttpSynchronization", + Identifier = "jupiter_kernels", + Version = 1 +}) + +asset.export("jup310", Kernels .. '/jup310.bsp') +asset.export("jup341", Kernels .. '/jup341.bsp') diff --git a/data/assets/scene/solarsystem/planets/jupiter/minor/ananke_group.asset b/data/assets/scene/solarsystem/planets/jupiter/minor/ananke_group.asset index dad2a58ad3..10e0a917db 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/minor/ananke_group.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/minor/ananke_group.asset @@ -1,7 +1,7 @@ local assetHelper = asset.require('util/asset_helper') local proceduralGlobes = asset.require('util/procedural_globe') local transforms = asset.require('../transforms') -local kernels341 = asset.require('../jup341').Kernels +local kernel = asset.require('../kernels').jup341 @@ -26,7 +26,7 @@ local anankeGroup = { }, TrailColor = trailColor, OrbitPeriod = 588.36, - Kernels = kernels341 + Kernels = kernel }, { Identifier = "Thelxinoe", @@ -42,7 +42,7 @@ local anankeGroup = { }, TrailColor = trailColor, OrbitPeriod = 597.61, - Kernels = kernels341 + Kernels = kernel }, { Identifier = "Euanthe", @@ -58,7 +58,7 @@ local anankeGroup = { }, TrailColor = trailColor, OrbitPeriod = 598.09, - Kernels = kernels341 + Kernels = kernel }, { Identifier = "Iocaste", @@ -74,7 +74,7 @@ local anankeGroup = { }, TrailColor = trailColor, OrbitPeriod = 609.43, - Kernels = kernels341 + Kernels = kernel }, { Identifier = "S2003J16", @@ -91,7 +91,7 @@ local anankeGroup = { }, TrailColor = trailColor, OrbitPeriod = 610.36, - Kernels = kernels341 + Kernels = kernel }, { Identifier = "Praxidike", @@ -107,7 +107,7 @@ local anankeGroup = { }, TrailColor = trailColor, OrbitPeriod = 613.90, - Kernels = kernels341 + Kernels = kernel }, { Identifier = "Harpalyke", @@ -123,7 +123,7 @@ local anankeGroup = { }, TrailColor = trailColor, OrbitPeriod = 624.54, - Kernels = kernels341 + Kernels = kernel }, { Identifier = "Mneme", @@ -139,7 +139,7 @@ local anankeGroup = { }, TrailColor = trailColor, OrbitPeriod = 627.48, - Kernels = kernels341 + Kernels = kernel }, { Identifier = "Hermippe", @@ -155,7 +155,7 @@ local anankeGroup = { }, TrailColor = trailColor, OrbitPeriod = 629.81, - Kernels = kernels341 + Kernels = kernel }, { Identifier = "Thyone", @@ -171,7 +171,7 @@ local anankeGroup = { }, TrailColor = trailColor, OrbitPeriod = 639.80, - Kernels = kernels341 + Kernels = kernel }, { Identifier = "Ananke", @@ -187,7 +187,7 @@ local anankeGroup = { }, TrailColor = trailColor, OrbitPeriod = 640.38, - Kernels = kernels341 + Kernels = kernel } } diff --git a/data/assets/scene/solarsystem/planets/jupiter/minor/carme_group.asset b/data/assets/scene/solarsystem/planets/jupiter/minor/carme_group.asset index e84e241bf7..8de8a13d85 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/minor/carme_group.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/minor/carme_group.asset @@ -1,7 +1,7 @@ local assetHelper = asset.require('util/asset_helper') local proceduralGlobes = asset.require('util/procedural_globe') local transforms = asset.require('../transforms') -local kernels341 = asset.require('../jup341').Kernels +local kernel = asset.require('../kernels').jup341 @@ -25,7 +25,7 @@ local carmeGroup = { }, TrailColor = trailColor, OrbitPeriod = 672.75, - Kernels = kernels341 + Kernels = kernel }, { Identifier = "Aitne", @@ -41,7 +41,7 @@ local carmeGroup = { }, TrailColor = trailColor, OrbitPeriod = 679.64, - Kernels = kernels341 + Kernels = kernel }, { Identifier = "Kale", @@ -57,7 +57,7 @@ local carmeGroup = { }, TrailColor = trailColor, OrbitPeriod = 685.32, - Kernels = kernels341 + Kernels = kernel }, { Identifier = "Taygete", @@ -73,7 +73,7 @@ local carmeGroup = { }, TrailColor = trailColor, OrbitPeriod = 686.67, - Kernels = kernels341 + Kernels = kernel }, { Identifier = "Chaldene", @@ -89,7 +89,7 @@ local carmeGroup = { }, TrailColor = trailColor, OrbitPeriod = 699.33, - Kernels = kernels341 + Kernels = kernel }, { Identifier = "Erinome", @@ -105,7 +105,7 @@ local carmeGroup = { }, TrailColor = trailColor, OrbitPeriod = 711.96, - Kernels = kernels341 + Kernels = kernel }, { Identifier = "Kallichore", @@ -121,7 +121,7 @@ local carmeGroup = { }, TrailColor = trailColor, OrbitPeriod = 717.81, - Kernels = kernels341 + Kernels = kernel }, { Identifier = "Kalyke", @@ -137,7 +137,7 @@ local carmeGroup = { }, TrailColor = trailColor, OrbitPeriod = 721.02, - Kernels = kernels341 + Kernels = kernel }, { Identifier = "Pasithee", @@ -153,7 +153,7 @@ local carmeGroup = { }, TrailColor = trailColor, OrbitPeriod = 726.93, - Kernels = kernel341 + Kernels = kernel }, { Identifier = "S2010J1", @@ -170,7 +170,7 @@ local carmeGroup = { }, TrailColor = trailColor, OrbitPeriod = 722.83, - Kernels = kernels341 + Kernels = kernel }, { Identifier = "Eukelade", @@ -186,7 +186,7 @@ local carmeGroup = { }, TrailColor = trailColor, OrbitPeriod = 735.20, - Kernels = kernels341 + Kernels = kernel }, { Identifier = "Arche", @@ -202,7 +202,7 @@ local carmeGroup = { }, TrailColor = trailColor, OrbitPeriod = 746.19, - Kernels = kernels341 + Kernels = kernel }, { Identifier = "Isonoe", @@ -218,7 +218,7 @@ local carmeGroup = { }, TrailColor = trailColor, OrbitPeriod = 750.13, - Kernels = kernels341 + Kernels = kernel }, { Identifier = "Carme", @@ -234,7 +234,7 @@ local carmeGroup = { }, TrailColor = trailColor, OrbitPeriod = 763.95, - Kernels = kernels341 + Kernels = kernel }, { Identifier = "S2003J5", @@ -251,7 +251,7 @@ local carmeGroup = { }, TrailColor = trailColor, OrbitPeriod = 758.34, - Kernels = kernels341 + Kernels = kernel }, } diff --git a/data/assets/scene/solarsystem/planets/jupiter/minor/carpo_group.asset b/data/assets/scene/solarsystem/planets/jupiter/minor/carpo_group.asset index 0125e88f37..157b5dbbfd 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/minor/carpo_group.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/minor/carpo_group.asset @@ -1,7 +1,7 @@ local assetHelper = asset.require('util/asset_helper') local proceduralGlobes = asset.require('util/procedural_globe') local transforms = asset.require('../transforms') -local kernels341 = asset.require('../jup341').Kernels +local kernel = asset.require('../kernels').jup341 @@ -25,7 +25,7 @@ local carpoGroup = { }, TrailColor = trailColor, OrbitPeriod = 458.62, - Kernels = kernels341 + Kernels = kernel } } diff --git a/data/assets/scene/solarsystem/planets/jupiter/minor/himalia_group.asset b/data/assets/scene/solarsystem/planets/jupiter/minor/himalia_group.asset index 11091923d4..be1c62726f 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/minor/himalia_group.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/minor/himalia_group.asset @@ -1,7 +1,7 @@ local assetHelper = asset.require('util/asset_helper') local proceduralGlobes = asset.require('util/procedural_globe') local transforms = asset.require('../transforms') -local kernels341 = asset.require('../jup341').Kernels +local kernel = asset.require('../kernels').jup341 @@ -25,7 +25,7 @@ local himaliaGroup = { }, TrailColor = trailColor, OrbitPeriod = 240.82, - Kernels = kernels341 + Kernels = kernel }, { Identifier = "Himalia", @@ -41,7 +41,7 @@ local himaliaGroup = { }, TrailColor = trailColor, OrbitPeriod = 250.23, - Kernels = kernels341 + Kernels = kernel }, { Identifier = "Lysithea", @@ -57,7 +57,7 @@ local himaliaGroup = { }, TrailColor = trailColor, OrbitPeriod = 259.89, - Kernels = kernels341 + Kernels = kernel }, { Identifier = "Elara", @@ -73,7 +73,7 @@ local himaliaGroup = { }, TrailColor = trailColor, OrbitPeriod = 257.62, - Kernels = kernels341 + Kernels = kernel }, { Identifier = "Dia", @@ -90,7 +90,7 @@ local himaliaGroup = { }, TrailColor = trailColor, OrbitPeriod = 287.93, - Kernels = kernels341 + Kernels = kernel } } diff --git a/data/assets/scene/solarsystem/planets/jupiter/minor/inner_group.asset b/data/assets/scene/solarsystem/planets/jupiter/minor/inner_group.asset index fbc0a0713e..2cf3045233 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/minor/inner_group.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/minor/inner_group.asset @@ -1,7 +1,7 @@ local assetHelper = asset.require('util/asset_helper') local proceduralGlobes = asset.require('util/procedural_globe') local transforms = asset.require('../transforms') -local kernels341 = asset.require('../jup341').Kernels +local kernel = asset.require('../kernels').jup341 @@ -25,7 +25,7 @@ local innerMoons = { }, TrailColor = trailColor, OrbitPeriod = 0.117912037, - Kernels = kernels341 + Kernels = kernel }, { Identifier = "Adrastea", @@ -41,7 +41,7 @@ local innerMoons = { }, TrailColor = trailColor, OrbitPeriod = 0.2982638889, - Kernels = kernels341 + Kernels = kernel }, { Identifier = "Amalthea", @@ -57,7 +57,7 @@ local innerMoons = { }, TrailColor = trailColor, OrbitPeriod = 0.4981828704, - Kernels = kernels341 + Kernels = kernel }, { Identifier = "Thebe", @@ -73,7 +73,7 @@ local innerMoons = { }, TrailColor = trailColor, OrbitPeriod = 0.6745023148, - Kernels = kernels341 + Kernels = kernel } } diff --git a/data/assets/scene/solarsystem/planets/jupiter/minor/other_groups.asset b/data/assets/scene/solarsystem/planets/jupiter/minor/other_groups.asset index b03ce0909e..d7951c5185 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/minor/other_groups.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/minor/other_groups.asset @@ -1,7 +1,7 @@ local assetHelper = asset.require('util/asset_helper') local proceduralGlobes = asset.require('util/procedural_globe') local transforms = asset.require('../transforms') -local kernels341 = asset.require('../jup341').Kernels +local kernel = asset.require('../kernels').jup341 @@ -26,7 +26,7 @@ local otherGroups = { }, TrailColor = trailColor, OrbitPeriod = 482.69, - Kernels = kernels341 + Kernels = kernel }, { Identifier = "S/2003J3", @@ -43,7 +43,7 @@ local otherGroups = { }, TrailColor = trailColor, OrbitPeriod = 561.52, - Kernels = kernels341 + Kernels = kernel }, { Identifier = "S2011J1", @@ -60,7 +60,7 @@ local otherGroups = { }, TrailColor = trailColor, OrbitPeriod = 582.22, - Kernels = kernels341 + Kernels = kernel }, { Identifier = "S2003J19", @@ -77,7 +77,7 @@ local otherGroups = { }, TrailColor = trailColor, OrbitPeriod = 699.12, - Kernels = kernels341 + Kernels = kernel }, { Identifier = "S2003J10", @@ -94,7 +94,7 @@ local otherGroups = { }, TrailColor = trailColor, OrbitPeriod = 700.13, - Kernels = kernels341 + Kernels = kernel }, { Identifier = "S2003J23", @@ -111,7 +111,7 @@ local otherGroups = { }, TrailColor = trailColor, OrbitPeriod = 700.54, - Kernels = kernels341 + Kernels = kernel }, { Identifier = "S2003J9", @@ -128,7 +128,7 @@ local otherGroups = { }, TrailColor = trailColor, OrbitPeriod = 752.84, - Kernels = kernels341 + Kernels = kernel }, { Identifier = "S2003J2", @@ -145,7 +145,7 @@ local otherGroups = { }, TrailColor = trailColor, OrbitPeriod = 981.55, - Kernels = kernels341 + Kernels = kernel } } diff --git a/data/assets/scene/solarsystem/planets/jupiter/minor/pasiphae_group.asset b/data/assets/scene/solarsystem/planets/jupiter/minor/pasiphae_group.asset index ed922bbd00..b577a3e5f1 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/minor/pasiphae_group.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/minor/pasiphae_group.asset @@ -1,7 +1,7 @@ local assetHelper = asset.require('util/asset_helper') local proceduralGlobes = asset.require('util/procedural_globe') local transforms = asset.require('../transforms') -local kernels341 = asset.require('../jup341').Kernels +local kernel = asset.require('../kernels').jup341 @@ -25,7 +25,7 @@ local pasiphaeGroup = { }, TrailColor = trailColor, OrbitPeriod = 538.78, - Kernels = kernels341 + Kernels = kernel }, { Identifier = "S2003J18", @@ -42,7 +42,7 @@ local pasiphaeGroup = { }, TrailColor = trailColor, OrbitPeriod = 587.38, - Kernels = kernels341 + Kernels = kernel }, { Identifier = "Helike", @@ -58,7 +58,7 @@ local pasiphaeGroup = { }, TrailColor = trailColor, OrbitPeriod = 601.40, - Kernels = kernels341 + Kernels = kernel }, { Identifier = "Orthosie", @@ -74,7 +74,7 @@ local pasiphaeGroup = { }, TrailColor = trailColor, OrbitPeriod = 602.62, - Kernels = kernels341 + Kernels = kernel }, { Identifier = "S2016J1", @@ -91,7 +91,7 @@ local pasiphaeGroup = { }, TrailColor = trailColor, OrbitPeriod = 603.83, - Kernels = kernels341 + Kernels = kernel }, { Identifier = "S2003J15", @@ -108,7 +108,7 @@ local pasiphaeGroup = { }, TrailColor = trailColor, OrbitPeriod = 699.68, - Kernels = kernels341 + Kernels = kernel }, { Identifier = "Aoede", @@ -124,7 +124,7 @@ local pasiphaeGroup = { }, TrailColor = trailColor, OrbitPeriod = 714.66, - Kernels = kernels341 + Kernels = kernel }, { Identifier = "Callirrhoe", @@ -140,7 +140,7 @@ local pasiphaeGroup = { }, TrailColor = trailColor, OrbitPeriod = 727.11, - Kernels = kernels341 + Kernels = kernel }, { Identifier = "Eurydome", @@ -156,7 +156,7 @@ local pasiphaeGroup = { }, TrailColor = trailColor, OrbitPeriod = 723.36, - Kernels = kernels341 + Kernels = kernel }, { Identifier = "Kore", @@ -172,7 +172,7 @@ local pasiphaeGroup = { }, TrailColor = trailColor, OrbitPeriod = 776.02, - Kernels = kernels341 + Kernels = kernel }, { Identifier = "Cyllene", @@ -188,7 +188,7 @@ local pasiphaeGroup = { }, TrailColor = trailColor, OrbitPeriod = 731.10, - Kernels = kernels341 + Kernels = kernel }, { Identifier = "S2011J2", @@ -205,7 +205,7 @@ local pasiphaeGroup = { }, TrailColor = trailColor, OrbitPeriod = 731.32, - Kernels = kernels341 + Kernels = kernel }, { Identifier = "S2017J1", @@ -222,7 +222,7 @@ local pasiphaeGroup = { }, TrailColor = trailColor, OrbitPeriod = 734.15, - Kernels = kernels341 + Kernels = kernel }, { Identifier = "S2003J4", @@ -239,7 +239,7 @@ local pasiphaeGroup = { }, TrailColor = trailColor, OrbitPeriod = 739.29, - Kernels = kernels341 + Kernels = kernel }, { Identifier = "Pasiphae", @@ -255,7 +255,7 @@ local pasiphaeGroup = { }, TrailColor = trailColor, OrbitPeriod = 739.80, - Kernels = kernels341 + Kernels = kernel }, { Identifier = "Hegemone", @@ -271,7 +271,7 @@ local pasiphaeGroup = { }, TrailColor = trailColor, OrbitPeriod = 745.50, - Kernels = kernels341 + Kernels = kernel }, { Identifier = "Sinope", @@ -287,7 +287,7 @@ local pasiphaeGroup = { }, TrailColor = trailColor, OrbitPeriod = 739.33, - Kernels = kernels341 + Kernels = kernel }, { Identifier = "Sponde", @@ -303,7 +303,7 @@ local pasiphaeGroup = { }, TrailColor = trailColor, OrbitPeriod = 771.60, - Kernels = kernels341 + Kernels = kernel }, { Identifier = "Autonoe", @@ -319,7 +319,7 @@ local pasiphaeGroup = { }, TrailColor = trailColor, OrbitPeriod = 772.17, - Kernels = kernels341 + Kernels = kernel }, { Identifier = "Megaclite", @@ -336,7 +336,7 @@ local pasiphaeGroup = { }, TrailColor = trailColor, OrbitPeriod = 792.44, - Kernels = kernels341 + Kernels = kernel } } diff --git a/data/assets/scene/solarsystem/planets/jupiter/minor/themisto_group.asset b/data/assets/scene/solarsystem/planets/jupiter/minor/themisto_group.asset index d5d43ccaa3..f7a5899dc9 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/minor/themisto_group.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/minor/themisto_group.asset @@ -1,7 +1,7 @@ local assetHelper = asset.require('util/asset_helper') local proceduralGlobes = asset.require('util/procedural_globe') local transforms = asset.require('../transforms') -local kernels341 = asset.require('../jup341').Kernels +local kernel = asset.require('../kernels').jup341 @@ -25,7 +25,7 @@ local themistoGroup = { }, TrailColor = trailColor, OrbitPeriod = 129.87, - Kernels = kernels341 + Kernels = kernel } } diff --git a/data/assets/scene/solarsystem/planets/jupiter/transforms.asset b/data/assets/scene/solarsystem/planets/jupiter/transforms.asset index 851a2d5310..c0e1178b83 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/transforms.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/transforms.asset @@ -21,6 +21,4 @@ local JupiterBarycenter = { } } - - assetHelper.registerSceneGraphNodesAndExport(asset, { JupiterBarycenter }) diff --git a/data/assets/scene/solarsystem/planets/mars/mar097.asset b/data/assets/scene/solarsystem/planets/mars/mar097.asset index 55c9a3908e..42513084d3 100644 --- a/data/assets/scene/solarsystem/planets/mars/mar097.asset +++ b/data/assets/scene/solarsystem/planets/mars/mar097.asset @@ -1,8 +1,8 @@ local Kernels = asset.syncedResource({ Name = "Mars Spice Kernels", - Type = "TorrentSynchronization", - Identifier = "mar097", - Magnet = "magnet:?xt=urn:btih:308F326B9AF864294D73042FBBED33B17291E27E&dn=mar097.bsp&tr=udp%3a%2f%2ftracker.openbittorrent.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.publicbt.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.ccc.de%3a80%2fannounce" + Type = "HttpSynchronization", + Identifier = "mars_kernels", + Version = 1 }) asset.export("Kernels", Kernels .. '/mar097.bsp') diff --git a/data/assets/scene/solarsystem/planets/mars/mars.asset b/data/assets/scene/solarsystem/planets/mars/mars.asset index 73c0488c87..7872ef298f 100644 --- a/data/assets/scene/solarsystem/planets/mars/mars.asset +++ b/data/assets/scene/solarsystem/planets/mars/mars.asset @@ -31,7 +31,7 @@ local color_layers = { }, { Identifier = "MOC_WA_Color_LiU", - Name = "MOC WA Color [LiU]", + Name = "MOC WA Color [Sweden]", FilePath = mapServiceConfigs .. "/LiU/Color.wms", Fallback = { Name = "Mars Texture", @@ -184,6 +184,10 @@ local Mars = { Type = "SpiceRotation", SourceFrame = "IAU_MARS", DestinationFrame = "GALACTIC" + }, + Scale = { + Type = "StaticScale", + Scale = 1.0 } }, Renderable = { diff --git a/data/assets/scene/solarsystem/planets/mars/transforms.asset b/data/assets/scene/solarsystem/planets/mars/transforms.asset index c953e89c69..c2a793a56b 100644 --- a/data/assets/scene/solarsystem/planets/mars/transforms.asset +++ b/data/assets/scene/solarsystem/planets/mars/transforms.asset @@ -2,8 +2,6 @@ local assetHelper = asset.require('util/asset_helper') local transforms = asset.require('scene/solarsystem/sun/transforms') asset.require("spice/base") - - local MarsBarycenter = { Identifier = "MarsBarycenter", Parent = transforms.SolarSystemBarycenter.Identifier, @@ -21,6 +19,4 @@ local MarsBarycenter = { } } - - assetHelper.registerSceneGraphNodesAndExport(asset, { MarsBarycenter }) diff --git a/data/assets/scene/solarsystem/planets/mercury/map_service_configs/LiU/Messenger_BDR.wms b/data/assets/scene/solarsystem/planets/mercury/map_service_configs/LiU/Messenger_BDR.wms new file mode 100644 index 0000000000..44311dff11 --- /dev/null +++ b/data/assets/scene/solarsystem/planets/mercury/map_service_configs/LiU/Messenger_BDR.wms @@ -0,0 +1,20 @@ + + + http://wms.itn.liu.se/Mercury/Messenger_BDR/tile/${z}/${y}/${x} + + + -180.0 + 90.0 + 180.0 + -90.0 + 92160 + 46080 + 7 + top + + GEOGCS["GCS_Mercury_2015",DATUM["D_Mercury_2015",SPHEROID["Mercury_2015",2439400.0,0.0]],PRIMEM["Reference_Meridian",0.0],UNIT["Degree",0.0174532925199433]] + 360 + 360 + 1 + 10 + diff --git a/data/assets/scene/solarsystem/planets/mercury/map_service_configs/LiU/Messenger_HIE.wms b/data/assets/scene/solarsystem/planets/mercury/map_service_configs/LiU/Messenger_HIE.wms new file mode 100644 index 0000000000..bd14ff7a10 --- /dev/null +++ b/data/assets/scene/solarsystem/planets/mercury/map_service_configs/LiU/Messenger_HIE.wms @@ -0,0 +1,20 @@ + + + http://wms.itn.liu.se/Mercury/Messenger_HIE/tile/${z}/${y}/${x} + + + -180.0 + 90.0 + 180.0 + -90.0 + 92160 + 46080 + 7 + top + + GEOGCS["GCS_Mercury_2015",DATUM["D_Mercury_2015",SPHEROID["Mercury_2015",2439400.0,0.0]],PRIMEM["Reference_Meridian",0.0],UNIT["Degree",0.0174532925199433]] + 360 + 360 + 1 + 10 + diff --git a/data/assets/scene/solarsystem/planets/mercury/map_service_configs/LiU/Messenger_HIW.wms b/data/assets/scene/solarsystem/planets/mercury/map_service_configs/LiU/Messenger_HIW.wms new file mode 100644 index 0000000000..85c933d31b --- /dev/null +++ b/data/assets/scene/solarsystem/planets/mercury/map_service_configs/LiU/Messenger_HIW.wms @@ -0,0 +1,20 @@ + + + http://wms.itn.liu.se/Mercury/Messenger_HIW/tile/${z}/${y}/${x} + + + -180.0 + 90.0 + 180.0 + -90.0 + 92160 + 46080 + 7 + top + + GEOGCS["GCS_Mercury_2015",DATUM["D_Mercury_2015",SPHEROID["Mercury_2015",2439400.0,0.0]],PRIMEM["Reference_Meridian",0.0],UNIT["Degree",0.0174532925199433]] + 360 + 360 + 1 + 10 + diff --git a/data/assets/scene/solarsystem/planets/mercury/map_service_configs/LiU/Messenger_LOI.wms b/data/assets/scene/solarsystem/planets/mercury/map_service_configs/LiU/Messenger_LOI.wms new file mode 100644 index 0000000000..79056a5c31 --- /dev/null +++ b/data/assets/scene/solarsystem/planets/mercury/map_service_configs/LiU/Messenger_LOI.wms @@ -0,0 +1,20 @@ + + + http://wms.itn.liu.se/Mercury/Messenger_LOI/tile/${z}/${y}/${x} + + + -180.0 + 90.0 + 180.0 + -90.0 + 92160 + 46080 + 7 + top + + GEOGCS["GCS_Mercury_2015",DATUM["D_Mercury_2015",SPHEROID["Mercury_2015",2439400.0,0.0]],PRIMEM["Reference_Meridian",0.0],UNIT["Degree",0.0174532925199433]] + 360 + 360 + 1 + 10 + diff --git a/data/assets/scene/solarsystem/planets/mercury/map_service_configs/LiU/Messenger_Mosaic_2.wms b/data/assets/scene/solarsystem/planets/mercury/map_service_configs/LiU/Messenger_Mosaic_2.wms new file mode 100644 index 0000000000..7fdf74c39e --- /dev/null +++ b/data/assets/scene/solarsystem/planets/mercury/map_service_configs/LiU/Messenger_Mosaic_2.wms @@ -0,0 +1,20 @@ + + + http://wms.itn.liu.se/Mercury/Messenger_Mosaic_2/tile/${z}/${y}/${x} + + + -180.0 + 90.0 + 180.0 + -90.0 + 23040 + 11520 + 5 + top + + GEOGCS["GCS_Mercury_2015",DATUM["D_Mercury_2015",SPHEROID["Mercury_2015",2439400.0,0.0]],PRIMEM["Reference_Meridian",0.0],UNIT["Degree",0.0174532925199433]] + 360 + 360 + 3 + 10 + diff --git a/data/assets/scene/solarsystem/planets/mercury/map_service_configs/LiU/Messenger_Shade.wms b/data/assets/scene/solarsystem/planets/mercury/map_service_configs/LiU/Messenger_Shade.wms new file mode 100644 index 0000000000..0213e0922e --- /dev/null +++ b/data/assets/scene/solarsystem/planets/mercury/map_service_configs/LiU/Messenger_Shade.wms @@ -0,0 +1,20 @@ + + + http://wms.itn.liu.se/Mercury/Messenger_Shade/tile/${z}/${y}/${x} + + + -180.0 + 90.0 + 180.0 + -90.0 + 7664 + 3832 + 4 + top + + GEOGCS["GCS_Mercury_2015",DATUM["D_Mercury_2015",SPHEROID["Mercury_2015",2439400.0,0.0]],PRIMEM["Reference_Meridian",0.0],UNIT["Degree",0.0174532925199433]] + 360 + 360 + 3 + 10 + diff --git a/data/assets/scene/solarsystem/planets/mercury/map_service_configs/Utah/MessengerBDR.wms b/data/assets/scene/solarsystem/planets/mercury/map_service_configs/Utah/MessengerBDR.wms new file mode 100644 index 0000000000..fcf9b62667 --- /dev/null +++ b/data/assets/scene/solarsystem/planets/mercury/map_service_configs/Utah/MessengerBDR.wms @@ -0,0 +1,20 @@ + + + http://openspace.sci.utah.edu/Mercury/MessengerBDR/tile/${z}/${y}/${x} + + + -180.0 + 90.0 + 180.0 + -90.0 + 92160 + 46080 + 7 + top + + GEOGCS["GCS_Mercury_2015",DATUM["D_Mercury_2015",SPHEROID["Mercury_2015",2439400.0,0.0]],PRIMEM["Reference_Meridian",0.0],UNIT["Degree",0.0174532925199433]] + 360 + 360 + 1 + 10 + diff --git a/data/assets/scene/solarsystem/planets/mercury/map_service_configs/Utah/MessengerDEM.wms b/data/assets/scene/solarsystem/planets/mercury/map_service_configs/Utah/MessengerDEM.wms new file mode 100644 index 0000000000..1469c55fec --- /dev/null +++ b/data/assets/scene/solarsystem/planets/mercury/map_service_configs/Utah/MessengerDEM.wms @@ -0,0 +1,20 @@ + + + http://openspace.sci.utah.edu/Mercury/MessengerDEM/tile/${z}/${y}/${x} + + + -180.0 + 90.0 + 180.0 + -90.0 + 23040 + 11520 + 5 + top + + GEOGCS["GCS_Mercury_2015",DATUM["D_Mercury_2015",SPHEROID["Mercury_2015",2439400.0,0.0]],PRIMEM["Reference_Meridian",0.0],UNIT["Degree",0.0174532925199433]] + 360 + 360 + 1 + 10 + diff --git a/data/assets/scene/solarsystem/planets/mercury/map_service_configs/Utah/MessengerHIE.wms b/data/assets/scene/solarsystem/planets/mercury/map_service_configs/Utah/MessengerHIE.wms new file mode 100644 index 0000000000..78e1ec49db --- /dev/null +++ b/data/assets/scene/solarsystem/planets/mercury/map_service_configs/Utah/MessengerHIE.wms @@ -0,0 +1,21 @@ + + + http://openspace.sci.utah.edu/Mercury/MessengerHIE/tile/${z}/${y}/${x} + + + -180.0 + 90.0 + 180.0 + -90.0 + 92160 + 46080 + 7 + top + + GEOGCS["GCS_Mercury_2015",DATUM["D_Mercury_2015",SPHEROID["Mercury_2015",2439400.0,0.0]],PRIMEM["Reference_Meridian",0.0],UNIT["Degree",0.0174532925199433]] + 360 + 360 + 1 + 10 + + diff --git a/data/assets/scene/solarsystem/planets/mercury/map_service_configs/Utah/MessengerHIW.wms b/data/assets/scene/solarsystem/planets/mercury/map_service_configs/Utah/MessengerHIW.wms new file mode 100644 index 0000000000..5608802e02 --- /dev/null +++ b/data/assets/scene/solarsystem/planets/mercury/map_service_configs/Utah/MessengerHIW.wms @@ -0,0 +1,21 @@ + + + http://openspace.sci.utah.edu/Mercury/MessengerHIW/tile/${z}/${y}/${x} + + + -180.0 + 90.0 + 180.0 + -90.0 + 92160 + 46080 + 7 + top + + GEOGCS["GCS_Mercury_2015",DATUM["D_Mercury_2015",SPHEROID["Mercury_2015",2439400.0,0.0]],PRIMEM["Reference_Meridian",0.0],UNIT["Degree",0.0174532925199433]] + 360 + 360 + 1 + 10 + + diff --git a/data/assets/scene/solarsystem/planets/mercury/map_service_configs/Utah/MessengerLOI.wms b/data/assets/scene/solarsystem/planets/mercury/map_service_configs/Utah/MessengerLOI.wms new file mode 100644 index 0000000000..345c2591b2 --- /dev/null +++ b/data/assets/scene/solarsystem/planets/mercury/map_service_configs/Utah/MessengerLOI.wms @@ -0,0 +1,21 @@ + + + http://openspace.sci.utah.edu/Mercury/MessengerLOI/tile/${z}/${y}/${x} + + + -180.0 + 90.0 + 180.0 + -90.0 + 92160 + 46080 + 7 + top + + GEOGCS["GCS_Mercury_2015",DATUM["D_Mercury_2015",SPHEROID["Mercury_2015",2439400.0,0.0]],PRIMEM["Reference_Meridian",0.0],UNIT["Degree",0.0174532925199433]] + 360 + 360 + 1 + 10 + + diff --git a/data/assets/scene/solarsystem/planets/mercury/map_service_configs/Utah/MessengerMDR.wms b/data/assets/scene/solarsystem/planets/mercury/map_service_configs/Utah/MessengerMDR.wms new file mode 100644 index 0000000000..a0b3d1ef7e --- /dev/null +++ b/data/assets/scene/solarsystem/planets/mercury/map_service_configs/Utah/MessengerMDR.wms @@ -0,0 +1,20 @@ + + + http://openspace.sci.utah.edu/Mercury/MessengerMDR/tile/${z}/${y}/${x} + + + -180.0 + 90.0 + 180.0 + -90.0 + 23040 + 11521 + 5 + top + + PROJCS["Equirectangular Mercury",GEOGCS["GCS_Mercury",DATUM["D_Mercury",SPHEROID["Mercury_localRadius",2439400,0]],PRIMEM["Reference_Meridian",0],UNIT["degree",0.0174532925199433]],PROJECTION["Equirectangular"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",0],PARAMETER["standard_parallel_1",0],PARAMETER["false_easting",0],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]]] + 360 + 360 + 3 + 10 + diff --git a/data/assets/scene/solarsystem/planets/mercury/map_service_configs/Utah/MessengerMP3.wms b/data/assets/scene/solarsystem/planets/mercury/map_service_configs/Utah/MessengerMP3.wms new file mode 100644 index 0000000000..a00610c0fe --- /dev/null +++ b/data/assets/scene/solarsystem/planets/mercury/map_service_configs/Utah/MessengerMP3.wms @@ -0,0 +1,20 @@ + + + http://openspace.sci.utah.edu/Mercury/MessengerMP3/tile/${z}/${y}/${x} + + + -180.0 + 90.0 + 180.0 + -90.0 + 46080 + 17122 + 6 + top + + PROJCS["Equirectangular Mercury",GEOGCS["GCS_Mercury",DATUM["D_Mercury",SPHEROID["Mercury_localRadius",2439400,0]],PRIMEM["Reference_Meridian",0],UNIT["degree",0.0174532925199433]],PROJECTION["Equirectangular"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",0],PARAMETER["standard_parallel_1",0],PARAMETER["false_easting",0],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]]] + 360 + 360 + 3 + 10 + diff --git a/data/assets/scene/solarsystem/planets/mercury/map_service_configs/Utah/MessengerMosaic2.wms b/data/assets/scene/solarsystem/planets/mercury/map_service_configs/Utah/MessengerMosaic2.wms new file mode 100644 index 0000000000..d72e9369c9 --- /dev/null +++ b/data/assets/scene/solarsystem/planets/mercury/map_service_configs/Utah/MessengerMosaic2.wms @@ -0,0 +1,20 @@ + + + http://openspace.sci.utah.edu/Mercury/MessengerMosaic2/tile/${z}/${y}/${x} + + + -180.0 + 90.0 + 180.0 + -90.0 + 23040 + 11520 + 5 + top + + GEOGCS["GCS_Mercury_2015",DATUM["D_Mercury_2015",SPHEROID["Mercury_2015",2439400.0,0.0]],PRIMEM["Reference_Meridian",0.0],UNIT["Degree",0.0174532925199433]] + 360 + 360 + 3 + 10 + diff --git a/data/assets/scene/solarsystem/planets/mercury/map_service_configs/Utah/MessengerSHADE.wms b/data/assets/scene/solarsystem/planets/mercury/map_service_configs/Utah/MessengerSHADE.wms new file mode 100644 index 0000000000..aa2e992a6d --- /dev/null +++ b/data/assets/scene/solarsystem/planets/mercury/map_service_configs/Utah/MessengerSHADE.wms @@ -0,0 +1,21 @@ + + + http://openspace.sci.utah.edu/Mercury/MessengerSHADE/tile/${z}/${y}/${x} + + + -180.0 + 90.0 + 180.0 + -90.0 + 7664 + 3832 + 4 + top + + GEOGCS["GCS_Mercury_2015",DATUM["D_Mercury_2015",SPHEROID["Mercury_2015",2439400.0,0.0]],PRIMEM["Reference_Meridian",0.0],UNIT["Degree",0.0174532925199433]] + 360 + 360 + 3 + 10 + + diff --git a/data/assets/scene/solarsystem/planets/mercury/mercury.asset b/data/assets/scene/solarsystem/planets/mercury/mercury.asset index 3650676d42..30b8c3fadf 100644 --- a/data/assets/scene/solarsystem/planets/mercury/mercury.asset +++ b/data/assets/scene/solarsystem/planets/mercury/mercury.asset @@ -1,18 +1,25 @@ local assetHelper = asset.require('util/asset_helper') local transforms = asset.require('./transforms') + asset.require("spice/base") asset.request('./trail') - +local textures = asset.syncedResource({ + Name = "Mercury Textures", + Type = "HttpSynchronization", + Identifier = "mercury_abundance_textures", + Version = 1 +}) local mapServiceConfigs = asset.localResource("map_service_configs") local color_layers = { + --mdis { Identifier = "Messenger_MDIS_Utah", Name = "Messenger MDIS [Utah]", FilePath = mapServiceConfigs .. "/Utah/MessengerMDIS.wms", - Enabled = true + Enabled = false }, { Identifier = "Messenger_MDIS_Sweden", @@ -24,6 +31,7 @@ local color_layers = { Name = "Messenger MDIS [AWS]", FilePath = mapServiceConfigs .. "/AWS/MessengerMdis.wms" }, + --mossaic { Identifier = "Messenger_Mosaic_Utah", Name = "Messenger Mosaic [Utah]", @@ -38,6 +46,146 @@ local color_layers = { Identifier = "Messenger_Mosaic_AWS", Name = "Messenger Mosaic [AWS]", FilePath = mapServiceConfigs .. "/AWS/MessengerMosaic.wms" + }, + --bdr + { + Identifier = "Messenger_BDR_Utah", + Name = "Messenger BDR [Utah]", + FilePath = mapServiceConfigs .. "/Utah/MessengerBDR.wms", + TilePixelSize = 360, + Enabled = true + }, + { + Identifier = "Messenger_BDR_Sweden", + Name = "Messenger BDR [Sweden]", + FilePath = mapServiceConfigs .. "/LiU/Messenger_BDR.wms", + TilePixelSize = 360, + Enabled = false + }, + --mdr + { + Identifier = "Messenger_MDR_Utah", + Name = "Messenger MDR [Utah]", + FilePath = mapServiceConfigs .. "/Utah/MessengerMDR.wms", + Enabled = false + }, + --mp3 + { + Identifier = "Messenger_MP3_Utah", + Name = "Messenger MP3 [Utah]", + FilePath = mapServiceConfigs .. "/Utah/MessengerMP3.wms", + Enabled = false + }, + --hie + { + Identifier = "Messenger_HIE_Utah", + Name = "Messenger HIE [Utah]", + FilePath = mapServiceConfigs .. "/Utah/MessengerHIE.wms", + Enabled = false + }, + { + Identifier = "Messenger_HIE_Sweden", + Name = "Messenger HIE [Sweden]", + FilePath = mapServiceConfigs .. "/LiU/Messenger_HIE.wms", + Enabled = false + }, + --hiw + { + Identifier = "Messenger_HIW_Utah", + Name = "Messenger HIW [Utah]", + FilePath = mapServiceConfigs .. "/Utah/MessengerHIW.wms", + Enabled = false + }, + { + Identifier = "Messenger_HIW_Sweden", + Name = "Messenger HIW [Sweden]", + FilePath = mapServiceConfigs .. "/LiU/Messenger_HIW.wms", + Enabled = false + }, + --loi + { + Identifier = "Messenger_LOI_Utah", + Name = "Messenger LOI [Utah]", + FilePath = mapServiceConfigs .. "/Utah/MessengerLOI.wms", + Enabled = false + }, + { + Identifier = "Messenger_LOI_Sweden", + Name = "Messenger LOI [Sweden]", + FilePath = mapServiceConfigs .. "/LiU/Messenger_LOI.wms", + Enabled = false + }, + --shade + { + Identifier = "Messenger_SHADE_Utah", + Name = "Messenger SHADE [Utah]", + FilePath = mapServiceConfigs .. "/Utah/MessengerSHADE.wms", + Settings = { + Gamma = 1.33, + Multiplier = 1.15 + }, + BlendMode = "Multiply", + Enabled = false + }, + { + Identifier = "Messenger_SHADE_Sweden", + Name = "Messenger SHADE [Sweden]", + FilePath = mapServiceConfigs .. "/LiU/Messenger_SHADE.wms", + Settings = { + Gamma = 1.33, + Multiplier = 1.15 + }, + BlendMode = "Multiply", + Enabled = false + }, + --mosaic2 aka 8 color + { + Identifier = "Messenger_Mosaic2_Utah", + Name = "Messenger Mosaic2 [Utah]", + FilePath = mapServiceConfigs .. "/Utah/MessengerMosaic2.wms", + Enabled = false + }, + { + Identifier = "Messenger_Mosaic2_Sweden", + Name = "Messenger Mosaic2 [Sweden]", + FilePath = mapServiceConfigs .. "/LiU/Messenger_Mosaic_2.wms", + Enabled = false + }, + --local textures, these are mineral abundance maps + { + Identifier = "alsimap_02122015", + FilePath = textures .. "/alsimap_02122015.png", + Enabled = false, + BlendMode = "Multiply", + }, + { + Identifier = "casimap_02122015", + FilePath = textures .. "/casimap_02122015.png", + Enabled = false, + BlendMode = "Multiply", + }, + { + Identifier = "fesimap_02122015", + FilePath = textures .. "/fesimap_02122015.png", + Enabled = false, + BlendMode = "Multiply", + }, + { + Identifier = "mgsimap_02122015", + FilePath = textures .. "/mgsimap_02122015.png", + Enabled = false, + Settings = { + Gamma = 1.33, + Multiplier = 1.15 + }, + BlendMode = "Multiply", + + }, + { + Identifier = "ssimap_02122015", + FilePath = textures .. "/ssimap_02122015.png", + Enabled = false, + BlendMode = "Multiply", } } @@ -49,6 +197,10 @@ local Mercury = { Type = "SpiceRotation", SourceFrame = "IAU_MERCURY", DestinationFrame = "GALACTIC" + }, + Scale = { + Type = "StaticScale", + Scale = 1.0 } }, Renderable = { @@ -69,5 +221,4 @@ local Mercury = { } - assetHelper.registerSceneGraphNodesAndExport(asset, { Mercury }) diff --git a/data/assets/scene/solarsystem/planets/mercury/transforms.asset b/data/assets/scene/solarsystem/planets/mercury/transforms.asset index bef198f85d..035854e517 100644 --- a/data/assets/scene/solarsystem/planets/mercury/transforms.asset +++ b/data/assets/scene/solarsystem/planets/mercury/transforms.asset @@ -2,8 +2,6 @@ local assetHelper = asset.require('util/asset_helper') local transforms = asset.require('scene/solarsystem/sun/transforms') asset.require("spice/base") - - local MercuryBarycenter = { Identifier = "MercuryBarycenter", Parent = transforms.SolarSystemBarycenter.Identifier, @@ -21,6 +19,4 @@ local MercuryBarycenter = { } } - - assetHelper.registerSceneGraphNodesAndExport(asset, { MercuryBarycenter }) diff --git a/data/assets/scene/solarsystem/planets/neptune/inner_moons.asset b/data/assets/scene/solarsystem/planets/neptune/inner_moons.asset index f767bc9cbc..f81bb85487 100644 --- a/data/assets/scene/solarsystem/planets/neptune/inner_moons.asset +++ b/data/assets/scene/solarsystem/planets/neptune/inner_moons.asset @@ -1,9 +1,10 @@ local assetHelper = asset.require('util/asset_helper') local proceduralGlobes = asset.require('util/procedural_globe') local transforms = asset.require('./transforms') -local kernels081 = asset.require('./nep081').Kernels -local kernels087 = asset.require('./nep087').Kernels -local kernels088 = asset.require('./nep088').Kernels +local kernels = asset.require('./kernels') +local kernel081 = kernels.nep081 +local kernel087 = kernels.nep087 +local kernel088 = kernels.nep088 @@ -27,7 +28,7 @@ local innerMoons = { }, TrailColor = trailColor, OrbitPeriod = 0.294, - Kernels = kernels088 + Kernels = kernel088 }, { Identifier = "Thalassa", @@ -43,7 +44,7 @@ local innerMoons = { }, TrailColor = trailColor, OrbitPeriod = 0.311, - Kernels = kernels088 + Kernels = kernel088 }, { Identifier = "Despina", @@ -59,7 +60,7 @@ local innerMoons = { }, TrailColor = trailColor, OrbitPeriod = 0.335, - Kernels = kernels088 + Kernels = kernel088 }, { Identifier = "Galatea", @@ -75,7 +76,7 @@ local innerMoons = { }, TrailColor = trailColor, OrbitPeriod = 0.429, - Kernels = kernels088 + Kernels = kernel088 }, { Identifier = "Larissa", @@ -91,7 +92,7 @@ local innerMoons = { }, TrailColor = trailColor, OrbitPeriod = 0.555, - Kernels = kernels088 + Kernels = kernel088 }, { Identifier = "S2004N1", @@ -108,7 +109,7 @@ local innerMoons = { }, TrailColor = trailColor, OrbitPeriod = 0.936, - Kernels = kernels088 + Kernels = kernel088 }, { Identifier = "Proteus", @@ -124,7 +125,7 @@ local innerMoons = { }, TrailColor = trailColor, OrbitPeriod = 1.122, - Kernels = kernels081 + Kernels = kernel081 } } diff --git a/data/assets/scene/solarsystem/planets/neptune/irregular_prograde_moons.asset b/data/assets/scene/solarsystem/planets/neptune/irregular_prograde_moons.asset index 41b2868905..4b726b03d6 100644 --- a/data/assets/scene/solarsystem/planets/neptune/irregular_prograde_moons.asset +++ b/data/assets/scene/solarsystem/planets/neptune/irregular_prograde_moons.asset @@ -1,9 +1,10 @@ local assetHelper = asset.require('util/asset_helper') local proceduralGlobes = asset.require('util/procedural_globe') local transforms = asset.require('./transforms') -local kernels081 = asset.require('./nep081').Kernels -local kernels086 = asset.require('./nep086').Kernels -local kernels088 = asset.require('./nep088').Kernels +local kernels = asset.require('./kernels') +local kernel081 = kernels.nep081 +local kernel087 = kernels.nep087 +local kernel088 = kernels.nep088 @@ -27,7 +28,7 @@ local irregularProgradeMoons = { }, TrailColor = trailColor, OrbitPeriod = 1879.08, - Kernels = kernels086 + Kernels = kernel086 }, { Identifier = "Psamathe", @@ -43,7 +44,7 @@ local irregularProgradeMoons = { }, TrailColor = trailColor, OrbitPeriod = 9074.3, - Kernels = kernels086 + Kernels = kernel086 }, { Identifier = "Neso", @@ -59,7 +60,7 @@ local irregularProgradeMoons = { }, TrailColor = trailColor, OrbitPeriod = 9740.73, - Kernels = kernels086 + Kernels = kernel086 } } diff --git a/data/assets/scene/solarsystem/planets/neptune/irregular_retrograde_moons.asset b/data/assets/scene/solarsystem/planets/neptune/irregular_retrograde_moons.asset index d07e7e26c3..340af608cd 100644 --- a/data/assets/scene/solarsystem/planets/neptune/irregular_retrograde_moons.asset +++ b/data/assets/scene/solarsystem/planets/neptune/irregular_retrograde_moons.asset @@ -1,9 +1,9 @@ local assetHelper = asset.require('util/asset_helper') local proceduralGlobes = asset.require('util/procedural_globe') local transforms = asset.require('./transforms') -local kernels081 = asset.require('./nep081').Kernels -local kernels086 = asset.require('./nep086').Kernels -local kernels088 = asset.require('./nep088').Kernels +local kernels = asset.require('./kernels') +local kernel081 = kernels.nep081 +local kernel086 = kernels.nep086 @@ -27,7 +27,7 @@ local irregularRetrogradeMoons = { }, TrailColor = trailColor, OrbitPeriod = 360.13, - Kernels = kernels081 + Kernels = kernel081 }, { Identifier = "Sao", @@ -43,7 +43,7 @@ local irregularRetrogradeMoons = { }, TrailColor = trailColor, OrbitPeriod = 2912.72, - Kernels = kernels086 + Kernels = kernel086 }, { Identifier = "Laomedeia", @@ -59,7 +59,7 @@ local irregularRetrogradeMoons = { }, TrailColor = trailColor, OrbitPeriod = 3171.33, - Kernels = kernels086 + Kernels = kernel086 } } diff --git a/data/assets/scene/solarsystem/planets/neptune/kernels.asset b/data/assets/scene/solarsystem/planets/neptune/kernels.asset new file mode 100644 index 0000000000..2637699924 --- /dev/null +++ b/data/assets/scene/solarsystem/planets/neptune/kernels.asset @@ -0,0 +1,11 @@ +local Kernels = asset.syncedResource({ + Name = "Neptune Spice Kernels", + Type = "HttpSynchronization", + Identifier = "neptune_kernels", + Version = 1 +}) + +asset.export("nep081", Kernels .. '/nep081.bsp') +asset.export("nep086", Kernels .. '/nep086.bsp') +asset.export("nep087", Kernels .. '/nep087.bsp') +asset.export("nep088", Kernels .. '/nep088.bsp') diff --git a/data/assets/scene/solarsystem/planets/neptune/nep081.asset b/data/assets/scene/solarsystem/planets/neptune/nep081.asset deleted file mode 100644 index e9c49cecfe..0000000000 --- a/data/assets/scene/solarsystem/planets/neptune/nep081.asset +++ /dev/null @@ -1,8 +0,0 @@ -local Kernels = asset.syncedResource({ - Name = "Neptune Spice Kernels (nep081)", - Type = "TorrentSynchronization", - Identifier = "nep081", - Magnet = "magnet:?xt=urn:btih:A6079CF8D4BF3B6BB38F4F9F633CB7724FF91693&dn=nep081.bsp&tr=udp%3a%2f%2ftracker.openbittorrent.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.publicbt.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.ccc.de%3a80%2fannounce" -}) - -asset.export("Kernels", Kernels .. '/nep081.bsp') diff --git a/data/assets/scene/solarsystem/planets/neptune/nep086.asset b/data/assets/scene/solarsystem/planets/neptune/nep086.asset deleted file mode 100644 index 70894eaeaf..0000000000 --- a/data/assets/scene/solarsystem/planets/neptune/nep086.asset +++ /dev/null @@ -1,8 +0,0 @@ -local Kernels = asset.syncedResource({ - Name = "Neptune Spice Kernels (nep086)", - Type = "TorrentSynchronization", - Identifier = "nep086", - Magnet = "magnet:?xt=urn:btih:A71F50987F90FE3BE951D05241341B7505383D8F&dn=nep086.bsp&tr=udp%3a%2f%2ftracker.openbittorrent.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.publicbt.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.ccc.de%3a80%2fannounce" -}) - -asset.export("Kernels", Kernels .. '/nep086.bsp') diff --git a/data/assets/scene/solarsystem/planets/neptune/nep087.asset b/data/assets/scene/solarsystem/planets/neptune/nep087.asset deleted file mode 100644 index ca79b1757a..0000000000 --- a/data/assets/scene/solarsystem/planets/neptune/nep087.asset +++ /dev/null @@ -1,8 +0,0 @@ -local Kernels = asset.syncedResource({ - Name = "Neptune Spice Kernels (nep087)", - Type = "TorrentSynchronization", - Identifier = "nep087", - Magnet = "magnet:?xt=urn:btih:3F2B1C7A499D320ADD7E67DFF28C3FF3562AF935&dn=nep087.bsp&tr=udp%3a%2f%2ftracker.openbittorrent.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.publicbt.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.ccc.de%3a80%2fannounce" -}) - -asset.export("Kernels", Kernels .. '/nep087.bsp') diff --git a/data/assets/scene/solarsystem/planets/neptune/nep088.asset b/data/assets/scene/solarsystem/planets/neptune/nep088.asset deleted file mode 100644 index 188db17e7e..0000000000 --- a/data/assets/scene/solarsystem/planets/neptune/nep088.asset +++ /dev/null @@ -1,8 +0,0 @@ -local Kernels = asset.syncedResource({ - Name = "Neptune Spice Kernels (nep088)", - Type = "TorrentSynchronization", - Identifier = "nep088", - Magnet = "magnet:?xt=urn:btih:1693A31C360BCABAEDC4B72C910E39C07AF3CA5F&dn=nep088.bsp&tr=udp%3a%2f%2ftracker.openbittorrent.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.publicbt.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.ccc.de%3a80%2fannounce" -}) - -asset.export("Kernels", Kernels .. '/nep088.bsp') diff --git a/data/assets/scene/solarsystem/planets/neptune/neptune.asset b/data/assets/scene/solarsystem/planets/neptune/neptune.asset index 4cd35f22a6..450b1fa4c7 100644 --- a/data/assets/scene/solarsystem/planets/neptune/neptune.asset +++ b/data/assets/scene/solarsystem/planets/neptune/neptune.asset @@ -3,8 +3,6 @@ local transforms = asset.require('./transforms') asset.require("spice/base") asset.request('./trail') - - local textures = asset.syncedResource({ Name = "Neptune textures", Type = "HttpSynchronization", @@ -20,6 +18,10 @@ local Neptune = { Type = "SpiceRotation", SourceFrame = "IAU_NEPTUNE", DestinationFrame = "GALACTIC" + }, + Scale = { + Type = "StaticScale", + Scale = 1.0 } }, Renderable = { @@ -42,5 +44,4 @@ local Neptune = { } } - assetHelper.registerSceneGraphNodesAndExport(asset, { Neptune }) diff --git a/data/assets/scene/solarsystem/planets/neptune/transforms.asset b/data/assets/scene/solarsystem/planets/neptune/transforms.asset index c9671ca5b0..864501df6b 100644 --- a/data/assets/scene/solarsystem/planets/neptune/transforms.asset +++ b/data/assets/scene/solarsystem/planets/neptune/transforms.asset @@ -2,8 +2,6 @@ local assetHelper = asset.require('util/asset_helper') local sun_transforms_asset = asset.require('scene/solarsystem/sun/transforms') asset.require("spice/base") - - local NeptuneBarycenter = { Identifier = "NeptuneBarycenter", Parent = sun_transforms_asset.SolarSystemBarycenter.Identifier, @@ -21,6 +19,4 @@ local NeptuneBarycenter = { } } - - assetHelper.registerSceneGraphNodesAndExport(asset, { NeptuneBarycenter }) diff --git a/data/assets/scene/solarsystem/planets/neptune/triton.asset b/data/assets/scene/solarsystem/planets/neptune/triton.asset index 92a57ab4cc..55bf22fbb5 100644 --- a/data/assets/scene/solarsystem/planets/neptune/triton.asset +++ b/data/assets/scene/solarsystem/planets/neptune/triton.asset @@ -1,7 +1,7 @@ local assetHelper = asset.require('util/asset_helper') local proceduralGlobes = asset.require('util/procedural_globe') local transforms = asset.require('./transforms') -local kernels081 = asset.require('./nep081').Kernels +local kernel = asset.require('./kernels').nep081 @@ -19,7 +19,7 @@ local Triton = { }, TrailColor = { 0.2, 0.5, 0.75 }, OrbitPeriod = 5.877, - Kernels = kernels081 + Kernels = kernel } diff --git a/data/assets/scene/solarsystem/planets/saturn/dione/dione.asset b/data/assets/scene/solarsystem/planets/saturn/dione/dione.asset index dc185156e9..e5ed17e5f6 100644 --- a/data/assets/scene/solarsystem/planets/saturn/dione/dione.asset +++ b/data/assets/scene/solarsystem/planets/saturn/dione/dione.asset @@ -1,6 +1,6 @@ local transforms = asset.require('../transforms') local assetHelper = asset.require('util/asset_helper') -local kernels375 = asset.require('../sat375').Kernels +local kernel = asset.require('../kernels').sat375 asset.request('./trail') @@ -20,7 +20,7 @@ local Dione = { Type = "SpiceTranslation", Target = "DIONE", Observer = "SATURN BARYCENTER", - Kernels = kernels375 + Kernels = kernel }, Rotation = { Type = "SpiceRotation", diff --git a/data/assets/scene/solarsystem/planets/saturn/dione/trail.asset b/data/assets/scene/solarsystem/planets/saturn/dione/trail.asset index 95fe6b1953..e68eea7f46 100644 --- a/data/assets/scene/solarsystem/planets/saturn/dione/trail.asset +++ b/data/assets/scene/solarsystem/planets/saturn/dione/trail.asset @@ -1,6 +1,6 @@ local transforms = asset.require('../transforms') local assetHelper = asset.require('util/asset_helper') -local kernels375 = asset.require('../sat375').Kernels +local kernel = asset.require('../kernels').sat375 @@ -13,7 +13,7 @@ local DioneTrail = { Type = "SpiceTranslation", Target = "DIONE", Observer = "SATURN BARYCENTER", - Kernels = kernels375 + Kernels = kernel }, Color = { 0.5, 0.3, 0.3 }, Period = 66.0 / 24.0, diff --git a/data/assets/scene/solarsystem/planets/saturn/enceladus/enceladus.asset b/data/assets/scene/solarsystem/planets/saturn/enceladus/enceladus.asset index 1e443df8e4..0d5535ca8e 100644 --- a/data/assets/scene/solarsystem/planets/saturn/enceladus/enceladus.asset +++ b/data/assets/scene/solarsystem/planets/saturn/enceladus/enceladus.asset @@ -1,6 +1,6 @@ local transforms = asset.require('../transforms') local assetHelper = asset.require('util/asset_helper') -local kernels375 = asset.require('../sat375').Kernels +local kernel = asset.require('../kernels').sat375 asset.request('./trail') @@ -20,7 +20,7 @@ local Enceladus = { Type = "SpiceTranslation", Target = "ENCELADUS", Observer = "SATURN BARYCENTER", - Kernels = kernels375 + Kernels = kernel }, Rotation = { Type = "SpiceRotation", diff --git a/data/assets/scene/solarsystem/planets/saturn/enceladus/trail.asset b/data/assets/scene/solarsystem/planets/saturn/enceladus/trail.asset index 466281b1f4..8cb64aee9e 100644 --- a/data/assets/scene/solarsystem/planets/saturn/enceladus/trail.asset +++ b/data/assets/scene/solarsystem/planets/saturn/enceladus/trail.asset @@ -1,6 +1,6 @@ local transforms = asset.require('../transforms') local assetHelper = asset.require('util/asset_helper') -local kernels375 = asset.require('../sat375').Kernels +local kernel = asset.require('../kernels').sat375 @@ -13,7 +13,7 @@ local EnceladusTrail = { Type = "SpiceTranslation", Target = "ENCELADUS", Observer = "SATURN BARYCENTER", - Kernels = kernels375 + Kernels = kernel }, Color = { 0.5, 0.3, 0.3 }, Period = 33.0 / 24.0, diff --git a/data/assets/scene/solarsystem/planets/saturn/hyperion/hyperion.asset b/data/assets/scene/solarsystem/planets/saturn/hyperion/hyperion.asset index cfbdea7f7e..594338d145 100644 --- a/data/assets/scene/solarsystem/planets/saturn/hyperion/hyperion.asset +++ b/data/assets/scene/solarsystem/planets/saturn/hyperion/hyperion.asset @@ -1,6 +1,6 @@ local transforms = asset.require('../transforms') local assetHelper = asset.require('util/asset_helper') -local kernels375 = asset.require('../sat375').Kernels +local kernel = asset.require('../kernels').sat375 asset.request('./trail') @@ -20,7 +20,7 @@ local Hyperion = { Type = "SpiceTranslation", Target = "HYPERION", Observer = "SATURN BARYCENTER", - Kernels = kernels375 + Kernels = kernel }, Rotation = { Type = "SpiceRotation", diff --git a/data/assets/scene/solarsystem/planets/saturn/hyperion/trail.asset b/data/assets/scene/solarsystem/planets/saturn/hyperion/trail.asset index 9b52198e2c..7f34aed667 100644 --- a/data/assets/scene/solarsystem/planets/saturn/hyperion/trail.asset +++ b/data/assets/scene/solarsystem/planets/saturn/hyperion/trail.asset @@ -1,6 +1,6 @@ local transforms = asset.require('../transforms') local assetHelper = asset.require('util/asset_helper') -local kernels375 = asset.require('../sat375').Kernels +local kernel = asset.require('../kernels').sat375 @@ -13,7 +13,7 @@ local HyperionTrail = { Type = "SpiceTranslation", Target = "HYPERION", Observer = "SATURN BARYCENTER", - Kernels = kernels375 + Kernels = kernel }, Color = { 0.5, 0.3, 0.3 }, Period = 21.276, diff --git a/data/assets/scene/solarsystem/planets/saturn/iapetus/iapetus.asset b/data/assets/scene/solarsystem/planets/saturn/iapetus/iapetus.asset index be23afba40..f57014adce 100644 --- a/data/assets/scene/solarsystem/planets/saturn/iapetus/iapetus.asset +++ b/data/assets/scene/solarsystem/planets/saturn/iapetus/iapetus.asset @@ -1,6 +1,6 @@ local transforms = asset.require('../transforms') local assetHelper = asset.require('util/asset_helper') -local kernels375 = asset.require('../sat375').Kernels +local kernel = asset.require('../kernels').sat375 asset.request('./trail') @@ -20,7 +20,7 @@ local Iapetus = { Type = "SpiceTranslation", Target = "IAPETUS", Observer = "SATURN BARYCENTER", - Kernels = kernels375 + Kernels = kernel }, Rotation = { Type = "SpiceRotation", diff --git a/data/assets/scene/solarsystem/planets/saturn/iapetus/trail.asset b/data/assets/scene/solarsystem/planets/saturn/iapetus/trail.asset index fdc7a468a4..12c6df8975 100644 --- a/data/assets/scene/solarsystem/planets/saturn/iapetus/trail.asset +++ b/data/assets/scene/solarsystem/planets/saturn/iapetus/trail.asset @@ -1,6 +1,6 @@ local transforms = asset.require('../transforms') local assetHelper = asset.require('util/asset_helper') -local kernels375 = asset.require('../sat375').Kernels +local kernel = asset.require('../kernels').sat375 @@ -13,7 +13,7 @@ local IapetusTrail = { Type = "SpiceTranslation", Target = "IAPETUS", Observer = "SATURN BARYCENTER", - Kernels = kernels375 + Kernels = kernel }, Color = { 0.5, 0.3, 0.3 }, Period = 79.0, diff --git a/data/assets/scene/solarsystem/planets/saturn/kernels.asset b/data/assets/scene/solarsystem/planets/saturn/kernels.asset new file mode 100644 index 0000000000..c641fa4b6c --- /dev/null +++ b/data/assets/scene/solarsystem/planets/saturn/kernels.asset @@ -0,0 +1,11 @@ +local Kernels = asset.syncedResource({ + Name = "Saturn Spice Kernels", + Type = "HttpSynchronization", + Identifier = "saturn_kernels", + Version = 1 +}) + +asset.export("sat319", Kernels .. '/sat319.bsp') +asset.export("sat368", Kernels .. '/sat368.bsp') +asset.export("sat375", Kernels .. '/sat375.bsp') +asset.export("sat393", Kernels .. '/sat393.bsp') diff --git a/data/assets/scene/solarsystem/planets/saturn/mimas/mimas.asset b/data/assets/scene/solarsystem/planets/saturn/mimas/mimas.asset index b15f141cd7..8e2368e228 100644 --- a/data/assets/scene/solarsystem/planets/saturn/mimas/mimas.asset +++ b/data/assets/scene/solarsystem/planets/saturn/mimas/mimas.asset @@ -1,6 +1,6 @@ local transforms = asset.require('../transforms') local assetHelper = asset.require('util/asset_helper') -local kernels375 = asset.require('../sat375').Kernels +local kernel = asset.require('../kernels').sat375 asset.request('./trail') @@ -20,7 +20,7 @@ local Mimas = { Type = "SpiceTranslation", Target = "MIMAS", Observer = "SATURN BARYCENTER", - Kernels = kernels375 + Kernels = kernel }, Rotation = { Type = "SpiceRotation", diff --git a/data/assets/scene/solarsystem/planets/saturn/mimas/trail.asset b/data/assets/scene/solarsystem/planets/saturn/mimas/trail.asset index c1ad48a0e1..996d15614c 100644 --- a/data/assets/scene/solarsystem/planets/saturn/mimas/trail.asset +++ b/data/assets/scene/solarsystem/planets/saturn/mimas/trail.asset @@ -1,6 +1,6 @@ local transforms = asset.require('../transforms') local assetHelper = asset.require('util/asset_helper') -local kernels375 = asset.require('../sat375').Kernels +local kernel = asset.require('../kernels').sat375 @@ -13,7 +13,7 @@ local MimasTrail = { Type = "SpiceTranslation", Target = "MIMAS", Observer = "SATURN BARYCENTER", - Kernels = kernels + Kernels = kernel }, Color = { 0.5, 0.3, 0.3 }, Period = 23.0 / 24.0, diff --git a/data/assets/scene/solarsystem/planets/saturn/minor/gallic_group.asset b/data/assets/scene/solarsystem/planets/saturn/minor/gallic_group.asset index 129814643f..a92d78ef07 100644 --- a/data/assets/scene/solarsystem/planets/saturn/minor/gallic_group.asset +++ b/data/assets/scene/solarsystem/planets/saturn/minor/gallic_group.asset @@ -1,7 +1,7 @@ local assetHelper = asset.require('util/asset_helper') local proceduralGlobes = asset.require('util/procedural_globe') local transforms = asset.require('../transforms') -local kernels368 = asset.require('../sat368').Kernels +local kernel = asset.require('../kernels').sat368 @@ -25,7 +25,7 @@ local gallicGroup = { }, TrailColor = trailColor, OrbitPeriod = 774.58, - Kernels = kernels368 + Kernels = kernel }, { Identifier = "Bebhionn", @@ -41,7 +41,7 @@ local gallicGroup = { }, TrailColor = trailColor, OrbitPeriod = 838.77, - Kernels = kernels368 + Kernels = kernel }, { Identifier = "Erriapus", @@ -57,7 +57,7 @@ local gallicGroup = { }, TrailColor = trailColor, OrbitPeriod = 844.89, - Kernels = kernels368 + Kernels = kernel }, { Identifier = "Tarvos", @@ -73,7 +73,7 @@ local gallicGroup = { }, TrailColor = trailColor, OrbitPeriod = 944.23, - Kernels = kernels368 + Kernels = kernel }, } diff --git a/data/assets/scene/solarsystem/planets/saturn/minor/inuit_group.asset b/data/assets/scene/solarsystem/planets/saturn/minor/inuit_group.asset index e19528647f..273a95d9f7 100644 --- a/data/assets/scene/solarsystem/planets/saturn/minor/inuit_group.asset +++ b/data/assets/scene/solarsystem/planets/saturn/minor/inuit_group.asset @@ -1,7 +1,7 @@ local assetHelper = asset.require('util/asset_helper') local proceduralGlobes = asset.require('util/procedural_globe') local transforms = asset.require('../transforms') -local kernels368 = asset.require('../sat368').Kernels +local kernel = asset.require('../kernels').sat368 @@ -25,7 +25,7 @@ local inuitGroup = { }, TrailColor = trailColor, OrbitPeriod = 448.16, - Kernels = kernels368 + Kernels = kernel }, { Identifier = "Ijiraq", @@ -41,7 +41,7 @@ local inuitGroup = { }, TrailColor = trailColor, OrbitPeriod = 451.77, - Kernels = kernels368 + Kernels = kernel }, { Identifier = "Paaliaq", @@ -57,7 +57,7 @@ local inuitGroup = { }, TrailColor = trailColor, OrbitPeriod = 692.98, - Kernels = kernels368 + Kernels = kernel }, { Identifier = "Siarnaq", @@ -73,7 +73,7 @@ local inuitGroup = { }, TrailColor = trailColor, OrbitPeriod = 884.88, - Kernels = kernels368 + Kernels = kernel }, { Identifier = "Tarqeq", @@ -89,7 +89,7 @@ local inuitGroup = { }, TrailColor = trailColor, OrbitPeriod = 894.86, - Kernels = kernels368 + Kernels = kernel }, } diff --git a/data/assets/scene/solarsystem/planets/saturn/minor/norse_group.asset b/data/assets/scene/solarsystem/planets/saturn/minor/norse_group.asset index a81ff133c3..8776452fd1 100644 --- a/data/assets/scene/solarsystem/planets/saturn/minor/norse_group.asset +++ b/data/assets/scene/solarsystem/planets/saturn/minor/norse_group.asset @@ -1,8 +1,9 @@ local assetHelper = asset.require('util/asset_helper') local proceduralGlobes = asset.require('util/procedural_globe') local transforms = asset.require('../transforms') -local kernels368 = asset.require('../sat368').Kernels -local kernels375 = asset.require('../sat375').Kernels +local kernels = asset.require('../kernels') +local kernel368 = kernels.sat368 +local kernel375 = kernels.sat375 @@ -26,7 +27,7 @@ local norseGroup = { }, TrailColor = trailColor, OrbitPeriod = 545.09, - Kernels = kernels375 + Kernels = kernel375 }, { Identifier = "Skathi", @@ -42,7 +43,7 @@ local norseGroup = { }, TrailColor = trailColor, OrbitPeriod = 732.52, - Kernels = kernels368 + Kernels = kernel368 }, { Identifier = "S2007S2", @@ -59,7 +60,7 @@ local norseGroup = { }, TrailColor = trailColor, OrbitPeriod = 792.96, - Kernels = kernels368 + Kernels = kernel368 }, { Identifier = "Skoll", @@ -75,7 +76,7 @@ local norseGroup = { }, TrailColor = trailColor, OrbitPeriod = 862.37, - Kernels = kernels368 + Kernels = kernel368 }, { Identifier = "S2004S13", @@ -92,7 +93,7 @@ local norseGroup = { }, TrailColor = trailColor, OrbitPeriod = 905.85, - Kernels = kernels368 + Kernels = kernel368 }, { Identifier = "Greip", @@ -108,7 +109,7 @@ local norseGroup = { }, TrailColor = trailColor, OrbitPeriod = 906.56, - Kernels = kernels368 + Kernels = kernel368 }, { Identifier = "Hyrrokkin", @@ -124,7 +125,7 @@ local norseGroup = { }, TrailColor = trailColor, OrbitPeriod = 914.29, - Kernels = kernels368 + Kernels = kernel368 }, { Identifier = "Jarnsaxa", @@ -140,7 +141,7 @@ local norseGroup = { }, TrailColor = trailColor, OrbitPeriod = 943.78, - Kernels = kernels368 + Kernels = kernel368 }, { Identifier = "Mundilfari", @@ -156,7 +157,7 @@ local norseGroup = { }, TrailColor = trailColor, OrbitPeriod = 956.70, - Kernels = kernels368 + Kernels = kernel368 }, { Identifier = "S2006S1", @@ -173,7 +174,7 @@ local norseGroup = { }, TrailColor = trailColor, OrbitPeriod = 972.41, - Kernels = kernels368 + Kernels = kernel368 }, { Identifier = "S2004S17", @@ -190,7 +191,7 @@ local norseGroup = { }, TrailColor = trailColor, OrbitPeriod = 985.45, - Kernels = kernels368 + Kernels = kernel368 }, { Identifier = "Bergelmir", @@ -206,7 +207,7 @@ local norseGroup = { }, TrailColor = trailColor, OrbitPeriod = 985.83, - Kernels = kernels368 + Kernels = kernel368 }, { Identifier = "Narvi", @@ -222,7 +223,7 @@ local norseGroup = { }, TrailColor = trailColor, OrbitPeriod = 1008.45, - Kernels = kernels368 + Kernels = kernel368 }, { Identifier = "Suttungr", @@ -238,7 +239,7 @@ local norseGroup = { }, TrailColor = trailColor, OrbitPeriod = 1022.82, - Kernels = kernels368 + Kernels = kernel368 }, { Identifier = "Hati", @@ -254,7 +255,7 @@ local norseGroup = { }, TrailColor = trailColor, OrbitPeriod = 1033.05, - Kernels = kernels368 + Kernels = kernel368 }, { Identifier = "S2004S12", @@ -271,7 +272,7 @@ local norseGroup = { }, TrailColor = trailColor, OrbitPeriod = 1048.54, - Kernels = kernels368 + Kernels = kernel368 }, { Identifier = "Farbauti", @@ -287,7 +288,7 @@ local norseGroup = { }, TrailColor = trailColor, OrbitPeriod = 1054.78, - Kernels = kernels368 + Kernels = kernel368 }, { Identifier = "Thrymr", @@ -303,7 +304,7 @@ local norseGroup = { }, TrailColor = trailColor, OrbitPeriod = 1078.09, - Kernels = kernels368 + Kernels = kernel368 }, { Identifier = "Aegir", @@ -319,7 +320,7 @@ local norseGroup = { }, TrailColor = trailColor, OrbitPeriod = 1094.46, - Kernels = kernels368 + Kernels = kernel368 }, { Identifier = "S2007S3", @@ -336,7 +337,7 @@ local norseGroup = { }, TrailColor = trailColor, OrbitPeriod = 1100, - Kernels = kernels368 + Kernels = kernel368 }, { Identifier = "Bestla", @@ -352,7 +353,7 @@ local norseGroup = { }, TrailColor = trailColor, OrbitPeriod = 1101.45, - Kernels = kernels368 + Kernels = kernel368 }, { Identifier = "S2004S7", @@ -369,7 +370,7 @@ local norseGroup = { }, TrailColor = trailColor, OrbitPeriod = 1101.99, - Kernels = kernels368 + Kernels = kernel368 }, { Identifier = "S2006S3", @@ -386,7 +387,7 @@ local norseGroup = { }, TrailColor = trailColor, OrbitPeriod = 1142.37, - Kernels = kernels368 + Kernels = kernel368 }, { Identifier = "FENRIR", @@ -402,7 +403,7 @@ local norseGroup = { }, TrailColor = trailColor, OrbitPeriod = 1212.53, - Kernels = kernels368 + Kernels = kernel368 }, -- Not yet in the Spice kernels -- { @@ -435,7 +436,7 @@ local norseGroup = { }, TrailColor = trailColor, OrbitPeriod = 1245.06, - Kernels = kernels368 + Kernels = kernel368 }, { Identifier = "Ymir", @@ -451,7 +452,7 @@ local norseGroup = { }, TrailColor = trailColor, OrbitPeriod = 1254.15, - Kernels = kernels368 + Kernels = kernel368 }, { Identifier = "Loge", @@ -467,7 +468,7 @@ local norseGroup = { }, TrailColor = trailColor, OrbitPeriod = 1300.95, - Kernels = kernels368 + Kernels = kernel368 }, { Identifier = "Fornjot", @@ -483,7 +484,7 @@ local norseGroup = { }, TrailColor = trailColor, OrbitPeriod = 1432.16, - Kernels = kernels368 + Kernels = kernel368 }, } diff --git a/data/assets/scene/solarsystem/planets/saturn/minor/other_group.asset b/data/assets/scene/solarsystem/planets/saturn/minor/other_group.asset index 0203893816..765ae86ad5 100644 --- a/data/assets/scene/solarsystem/planets/saturn/minor/other_group.asset +++ b/data/assets/scene/solarsystem/planets/saturn/minor/other_group.asset @@ -1,8 +1,9 @@ local assetHelper = asset.require('util/asset_helper') local proceduralGlobes = asset.require('util/procedural_globe') local transforms = asset.require('../transforms') -local kernels393 = asset.require('../sat393').Kernels -local kernels375 = asset.require('../sat375').Kernels +local kernels = asset.require('../kernels') +local kernel375 = kernels.sat375 +local kernel393 = kernels.sat393 @@ -26,7 +27,7 @@ local otherGroup = { }, TrailColor = trailColor, OrbitPeriod = 0.60169, - Kernels = kernels393 + Kernels = kernel393 }, { Identifier = "Prometheus", @@ -42,7 +43,7 @@ local otherGroup = { }, TrailColor = trailColor, OrbitPeriod = 0.61299, - Kernels = kernels393 + Kernels = kernel393 }, { Identifier = "Pandora", @@ -58,7 +59,7 @@ local otherGroup = { }, TrailColor = trailColor, OrbitPeriod = 0.62850, - Kernels = kernels393 + Kernels = kernel393 }, { Identifier = "Epimetheus", @@ -74,7 +75,7 @@ local otherGroup = { }, TrailColor = trailColor, OrbitPeriod = 0.69433, - Kernels = kernels393 + Kernels = kernel393 }, { Identifier = "Janus", @@ -90,7 +91,7 @@ local otherGroup = { }, TrailColor = trailColor, OrbitPeriod = 0.69466, - Kernels = kernels393 + Kernels = kernel393 }, { Identifier = "Aegaeon", @@ -106,7 +107,7 @@ local otherGroup = { }, TrailColor = trailColor, OrbitPeriod = 0.80812, - Kernels = kernels393 + Kernels = kernel393 }, { Identifier = "Methone", @@ -122,7 +123,7 @@ local otherGroup = { }, TrailColor = trailColor, OrbitPeriod = 1.00957, - Kernels = kernels393 + Kernels = kernel393 }, { Identifier = "Anthe", @@ -138,7 +139,7 @@ local otherGroup = { }, TrailColor = trailColor, OrbitPeriod = 1.05089, - Kernels = kernels393 + Kernels = kernel393 }, { Identifier = "Pallene", @@ -154,7 +155,7 @@ local otherGroup = { }, TrailColor = trailColor, OrbitPeriod = 1.370218, - Kernels = kernels393 + Kernels = kernel393 }, { Identifier = "Telesto", @@ -170,7 +171,7 @@ local otherGroup = { }, TrailColor = trailColor, OrbitPeriod = 1.887802, - Kernels = kernels375 + Kernels = kernel375 }, { Identifier = "Calypso", @@ -186,7 +187,7 @@ local otherGroup = { }, TrailColor = trailColor, OrbitPeriod = 1.887802, - Kernels = kernels375 + Kernels = kernel375 }, { Identifier = "Helene", @@ -202,7 +203,7 @@ local otherGroup = { }, TrailColor = trailColor, OrbitPeriod = 2.736915, - Kernels = kernels375 + Kernels = kernel375 }, { Identifier = "Polydeuces", @@ -218,8 +219,8 @@ local otherGroup = { }, TrailColor = trailColor, OrbitPeriod = 2.736915, - Kernels = kernels393 - }, + Kernels = kernel393 + } } diff --git a/data/assets/scene/solarsystem/planets/saturn/rhea/rhea.asset b/data/assets/scene/solarsystem/planets/saturn/rhea/rhea.asset index ef17b8ae46..df6150a831 100644 --- a/data/assets/scene/solarsystem/planets/saturn/rhea/rhea.asset +++ b/data/assets/scene/solarsystem/planets/saturn/rhea/rhea.asset @@ -1,6 +1,6 @@ local transforms = asset.require('../transforms') local assetHelper = asset.require('util/asset_helper') -local kernels375 = asset.require('../sat375').Kernels +local kernel = asset.require('../kernels').sat375 asset.request('./trail') @@ -20,7 +20,7 @@ local Rhea = { Type = "SpiceTranslation", Target = "RHEA", Observer = "SATURN BARYCENTER", - Kernels = kernels375 + Kernels = kernel }, Rotation = { Type = "SpiceRotation", diff --git a/data/assets/scene/solarsystem/planets/saturn/rhea/trail.asset b/data/assets/scene/solarsystem/planets/saturn/rhea/trail.asset index d673879143..70b116dcd2 100644 --- a/data/assets/scene/solarsystem/planets/saturn/rhea/trail.asset +++ b/data/assets/scene/solarsystem/planets/saturn/rhea/trail.asset @@ -1,6 +1,6 @@ local transforms = asset.require('../transforms') local assetHelper = asset.require('util/asset_helper') -local kernels375 = asset.require('../sat375').Kernels +local kernel = asset.require('../kernels').sat375 @@ -13,7 +13,7 @@ local RheaTrail = { Type = "SpiceTranslation", Target = "RHEA", Observer = "SATURN BARYCENTER", - Kernels = kernels + Kernels = kernel }, Color = { 0.5, 0.3, 0.3 }, Period = 108.0 / 24.0, diff --git a/data/assets/scene/solarsystem/planets/saturn/sat319.asset b/data/assets/scene/solarsystem/planets/saturn/sat319.asset deleted file mode 100644 index e8c3aea782..0000000000 --- a/data/assets/scene/solarsystem/planets/saturn/sat319.asset +++ /dev/null @@ -1,8 +0,0 @@ -local Kernels = asset.syncedResource({ - Name = "Saturn Spice Kernels (sat319)", - Type = "TorrentSynchronization", - Identifier = "sat319", - Magnet = "magnet:?xt=urn:btih:826CC504021477388F4E981F9CE5F8370E6720FB&dn=sat319.bsp&tr=udp%3a%2f%2ftracker.openbittorrent.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.publicbt.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.ccc.de%3a80%2fannounce" -}) - -asset.export("Kernels", Kernels .. '/sat319.bsp') diff --git a/data/assets/scene/solarsystem/planets/saturn/sat368.asset b/data/assets/scene/solarsystem/planets/saturn/sat368.asset deleted file mode 100644 index 4c4062c20d..0000000000 --- a/data/assets/scene/solarsystem/planets/saturn/sat368.asset +++ /dev/null @@ -1,8 +0,0 @@ -local Kernels = asset.syncedResource({ - Name = "Saturn Spice Kernels (sat368)", - Type = "TorrentSynchronization", - Identifier = "sat368", - Magnet = "magnet:?xt=urn:btih:D4DAFF94F8D2973D5561F082B4DF7F96B1949768&dn=sat368.bsp&tr=udp%3a%2f%2ftracker.openbittorrent.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.publicbt.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.ccc.de%3a80%2fannounce" -}) - -asset.export("Kernels", Kernels .. '/sat368.bsp') diff --git a/data/assets/scene/solarsystem/planets/saturn/sat375.asset b/data/assets/scene/solarsystem/planets/saturn/sat375.asset deleted file mode 100644 index a55f2ed460..0000000000 --- a/data/assets/scene/solarsystem/planets/saturn/sat375.asset +++ /dev/null @@ -1,8 +0,0 @@ -local Kernels = asset.syncedResource({ - Name = "Saturn Spice Kernels (sat375)", - Type = "TorrentSynchronization", - Identifier = "sat375", - Magnet = "magnet:?xt=urn:btih:79083d2069df389e65d7688bb326c7aaf1953845&dn=sat375.bsp" -}) - -asset.export("Kernels", Kernels .. '/sat375.bsp') diff --git a/data/assets/scene/solarsystem/planets/saturn/sat393.asset b/data/assets/scene/solarsystem/planets/saturn/sat393.asset deleted file mode 100644 index 0ca49355a0..0000000000 --- a/data/assets/scene/solarsystem/planets/saturn/sat393.asset +++ /dev/null @@ -1,8 +0,0 @@ -local Kernels = asset.syncedResource({ - Name = "Saturn Spice Kernels (sat393)", - Type = "TorrentSynchronization", - Identifier = "sat393", - Magnet = "magnet:?xt=urn:btih:9336184E8C6E09D28D6037470B30471BBA65B2A5&dn=sat393.bsp&tr=udp%3a%2f%2ftracker.openbittorrent.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.publicbt.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.ccc.de%3a80%2fannounce" -}) - -asset.export("Kernels", Kernels .. '/sat393.bsp') diff --git a/data/assets/scene/solarsystem/planets/saturn/saturn.asset b/data/assets/scene/solarsystem/planets/saturn/saturn.asset index 77b45972f2..d9ea30dac3 100644 --- a/data/assets/scene/solarsystem/planets/saturn/saturn.asset +++ b/data/assets/scene/solarsystem/planets/saturn/saturn.asset @@ -20,6 +20,10 @@ local Saturn = { Type = "SpiceRotation", SourceFrame = "IAU_SATURN", DestinationFrame = "GALACTIC" + }, + Scale = { + Type = "StaticScale", + Scale = 1.0 } }, Renderable = { diff --git a/data/assets/scene/solarsystem/planets/saturn/tethys/tethys.asset b/data/assets/scene/solarsystem/planets/saturn/tethys/tethys.asset index dbcc1147ca..8f899ff8f8 100644 --- a/data/assets/scene/solarsystem/planets/saturn/tethys/tethys.asset +++ b/data/assets/scene/solarsystem/planets/saturn/tethys/tethys.asset @@ -1,6 +1,6 @@ local transforms = asset.require('../transforms') local assetHelper = asset.require('util/asset_helper') -local kernels375 = asset.require('../sat375').Kernels +local kernel = asset.require('../kernels').sat375 asset.request('./trail') @@ -20,7 +20,7 @@ local Tethys = { Type = "SpiceTranslation", Target = "TETHYS", Observer = "SATURN BARYCENTER", - Kernels = kernels375 + Kernels = kernel }, Rotation = { Type = "SpiceRotation", diff --git a/data/assets/scene/solarsystem/planets/saturn/tethys/trail.asset b/data/assets/scene/solarsystem/planets/saturn/tethys/trail.asset index 13a2cfce44..6bf002a440 100644 --- a/data/assets/scene/solarsystem/planets/saturn/tethys/trail.asset +++ b/data/assets/scene/solarsystem/planets/saturn/tethys/trail.asset @@ -1,6 +1,6 @@ local transforms = asset.require('../transforms') local assetHelper = asset.require('util/asset_helper') -local kernels375 = asset.require('../sat375').Kernels +local kernel = asset.require('../kernels').sat375 @@ -13,7 +13,7 @@ local TethysTrail = { Type = "SpiceTranslation", Target = "TETHYS", Observer = "SATURN BARYCENTER", - Kernels = kernels + Kernels = kernel }, Color = { 0.5, 0.3, 0.3 }, Period = 45.0 / 24.0, diff --git a/data/assets/scene/solarsystem/planets/saturn/titan/titan.asset b/data/assets/scene/solarsystem/planets/saturn/titan/titan.asset index 0e90ce2f8c..9d871b1756 100644 --- a/data/assets/scene/solarsystem/planets/saturn/titan/titan.asset +++ b/data/assets/scene/solarsystem/planets/saturn/titan/titan.asset @@ -1,6 +1,6 @@ local transforms = asset.require('../transforms') local assetHelper = asset.require('util/asset_helper') -local kernels375 = asset.require('../sat375').Kernels +local kernel = asset.require('../kernels').sat375 asset.request('./trail') @@ -20,7 +20,7 @@ local Titan = { Type = "SpiceTranslation", Target = "TITAN", Observer = "SATURN BARYCENTER", - Kernels = kernels375 + Kernels = kernel }, Rotation = { Type = "SpiceRotation", diff --git a/data/assets/scene/solarsystem/planets/saturn/titan/trail.asset b/data/assets/scene/solarsystem/planets/saturn/titan/trail.asset index 715c45ff74..ff45283ff3 100644 --- a/data/assets/scene/solarsystem/planets/saturn/titan/trail.asset +++ b/data/assets/scene/solarsystem/planets/saturn/titan/trail.asset @@ -1,6 +1,6 @@ local transforms = asset.require('../transforms') local assetHelper = asset.require('util/asset_helper') -local kernels375 = asset.require('../sat375').Kernels +local kernel = asset.require('../kernels').sat375 @@ -13,7 +13,7 @@ local TitanTrail = { Type = "SpiceTranslation", Target = "TITAN", Observer = "SATURN BARYCENTER", - Kernels = kernels + Kernels = kernel }, Color = { 0.5, 0.3, 0.3 }, Period = 16.0, diff --git a/data/assets/scene/solarsystem/planets/saturn/transforms.asset b/data/assets/scene/solarsystem/planets/saturn/transforms.asset index 910aae992f..21b84d5c54 100644 --- a/data/assets/scene/solarsystem/planets/saturn/transforms.asset +++ b/data/assets/scene/solarsystem/planets/saturn/transforms.asset @@ -2,8 +2,6 @@ local assetHelper = asset.require('util/asset_helper') local transforms = asset.require('scene/solarsystem/sun/transforms') asset.require("spice/base") - - local SaturnBarycenter = { Identifier = "SaturnBarycenter", Parent = transforms.SolarSystemBarycenter.Identifier, @@ -21,6 +19,4 @@ local SaturnBarycenter = { } } - - assetHelper.registerSceneGraphNodesAndExport(asset, { SaturnBarycenter }) diff --git a/data/assets/scene/solarsystem/planets/uranus/inner_moons.asset b/data/assets/scene/solarsystem/planets/uranus/inner_moons.asset index 6b27fe5cd3..b14c7e01e8 100644 --- a/data/assets/scene/solarsystem/planets/uranus/inner_moons.asset +++ b/data/assets/scene/solarsystem/planets/uranus/inner_moons.asset @@ -1,7 +1,7 @@ local assetHelper = asset.require('util/asset_helper') local proceduralGlobes = asset.require('util/procedural_globe') local transforms = asset.require('./transforms') -local kernels091 = asset.require('./ura091').Kernels +local kernel = asset.require('./kernels').ura091 @@ -25,7 +25,7 @@ local innerMoons = { }, TrailColor = trailColor, OrbitPeriod = 0.335034, - Kernels = kernels091 + Kernels = kernel }, { Identifier = "Ophelia", @@ -41,7 +41,7 @@ local innerMoons = { }, TrailColor = trailColor, OrbitPeriod = 0.376400, - Kernels = kernels091 + Kernels = kernel }, { Identifier = "Bianca", @@ -57,7 +57,7 @@ local innerMoons = { }, TrailColor = trailColor, OrbitPeriod = 0.434579, - Kernels = kernels091 + Kernels = kernel }, { Identifier = "Cressida", @@ -73,7 +73,7 @@ local innerMoons = { }, TrailColor = trailColor, OrbitPeriod = 0.463570, - Kernels = kernels091 + Kernels = kernel }, { Identifier = "Desdemona", @@ -89,7 +89,7 @@ local innerMoons = { }, TrailColor = trailColor, OrbitPeriod = 0.473650, - Kernels = kernels091 + Kernels = kernel }, { Identifier = "Juliet", @@ -105,7 +105,7 @@ local innerMoons = { }, TrailColor = trailColor, OrbitPeriod = 0.493065, - Kernels = kernels091 + Kernels = kernel }, { Identifier = "Portia", @@ -121,7 +121,7 @@ local innerMoons = { }, TrailColor = trailColor, OrbitPeriod = 0.513196, - Kernels = kernels091 + Kernels = kernel }, { Identifier = "Rosalind", @@ -137,7 +137,7 @@ local innerMoons = { }, TrailColor = trailColor, OrbitPeriod = 0.558460, - Kernels = kernels091 + Kernels = kernel }, { Identifier = "Cupid", @@ -153,7 +153,7 @@ local innerMoons = { }, TrailColor = trailColor, OrbitPeriod = 0.618, - Kernels = kernels091 + Kernels = kernel }, { Identifier = "Belinda", @@ -169,7 +169,7 @@ local innerMoons = { }, TrailColor = trailColor, OrbitPeriod = 0.623527, - Kernels = kernels091 + Kernels = kernel }, { Identifier = "Perdita", @@ -185,7 +185,7 @@ local innerMoons = { }, TrailColor = trailColor, OrbitPeriod = 0.638, - Kernels = kernels091 + Kernels = kernel }, { Identifier = "Puck", @@ -201,7 +201,7 @@ local innerMoons = { }, TrailColor = trailColor, OrbitPeriod = 0.761833, - Kernels = kernels091 + Kernels = kernel }, { Identifier = "Mab", @@ -217,7 +217,7 @@ local innerMoons = { }, TrailColor = trailColor, OrbitPeriod = 0.923, - Kernels = kernels091 + Kernels = kernel } } diff --git a/data/assets/scene/solarsystem/planets/uranus/irregular_prograde_moons.asset b/data/assets/scene/solarsystem/planets/uranus/irregular_prograde_moons.asset index d866dfbd7f..f72ebd7094 100644 --- a/data/assets/scene/solarsystem/planets/uranus/irregular_prograde_moons.asset +++ b/data/assets/scene/solarsystem/planets/uranus/irregular_prograde_moons.asset @@ -1,7 +1,7 @@ local assetHelper = asset.require('util/asset_helper') local proceduralGlobes = asset.require('util/procedural_globe') local transforms = asset.require('./transforms') -local kernels112 = asset.require('./ura112').Kernels +local kernel = asset.require('./kernels').ura112 @@ -25,7 +25,7 @@ local irregularMoons = { }, TrailColor = trailColor, OrbitPeriod = 1694.8, - Kernels = kernels112 + Kernels = kernel } } diff --git a/data/assets/scene/solarsystem/planets/uranus/irregular_retrograde_moons.asset b/data/assets/scene/solarsystem/planets/uranus/irregular_retrograde_moons.asset index 9e1efdd062..40df42f66a 100644 --- a/data/assets/scene/solarsystem/planets/uranus/irregular_retrograde_moons.asset +++ b/data/assets/scene/solarsystem/planets/uranus/irregular_retrograde_moons.asset @@ -1,7 +1,7 @@ local assetHelper = asset.require('util/asset_helper') local proceduralGlobes = asset.require('util/procedural_globe') local transforms = asset.require('./transforms') -local kernels112 = asset.require('./ura112').Kernels +local kernel = asset.require('./kernels').ura112 @@ -25,7 +25,7 @@ local irregularMoons = { }, TrailColor = trailColor, OrbitPeriod = 266.56, - Kernels = kernels112 + Kernels = kernel }, { Identifier = "Caliban", @@ -41,7 +41,7 @@ local irregularMoons = { }, TrailColor = trailColor, OrbitPeriod = 579.50, - Kernels = kernels112 + Kernels = kernel }, { Identifier = "Stephano", @@ -57,7 +57,7 @@ local irregularMoons = { }, TrailColor = trailColor, OrbitPeriod = 676.50, - Kernels = kernels112 + Kernels = kernel }, { Identifier = "Trinculo", @@ -73,7 +73,7 @@ local irregularMoons = { }, TrailColor = trailColor, OrbitPeriod = 758.10, - Kernels = kernels112 + Kernels = kernel }, { Identifier = "Sycorax", @@ -89,7 +89,7 @@ local irregularMoons = { }, TrailColor = trailColor, OrbitPeriod = 1283.4, - Kernels = kernels112 + Kernels = kernel }, { Identifier = "Prospero", @@ -105,7 +105,7 @@ local irregularMoons = { }, TrailColor = trailColor, OrbitPeriod = 1992.8, - Kernels = kernels112 + Kernels = kernel }, { Identifier = "Setebos", @@ -121,7 +121,7 @@ local irregularMoons = { }, TrailColor = trailColor, OrbitPeriod = 2202.3, - Kernels = kernels112 + Kernels = kernel }, { Identifier = "Ferdinand", @@ -137,7 +137,7 @@ local irregularMoons = { }, TrailColor = trailColor, OrbitPeriod = 2823.4, - Kernels = kernels112 + Kernels = kernel } } diff --git a/data/assets/scene/solarsystem/planets/uranus/kernels.asset b/data/assets/scene/solarsystem/planets/uranus/kernels.asset new file mode 100644 index 0000000000..dafed7ee35 --- /dev/null +++ b/data/assets/scene/solarsystem/planets/uranus/kernels.asset @@ -0,0 +1,10 @@ +local Kernels = asset.syncedResource({ + Name = "Uranus Spice Kernels", + Type = "HttpSynchronization", + Identifier = "uranus_kernels", + Version = 1 +}) + +asset.export("ura091", Kernels .. "/ura091-rocks-merge.bsp") +asset.export("ura111", Kernels .. "/ura111.bsp") +asset.export("ura112", Kernels .. "/ura112.bsp") diff --git a/data/assets/scene/solarsystem/planets/uranus/major_moons.asset b/data/assets/scene/solarsystem/planets/uranus/major_moons.asset index a8d44f1514..628b850ad9 100644 --- a/data/assets/scene/solarsystem/planets/uranus/major_moons.asset +++ b/data/assets/scene/solarsystem/planets/uranus/major_moons.asset @@ -1,7 +1,7 @@ local assetHelper = asset.require('util/asset_helper') local proceduralGlobes = asset.require('util/procedural_globe') local transforms = asset.require('./transforms') -local kernels111 = asset.require('./ura111').Kernels +local kernel = asset.require('./kernels').ura111 @@ -25,7 +25,7 @@ local majorMoons = { }, TrailColor = trailColor, OrbitPeriod = 1.413479, - Kernels = kernels111 + Kernels = kernel }, { Identifier = "Ariel", @@ -41,7 +41,7 @@ local majorMoons = { }, TrailColor = trailColor, OrbitPeriod = 2.520379, - Kernels = kernels111 + Kernels = kernel }, { Identifier = "Umbriel", @@ -57,7 +57,7 @@ local majorMoons = { }, TrailColor = trailColor, OrbitPeriod = 4.144177, - Kernels = kernels111 + Kernels = kernel }, { Identifier = "Titania", @@ -73,7 +73,7 @@ local majorMoons = { }, TrailColor = trailColor, OrbitPeriod = 8.705872, - Kernels = kernels111 + Kernels = kernel }, { Identifier = "Oberon", @@ -89,7 +89,7 @@ local majorMoons = { }, TrailColor = trailColor, OrbitPeriod = 13.463239, - Kernels = kernels111 + Kernels = kernel } } diff --git a/data/assets/scene/solarsystem/planets/uranus/transforms.asset b/data/assets/scene/solarsystem/planets/uranus/transforms.asset index 2b801bebd1..aec617b326 100644 --- a/data/assets/scene/solarsystem/planets/uranus/transforms.asset +++ b/data/assets/scene/solarsystem/planets/uranus/transforms.asset @@ -21,6 +21,4 @@ local UranusBarycenter = { } } - - assetHelper.registerSceneGraphNodesAndExport(asset, { UranusBarycenter }) diff --git a/data/assets/scene/solarsystem/planets/uranus/ura091.asset b/data/assets/scene/solarsystem/planets/uranus/ura091.asset deleted file mode 100644 index eaf67fddd8..0000000000 --- a/data/assets/scene/solarsystem/planets/uranus/ura091.asset +++ /dev/null @@ -1,8 +0,0 @@ -local Kernels = asset.syncedResource({ - Name = "Uranus Spice Kernels (ura091)", - Type = "TorrentSynchronization", - Identifier = "ura091", - Magnet = "magnet:?xt=urn:btih:4A5CA79334D5C8AC6AF622247E27A6723B74CCFB&dn=ura091-rocks-merge.bsp&tr=udp%3a%2f%2ftracker.openbittorrent.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.publicbt.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.ccc.de%3a80%2fannounce" -}) - -asset.export("Kernels", Kernels .. "/ura091-rocks-merge.bsp") diff --git a/data/assets/scene/solarsystem/planets/uranus/ura111.asset b/data/assets/scene/solarsystem/planets/uranus/ura111.asset deleted file mode 100644 index 665d0591a2..0000000000 --- a/data/assets/scene/solarsystem/planets/uranus/ura111.asset +++ /dev/null @@ -1,8 +0,0 @@ -local Kernels = asset.syncedResource({ - Name = "Uranus Spice Kernels (ura111)", - Type = "TorrentSynchronization", - Identifier = "ura111", - Magnet = "magnet:?xt=urn:btih:26C4903D1A12AE439480F31B45BAEB5781D2B305&dn=ura111.bsp&tr=udp%3a%2f%2ftracker.openbittorrent.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.publicbt.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.ccc.de%3a80%2fannounce" -}) - -asset.export("Kernels", Kernels .. '/ura111.bsp') diff --git a/data/assets/scene/solarsystem/planets/uranus/ura112.asset b/data/assets/scene/solarsystem/planets/uranus/ura112.asset deleted file mode 100644 index 394f9a51e6..0000000000 --- a/data/assets/scene/solarsystem/planets/uranus/ura112.asset +++ /dev/null @@ -1,8 +0,0 @@ -local Kernels = asset.syncedResource({ - Name = "Uranus Spice Kernels (ura112)", - Type = "TorrentSynchronization", - Identifier = "ura112", - Magnet = "magnet:?xt=urn:btih:2DC230BFA2F6505A09BA3DAEF1D610BDEF95EEDB&dn=ura112.bsp&tr=udp%3a%2f%2ftracker.openbittorrent.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.publicbt.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.ccc.de%3a80%2fannounce" -}) - -asset.export("Kernels", Kernels .. '/ura112.bsp') diff --git a/data/assets/scene/solarsystem/planets/uranus/uranus.asset b/data/assets/scene/solarsystem/planets/uranus/uranus.asset index 1bb29fa184..03ca0abd60 100644 --- a/data/assets/scene/solarsystem/planets/uranus/uranus.asset +++ b/data/assets/scene/solarsystem/planets/uranus/uranus.asset @@ -20,6 +20,10 @@ local Uranus = { Type = "SpiceRotation", SourceFrame = "IAU_URANUS", DestinationFrame = "GALACTIC" + }, + Scale = { + Type = "StaticScale", + Scale = 1.0 } }, Renderable = { diff --git a/data/assets/scene/solarsystem/planets/venus/transforms.asset b/data/assets/scene/solarsystem/planets/venus/transforms.asset index f8b0bf0307..c3071d5fa5 100644 --- a/data/assets/scene/solarsystem/planets/venus/transforms.asset +++ b/data/assets/scene/solarsystem/planets/venus/transforms.asset @@ -2,8 +2,6 @@ local assetHelper = asset.require('util/asset_helper') local transforms = asset.require('scene/solarsystem/sun/transforms') asset.require("spice/base") - - local VenusBarycenter = { Identifier = "VenusBarycenter", Parent = transforms.SolarSystemBarycenter.Identifier, @@ -20,6 +18,4 @@ local VenusBarycenter = { } } - - assetHelper.registerSceneGraphNodesAndExport(asset, { VenusBarycenter }) diff --git a/data/assets/scene/solarsystem/planets/venus/venus.asset b/data/assets/scene/solarsystem/planets/venus/venus.asset index 6cb6586798..83c63f838f 100644 --- a/data/assets/scene/solarsystem/planets/venus/venus.asset +++ b/data/assets/scene/solarsystem/planets/venus/venus.asset @@ -25,6 +25,10 @@ local Venus = { Type = "SpiceTranslation", Target = "VENUS", Observer = "VENUS BARYCENTER" + }, + Scale = { + Type = "StaticScale", + Scale = 1.0 } }, Renderable = { diff --git a/data/assets/scene/solarsystem/sun/sun.asset b/data/assets/scene/solarsystem/sun/sun.asset index b9a51bf6bc..3acbccb04a 100644 --- a/data/assets/scene/solarsystem/sun/sun.asset +++ b/data/assets/scene/solarsystem/sun/sun.asset @@ -10,6 +10,7 @@ local Sun = { Parent = transforms.SunIAU.Identifier, Renderable = { Type = "RenderablePlanet", + Enabled = false, Frame = "IAU_SUN", Body = "SUN", Geometry = { diff --git a/data/assets/util/default_dashboard.asset b/data/assets/util/default_dashboard.asset index f4e01457f8..935aae0956 100644 --- a/data/assets/util/default_dashboard.asset +++ b/data/assets/util/default_dashboard.asset @@ -2,28 +2,33 @@ local assetHelper = asset.require('util/asset_helper') assetHelper.registerDashboardItems(asset, { { + Type = "DashboardItemDate", Identifier = "Date", - GuiName = "Date", - Type = "DashboardItemDate" + GuiName = "Date" }, { + Type = "DashboardItemSimulationIncrement", Identifier = "SimulationIncrement", - GuiName = "Simulation Increment", - Type = "DashboardItemSimulationIncrement" + GuiName = "Simulation Increment" }, { + Type = "DashboardItemDistance", Identifier = "Distance", - GuiName = "Distance", - Type = "DashboardItemDistance" + GuiName = "Distance" }, { + Type = "DashboardItemFramerate", Identifier = "Framerate", - GuiName = "Framerate", - Type = "DashboardItemFramerate" + GuiName = "Framerate" }, { + Type = "DashboardItemParallelConnection", Identifier = "ParallelConnection", - GuiName = "Parallel Connection", - Type = "DashboardItemParallelConnection" + GuiName = "Parallel Connection" + }, + { + Type = "DashboardItemGlobeLocation", + Identifier = "GlobeLocation", + GuiName = "Globe Location" } }) diff --git a/data/assets/util/default_joystick.asset b/data/assets/util/default_joystick.asset index 64be2b36c3..8a67a4fa8e 100644 --- a/data/assets/util/default_joystick.asset +++ b/data/assets/util/default_joystick.asset @@ -108,12 +108,12 @@ asset.onInitialize(function() -- Currently: XBoxController or PS4Controller local controller = XBoxController; - openspace.navigation.setAxisDeadZone(controller.LeftThumbStick[1], 0.05) - openspace.navigation.setAxisDeadZone(controller.LeftThumbStick[2], 0.05) - openspace.navigation.setAxisDeadZone(controller.RightThumbStick[1], 0.05) - openspace.navigation.setAxisDeadZone(controller.RightThumbStick[2], 0.05) - openspace.navigation.setAxisDeadZone(controller.LeftTrigger, 0.05) - openspace.navigation.setAxisDeadZone(controller.RightTrigger, 0.05) + openspace.navigation.setAxisDeadZone(controller.LeftThumbStick[1], 0.15) + openspace.navigation.setAxisDeadZone(controller.LeftThumbStick[2], 0.15) + openspace.navigation.setAxisDeadZone(controller.RightThumbStick[1], 0.15) + openspace.navigation.setAxisDeadZone(controller.RightThumbStick[2], 0.15) + openspace.navigation.setAxisDeadZone(controller.LeftTrigger, 0.15) + openspace.navigation.setAxisDeadZone(controller.RightTrigger, 0.15) openspace.navigation.bindJoystickAxis(controller.LeftThumbStick[1], "Orbit X"); openspace.navigation.bindJoystickAxis(controller.LeftThumbStick[2], "Orbit Y", true); @@ -122,15 +122,53 @@ asset.onInitialize(function() openspace.navigation.bindJoystickAxis(controller.LeftTrigger, "Zoom Out", false, true); openspace.navigation.bindJoystickAxis(controller.RightTrigger, "Zoom In", false, true); - openspace.navigation.bindJoystickButton(controller.LB, bindLocalRoll(controller.RightThumbStick[1])) - openspace.navigation.bindJoystickButton(controller.LB, unbindRoll(controller.RightThumbStick[1]), "Release") - openspace.navigation.bindJoystickButton(controller.RB, bindGlobalRoll(controller.RightThumbStick[1])) - openspace.navigation.bindJoystickButton(controller.RB, unbindRoll(controller.RightThumbStick[1]), "Release") + openspace.navigation.bindJoystickButton( + controller.LB, + bindLocalRoll(controller.RightThumbStick[1]), + "Switch to local roll mode" + ) + openspace.navigation.bindJoystickButton( + controller.LB, + unbindRoll(controller.RightThumbStick[1]), + "Switch back to normal mode", + "Release" + ) + openspace.navigation.bindJoystickButton( + controller.RB, + bindGlobalRoll(controller.RightThumbStick[1]), + "Switch to global roll mode" + ) + openspace.navigation.bindJoystickButton( + controller.RB, + unbindRoll(controller.RightThumbStick[1]), + "Switch back to normal mode", + "Release" + ) - openspace.navigation.bindJoystickButton(controller.A, propertyHelper.invert('NavigationHandler.OrbitalNavigator.Friction.ZoomFriction')) - openspace.navigation.bindJoystickButton(controller.B, propertyHelper.invert('NavigationHandler.OrbitalNavigator.Friction.RotationalFriction')) - openspace.navigation.bindJoystickButton(controller.DPad.Left, propertyHelper.invert('NavigationHandler.OrbitalNavigator.Friction.RollFriction')) + openspace.navigation.bindJoystickButton( + controller.A, + propertyHelper.invert('NavigationHandler.OrbitalNavigator.Friction.ZoomFriction'), + "Toggle zoom friction" + ) + openspace.navigation.bindJoystickButton( + controller.B, + propertyHelper.invert('NavigationHandler.OrbitalNavigator.Friction.RotationalFriction'), + "Toggle rotational friction" + ) + openspace.navigation.bindJoystickButton( + controller.DPad.Left, + propertyHelper.invert('NavigationHandler.OrbitalNavigator.Friction.RollFriction'), + "Toggle roll friction" + ) - openspace.navigation.bindJoystickButton(controller.X, "openspace.setPropertyValue('NavigationHandler.Origin', 'Earth')") - openspace.navigation.bindJoystickButton(controller.Y, "openspace.setPropertyValue('NavigationHandler.Origin', 'Mars')") + openspace.navigation.bindJoystickButton( + controller.X, + "openspace.setPropertyValue('NavigationHandler.Origin', 'Earth')", + "Switch target to Earth" + ) + openspace.navigation.bindJoystickButton( + controller.Y, + "openspace.setPropertyValue('NavigationHandler.Origin', 'Mars')", + "Switch target to Mars" + ) end) diff --git a/data/assets/util/slidedeck_helper.asset b/data/assets/util/slidedeck_helper.asset new file mode 100644 index 0000000000..77695896ec --- /dev/null +++ b/data/assets/util/slidedeck_helper.asset @@ -0,0 +1,76 @@ +local createDeck = function (identifier, defaultRenderableProperties) + return { + SlideIdentifiers = {}, + IdentifierPrefix = identifier, + CurrentSlideIndex = 1, + DefaultRenderableProperties = defaultRenderableProperties, + } +end + +local removeDeck = function (deck) + for i, identifier in pairs(deck.SlideIdentifiers) do + openspace.removeScreenSpaceRenderable(identifier) + end +end + +local addSlide = function (deck, path) + local index = #deck.SlideIdentifiers + 1 + local identifier = deck.IdentifierPrefix .. index + + local spec = { + Type = "ScreenSpaceImageLocal", + Identifier = identifier, + Name = identifier, + TexturePath = path + }; + + for key, value in pairs(deck.DefaultRenderableProperties) do + spec[key] = value + end + + openspace.addScreenSpaceRenderable(spec) + + deck.SlideIdentifiers[#deck.SlideIdentifiers + 1] = identifier +end + + +local setCurrentSlide = function (deck, index, interpolationDuration) + if (interpolationDuration == nil) then + interpolationDuration = 0 + end + + if (index < 0) then + index = 0 + end + + if (index > #deck.SlideIdentifiers + 1) then + index = #deck.SlideIdentifiers + 1 + end + + deck.CurrentSlideIndex = index + + for i, identifier in pairs(deck.SlideIdentifiers) do + local opacity = 0 + if (index == i) then + opacity = 1 + end + openspace.setPropertyValueSingle( + "ScreenSpace." .. identifier .. ".Alpha", opacity, + interpolationDuration) + end +end + +local goToNextSlide = function (deck, interpolationDuration) + setCurrentSlide(deck, deck.CurrentSlideIndex + 1, interpolationDuration) +end + +local goToPreviousSlide = function (deck, interpolationDuration) + setCurrentSlide(deck, deck.CurrentSlideIndex - 1, interpolationDuration) +end + +asset.export('createDeck', createDeck) +asset.export('removeDeck', removeDeck) +asset.export('addSlide', addSlide) +asset.export('setCurrentSlide', setCurrentSlide) +asset.export('goToNextSlide', goToNextSlide) +asset.export('goToPreviousSlide', goToPreviousSlide) diff --git a/data/globebrowsing_servers.lua b/data/globebrowsing_servers.lua index 254fd9edb8..996ea313e9 100644 --- a/data/globebrowsing_servers.lua +++ b/data/globebrowsing_servers.lua @@ -32,6 +32,18 @@ return { URL = "https://planetarymaps.usgs.gov/cgi-bin/mapserv?map=/maps/mars/deimos_simp_cyl.map&service=WMS&request=GetCapabilities" }, }, + Pluto = { + { + Name = "USGS Pluto", + URL = "https://planetarymaps.usgs.gov/cgi-bin/mapserv?map=/maps/pluto/pluto_simp_cyl.map&service=WMS&request=GetCapabilities" + } + }, + Charon = { + { + Name = "USGS Charon", + URL = "https://planetarymaps.usgs.gov/cgi-bin/mapserv?map=/maps/pluto/charon_simp_cyl.map&service=WMS&request=GetCapabilities" + } + } } diff --git a/data/tasks/volume/generate_cartesian.task b/data/tasks/volume/generate_cartesian.task new file mode 100644 index 0000000000..65c338404d --- /dev/null +++ b/data/tasks/volume/generate_cartesian.task @@ -0,0 +1,18 @@ +local fn = + "return function (x, y, z) " .. + " if math.sqrt(x^2 + y^2 + z^2) < 0.4 then " .. + " return 0.8 " .. + " end " .. + " return 0.0 " .. + "end" + +return {{ + Type = "GenerateRawVolumeTask", + Dimensions = {32, 32, 32}, + LowerDomainBound = {-0.5, -0.5, -0.5}, + UpperDomainBound = {0.5, 0.5, 0.5}, + ValueFunction = fn, + Time = "2018-05-04T00:00:00", + RawVolumeOutput = "${DATA}/assets/examples/volume/generated/cartesian/cartesian.rawvolume", + DictionaryOutput = "${DATA}/assets/examples/volume/generated/cartesian/cartesian.dictionary" +}} \ No newline at end of file diff --git a/data/tasks/volume/generate_cartesian_sequence.task b/data/tasks/volume/generate_cartesian_sequence.task new file mode 100644 index 0000000000..08aa2edd53 --- /dev/null +++ b/data/tasks/volume/generate_cartesian_sequence.task @@ -0,0 +1,27 @@ +local length = 60 +local tasks = {} + +for i=1,length do + local radius = 0.5 * (1 - i/length) + local step = string.format("%02d", i-1) + local fn = + "return function (x, y, z) " .. "\n" .. + " local v = math.sqrt(x^2 + y^2 + z^2) - " .. radius .. "\n" .. + " v = (-v - 0.1) / 0.2 " .. "\n" .. + " v = math.min(math.max(v, 0), 1) " .. "\n" .. + " v = 3*v^2 - 2*v^3 " .. "\n" .. + " return v" .. "\n" .. + "end" + tasks[#tasks+1] = { + Type = "GenerateRawVolumeTask", + Dimensions = {32, 32, 32}, + LowerDomainBound = {-0.5, -0.5, -0.5}, + UpperDomainBound = {0.5, 0.5, 0.5}, + ValueFunction = fn, + Time = "2018-05-04T00:00:" .. step, + RawVolumeOutput = "${DATA}/assets/examples/volume/generated/cartesiansequence/" .. step .. ".rawvolume", + DictionaryOutput = "${DATA}/assets/examples/volume/generated/cartesiansequence/" .. step .. ".dictionary" + } +end + +return tasks \ No newline at end of file diff --git a/data/tasks/volume/generate_spherical.task b/data/tasks/volume/generate_spherical.task new file mode 100644 index 0000000000..72c17dd3a2 --- /dev/null +++ b/data/tasks/volume/generate_spherical.task @@ -0,0 +1,15 @@ +local fn = + "return function (r, phi, theta) " .. + " return 1 - math.floor(r*10)/10 " .. + "end" + +return {{ + Type = "GenerateRawVolumeTask", + Dimensions = {32, 32, 32}, + LowerDomainBound = {0, 0, 0}, + UpperDomainBound = {1, math.pi, 2 * math.pi}, + ValueFunction = fn, + Time = "2018-05-04T00:00:00", + RawVolumeOutput = "${DATA}/assets/examples/volume/generated/spherical/spherical.rawvolume", + DictionaryOutput = "${DATA}/assets/examples/volume/generated/spherical/spherical.dictionary" +}} \ No newline at end of file diff --git a/ext/ghoul b/ext/ghoul index c25721693b..38271e30e0 160000 --- a/ext/ghoul +++ b/ext/ghoul @@ -1 +1 @@ -Subproject commit c25721693b499284c4dcf6c746ba85aa44655f27 +Subproject commit 38271e30e019bc130ea25da26dff51a71c5053c7 diff --git a/ext/sgct b/ext/sgct index 03a8cd877e..051d057eba 160000 --- a/ext/sgct +++ b/ext/sgct @@ -1 +1 @@ -Subproject commit 03a8cd877e540beb2e4762be6036cf895ee77647 +Subproject commit 051d057eba64bfc30820cfa3d5460e7d508e724e diff --git a/include/openspace/documentation/documentation.h b/include/openspace/documentation/documentation.h index 14ed0595fe..91b674e46c 100644 --- a/include/openspace/documentation/documentation.h +++ b/include/openspace/documentation/documentation.h @@ -27,7 +27,6 @@ #include #include - #include #include #include @@ -108,11 +107,13 @@ struct TestResult { struct SpecificationError : public ghoul::RuntimeError { /** * Creates the SpecificationError exception instance. - * \param result The offending TestResult that is passed on - * \param component The component that initiated the specification test - * \pre \p result%'s TestResult::success must be \c false + * + * \param res The offending TestResult that is passed on + * \param comp The component that initiated the specification test + * + * \pre \p res%'s TestResult::success must be \c false */ - SpecificationError(TestResult result, std::string component); + SpecificationError(TestResult res, std::string comp); /// The TestResult that caused the SpecificationError to be thrown TestResult result; @@ -141,50 +142,54 @@ struct DocumentationEntry { static const std::string Wildcard; /** - * The constructor for a DocumentationEntry describing a \p key in a Documentation. + * The constructor for a DocumentationEntry describing a key \p k in a Documentation. * The value for the key (or each value in the case of the - * DocumentationEntry::Wildcard) is tested using the \p verifier, that specifies the - * conditions that the \p key%'s value has to fulfill. The textual documentation + * DocumentationEntry::Wildcard) is tested using the verifier \p v, that specifies the + * conditions that the \p k%'s value has to fulfill. The textual documentation * \p doc shall describe the usage of the key-value pair and will be printed for human * consumption for example in the DocumentationEngine. Each DocumentationEntry can - * further be \p optional. - * \param key The key for which this DocumentationEntry is valid. If this valid is - * equal to DocumentationEntry::Wildcard, each entry in the Documentation that - * contains this DocumentationEntry will be matched - * \param verifier The Verifier that is used to test the \p key%'s value to determine - * if it is a valid value + * further be \p opt. + * + * \param k The key for which this DocumentationEntry is valid. If this valid is + * equal to DocumentationEntry::Wildcard, each entry in the Documentation that + * contains this DocumentationEntry will be matched + * \param v The Verifier that is used to test the \p k%'s value to determine if it is + * a valid value * \param doc The textual documentation that describes the DocumentationEntry in a - * human readable format - * \param optional Determines whether the Documentation containing this - * DocumentationEntry must have a key \p key, or whether it is optional - * \pre \p key must not be empty - * \pre \p verifier must not be nullptr + * human readable format + * \param opt Determines whether the Documentation containing this DocumentationEntry + * must have a key \p key, or whether it is optional + * + * \pre \p k must not be empty + * \pre \p v must not be nullptr */ - DocumentationEntry(std::string key, std::shared_ptr verifier, - Optional optional, std::string doc = ""); + DocumentationEntry(std::string k, std::shared_ptr v, + Optional opt, std::string doc = ""); /** - * The constructor for a DocumentationEntry describing a \p key in a Documentation. + * The constructor for a DocumentationEntry describing a key \p k in a Documentation. * The value for the key (or each value in the case of the - * DocumentationEntry::Wildcard) is tested using the \p verifier, that specifies the - * conditions that the \p key%'s value has to fulfill. The textual documentation + * DocumentationEntry::Wildcard) is tested using the verifier \p v, that specifies the + * conditions that the \p k%'s value has to fulfill. The textual documentation * \p doc shall describe the usage of the key-value pair and will be printed for human * consumption for example in the DocumentationEngine. Each DocumentationEntry can - * further be \p optional. - * \param key The key for which this DocumentationEntry is valid. If this valid is - * equal to DocumentationEntry::Wildcard, each entry in the Documentation that - * contains this DocumentationEntry will be matched - * \param verifier The Verifier that is used to test the \p key%'s value to determine - * if it is a valid value. The DocumentationEntry will take ownership of the passed - * object + * further be \p opt. + * + * \param k The key for which this DocumentationEntry is valid. If this valid is + * equal to DocumentationEntry::Wildcard, each entry in the Documentation that + * contains this DocumentationEntry will be matched + * \param v The Verifier that is used to test the \p key%'s value to determine if it is + * a valid value. The DocumentationEntry will take ownership of the passed + * object * \param doc The textual documentation that describes the DocumentationEntry in a - * human readable format - * \param optional Determines whether the Documentation containing this - * DocumentationEntry must have a key \p key, or whether it is optional - * \pre \p key must not be empty - * \pre \p verifier must not be nullptr + * human readable format + * \param opt Determines whether the Documentation containing this DocumentationEntry + * must have a key \p key, or whether it is optional + * + * \pre \p k must not be empty + * \pre \p v must not be nullptr */ - DocumentationEntry(std::string key, Verifier* verifier, Optional optional, + DocumentationEntry(std::string k, Verifier* v, Optional opt, std::string doc = ""); /// The key that is described by this DocumentationEntry @@ -225,29 +230,33 @@ struct Documentation { using DocumentationEntries = std::vector; /** - * Creates a Documentation with a human-readable \p name and a list of \p entries. - * \param name The human-readable name of this Documentation - * \param id A unique identifier which can be used by applications (or other - * Documentation%s to reference this entry - * \param entries A list of DocumentationEntry%s that describe the individual keys for - * this entrie Documentation + * Creates a Documentation with a human-readable name \p n and a list of entries + * \p ents. + * + * \param n The human-readable name of this Documentation + * \param i A unique identifier which can be used by applications (or other + * Documentation%s to reference this entry + * \param ents A list of DocumentationEntry%s that describe the individual keys for + * this entrie Documentation */ - Documentation(std::string name, std::string id, DocumentationEntries entries = {}); + Documentation(std::string n, std::string i, DocumentationEntries ents = {}); /** - * Creates a Documentation with a human-readable \p name. - * \param name The human-readable name of this Documentation - * \param entries A list of DocumentationEntry%s that describe the individual keys for - * this entrie Documentation + * Creates a Documentation with a human-readable name \p n. + * + * \param n The human-readable name of this Documentation + * \param ents A list of DocumentationEntry%s that describe the individual keys for + * this entrie Documentation */ - Documentation(std::string name, DocumentationEntries entries = {}); + Documentation(std::string n, DocumentationEntries ents = {}); /** * Creates a Documentation. + * * \param entries A list of DocumentationEntry%s that describe the individual keys for - * this entrie Documentation + * this entrie Documentation */ - Documentation(DocumentationEntries entries = {}); + Documentation(DocumentationEntries ents = {}); /// The human-readable name of the Documentation std::string name; @@ -263,9 +272,10 @@ struct Documentation { * will contain whether the \p dictionary adheres to the \p documentation and, in * addition, the list of all offending keys together with the reason why they are * offending. + * * \param documentation The Documentation that the \p dictionary is tested against * \param dictionary The ghoul::Dictionary that is to be tested against the - * \p documentation + * \p documentation * \return A TestResult that contains the results of the specification testing */ TestResult testSpecification(const Documentation& documentation, @@ -277,11 +287,13 @@ TestResult testSpecification(const Documentation& documentation, * specification a SpecificationError is thrown, and the exception contains the TestResult * that contains more information about the offending keys. If the \p dictionary adheres to * the \p documentation, the method returns normally. +* * \param documentation The Documentation that the \p dictionary is tested against * \param dictionary The ghoul::Dictionary that is to be tested against the -* \p documentation +* \p documentation * \param component The component that is using this method; this argument is passed to the -* SpecificationError that is thrown in case of not adhering to the \p documentation +* SpecificationError that is thrown in case of not adhering to the \p documentation +* * \throw SpecificationError If the \p dictionary does not adhere to the \p documentation */ void testSpecificationAndThrow(const Documentation& documentation, diff --git a/include/openspace/documentation/documentationengine.h b/include/openspace/documentation/documentationengine.h index 7d055ad8c0..f7b343875c 100644 --- a/include/openspace/documentation/documentationengine.h +++ b/include/openspace/documentation/documentationengine.h @@ -25,10 +25,10 @@ #ifndef __OPENSPACE_CORE___DOCUMENTATIONENGINE___H__ #define __OPENSPACE_CORE___DOCUMENTATIONENGINE___H__ -#include #include #include +#include #include namespace openspace::documentation { @@ -50,10 +50,11 @@ public: /** * Constructor of a DuplicateDocumentationException storing the offending * Documentation for later use. - * \param documentation The Documentation whose identifier was previously - * registered + * + * \param doc The Documentation whose identifier was previously + * registered */ - DuplicateDocumentationException(Documentation documentation); + DuplicateDocumentationException(Documentation doc); /// The offending Documentation whose identifier was previously registered Documentation documentation; @@ -64,20 +65,24 @@ public: /** * Adds the \p documentation to the list of Documentation%s that are written to a * documentation file with the writeDocumentation method. + * * \param documentation The Documentation object that is to be stored for later use - * \throws DuplicateDocumentationException If the \p documentation has a non-empty - * identifier and it was not unique + * + * \throw DuplicateDocumentationException If the \p documentation has a non-empty + * identifier and it was not unique */ void addDocumentation(Documentation documentation); /** - * Returns a list of all registered Documentation%s + * Returns a list of all registered Documentation%s. + * * \return A list of all registered Documentation%s */ std::vector documentations() const; /** - * Returns a static reference to the main singleton DocumentationEngine + * Returns a static reference to the main singleton DocumentationEngine. + * * \return A static reference to the main singleton DocumentationEngine */ static DocumentationEngine& ref(); diff --git a/include/openspace/documentation/verifier.h b/include/openspace/documentation/verifier.h index 5adf9af4bd..71fee5972a 100644 --- a/include/openspace/documentation/verifier.h +++ b/include/openspace/documentation/verifier.h @@ -26,9 +26,7 @@ #define __OPENSPACE_CORE___VERIFIER___H__ #include - #include - #include #include @@ -51,15 +49,17 @@ struct Verifier { * concrete subclass and can range from type testing (for example IntVerifier or * StringVerifier) to more complex testing (for example DoubleInRangeVerifier or * TableVerifier). + * * \param dictionary The dictionary that contains the \p key which is to be tested by - * this Verifier + * this Verifier * \param key The key inside the \p dictionary that is to be tested * \return A TestResult struct that contains information about whether the key adheres - * to the demands of the specific Verifier. If it does not, TestResult::offenders will - * either contain \p key or, in the case of a TableVerifier, a list of all offending - * subkeys as fully qualified names. + * to the demands of the specific Verifier. If it does not, + * TestResult::offenders will either contain \p key or, in the case of a + * TableVerifier, a list of all offending subkeys as fully qualified names. + * * \post If the return values' TestResult::success is \c true, its - * TestResult::offenders is empty + * TestResult::offenders is empty */ virtual TestResult operator()(const ghoul::Dictionary& dictionary, const std::string& key) const = 0; @@ -68,7 +68,9 @@ struct Verifier { * This method returns a human-readable string describing the type of object that is * handled by the Verifier subclass. This is only used for generating a human-readable * documentation and description of a Documenation object. + * * \return A human-readable string describing the type of object for the Verifier + * * \post The return value is not empty */ virtual std::string type() const = 0; @@ -77,8 +79,10 @@ struct Verifier { * This method returns a human-readable string describing the tests that the concrete * Verifier subclass implements. This is only used for generating a human-readable * documentation and description of a Documentation object. + * * \return A human-readable string describing the tests that are performed by the - * Verifier + * Verifier + * * \post The return value is not empty */ virtual std::string documentation() const = 0; @@ -101,13 +105,15 @@ struct TemplateVerifier : public Verifier { /** * Tests whether the \p key contained in the ghoul::Dictionary \p dictionary exists * and has the same type as \c T. + * * \param dictionary The ghoul::Dictionary that contains the \p key to be tested * \param key The key inside the \p dictinoary that is to be tested * \return A TestResult that contains the information whether the \p key exists in the - * \p dictionary and whether the key's value's type agrees with \c T. + * \p dictionary and whether the key's value's type agrees with \c T. + * * \post The return values' TestResult::success is either \c true and - * TestResult::offenders is empty, or it is \c false and TestResult::offenders - * contains \p key + * TestResult::offenders is empty, or it is \c false and TestResult::offenders + * contains \p key */ TestResult operator()(const ghoul::Dictionary& dictionary, const std::string& key) const override; @@ -124,19 +130,19 @@ struct BoolVerifier : public TemplateVerifier { }; /** -* A Verifier that checks whether a given key inside a ghoul::Dictionary is of type -* \c double. No implicit conversion is considered in this testing. -*/ + * A Verifier that checks whether a given key inside a ghoul::Dictionary is of type + * \c double. No implicit conversion is considered in this testing. + */ struct DoubleVerifier : public TemplateVerifier { std::string type() const override; }; /** -* A Verifier that checks whether a given key inside a ghoul::Dictionary is of type -* \c int. It will also return \c true if the key's value is of type \c double, but is a -* integer value (for example, 0.0, 12.0, but not -* 0.5). -*/ + * A Verifier that checks whether a given key inside a ghoul::Dictionary is of type + * \c int. It will also return \c true if the key's value is of type \c double, but is a + * integer value (for example, 0.0, 12.0, but not + * 0.5). + */ struct IntVerifier : public TemplateVerifier { TestResult operator()(const ghoul::Dictionary& dict, const std::string& key) const override; @@ -145,31 +151,32 @@ struct IntVerifier : public TemplateVerifier { }; /** -* A Verifier that checks whether a given key inside a ghoul::Dictionary is of type -* std::string. No implicit conversion is considered in this testing. -*/ + * A Verifier that checks whether a given key inside a ghoul::Dictionary is of type + * std::string. No implicit conversion is considered in this testing. + */ struct StringVerifier : public TemplateVerifier { std::string type() const override; }; /** -* A Verifier that checks whether a given key inside a ghoul::Dictionary is another -* ghoul::Dictionary. The constructor takes a list of DocumentationEntry%s, which are used -* recursively to check the contained table. If this list is empty, a simple type testing -* is performed instead. If the testing finds any offending keys, it will return those keys -* with fully qualified names, that is, the name of the table will be prepended to the -* offending keys. Example: If the key \c Table is tested and a passed DocumentationEntry -* checks for a nested key \c a and this does not comply, this Verifier will return -* Table.a as an offender. -*/ + * A Verifier that checks whether a given key inside a ghoul::Dictionary is another + * ghoul::Dictionary. The constructor takes a list of DocumentationEntry%s, which are used + * recursively to check the contained table. If this list is empty, a simple type testing + * is performed instead. If the testing finds any offending keys, it will return those + * keys with fully qualified names, that is, the name of the table will be prepended to + * the offending keys. Example: If the key \c Table is tested and a passed + * DocumentationEntry checks for a nested key \c a and this does not comply, this Verifier + * will return Table.a as an offender. + */ struct TableVerifier : public TemplateVerifier { /** * This constructor takes a list of DocumentationEntry%s that are used recursively to * check the table (= ghoul::Dictionary) contained in the key's value. Similar to the * Documentation, these DocumentationEntry%s can be Exhaustive or not. + * * \param documentationEntries The DocumentationEntry%s that are used to recursively - * test the ghoul::Dictionary that is contained inside. If this list is empty, only a - * type check is performed + * test the ghoul::Dictionary that is contained inside. If this list is empty, + * only a type check is performed */ TableVerifier(std::vector documentationEntries = {}); @@ -179,12 +186,13 @@ struct TableVerifier : public TemplateVerifier { * provided in the constructor. If the testing finds any offending keys, it will * return those keys with fully qualified names, that is, the name of the table will * be prepended to the offending keys. + * * \param dictionary The ghoul::Dictionary that is to be tested for the \p key * \param key The key for which the \p dictionary is tested * \return A TestResult containing the results of the testing. If DocumentationEntry%s - * were specified in the constructor and one of those values find an offending key - * inside the table, it's name will be returned with a fully qualified name by - * prepending the name (= \key) of the table. + * were specified in the constructor and one of those values find an offending + * key inside the table, it's name will be returned with a fully qualified + * name by prepending the name (= \key) of the table. */ TestResult operator()(const ghoul::Dictionary& dictionary, const std::string& key) const override; @@ -201,6 +209,7 @@ struct TableVerifier : public TemplateVerifier { struct StringListVerifier : public TableVerifier { /** * Constructor for a StringListVerifier. + * * \param elementDocumentation The documentation for each string in the list */ StringListVerifier(std::string elementDocumentation = ""); @@ -209,13 +218,14 @@ struct StringListVerifier : public TableVerifier { }; /** -* A Verifier that checks whether all values contained in a Table are of type \c int. -*/ + * A Verifier that checks whether all values contained in a Table are of type \c int. + */ struct IntListVerifier : public TableVerifier { /** - * Constructor for a IntListVerifier. - * \param elementDocumentation The documentation for each string in the list - */ + * Constructor for a IntListVerifier. + * + * \param elementDocumentation The documentation for each string in the list + */ IntListVerifier(std::string elementDocumentation = ""); std::string type() const override; @@ -242,25 +252,25 @@ struct Vector2Verifier : public TemplateVerifier>, public VectorVe }; /** -* This Verifier checks whether the value is of type glm::tvec3 -*/ + * This Verifier checks whether the value is of type glm::tvec3 + */ template struct Vector3Verifier : public TemplateVerifier>, public VectorVerifier { std::string type() const override; }; /** -* This Verifier checks whether the value is of type glm::tvec4 -*/ + * This Verifier checks whether the value is of type glm::tvec4 + */ template struct Vector4Verifier : public TemplateVerifier>, public VectorVerifier { std::string type() const override; }; /** -* A Verifier that checks whether all values contained in a Table are of -* type glm::tvec2 -*/ + * A Verifier that checks whether all values contained in a Table are of + * type glm::tvec2 + */ template struct Vector2ListVerifier : public TableVerifier { Vector2ListVerifier(std::string elementDocumentation = "") : TableVerifier({ @@ -274,9 +284,9 @@ struct Vector2ListVerifier : public TableVerifier { }; /** -* A Verifier that checks whether all values contained in a Table are of -* type glm::tvec3 -*/ + * A Verifier that checks whether all values contained in a Table are of + * type glm::tvec3 + */ template struct Vector3ListVerifier : public TableVerifier { Vector3ListVerifier(std::string elementDocumentation = "") : TableVerifier({ @@ -290,9 +300,9 @@ struct Vector3ListVerifier : public TableVerifier { }; /** -* A Verifier that checks whether all values contained in a Table are of -* type glm::tvec4 -*/ + * A Verifier that checks whether all values contained in a Table are of + * type glm::tvec4 + */ template struct Vector4ListVerifier : public TableVerifier { Vector4ListVerifier(std::string elementDocumentation = "") : TableVerifier({ @@ -309,16 +319,16 @@ struct Vector4ListVerifier : public TableVerifier { //---------------------------------------------------------------------------------------- /** -* This struct is the base class for all Verifier%s that check for \c glm matrix types. -* The template parameter for the subclasses is the containing type, not the full matrix -* type. For example to check for glm::dmat4x3, one would create a -* Matrix4x3Verifier. -*/ + * This struct is the base class for all Verifier%s that check for \c glm matrix types. + * The template parameter for the subclasses is the containing type, not the full matrix + * type. For example to check for glm::dmat4x3, one would create a + * Matrix4x3Verifier. + */ struct MatrixVerifier {}; /** -* This Verifier checks whether the value is of type glm::mat2x2 -*/ + * This Verifier checks whether the value is of type glm::mat2x2 + */ template struct Matrix2x2Verifier : public TemplateVerifier>, public MatrixVerifier @@ -327,8 +337,8 @@ struct Matrix2x2Verifier : }; /** -* This Verifier checks whether the value is of type glm::mat2x3 -*/ + * This Verifier checks whether the value is of type glm::mat2x3 + */ template struct Matrix2x3Verifier : public TemplateVerifier>, public MatrixVerifier { @@ -336,8 +346,8 @@ struct Matrix2x3Verifier : }; /** -* This Verifier checks whether the value is of type glm::mat2x4 -*/ + * This Verifier checks whether the value is of type glm::mat2x4 + */ template struct Matrix2x4Verifier : public TemplateVerifier>, public MatrixVerifier { @@ -345,8 +355,8 @@ struct Matrix2x4Verifier : }; /** -* This Verifier checks whether the value is of type glm::mat3x2 -*/ + * This Verifier checks whether the value is of type glm::mat3x2 + */ template struct Matrix3x2Verifier : public TemplateVerifier>, public MatrixVerifier { @@ -354,8 +364,8 @@ struct Matrix3x2Verifier : }; /** -* This Verifier checks whether the value is of type glm::mat3x3 -*/ + * This Verifier checks whether the value is of type glm::mat3x3 + */ template struct Matrix3x3Verifier : public TemplateVerifier>, public MatrixVerifier { @@ -363,8 +373,8 @@ struct Matrix3x3Verifier : }; /** -* This Verifier checks whether the value is of type glm::mat3x4 -*/ + * This Verifier checks whether the value is of type glm::mat3x4 + */ template struct Matrix3x4Verifier : public TemplateVerifier>, public MatrixVerifier { @@ -372,8 +382,8 @@ struct Matrix3x4Verifier : }; /** -* This Verifier checks whether the value is of type glm::mat4x2 -*/ + * This Verifier checks whether the value is of type glm::mat4x2 + */ template struct Matrix4x2Verifier : public TemplateVerifier>, public MatrixVerifier { @@ -381,8 +391,8 @@ struct Matrix4x2Verifier : }; /** -* This Verifier checks whether the value is of type glm::mat4x3 -*/ + * This Verifier checks whether the value is of type glm::mat4x3 + */ template struct Matrix4x3Verifier : public TemplateVerifier>, public MatrixVerifier { @@ -390,8 +400,8 @@ struct Matrix4x3Verifier : }; /** -* This Verifier checks whether the value is of type glm::mat4x4 -*/ + * This Verifier checks whether the value is of type glm::mat4x4 + */ template struct Matrix4x4Verifier : public TemplateVerifier>, public MatrixVerifier { @@ -432,13 +442,14 @@ struct OperatorVerifier : public T { * \p key%'s value is correct using the template paramater \c T as a verifier. Then, * the \p key%'s value is checked against the stored OperatorVerifier::value using the * \c Operator. + * * \param dictionary The ghoul::Dictionary that contains the \p key to be tested * \param key The key inside the \p dictinoary that is to be tested * \return A TestResult containing the results of the specification testing. If the - * \p key%'s value has the wrong type, it will be added to the TestResult's offense - * list with the reason TestResult::Offense::Reason::WrongType; if the \c Operator - * returns false, it will be added with the reason TestResult::Offense::Verification - * instead. + * \p key%'s value has the wrong type, it will be added to the TestResult's + * offense list with the reason TestResult::Offense::Reason::WrongType; if the + * \c Operator returns false, it will be added with the reason + * TestResult::Offense::Verification instead. */ TestResult operator()(const ghoul::Dictionary& dictionary, const std::string& key) const override; @@ -479,10 +490,10 @@ struct LessVerifier : public OperatorVerifier> { }; /** -* This Verifier checks whether the incoming value is smaller than or equal to the stored -* value. Due to the operator type restrictions, \c T cannot be a subclass of (or the same -* as) BoolVerifier, StringVerifier, TableVerifier, or VectorVerifier. -*/ + * This Verifier checks whether the incoming value is smaller than or equal to the stored + * value. Due to the operator type restrictions, \c T cannot be a subclass of (or the same + * as) BoolVerifier, StringVerifier, TableVerifier, or VectorVerifier. + */ template struct LessEqualVerifier : public OperatorVerifier> { static_assert( @@ -510,10 +521,10 @@ struct LessEqualVerifier : public OperatorVerifier struct GreaterVerifier : public OperatorVerifier> { static_assert( @@ -541,10 +552,10 @@ struct GreaterVerifier : public OperatorVerifier struct GreaterEqualVerifier : public OperatorVerifier> @@ -574,9 +585,10 @@ struct GreaterEqualVerifier : public OperatorVerifier struct EqualVerifier : public OperatorVerifier> { static_assert(!std::is_base_of::value, "T cannot be TableVerifier"); @@ -589,10 +601,10 @@ struct EqualVerifier : public OperatorVerifier struct UnequalVerifier : public OperatorVerifier> { static_assert(!std::is_base_of::value, "T cannot be TableVerifier"); @@ -621,6 +633,7 @@ struct InListVerifier : public T { /** * Constructs an InListVerifier that checks whether the incoming value is of the * correct type and whether the value is part of the list passed as \p values. + * * \param values The list of values against which the incoming value is tested */ InListVerifier(std::vector values); @@ -629,13 +642,14 @@ struct InListVerifier : public T { * Tests whether the \p key exists in the \p dictionary, whether it has the correct * type by invoking the template parameter \c T, and then tests if the \p key's value * is part of the list passed to the constructor. + * * \param dictionary The ghoul::Dictionary that contains the \p key * \param key The key that is contained in the \p dictionary and whose value is tested * \return A TestResult containing the results of the specification testing. If the - * \p key%'s value has the wrong type, it will be added to the TestResult's offense - * list with the reason TestResult::Offense::Reason::WrongType; if the value is not - * in the list, it will be added with the reason TestResult::Offense::Verification - * instead. + * \p key%'s value has the wrong type, it will be added to the TestResult's + * offense list with the reason TestResult::Offense::Reason::WrongType; if the + * value is not in the list, it will be added with the reason + * TestResult::Offense::Verification instead. */ TestResult operator()(const ghoul::Dictionary& dictionary, const std::string& key) const override; @@ -647,33 +661,36 @@ struct InListVerifier : public T { }; /** -* This Verifier checks whether the incoming value is of the correct type, using the -* Verifier passed as a template parameter \c T and then checks whether it is not part of a -* list that is passed to the constructor. To the missing equality operator, \c T cannot -* be a subclass of (or the same as) TableVerifier. -*/ + * This Verifier checks whether the incoming value is of the correct type, using the + * Verifier passed as a template parameter \c T and then checks whether it is not part of + * a list that is passed to the constructor. To the missing equality operator, \c T cannot + * be a subclass of (or the same as) TableVerifier. + */ template struct NotInListVerifier : public T { static_assert(!std::is_base_of::value, "T cannot be TableVerifier"); /** - * Constructs a NotInListVerifier that checks whether the incoming value is of the - * correct type and whether the value is not part of the list passed as \p values. - * \param values The list of values against which the incoming value is tested - */ + * Constructs a NotInListVerifier that checks whether the incoming value is of the + * correct type and whether the value is not part of the list passed as \p values. + * + * \param values The list of values against which the incoming value is tested + */ NotInListVerifier(std::vector values); /** - * Tests whether the \p key exists in the \p dictionary, whether it has the correct - * type by invoking the template parameter \c T, and then tests if the \p key's value - * is not part of the list passed to the constructor. - * \param dictionary The ghoul::Dictionary that contains the \p key - * \param key The key that is contained in the \p dictionary and whose value is tested - * \return A TestResult containing the results of the specification testing. If the - * \p key%'s value has the wrong type, it will be added to the TestResult's offense - * list with the reason TestResult::Offense::Reason::WrongType; if the value is in the - * list, it will be added with the reason TestResult::Offense::Verification instead. - */ + * Tests whether the \p key exists in the \p dictionary, whether it has the correct + * type by invoking the template parameter \c T, and then tests if the \p key's value + * is not part of the list passed to the constructor. + * + * \param dictionary The ghoul::Dictionary that contains the \p key + * \param key The key that is contained in the \p dictionary and whose value is tested + * \return A TestResult containing the results of the specification testing. If the + * \p key%'s value has the wrong type, it will be added to the TestResult's + * offense list with the reason TestResult::Offense::Reason::WrongType; if the + * value is in the list, it will be added with the reason + * TestResult::Offense::Verification instead. + */ TestResult operator()(const ghoul::Dictionary& dictionary, const std::string& key) const override; @@ -687,12 +704,12 @@ struct NotInListVerifier : public T { //---------------------------------------------------------------------------------------- /** -* This Verifier checks whether the incoming value is of the correct type, using the -* Verifier passed as a template parameter \c T and then checks whether it is greater or -* equal to a lower limit and less or equal to a higher limit. To the missing comparison -* operators, \c T cannot be a subclass of (or the same as) BoolVerifier, StringVerifier, -* TableVerifier, or VectorVerifier. Both the lower and the higher limit are inclusive). -*/ + * This Verifier checks whether the incoming value is of the correct type, using the + * Verifier passed as a template parameter \c T and then checks whether it is greater or + * equal to a lower limit and less or equal to a higher limit. To the missing comparison + * operators, \c T cannot be a subclass of (or the same as) BoolVerifier, StringVerifier, + * TableVerifier, or VectorVerifier. Both the lower and the higher limit are inclusive). + */ template struct InRangeVerifier : public T { static_assert( @@ -713,28 +730,32 @@ struct InRangeVerifier : public T { ); /** - * Constructs a InRangeVerifier that checks whether the incoming value is of the - * correct type and whether the value is greater or equal to \p lower and less or equal - * to \upper. - * \param lower The (inclusive) lower limit of the range - * \param upper The (inclusive) upper limit of the range - * \pre \p lower must be smaller or equal to \p upper - */ + * Constructs a InRangeVerifier that checks whether the incoming value is of the + * correct type and whether the value is greater or equal to \p lower and less or + * equal to \upper. + * + * \param lower The (inclusive) lower limit of the range + * \param upper The (inclusive) upper limit of the range + * + * \pre \p lower must be smaller or equal to \p upper + */ InRangeVerifier(typename T::Type lower, typename T::Type upper); /** - * Tests whether the \p key exists in the \p dictionary, whether it has the correct - * type by invoking the template parameter \c T, and then tests if the \p key's value - * is between the lower and upper limits (both inclusive) that were passed to the - * constructor. - * \param dictionary The ghoul::Dictionary that contains the \p key - * \param key The key that is contained in the \p dictionary and whose value is tested - * \return A TestResult containing the results of the specification testing. If the - * \p key%'s value has the wrong type, it will be added to the TestResult's offense - * list with the reason TestResult::Offense::Reason::WrongType; if the value is outside - * the range defined by the lower and upper limits passed to the constructor, it will - * be added with the reason TestResult::Offense::Verification instead. - */ + * Tests whether the \p key exists in the \p dictionary, whether it has the correct + * type by invoking the template parameter \c T, and then tests if the \p key's value + * is between the lower and upper limits (both inclusive) that were passed to the + * constructor. + * + * \param dictionary The ghoul::Dictionary that contains the \p key + * \param key The key that is contained in the \p dictionary and whose value is tested + * \return A TestResult containing the results of the specification testing. If the + * \p key%'s value has the wrong type, it will be added to the TestResult's + * offense list with the reason TestResult::Offense::Reason::WrongType; if the + * value is outside the range defined by the lower and upper limits passed to + * the constructor, it will be added with the reason + * TestResult::Offense::Verification instead. + */ TestResult operator()(const ghoul::Dictionary& dictionary, const std::string& key) const override; @@ -745,12 +766,12 @@ struct InRangeVerifier : public T { }; /** -* This Verifier checks whether the incoming value is of the correct type, using the -* Verifier passed as a template parameter \c T and then checks whether it is outside the -* (exclusive) range defined by a lower and upper limit. To the missing comparison -* operators, \c T cannot be a subclass of (or the same as) BoolVerifier, StringVerifier, -* TableVerifier, or VectorVerifier. Both the lower and the higher limit are exclusive). -*/ + * This Verifier checks whether the incoming value is of the correct type, using the + * Verifier passed as a template parameter \c T and then checks whether it is outside the + * (exclusive) range defined by a lower and upper limit. To the missing comparison + * operators, \c T cannot be a subclass of (or the same as) BoolVerifier, StringVerifier, + * TableVerifier, or VectorVerifier. Both the lower and the higher limit are exclusive). + */ template struct NotInRangeVerifier : public T { static_assert( @@ -771,27 +792,31 @@ struct NotInRangeVerifier : public T { ); /** - * Constructs a InRangeVerifier that checks whether the incoming value is of the - * correct type and whether the value is less then \p lower and greater than \upper. - * \param lower The (exclusive) lower limit of the range - * \param upper The (exclusive) upper limit of the range - * \pre \p lower must be smaller or equal to \p upper - */ + * Constructs a InRangeVerifier that checks whether the incoming value is of the + * correct type and whether the value is less then \p lower and greater than \p upper. + * + * \param lower The (exclusive) lower limit of the range + * \param upper The (exclusive) upper limit of the range + * + * \pre \p lower must be smaller or equal to \p upper + */ NotInRangeVerifier(typename T::Type lower, typename T::Type upper); /** - * Tests whether the \p key exists in the \p dictionary, whether it has the correct - * type by invoking the template parameter \c T, and then tests if the \p key's value - * is outside the lower and upper limits (both exclusive) that were passed to the - * constructor. - * \param dictionary The ghoul::Dictionary that contains the \p key - * \param key The key that is contained in the \p dictionary and whose value is tested - * \return A TestResult containing the results of the specification testing. If the - * \p key%'s value has the wrong type, it will be added to the TestResult's offense - * list with the reason TestResult::Offense::Reason::WrongType; if the value is greater - * or equal to the lower limit and less or equal to the upper limit, it will be added - * with the reason TestResult::Offense::Verification instead. - */ + * Tests whether the \p key exists in the \p dictionary, whether it has the correct + * type by invoking the template parameter \c T, and then tests if the \p key's value + * is outside the lower and upper limits (both exclusive) that were passed to the + * constructor. + * + * \param dictionary The ghoul::Dictionary that contains the \p key + * \param key The key that is contained in the \p dictionary and whose value is tested + * \return A TestResult containing the results of the specification testing. If the + * \p key%'s value has the wrong type, it will be added to the TestResult's + * offense list with the reason TestResult::Offense::Reason::WrongType; if the + * value is greater or equal to the lower limit and less or equal to the upper + * limit, it will be added with the reason TestResult::Offense::Verification + * instead. + */ TestResult operator()(const ghoul::Dictionary& dictionary, const std::string& key) const override; @@ -818,8 +843,10 @@ struct AnnotationVerifier : public T { /** * Constructs an AnnotationVerifier that contains the passed \p annotation which is * passed to the user when a documentation is requested. + * * \param annotation The annotation that is stored and returned to the user when it - * is requested. + * is requested. + * * \pre annotation must not be empty */ AnnotationVerifier(std::string annotation); @@ -834,7 +861,7 @@ struct AnnotationVerifier : public T { * This Verifier is a marker that performs the same testing as the \c T parameter, but * also adds a warning to the test result informing the user of the deprecation. * Furthermore, the documentation will contain the word (deprecated) in - * addition to the documentation returned by \c + * addition to the documentation returned by \c T * \tparam T The Verifier that is to be marked deprecated */ template @@ -842,6 +869,7 @@ struct DeprecatedVerifier : public T { /** * Tests the \p dictionary%s \p key using the Verifier \c T and adds a warning to the * TestResult informing the caller of the deprecation. + * * \param dictionary The ghoul::Dictionary whose \p key should be tested * \param key The key inside the \p dictionary that is to be tested * \return A TestResult that contains the results of the testing @@ -868,11 +896,12 @@ struct DeprecatedVerifier : public T { struct ReferencingVerifier : public TableVerifier { /** * Creates a ReferencingVerifier that references a documentation with the provided - * \p identifier. The ReferencingVerifier will use the static DocumentationEngine to - * retrieve Documentation%s and find the \p identifier among them. + * identifier \p id. The ReferencingVerifier will use the static DocumentationEngine + * to retrieve Documentation%s and find the \p identifier among them. + * * \param identifier The identifier of the Documentation that this Verifier references */ - ReferencingVerifier(std::string identifier); + ReferencingVerifier(std::string id); /** * Checks whether the \p key in the \p dictionary exists and is of type Table (similar @@ -883,6 +912,7 @@ struct ReferencingVerifier : public TableVerifier { * signaled. If the identifier exists and the \p key%'s value does not comply with the * Documentation, the offending keys will be returned in the TestResult with their * fully qualified names. + * * \param dictionary The ghoul::Dictionary whose \p key should be tested * \param key The key contained in the \p dictionary that should be tested * \return A TestResult struct that contains the results of the testing @@ -911,26 +941,29 @@ struct AndVerifier : public Verifier { /** * Constructs an AndVerifier with two Verifiers which must be cleared by incoming * values in order to pass this Verifier. - * \param lhs The first Verifier that is to be tested - * \param rhs The second Verifier that is to be tested - * \pre lhs must not be nullptr - * \pre rhs must not be nullptr + * + * \param l The first Verifier that is to be tested + * \param r The second Verifier that is to be tested + * + * \pre l must not be nullptr + * \pre r must not be nullptr */ - AndVerifier(Verifier* lhs, Verifier* rhs); + AndVerifier(Verifier* l, Verifier* r); /** * Checks whether the \p dictionary contains the \p key and whether this key passes * both Verifier%'s that were passed in the constructor. If the value fails either * of the two Verifiers, it is only added once to the TestResult::offenses list with * a reason of TestResult::Offense::Reason::Verification. + * * \param dictionary The ghoul::Dictionary that is to be tested * \param key The key contained in \p dictionary that is to be tested * \return A TestResult object that contains the test results. If the value fails - * either of the two Verifiers, TestResult::success is \c false and the - * TestResult::offenses list contains \p with a reason of - * TestResult::Offense::Reason::Verification. If \p key%'s value passes both - * Verifier%s, the result's TestResult::success is \c true and the - * TestResult::offenses is empty. + * either of the two Verifiers, TestResult::success is \c false and the + * TestResult::offenses list contains \p with a reason of + * TestResult::Offense::Reason::Verification. If \p key%'s value passes both + * Verifier%s, the result's TestResult::success is \c true and the + * TestResult::offenses is empty. */ TestResult operator()(const ghoul::Dictionary& dictionary, const std::string& key) const override; @@ -945,36 +978,40 @@ struct AndVerifier : public Verifier { }; /** -* This Verifier takes two Verifiers and performs a boolean \c or operation on their -* results. In essence, a value only passes this Verifier if it passes either of the two -* Verifier%s that are passed in the constructor. Opposed to the C++ -* || operator, the OrVerifier does not perform any short-circut evaluation. -*/ + * This Verifier takes two Verifiers and performs a boolean \c or operation on their + * results. In essence, a value only passes this Verifier if it passes either of the two + * Verifier%s that are passed in the constructor. Opposed to the C++ + * || operator, the OrVerifier does not perform any short-circut evaluation. + */ struct OrVerifier : public Verifier { /** - * Constructs an OrVerifier with two Verifiers, either of which must be cleared by - * incoming values in order to pass this Verifier. - * \param lhs The first Verifier that is to be tested - * \param rhs The second Verifier that is to be tested - * \pre lhs must not be nullptr - * \pre rhs must not be nullptr - */ - OrVerifier(Verifier* lhs, Verifier* rhs); + * Constructs an OrVerifier with two Verifiers, either of which must be cleared by + * incoming values in order to pass this Verifier. + * + * \param l The first Verifier that is to be tested + * \param r The second Verifier that is to be tested + * + * \pre l must not be nullptr + * \pre r must not be nullptr + */ + OrVerifier(Verifier* l, Verifier* r); /** - * Checks whether the \p dictionary contains the \p key and whether this key passes - * either of the two Verifier%'s that were passed in the constructor. If the value - * fails both Verifiers, it is added to the TestResult::offenses list with a reason of - * TestResult::Offense::Reason::Verification. - * \param dictionary The ghoul::Dictionary that is to be tested - * \param key The key contained in \p dictionary that is to be tested - * \return A TestResult object that contains the test results. If the value fails - * both Verifiers, TestResult::success is \c false and the TestResult::offenses list - * contains \p with a reason of TestResult::Offense::Reason::Verification. If \p key%'s - * value passes either of the two Verifier%s, the result's TestResult::success is - * \c true and the TestResult::offenses is empty. - */ - TestResult operator()(const ghoul::Dictionary& dict, + * Checks whether the \p dictionary contains the \p key and whether this key passes + * either of the two Verifier%'s that were passed in the constructor. If the value + * fails both Verifiers, it is added to the TestResult::offenses list with a reason of + * TestResult::Offense::Reason::Verification. + * + * \param dictionary The ghoul::Dictionary that is to be tested + * \param key The key contained in \p dictionary that is to be tested + * \return A TestResult object that contains the test results. If the value fails + * both Verifiers, TestResult::success is \c false and the + * TestResult::offenses list contains \p with a reason of + * TestResult::Offense::Reason::Verification. If \p key%'s value passes either + * of the two Verifier%s, the result's TestResult::success is \c true and the + * TestResult::offenses is empty. + */ + TestResult operator()(const ghoul::Dictionary& dictionary, const std::string& key) const override; std::string type() const override; diff --git a/include/openspace/engine/downloadmanager.h b/include/openspace/engine/downloadmanager.h index 2be6375148..36e21950c9 100644 --- a/include/openspace/engine/downloadmanager.h +++ b/include/openspace/engine/downloadmanager.h @@ -25,14 +25,14 @@ #ifndef __OPENSPACE_CORE___DOWNLOADMANAGER___H__ #define __OPENSPACE_CORE___DOWNLOADMANAGER___H__ -#include -#include - +#include #include +#include #include #include #include -#include + +namespace ghoul::filesystem { class File; } namespace openspace { @@ -46,17 +46,17 @@ public: FileFuture(std::string file); // Values that are written by the DownloadManager to be consumed by others - long long currentSize; - long long totalSize; - float progress; // [0,1] - float secondsRemaining; - bool isFinished; - bool isAborted; + long long currentSize = -1; + long long totalSize = -1; + float progress = 0.f; // [0,1] + float secondsRemaining = -1.f; + bool isFinished = false; + bool isAborted = false; std::string filePath; std::string errorMessage; std::string format; // Values set by others to be consumed by the DownloadManager - bool abortDownload; + bool abortDownload = false; }; struct MemoryFile { @@ -66,6 +66,11 @@ public: bool corrupted; }; + BooleanType(UseMultipleThreads); + BooleanType(OverrideFile); + BooleanType(FailOnError); + + using DownloadProgressCallback = std::function; using DownloadFinishedCallback = std::function; @@ -76,13 +81,14 @@ public: using AsyncDownloadFinishedCallback = std::function>&)>; - //Just a helper function to check if a future is ready to ".get()". Not specific + // Just a helper function to check if a future is ready to ".get()". Not specific // to DownloadManager but is useful for anyone using the DownloadManager template - static bool futureReady(std::future const& f) - { return f.wait_for(std::chrono::seconds(0)) == std::future_status::ready; } + static bool futureReady(std::future const& f) { + return f.wait_for(std::chrono::seconds(0)) == std::future_status::ready; + } - DownloadManager(bool useMultithreadedDownload = true); + DownloadManager(UseMultipleThreads useMultipleThreads = UseMultipleThreads::Yes); //downloadFile // url - specifies the target of the download @@ -94,15 +100,13 @@ public: // progressCallback - callback for status during (happens on different thread) std::shared_ptr downloadFile(const std::string& url, const ghoul::filesystem::File& file, - bool overrideFile = true, - bool failOnError = false, - unsigned int timeout_secs = 0, + OverrideFile overrideFile = OverrideFile::Yes, + FailOnError failOnError = FailOnError::No, unsigned int timeout_secs = 0, DownloadFinishedCallback finishedCallback = DownloadFinishedCallback(), DownloadProgressCallback progressCallback = DownloadProgressCallback() ); - std::future fetchFile( - const std::string& url, + std::future fetchFile(const std::string& url, SuccessCallback successCallback = SuccessCallback(), ErrorCallback errorCallback = ErrorCallback()); diff --git a/include/openspace/engine/logfactory.h b/include/openspace/engine/logfactory.h index 9ed1b0a801..e76b749ee3 100644 --- a/include/openspace/engine/logfactory.h +++ b/include/openspace/engine/logfactory.h @@ -57,6 +57,7 @@ std::unique_ptr createLog(const ghoul::Dictionary& dictiona /** * Returns the Documentation that describes a Dictionary used to create a log by using the * function createLog. + * * \return The Documentation that describes an acceptable Dictionary for the method * createLog */ diff --git a/include/openspace/engine/moduleengine.h b/include/openspace/engine/moduleengine.h index 51cf4b43ec..a5663130c8 100644 --- a/include/openspace/engine/moduleengine.h +++ b/include/openspace/engine/moduleengine.h @@ -25,20 +25,19 @@ #ifndef __OPENSPACE_CORE___MODULEENGINE___H__ #define __OPENSPACE_CORE___MODULEENGINE___H__ +#include + +#include #include #include -#include -#include - -#include -#include -#include - +namespace ghoul { class Dictionary; } namespace ghoul::systemcapabilities { struct Version; } namespace openspace { +class OpenSpaceModule; + namespace scripting { struct LuaLibrary; } /** @@ -57,8 +56,9 @@ public: * Registers all of the OpenSpaceModule%s which are created by the CMake configuration * and stored in the moduleregistration.h file. For all of those modules * the OpenSpaceModule::initialize method with will called. + * * \throw ghoul::RuntimeError If two modules in the default modules have the same - * name + * name */ void initialize(const std::map& moduleConfigurations); @@ -81,17 +81,20 @@ public: /** * Registers the passed \p module with this ModuleEngine. The OpenSpaceModule::create * method will be called on the \p module in the process. + * * \param module The OpenSpaceModule that is to be registered + * * \throw ghoul::RuntimeError If the name of the \p module was already registered - * previously + * previously * \pre \p module must not be nullptr */ void registerModule(std::unique_ptr module, - const ghoul::Dictionary& configuration); + const ghoul::Dictionary& configuration); /** * Returns a list of all registered OpenSpaceModule%s that have been registered with * this ModuleEngine. All returned OpenSpaceModule%s are guaranteed to be initialized. + * * \return A list of all registered OpenSpaceModule%s */ std::vector modules() const; @@ -100,24 +103,16 @@ public: * Get the module subclass with given template argument. Requires the module subclass * to have the public static member variable name which must be equal to * the name of the module used in its constructor. + * * \return a pointer to the module of the given subclass */ template - ModuleSubClass* module() const { - auto it = std::find_if(_modules.begin(), _modules.end(), - [](const std::unique_ptr& m) { - return m->identifier() == ModuleSubClass::Name; - }); - if (it != _modules.end()) { - return dynamic_cast(it->get()); - } else { - return nullptr; - } - } + ModuleSubClass* module() const; /** * Returns the combined minimum OpenGL version. The return value is the maximum * version of all registered modules' OpenGL versions. + * * \return The combined minimum OpenGL version */ ghoul::systemcapabilities::Version requiredOpenGLVersion() const; @@ -135,4 +130,6 @@ private: } // namespace openspace +#include "moduleengine.inl" + #endif // __OPENSPACE_CORE___MODULEENGINE___H__ diff --git a/include/openspace/engine/moduleengine.inl b/include/openspace/engine/moduleengine.inl new file mode 100644 index 0000000000..e2f734332e --- /dev/null +++ b/include/openspace/engine/moduleengine.inl @@ -0,0 +1,45 @@ +/***************************************************************************************** + * * + * OpenSpace * + * * + * Copyright (c) 2014-2018 * + * * + * Permission is hereby granted, free of charge, to any person obtaining a copy of this * + * software and associated documentation files (the "Software"), to deal in the Software * + * without restriction, including without limitation the rights to use, copy, modify, * + * merge, publish, distribute, sublicense, and/or sell copies of the Software, and to * + * permit persons to whom the Software is furnished to do so, subject to the following * + * conditions: * + * * + * The above copyright notice and this permission notice shall be included in all copies * + * or substantial portions of the Software. * + * * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, * + * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A * + * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT * + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF * + * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE * + * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. * + ****************************************************************************************/ + +#include + +#include + +namespace openspace { + +template +ModuleSubClass* ModuleEngine::module() const { + const auto it = std::find_if(_modules.begin(), _modules.end(), + [](const std::unique_ptr& m) { + return m->identifier() == ModuleSubClass::Name; + }); + if (it != _modules.end()) { + return dynamic_cast(it->get()); + } + else { + return nullptr; + } +} + +} // namespace openspace diff --git a/include/openspace/engine/openspaceengine.h b/include/openspace/engine/openspaceengine.h index 140c857b73..7d110db256 100644 --- a/include/openspace/engine/openspaceengine.h +++ b/include/openspace/engine/openspaceengine.h @@ -25,13 +25,10 @@ #ifndef __OPENSPACE_CORE___OPENSPACEENGINE___H__ #define __OPENSPACE_CORE___OPENSPACEENGINE___H__ -#include #include #include #include #include -#include - #include #include #include @@ -61,6 +58,7 @@ class VirtualPropertyManager; class WindowWrapper; namespace interaction { + struct JoystickInputStates; class KeyBindingManager; class NavigationHandler; } // namespace interaction @@ -86,11 +84,11 @@ struct ShutdownInformation { class OpenSpaceEngine { public: - static void create(int argc, char** argv, std::unique_ptr windowWrapper, - std::vector& sgctArguments, - bool& requestClose, bool consoleLog = true); + std::vector& sgctArguments, bool& requestClose, + bool consoleLog = true); + static void destroy(); static OpenSpaceEngine& ref(); static bool isCreated(); @@ -108,7 +106,7 @@ public: void drawOverlays(); void postDraw(); void keyboardCallback(Key key, KeyModifier mod, KeyAction action); - void charCallback(unsigned int codepoint, KeyModifier mod); + void charCallback(unsigned int codepoint, KeyModifier modifier); void mouseButtonCallback(MouseButton button, MouseAction action); void mousePositionCallback(double x, double y); void mouseScrollWheelCallback(double posX, double posY); @@ -188,7 +186,6 @@ public: void writeSceneDocumentation(); void writeStaticDocumentation(); - /** * Returns the Lua library that contains all Lua functions available to affect the * application. diff --git a/include/openspace/engine/syncengine.h b/include/openspace/engine/syncengine.h index acd5da35bd..ff63f2bea0 100644 --- a/include/openspace/engine/syncengine.h +++ b/include/openspace/engine/syncengine.h @@ -28,9 +28,8 @@ #include #include - -#include #include +#include namespace openspace { diff --git a/include/openspace/engine/virtualpropertymanager.h b/include/openspace/engine/virtualpropertymanager.h index 26840c36c2..7cc74f80f1 100644 --- a/include/openspace/engine/virtualpropertymanager.h +++ b/include/openspace/engine/virtualpropertymanager.h @@ -27,13 +27,13 @@ #include -#include - #include #include namespace openspace { +class Property; + class VirtualPropertyManager : public properties::PropertyOwner { public: VirtualPropertyManager(); diff --git a/include/openspace/engine/wrapper/sgctwindowwrapper.h b/include/openspace/engine/wrapper/sgctwindowwrapper.h index d76ec15a94..59f73443cd 100644 --- a/include/openspace/engine/wrapper/sgctwindowwrapper.h +++ b/include/openspace/engine/wrapper/sgctwindowwrapper.h @@ -35,6 +35,7 @@ namespace openspace { /** * WindowWrapper subclass wrapping the Simple Graphics Cluster Toolkit, forwarding all * method calls to the specific functions in the Engine and SGCTWindow classes. + * * \sa https://c-student.itn.liu.se/wiki/develop:sgct:sgct */ class SGCTWindowWrapper : public WindowWrapper { @@ -69,7 +70,7 @@ public: glm::mat4 viewProjectionMatrix() const override; glm::mat4 modelMatrix() const override; - void setNearFarClippingPlane(float near, float far) override; + void setNearFarClippingPlane(float nearPlane, float farPlane) override; void setEyeSeparationDistance(float distance) override; glm::ivec4 viewportPixelCoordinates() const override; @@ -78,6 +79,7 @@ public: void sendMessageToExternalControl(const std::vector& message) const override; bool isSimpleRendering() const override; + bool isFisheyeRendering() const override; void takeScreenshot(bool applyWarping = false) const override; diff --git a/include/openspace/engine/wrapper/windowwrapper.h b/include/openspace/engine/wrapper/windowwrapper.h index 6bec15b1e0..c8ae700f3b 100644 --- a/include/openspace/engine/wrapper/windowwrapper.h +++ b/include/openspace/engine/wrapper/windowwrapper.h @@ -30,10 +30,6 @@ #include #include -#include -#include -#include - namespace openspace { namespace scripting { struct LuaLibrary; } @@ -282,6 +278,13 @@ public: */ virtual bool isSimpleRendering() const; + /** + * Returns true if the rendering is being done using a Fisheye lens; + * false otherwise. On default, this method returns + * false + */ + virtual bool isFisheyeRendering() const; + /** * Advises the windowing system to take a screenshot. This method defaults to a no-op. */ diff --git a/include/openspace/interaction/delayedvariable.h b/include/openspace/interaction/delayedvariable.h index d231e0e713..dab326c01b 100644 --- a/include/openspace/interaction/delayedvariable.h +++ b/include/openspace/interaction/delayedvariable.h @@ -31,7 +31,7 @@ namespace openspace::interaction { * Class that acts as a smoothing filter to a variable. The filter has a step * response on a form that resembles the function y = 1-e^(-t/scale). The variable * will be updated as soon as it is set to a value (calling the set() function). -*/ + */ template class DelayedVariable { public: diff --git a/include/openspace/interaction/inputstate.h b/include/openspace/interaction/inputstate.h index 9ab85ffe8f..3569db80eb 100644 --- a/include/openspace/interaction/inputstate.h +++ b/include/openspace/interaction/inputstate.h @@ -25,20 +25,18 @@ #ifndef __OPENSPACE_CORE___INPUTSTATE___H__ #define __OPENSPACE_CORE___INPUTSTATE___H__ -#include #include #include #include -#include +#include namespace openspace::interaction { +struct JoystickInputStates; + // This class represents the global input state of interaction devices class InputState { public: - InputState() = default; - ~InputState() = default; - // Callback functions void keyboardCallback(Key key, KeyModifier modifier, KeyAction action); void mouseButtonCallback(MouseButton button, MouseAction action); @@ -48,11 +46,11 @@ public: void setJoystickInputStates(JoystickInputStates& states); // Accessors - const std::list>& pressedKeys() const; + const std::vector>& pressedKeys() const; bool isKeyPressed(std::pair keyModPair) const; bool isKeyPressed(Key key) const; - const std::list& pressedMouseButtons() const; + const std::vector& pressedMouseButtons() const; glm::dvec2 mousePosition() const; double mouseScrollDelta() const; bool isMouseButtonPressed(MouseButton mouseButton) const; @@ -63,10 +61,10 @@ public: private: // Input from keyboard - std::list> _keysDown; + std::vector> _keysDown; // Input from mouse - std::list _mouseButtonsDown; + std::vector _mouseButtonsDown; glm::dvec2 _mousePosition; double _mouseScrollDelta; diff --git a/include/openspace/interaction/interpolator.h b/include/openspace/interaction/interpolator.h index 29941c90b7..d9ef5825e8 100644 --- a/include/openspace/interaction/interpolator.h +++ b/include/openspace/interaction/interpolator.h @@ -51,9 +51,9 @@ public: private: std::function _transferFunction; - float _t; - float _interpolationTime; - float _scaledDeltaTime; + float _t = 0.f; + float _interpolationTime = 1.f; + float _scaledDeltaTime = 0.f; }; } // namespace openspace::interaction diff --git a/include/openspace/interaction/interpolator.inl b/include/openspace/interaction/interpolator.inl index 8bc83575a2..8c1de633e8 100644 --- a/include/openspace/interaction/interpolator.inl +++ b/include/openspace/interaction/interpolator.inl @@ -24,25 +24,21 @@ #include -#include - namespace openspace::interaction { template Interpolator::Interpolator() : _transferFunction([](float t){ return t; }) - , _t(0.0) - , _interpolationTime(1.0) {} template void Interpolator::start() { - _t = 0.0; + _t = 0.f; } template void Interpolator::end() { - _t = 1.0; + _t = 1.f; } template @@ -52,7 +48,7 @@ void Interpolator::setDeltaTime(float deltaTime) { template void Interpolator::setTransferFunction(std::function transferFunction) { - _transferFunction = transferFunction; + _transferFunction = std::move(transferFunction); } template @@ -78,7 +74,7 @@ T Interpolator::value() const { template bool Interpolator::isInterpolating() const { - return _t < 1.0 && _t >= 0.0; + return (_t < 1.f) && (_t >= 0.f); } } // namespace openspace::interaction diff --git a/include/openspace/interaction/joystickcamerastates.h b/include/openspace/interaction/joystickcamerastates.h index 97d155b279..7c8f05daf6 100644 --- a/include/openspace/interaction/joystickcamerastates.h +++ b/include/openspace/interaction/joystickcamerastates.h @@ -63,14 +63,11 @@ public: float deadzone = 0.f; }; - JoystickCameraStates(double sensitivity, double velocityScaleFactor); void updateStateFromInput(const InputState& inputState, double deltaTime) override; - void setAxisMapping( - int axis, - AxisType mapping, + void setAxisMapping(int axis, AxisType mapping, AxisInvert shouldInvert = AxisInvert::No, AxisNormalize shouldNormalize = AxisNormalize::No ); @@ -82,7 +79,7 @@ public: void bindButtonCommand(int button, std::string command, JoystickAction action, - ButtonCommandRemote local); + ButtonCommandRemote remote, std::string documentation); void clearButtonCommand(int button); std::vector buttonCommand(int button) const; diff --git a/include/openspace/interaction/keybindingmanager.h b/include/openspace/interaction/keybindingmanager.h index 11138eae38..5f71eaa4e3 100644 --- a/include/openspace/interaction/keybindingmanager.h +++ b/include/openspace/interaction/keybindingmanager.h @@ -26,15 +26,16 @@ #define __OPENSPACE_CORE___KEYBINDINGMANAGER___H__ #include -#include -#include +#include #include namespace openspace { class Camera; class SceneGraphNode; -} // namespace +} // namespace openspace + +namespace openspace::scripting { struct LuaLibrary; } namespace openspace::interaction { @@ -50,23 +51,14 @@ public: }; KeyBindingManager(); - ~KeyBindingManager() = default; void resetKeyBindings(); - void bindKeyLocal( - Key key, - KeyModifier modifier, - std::string luaCommand, - std::string documentation = "" - ); + void bindKeyLocal(Key key, KeyModifier modifier, std::string luaCommand, + std::string documentation = ""); - void bindKey( - Key key, - KeyModifier modifier, - std::string luaCommand, - std::string documentation = "" - ); + void bindKey(Key key, KeyModifier modifier, std::string luaCommand, + std::string documentation = ""); void removeKeyBinding(const std::string& key); @@ -75,7 +67,6 @@ public: static scripting::LuaLibrary luaLibrary(); - // Callback functions void keyboardCallback(Key key, KeyModifier modifier, KeyAction action); private: diff --git a/include/openspace/interaction/keyframenavigator.h b/include/openspace/interaction/keyframenavigator.h index 0346e894b4..e7ad1318d0 100644 --- a/include/openspace/interaction/keyframenavigator.h +++ b/include/openspace/interaction/keyframenavigator.h @@ -26,8 +26,7 @@ #define __OPENSPACE_CORE___KEYFRAMENAVIGATOR___H__ #include -#include - +#include #include #include @@ -45,9 +44,6 @@ public: bool followFocusNodeRotation; }; - KeyframeNavigator() = default; - ~KeyframeNavigator() = default; - void updateCamera(Camera& camera); Timeline& timeline(); diff --git a/include/openspace/interaction/navigationhandler.h b/include/openspace/interaction/navigationhandler.h index bec01c674f..84d9636d6c 100644 --- a/include/openspace/interaction/navigationhandler.h +++ b/include/openspace/interaction/navigationhandler.h @@ -27,26 +27,25 @@ #include -#include -#include -#include #include #include #include -#include #include #include -#include -#include - namespace openspace { class Camera; class SceneGraphNode; } // namespace openspace +namespace openspace::scripting { struct LuaLibrary; } + namespace openspace::interaction { +struct JoystickInputStates; +class KeyframeNavigator; +class OrbitalNavigator; + class NavigationHandler : public properties::PropertyOwner { public: NavigationHandler(); @@ -83,9 +82,7 @@ public: void setJoystickInputStates(JoystickInputStates& states); - void setJoystickAxisMapping( - int axis, - JoystickCameraStates::AxisType mapping, + void setJoystickAxisMapping(int axis, JoystickCameraStates::AxisType mapping, JoystickCameraStates::AxisInvert shouldInvert = JoystickCameraStates::AxisInvert::No, JoystickCameraStates::AxisNormalize shouldNormalize = @@ -98,7 +95,7 @@ public: float joystickAxisDeadzone(int axis) const; void bindJoystickButtonCommand(int button, std::string command, JoystickAction action, - JoystickCameraStates::ButtonCommandRemote remote); + JoystickCameraStates::ButtonCommandRemote remote, std::string documentation); void clearJoystickButtonCommand(int button); std::vector joystickButtonCommand(int button) const; @@ -118,12 +115,11 @@ private: bool _cameraUpdatedFromScript = false; std::unique_ptr _inputState; - Camera* _camera; + Camera* _camera = nullptr; std::unique_ptr _orbitalNavigator; std::unique_ptr _keyframeNavigator; - // Properties properties::StringProperty _origin; properties::BoolProperty _useKeyFrameInteraction; }; diff --git a/include/openspace/interaction/orbitalnavigator.h b/include/openspace/interaction/orbitalnavigator.h index 42bc765673..85d22b9e5f 100644 --- a/include/openspace/interaction/orbitalnavigator.h +++ b/include/openspace/interaction/orbitalnavigator.h @@ -25,16 +25,14 @@ #ifndef __OPENSPACE_CORE___ORBITALNAVIGATOR___H__ #define __OPENSPACE_CORE___ORBITALNAVIGATOR___H__ +#include + #include -#include #include #include #include - -#include #include #include - #include #include @@ -46,10 +44,11 @@ namespace openspace { namespace openspace::interaction { -class OrbitalNavigator : public properties::PropertyOwner { +class InputState; + +class OrbitalNavigator : public properties::PropertyOwner { public: OrbitalNavigator(); - ~OrbitalNavigator(); void updateStatesFromInput(const InputState& inputState, double deltaTime); void updateCameraStateFromStates(Camera& camera, double deltaTime); diff --git a/modules/iswa/ext/json.h b/include/openspace/json.h similarity index 87% rename from modules/iswa/ext/json.h rename to include/openspace/json.h index eddbb50955..4af4d7a02e 100644 --- a/modules/iswa/ext/json.h +++ b/include/openspace/json.h @@ -1,8 +1,9 @@ /***************************************************************************************** * * - * OpenSpace * + * GHOUL * + * General Helpful Open Utility Library * * * - * Copyright (c) 2014-2018 * + * Copyright (c) 2012-2018 * * * * Permission is hereby granted, free of charge, to any person obtaining a copy of this * * software and associated documentation files (the "Software"), to deal in the Software * @@ -22,8 +23,8 @@ * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. * ****************************************************************************************/ -#ifndef __OPENSPACE_MODULE_KAMELEONVOLUME___JSON___H__ -#define __OPENSPACE_MODULE_KAMELEONVOLUME___JSON___H__ +#ifndef __OPENSPACE_CORE___JSON___H__ +#define __OPENSPACE_CORE___JSON___H__ #ifdef WIN32 #pragma warning (push) @@ -36,8 +37,7 @@ #pragma GCC diagnostic ignored "-Wuseless-cast" #endif // __GNUC__ - -#include +#include #if defined(__GNUC__) && !defined(__clang__) #pragma GCC diagnostic pop @@ -47,4 +47,4 @@ #pragma warning (pop) #endif // WIN32 -#endif // __OPENSPACE_MODULE_KAMELEONVOLUME___JSON___H__ +#endif // __OPENSPACE_CORE___JSON___H__ diff --git a/include/openspace/mission/mission.h b/include/openspace/mission/mission.h index 129b32a5a1..c0568a189d 100644 --- a/include/openspace/mission/mission.h +++ b/include/openspace/mission/mission.h @@ -27,7 +27,6 @@ #include -#include #include #include @@ -50,48 +49,55 @@ public: /** * Constructs a MissionPhase from the information provided in the \p dictionary. See * the MissionPhase::Documentation for accepted ghoul::Dictionary values. + * * \param dictionary The ghoul::Dictionary that contains information about the current - * MissionPhase + * MissionPhase + * * \throw SpecificationError If the \p dictionary does not adhere to the Documentation * \throw RuntimeError If the time range of subphases is smaller than the specified - * time range + * time range * \throw RuntimeError If neither subphases or a time range is specified */ MissionPhase(const ghoul::Dictionary& dictionary); /** * Returns the name of the MissionPhase. + * * \return The name of the MissionPhase */ - std::string name() const; + const std::string& name() const; /** * Returns the TimeRange of the MissionPhase. + * * \return The TimeRange of the MissionPhase */ - TimeRange timeRange() const; + const TimeRange& timeRange() const; /** * Returns the description of the MissionPhase. + * * \return The description of the MissionPhase */ - std::string description() const; + const std::string& description() const; /** * Returns all subphases sorted by start time. + * * \return All subphases sorted by start time */ - std::vector phases() const; + const std::vector& phases() const; using Trace = std::vector>; /** * Returns all MissionPhase%s whose MissionPhase::timeRange includes the provided * \p time, up to a maximum subphase depth of \p maxDepth. + * * \param time The time in which the subphases have to be active in order to be - * included + * included * \param maxDepth The maximum levels of subphases that will be considered. If this - * value is equal to -1, an infinite depth will be considered. + * value is equal to -1, an infinite depth will be considered. * \return A list of MissionPhases that cover the provided \p time */ Trace phaseTrace(double time, int maxDepth = -1) const; @@ -108,9 +114,11 @@ protected: * Recursive function that walks the subphases and adds the MissionPhase%s that cover * the provided \p time and adds these to the list of \p trace%s. Each recursive call * will decrease the \p maxDepth counter until it reaches 0. + * * \param time The time which the subphases have to cover to be added to the \p trace * \param trace The list of MissionPhase%s that are active during the time \p time * \param maxDepth The maximum depth of levels that will be considered + * * \pre maxDepth must not be negative */ void phaseTrace(double time, Trace& trace, int maxDepth) const; @@ -133,9 +141,11 @@ using Mission = MissionPhase; /** * This function constructs a Mission from the provided \p filename. The file must be a - * Lua table that describes the Mission according to MissionPhase::Documentation + * Lua table that describes the Mission according to MissionPhase::Documentation. + * * \param filename The file that is used to create the Mission * \return The constructed Mission + * * \pre \p filename must not be empty * \pre \p filename must not contain tokens * \pre \p filename must exist diff --git a/include/openspace/mission/missionmanager.h b/include/openspace/mission/missionmanager.h index cedd3dc57f..2052f1b451 100644 --- a/include/openspace/mission/missionmanager.h +++ b/include/openspace/mission/missionmanager.h @@ -29,7 +29,6 @@ #include #include - #include #include diff --git a/include/openspace/network/messagestructures.h b/include/openspace/network/messagestructures.h index 79a5eadc8f..31f7d22680 100644 --- a/include/openspace/network/messagestructures.h +++ b/include/openspace/network/messagestructures.h @@ -25,14 +25,13 @@ #ifndef __OPENSPACE_CORE___MESSAGESTRUCTURES___H__ #define __OPENSPACE_CORE___MESSAGESTRUCTURES___H__ +#include +#include #include #include -//#include - -#include - namespace openspace::datamessagestructures { + enum class Type : uint32_t { CameraData = 0, TimeData, diff --git a/include/openspace/network/networkengine.h b/include/openspace/network/networkengine.h index 869fd8c65a..ab411b4c9d 100644 --- a/include/openspace/network/networkengine.h +++ b/include/openspace/network/networkengine.h @@ -34,7 +34,7 @@ namespace openspace { class NetworkEngine { public: - typedef uint16_t MessageIdentifier; + using MessageIdentifier = uint16_t; NetworkEngine(); @@ -57,7 +57,7 @@ public: private: std::map _identifiers; - MessageIdentifier _lastAssignedIdentifier; + MessageIdentifier _lastAssignedIdentifier = MessageIdentifier(-1); struct Message { MessageIdentifier identifer; @@ -67,7 +67,7 @@ private: std::vector _initialConnectionMessages; - bool _shouldPublishStatusMessage; + bool _shouldPublishStatusMessage = true; MessageIdentifier _statusMessageIdentifier; MessageIdentifier _identifierMappingIdentifier; diff --git a/include/openspace/network/parallelconnection.h b/include/openspace/network/parallelconnection.h index 9cd33e8bea..049b8ea1f6 100644 --- a/include/openspace/network/parallelconnection.h +++ b/include/openspace/network/parallelconnection.h @@ -26,9 +26,8 @@ #define __OPENSPACE_CORE___PARALLELCONNECTION___H__ #include - #include - +#include #include namespace openspace { @@ -54,22 +53,17 @@ public: }; struct Message { - Message() {}; - Message(MessageType t, const std::vector& c) - : type(t) - , content(c) - {}; + Message() = default; + Message(MessageType t, std::vector c); MessageType type; std::vector content; }; struct DataMessage { - DataMessage() {}; - DataMessage(datamessagestructures::Type t, const std::vector& c) - : type(t) - , content(c) - {}; + DataMessage() = default; + DataMessage(datamessagestructures::Type t, std::vector c); + datamessagestructures::Type type; std::vector content; }; @@ -81,9 +75,9 @@ public: ParallelConnection(std::unique_ptr socket); - bool isConnectedOrConnecting(); + bool isConnectedOrConnecting() const; void sendDataMessage(const ParallelConnection::DataMessage& dataMessage); - bool sendMessage(const ParallelConnection::Message& message); + bool sendMessage(const ParallelConnection::Message& message); void disconnect(); ghoul::io::TcpSocket* socket(); diff --git a/include/openspace/network/parallelpeer.h b/include/openspace/network/parallelpeer.h index 6b44b1fc68..b0029457f4 100644 --- a/include/openspace/network/parallelpeer.h +++ b/include/openspace/network/parallelpeer.h @@ -25,33 +25,28 @@ #ifndef __OPENSPACE_CORE___PARALLELPEER___H__ #define __OPENSPACE_CORE___PARALLELPEER___H__ -#include -#include #include + +#include #include -#include #include - -#include - #include -#include - -#include -#include -#include #include -#include +#include #include -#include -#include +#include +#include +#include namespace openspace { +namespace scripting { struct LuaLibrary; } + class ParallelPeer : public properties::PropertyOwner { public: ParallelPeer(); ~ParallelPeer(); + void connect(); void setPort(std::string port); void setAddress(std::string address); @@ -76,7 +71,7 @@ public: static scripting::LuaLibrary luaLibrary(); ParallelConnection::Status status(); int nConnections(); - std::shared_ptr> connectionEvent(); + ghoul::Event<>& connectionEvent(); private: void queueInMessage(const ParallelConnection::Message& message); @@ -85,9 +80,9 @@ private: void handleCommunication(); void handleMessage(const ParallelConnection::Message&); - void dataMessageReceived(const std::vector& messageContent); - void connectionStatusMessageReceived(const std::vector& messageContent); - void nConnectionsMessageReceived(const std::vector& messageContent); + void dataMessageReceived(const std::vector& message); + void connectionStatusMessageReceived(const std::vector& message); + void nConnectionsMessageReceived(const std::vector& message); void sendCameraKeyframe(); void sendTimeKeyframe(); @@ -100,6 +95,7 @@ private: properties::StringProperty _password; properties::StringProperty _hostPassword; + // Change to properties::IntProperty ? ---abock properties::StringProperty _port; properties::StringProperty _address; properties::StringProperty _name; @@ -108,13 +104,15 @@ private: properties::FloatProperty _cameraKeyframeInterval; properties::FloatProperty _timeTolerance; - double _lastTimeKeyframeTimestamp; - double _lastCameraKeyframeTimestamp; + double _lastTimeKeyframeTimestamp = 0.0; + double _lastCameraKeyframeTimestamp = 0.0; - std::atomic _shouldDisconnect; + std::atomic_bool _shouldDisconnect = false; + + std::atomic _nConnections = 0; + std::atomic _status = + ParallelConnection::Status::Disconnected; - std::atomic _nConnections; - std::atomic _status; std::string _hostName; std::deque _receiveBuffer; @@ -125,7 +123,7 @@ private: std::deque _latencyDiffs; double _initialTimeDiff; - std::unique_ptr _receiveThread; + std::unique_ptr _receiveThread = nullptr; std::shared_ptr> _connectionEvent; ParallelConnection _connection; diff --git a/include/openspace/network/parallelserver.h b/include/openspace/network/parallelserver.h index 79133e9fed..73aa8447b0 100644 --- a/include/openspace/network/parallelserver.h +++ b/include/openspace/network/parallelserver.h @@ -28,23 +28,19 @@ #include #include - #include -#include - +#include #include #include -#include namespace openspace { class ParallelServer { public: - void start(int port, - const std::string& password, + void start(int port, const std::string& password, const std::string& changeHostPassword); - void setDefaultHostAddress(std::string); + void setDefaultHostAddress(std::string defaultHostAddress); std::string defaultHostAddress() const; @@ -54,6 +50,9 @@ public: private: struct Peer { + //Peer(size_t id_, std::string name_, ParallelConnection parallelConnection_, + //ParallelConnection::Status status_, std::thread ) + size_t id; std::string name; ParallelConnection parallelConnection; @@ -80,20 +79,20 @@ private: void disconnect(std::shared_ptr peer); void setName(std::shared_ptr peer, std::string name); - void assignHost(std::shared_ptr peer); + void assignHost(std::shared_ptr newHost); void setToClient(std::shared_ptr peer); void setNConnections(size_t nConnections); void sendConnectionStatus(std::shared_ptr peer); - void handleAuthentication(std::shared_ptr peer, std::vector data); + void handleAuthentication(std::shared_ptr peer, std::vector message); void handleData(std::shared_ptr peer, std::vector data); - void handleHostshipRequest(std::shared_ptr peer, std::vector data); + void handleHostshipRequest(std::shared_ptr peer, std::vector message); void handleHostshipResignation(std::shared_ptr peer, std::vector data); void handleDisconnection(std::shared_ptr peer); void handleNewPeers(); void eventLoop(); - std::shared_ptr peer(size_t i); + std::shared_ptr peer(size_t id); void handlePeer(size_t id); void handlePeerMessage(PeerMessage peerMessage); diff --git a/include/openspace/performance/performancelayout.h b/include/openspace/performance/performancelayout.h index 07a9ee25ec..104f3ddedf 100644 --- a/include/openspace/performance/performancelayout.h +++ b/include/openspace/performance/performancelayout.h @@ -30,10 +30,10 @@ namespace openspace::performance { struct PerformanceLayout { - static const int8_t Version = 0; - static const int LengthName = 256; - static const int NumberValues = 256; - static const int MaxValues = 256; + constexpr static const int8_t Version = 0; + constexpr static const int LengthName = 256; + constexpr static const int NumberValues = 256; + constexpr static const int MaxValues = 1024; PerformanceLayout(); @@ -46,14 +46,14 @@ struct PerformanceLayout { float updateScaling[NumberValues]; }; SceneGraphPerformanceLayout sceneGraphEntries[MaxValues]; - int16_t nScaleGraphEntries; + int16_t nScaleGraphEntries = 0; struct FunctionPerformanceLayout { char name[LengthName]; float time[NumberValues]; }; FunctionPerformanceLayout functionEntries[MaxValues]; - int16_t nFunctionEntries; + int16_t nFunctionEntries = 0; }; } // namespace openspace::performance diff --git a/include/openspace/performance/performancemanager.h b/include/openspace/performance/performancemanager.h index 688b2d8e72..7c8558fef3 100644 --- a/include/openspace/performance/performancemanager.h +++ b/include/openspace/performance/performancemanager.h @@ -25,24 +25,22 @@ #ifndef __OPENSPACE_CORE___PERFORMANCEMANAGER___H__ #define __OPENSPACE_CORE___PERFORMANCEMANAGER___H__ -#include - -#include - #include #include +#include #include namespace ghoul { class SharedMemory; } - namespace openspace { class SceneGraphNode; } namespace openspace::performance { +struct PerformanceLayout; + class PerformanceManager { public: - static void createGlobalSharedMemory(); - static void destroyGlobalSharedMemory(); + static void CreateGlobalSharedMemory(); + static void DestroyGlobalSharedMemory(); PerformanceManager(std::string loggingDirectory = "${BASE}", std::string prefix = "PM-"); @@ -51,10 +49,8 @@ public: void resetPerformanceMeasurements(); - bool isMeasuringPerformance() const; - - void storeIndividualPerformanceMeasurement(std::string identifier, - long long nanoseconds); + void storeIndividualPerformanceMeasurement(const std::string& identifier, + long long microseconds); void storeScenePerformanceMeasurements( const std::vector& sceneNodes); @@ -65,9 +61,9 @@ public: std::string formatLogName(std::string nodeName); void logDir(std::string dir); - std::string logDir() const; + const std::string& logDir() const; void prefix(std::string prefix); - std::string prefix() const; + const std::string& prefix() const; void enableLogging(); void disableLogging(); @@ -78,19 +74,17 @@ public: PerformanceLayout* performanceData(); private: - bool _doPerformanceMeasurements; - bool _loggingEnabled; + bool _loggingEnabled = false; std::string _logDir; std::string _prefix; - std::string _suffix; - std::string _ext; + std::string _ext = "log"; std::map individualPerformanceLocations; std::unique_ptr _performanceMemory; - size_t _tick; + size_t _currentTick = 0; void tick(); bool createLogDir(); diff --git a/include/openspace/performance/performancemeasurement.h b/include/openspace/performance/performancemeasurement.h index 024541dae6..7ea34fe4cd 100644 --- a/include/openspace/performance/performancemeasurement.h +++ b/include/openspace/performance/performancemeasurement.h @@ -27,7 +27,6 @@ #include #include - #include #include diff --git a/include/openspace/properties/matrixproperty.h b/include/openspace/properties/matrixproperty.h deleted file mode 100644 index c64b0d38f4..0000000000 --- a/include/openspace/properties/matrixproperty.h +++ /dev/null @@ -1,50 +0,0 @@ -/***************************************************************************************** - * * - * OpenSpace * - * * - * Copyright (c) 2014-2018 * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy of this * - * software and associated documentation files (the "Software"), to deal in the Software * - * without restriction, including without limitation the rights to use, copy, modify, * - * merge, publish, distribute, sublicense, and/or sell copies of the Software, and to * - * permit persons to whom the Software is furnished to do so, subject to the following * - * conditions: * - * * - * The above copyright notice and this permission notice shall be included in all copies * - * or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, * - * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A * - * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT * - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF * - * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE * - * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - ****************************************************************************************/ - -#ifndef __OPENSPACE_CORE___MATRIXPROPERTY___H__ -#define __OPENSPACE_CORE___MATRIXPROPERTY___H__ - -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif // __OPENSPACE_CORE___MATRIXPROPERTY___H__ diff --git a/include/openspace/properties/numericalproperty.inl b/include/openspace/properties/numericalproperty.inl index d4bfc6d9be..e8ece066d8 100644 --- a/include/openspace/properties/numericalproperty.inl +++ b/include/openspace/properties/numericalproperty.inl @@ -62,11 +62,11 @@ namespace openspace::properties { template <> \ template <> \ bool PropertyDelegate>::toLuaValue(lua_State* state, \ - TYPE value); \ + const TYPE& value); \ template <> \ template <> \ bool PropertyDelegate>::toLuaValue(lua_State* state, \ - TYPE value); \ + const TYPE& value); \ template <> \ int PropertyDelegate>::typeLua(); \ template <> \ @@ -74,23 +74,23 @@ namespace openspace::properties { \ template <> \ template <> \ - TYPE PropertyDelegate>::fromString(std::string value, \ + TYPE PropertyDelegate>::fromString(const std::string& value, \ bool& success); \ \ template <> \ template <> \ - TYPE PropertyDelegate>::fromString(std::string value, \ + TYPE PropertyDelegate>::fromString(const std::string& value, \ bool& success); \ \ template <> \ template <> \ bool PropertyDelegate>::toString(std::string& outValue, \ - TYPE inValue); \ + const TYPE& inValue); \ \ template <> \ template <> \ bool PropertyDelegate>::toString(std::string& outValue, \ - TYPE inValue); + const TYPE& inValue); #define REGISTER_NUMERICALPROPERTY_SOURCE(CLASS_NAME, TYPE, DEFAULT_VALUE, \ @@ -141,35 +141,35 @@ namespace openspace::properties { \ template <> \ template <> \ - TYPE PropertyDelegate>::fromLuaValue(lua_State* lua, \ - bool& successful) \ + TYPE PropertyDelegate>::fromLuaValue(lua_State* state, \ + bool& success) \ { \ - return FROM_LUA_LAMBDA_EXPRESSION(lua, successful); \ + return FROM_LUA_LAMBDA_EXPRESSION(state, success); \ } \ \ template <> \ template <> \ - TYPE PropertyDelegate>::fromLuaValue(lua_State* lua, \ - bool& successful) \ + TYPE PropertyDelegate>::fromLuaValue(lua_State* state, \ + bool& success) \ { \ return PropertyDelegate>::fromLuaValue( \ - lua, successful); \ + state, success); \ } \ \ template <> \ template <> \ - bool PropertyDelegate>::toLuaValue(lua_State* lua, \ - TYPE val) \ + bool PropertyDelegate>::toLuaValue(lua_State* state, \ + const TYPE& value) \ { \ - return TO_LUA_LAMBDA_EXPRESSION(lua, val); \ + return TO_LUA_LAMBDA_EXPRESSION(state, value); \ } \ \ template <> \ template <> \ bool PropertyDelegate>::toLuaValue(lua_State* state, \ - TYPE val) \ + const TYPE& value) \ { \ - return PropertyDelegate>::toLuaValue(state, val); \ + return PropertyDelegate>::toLuaValue(state, value); \ } \ \ template <> \ @@ -186,15 +186,15 @@ namespace openspace::properties { \ template <> \ template <> \ - TYPE PropertyDelegate>::fromString(std::string value, \ - bool& successful) \ + TYPE PropertyDelegate>::fromString(const std::string& value, \ + bool& success) \ { \ - return FROM_STRING_LAMBDA_EXPRESSION(value, successful); \ + return FROM_STRING_LAMBDA_EXPRESSION(value, success); \ } \ \ template <> \ template <> \ - TYPE PropertyDelegate>::fromString(std::string value, \ + TYPE PropertyDelegate>::fromString(const std::string& value, \ bool& success) \ { \ return PropertyDelegate>::fromString( \ @@ -205,18 +205,18 @@ namespace openspace::properties { \ template <> \ template <> \ - bool PropertyDelegate>::toString(std::string& out, \ - TYPE in) \ + bool PropertyDelegate>::toString(std::string& outValue, \ + const TYPE& inValue) \ { \ - return TO_STRING_LAMBDA_EXPRESSION(out, in); \ + return TO_STRING_LAMBDA_EXPRESSION(outValue, inValue); \ } \ \ template <> \ template <> \ - bool PropertyDelegate>::toString(std::string& out, \ - TYPE in) \ + bool PropertyDelegate>::toString(std::string& outValue, \ + const TYPE& inValue) \ { \ - return PropertyDelegate>::toString(out, in); \ + return PropertyDelegate>::toString(outValue, inValue); \ } @@ -420,22 +420,10 @@ std::string NumericalProperty::jsonValue() const { template void NumericalProperty::setInterpolationTarget(ghoul::any value) { - try { - T v = ghoul::any_cast(std::move(value)); + T v = ghoul::any_cast(std::move(value)); - _interpolationStart = TemplateProperty::_value; - _interpolationEnd = std::move(v); - } - catch (ghoul::bad_any_cast&) { - LERRORC( - "TemplateProperty", - fmt::format( - "Illegal cast from '{}' to '{}'", - value.type().name(), - typeid(T).name() - ) - ); - } + _interpolationStart = TemplateProperty::_value; + _interpolationEnd = std::move(v); } template diff --git a/include/openspace/properties/optionproperty.h b/include/openspace/properties/optionproperty.h index ac4d099869..864b4b6277 100644 --- a/include/openspace/properties/optionproperty.h +++ b/include/openspace/properties/optionproperty.h @@ -41,8 +41,8 @@ namespace openspace::properties { class OptionProperty : public IntProperty { public: /** - * The struct storing a single option consisting of an integer value and - * a string description. + * The struct storing a single option consisting of an integer \c value and a + * \c string description. */ struct Option { int value; @@ -55,10 +55,10 @@ public: }; /** - * The constructor delegating the identifier and the guiName - * to its super class. + * The constructor delegating the \c identifier and the \c guiName to its super class. + * * \param info The PropertyInfo structure that contains all the required static - * information for initializing this Property. + * information for initializing this Property. * \pre \p info.identifier must not be empty * \pre \p info.guiName must not be empty */ @@ -67,9 +67,11 @@ public: /** * The constructor delegating the identifier and the guiName * to its super class. + * * \param info The PropertyInfo structure that contains all the required static - * information for initializing this Property. + * information for initializing this Property. * \param displayType Optional DisplayType for GUI (default RADIO) + * * \pre \p info.identifier must not be empty * \pre \p info.guiName must not be empty */ @@ -77,21 +79,23 @@ public: /** * Returns the name of the class for reflection purposes. + * * \return The name of this class for reflection purposes */ std::string className() const override; using IntProperty::operator=; /** - * Returns the type for GUI display. - * \return OptionType for display purposes - */ + * Returns the type for GUI display. + * + * \return OptionType for display purposes + */ DisplayType displayType() const; /** - * Adds the passed option to the list of available options. The value of - * the option must not have been registered previously, or a warning will - * be logged. + * Adds the passed option to the list of available options. The \c value of the + * \c option must not have been registered previously, or a warning will be logged. + * * \param value The option that will be added to the list of available options * \param desc The description of the value that will be added */ @@ -100,12 +104,14 @@ public: /** * Adds multiple options to the OptionProperty. Each value in the vector consists of * an integer value and a string description. + * * \param options Pairs of that are added to the OptionProperty */ void addOptions(std::vector> options); /** * Returns the list of available options. + * * \return The list of available options */ const std::vector