diff --git a/.gitignore b/.gitignore index 39179a8f4f..edb1fb87b2 100644 --- a/.gitignore +++ b/.gitignore @@ -121,3 +121,4 @@ data/spice/sat375.bsp data/spice/new_horizons/ data/scene/mars/map_datasets/mars_COL_v006_mars2000_rgb.tif data/scene/mars/map_datasets/mars_COL_v006_mars2000_rgb.vrt +data/spice/Juno/ diff --git a/CMakeLists.txt b/CMakeLists.txt index 7ba5366fe6..02a72c6c5c 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 9) +set(OPENSPACE_VERSION_MINOR 10) set(OPENSPACE_VERSION_PATCH 0) -set(OPENSPACE_VERSION_STRING "prerelease-14 (Astronomy Live)") +set(OPENSPACE_VERSION_STRING "prerelease-15 (ASTC)") set(OPENSPACE_BASE_DIR "${PROJECT_SOURCE_DIR}") set(OPENSPACE_APPS_DIR "${OPENSPACE_BASE_DIR}/apps") diff --git a/README.md b/README.md index 765271bcfa..48ef4988f4 100644 --- a/README.md +++ b/README.md @@ -8,4 +8,4 @@ The project stems from the same academic collaboration between Sweden’s [Link This repository contains the source code and example scenes for OpenSpace, but does not contain any data. To build and install the client, we refer to the [Wiki](https://github.com/OpenSpace/OpenSpace/wiki) pages here on GitHub, specifically [building](https://github.com/OpenSpace/OpenSpace/wiki/General-Getting-Started-Guide%3A-Compiling-OpenSpace) for [Windows](https://github.com/OpenSpace/OpenSpace/wiki/Guides-Compile-OpenSpace-on-Windows), [Linux](https://github.com/OpenSpace/OpenSpace/wiki/Guides-Compile-OpenSpace-on-Linux), and [MacOS](https://github.com/OpenSpace/OpenSpace/wiki/Guides-Compile-OpenSpace-on-OSX). Required preexisting dependencies are: [Boost](http://www.boost.org/) and [Qt](http://www.qt.io/download). Feel free to create issues for missing features, bug reports, or compile problems or contact us via [email](mailto:alexander.bock@me.com?subject=OpenSpace:). -Regarding any issues, you are very welcome on our [Slack support channel](https://openspacesupport.slack.com) to which you can freely [sign-up](https://join.slack.com/openspacesupport/shared_invite/MjA4ODY1MDQzNTUzLTE0OTk0MzUyODEtOGZkYTMwNmI5ZA). +Regarding any issues, you are very welcome on our [Slack support channel](https://openspacesupport.slack.com) to which you can freely [sign-up](https://join.slack.com/t/openspacesupport/shared_invite/enQtMjUxNzUyMTQ1ODQxLTI4YjNmMTY3ZDI1N2Q1NWM1ZjQ1NTQyNzAxM2YyMGQ5Y2NmYWJiNjI1NjU4YTkyNTc5ZDE5NzdhNGM2YmUzYTk). diff --git a/apps/OpenSpace/main.cpp b/apps/OpenSpace/main.cpp index 01c475f5e5..b17adaa7b4 100644 --- a/apps/OpenSpace/main.cpp +++ b/apps/OpenSpace/main.cpp @@ -555,7 +555,8 @@ int main_main(int argc, char** argv) { { { 4, 2 }, sgct::Engine::RunMode::OpenGL_4_2_Core_Profile }, { { 4, 3 }, sgct::Engine::RunMode::OpenGL_4_3_Core_Profile }, { { 4, 4 }, sgct::Engine::RunMode::OpenGL_4_4_Core_Profile }, - { { 4, 5 }, sgct::Engine::RunMode::OpenGL_4_5_Core_Profile } + { { 4, 5 }, sgct::Engine::RunMode::OpenGL_4_5_Core_Profile }, + { { 4, 6 }, sgct::Engine::RunMode::OpenGL_4_6_Core_Profile } }; ghoul_assert( versionMapping.find(glVersion) != versionMapping.end(), diff --git a/data/fonts/Bitstream-Vera-Sans-Mono/Bitstream Vera License.txt b/data/fonts/Bitstream-Vera-Sans-Mono/Bitstream Vera License.txt new file mode 100644 index 0000000000..cf00835107 --- /dev/null +++ b/data/fonts/Bitstream-Vera-Sans-Mono/Bitstream Vera License.txt @@ -0,0 +1,123 @@ +Bitstream Vera Fonts Copyright + +The fonts have a generous copyright, allowing derivative works (as +long as "Bitstream" or "Vera" are not in the names), and full +redistribution (so long as they are not *sold* by themselves). They +can be be bundled, redistributed and sold with any software. + +The fonts are distributed under the following copyright: + +Copyright +========= + +Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream +Vera is a trademark of Bitstream, Inc. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of the fonts accompanying this license ("Fonts") and associated +documentation files (the "Font Software"), to reproduce and distribute +the Font Software, including without limitation the rights to use, +copy, merge, publish, distribute, and/or sell copies of the Font +Software, and to permit persons to whom the Font Software is furnished +to do so, subject to the following conditions: + +The above copyright and trademark notices and this permission notice +shall be included in all copies of one or more of the Font Software +typefaces. + +The Font Software may be modified, altered, or added to, and in +particular the designs of glyphs or characters in the Fonts may be +modified and additional glyphs or characters may be added to the +Fonts, only if the fonts are renamed to names not containing either +the words "Bitstream" or the word "Vera". + +This License becomes null and void to the extent applicable to Fonts +or Font Software that has been modified and is distributed under the +"Bitstream Vera" names. + +The Font Software may be sold as part of a larger software package but +no copy of one or more of the Font Software typefaces may be sold by +itself. + +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL +BITSTREAM OR THE GNOME FOUNDATION BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, +OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT +SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE. + +Except as contained in this notice, the names of Gnome, the Gnome +Foundation, and Bitstream Inc., shall not be used in advertising or +otherwise to promote the sale, use or other dealings in this Font +Software without prior written authorization from the Gnome Foundation +or Bitstream Inc., respectively. For further information, contact: +fonts at gnome dot org. + +Copyright FAQ +============= + + 1. I don't understand the resale restriction... What gives? + + Bitstream is giving away these fonts, but wishes to ensure its + competitors can't just drop the fonts as is into a font sale system + and sell them as is. It seems fair that if Bitstream can't make money + from the Bitstream Vera fonts, their competitors should not be able to + do so either. You can sell the fonts as part of any software package, + however. + + 2. I want to package these fonts separately for distribution and + sale as part of a larger software package or system. Can I do so? + + Yes. A RPM or Debian package is a "larger software package" to begin + with, and you aren't selling them independently by themselves. + See 1. above. + + 3. Are derivative works allowed? + Yes! + + 4. Can I change or add to the font(s)? + Yes, but you must change the name(s) of the font(s). + + 5. Under what terms are derivative works allowed? + + You must change the name(s) of the fonts. This is to ensure the + quality of the fonts, both to protect Bitstream and Gnome. We want to + ensure that if an application has opened a font specifically of these + names, it gets what it expects (though of course, using fontconfig, + substitutions could still could have occurred during font + opening). You must include the Bitstream copyright. Additional + copyrights can be added, as per copyright law. Happy Font Hacking! + + 6. If I have improvements for Bitstream Vera, is it possible they might get + adopted in future versions? + + Yes. The contract between the Gnome Foundation and Bitstream has + provisions for working with Bitstream to ensure quality additions to + the Bitstream Vera font family. Please contact us if you have such + additions. Note, that in general, we will want such additions for the + entire family, not just a single font, and that you'll have to keep + both Gnome and Jim Lyles, Vera's designer, happy! To make sense to add + glyphs to the font, they must be stylistically in keeping with Vera's + design. Vera cannot become a "ransom note" font. Jim Lyles will be + providing a document describing the design elements used in Vera, as a + guide and aid for people interested in contributing to Vera. + + 7. I want to sell a software package that uses these fonts: Can I do so? + + Sure. Bundle the fonts with your software and sell your software + with the fonts. That is the intent of the copyright. + + 8. If applications have built the names "Bitstream Vera" into them, + can I override this somehow to use fonts of my choosing? + + This depends on exact details of the software. Most open source + systems and software (e.g., Gnome, KDE, etc.) are now converting to + use fontconfig (see www.fontconfig.org) to handle font configuration, + selection and substitution; it has provisions for overriding font + names and subsituting alternatives. An example is provided by the + supplied local.conf file, which chooses the family Bitstream Vera for + "sans", "serif" and "monospace". Other software (e.g., the XFree86 + core server) has other mechanisms for font substitution. \ No newline at end of file diff --git a/data/fonts/Bitstream-Vera-Sans-Mono/VeraMono-Bold-Italic.ttf b/data/fonts/Bitstream-Vera-Sans-Mono/VeraMono-Bold-Italic.ttf new file mode 100644 index 0000000000..8624542ed2 Binary files /dev/null and b/data/fonts/Bitstream-Vera-Sans-Mono/VeraMono-Bold-Italic.ttf differ diff --git a/data/fonts/Bitstream-Vera-Sans-Mono/VeraMono-Bold.ttf b/data/fonts/Bitstream-Vera-Sans-Mono/VeraMono-Bold.ttf new file mode 100644 index 0000000000..9be6547ed6 Binary files /dev/null and b/data/fonts/Bitstream-Vera-Sans-Mono/VeraMono-Bold.ttf differ diff --git a/data/fonts/Bitstream-Vera-Sans-Mono/VeraMono-Italic.ttf b/data/fonts/Bitstream-Vera-Sans-Mono/VeraMono-Italic.ttf new file mode 100644 index 0000000000..2404924856 Binary files /dev/null and b/data/fonts/Bitstream-Vera-Sans-Mono/VeraMono-Italic.ttf differ diff --git a/data/fonts/Bitstream-Vera-Sans-Mono/VeraMono.ttf b/data/fonts/Bitstream-Vera-Sans-Mono/VeraMono.ttf new file mode 100644 index 0000000000..139f0b4311 Binary files /dev/null and b/data/fonts/Bitstream-Vera-Sans-Mono/VeraMono.ttf differ diff --git a/data/fonts/arimo/Arimo-Bold.ttf b/data/fonts/arimo/Arimo-Bold.ttf new file mode 100644 index 0000000000..da89a631d6 Binary files /dev/null and b/data/fonts/arimo/Arimo-Bold.ttf differ diff --git a/data/fonts/arimo/Arimo-BoldItalic.ttf b/data/fonts/arimo/Arimo-BoldItalic.ttf new file mode 100644 index 0000000000..6dc45e79e1 Binary files /dev/null and b/data/fonts/arimo/Arimo-BoldItalic.ttf differ diff --git a/data/fonts/arimo/Arimo-Italic.ttf b/data/fonts/arimo/Arimo-Italic.ttf new file mode 100644 index 0000000000..6a8837cb0a Binary files /dev/null and b/data/fonts/arimo/Arimo-Italic.ttf differ diff --git a/data/fonts/arimo/Arimo-Regular.ttf b/data/fonts/arimo/Arimo-Regular.ttf new file mode 100644 index 0000000000..9be443c7df Binary files /dev/null and b/data/fonts/arimo/Arimo-Regular.ttf differ diff --git a/data/fonts/arimo/LICENSE.txt b/data/fonts/arimo/LICENSE.txt new file mode 100644 index 0000000000..d645695673 --- /dev/null +++ b/data/fonts/arimo/LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/data/scene/constellationbounds/constellationbounds.mod b/data/scene/constellationbounds/constellationbounds.mod index fe5e3b2122..30d207f25e 100644 --- a/data/scene/constellationbounds/constellationbounds.mod +++ b/data/scene/constellationbounds/constellationbounds.mod @@ -20,6 +20,7 @@ return { SourceFrame = "J2000", DestinationFrame = "GALACTIC" } - } + }, + GuiPath = "/Milky Way/Stars" } } \ No newline at end of file diff --git a/data/scene/default.scene b/data/scene/default.scene index dfd83d1e6c..824d4ae4c5 100644 --- a/data/scene/default.scene +++ b/data/scene/default.scene @@ -1,13 +1,25 @@ -- Add folders to this list that contain .info files describing HiRISE patches -local mars_folders = { - -- Add a folder here whose contents will be automatically added to the Mars globe - -- If multiple folders are added, the results will be added sequentially, meaning that - -- if areas overlap (for example CTX and HiRISE) and CTX is specified *after* HiRISE, - -- CTX will stomp over the HiRISE - -- - -- tl;dr: Specify CTX folders first, then HiRISE +local vrt_folders = { + Mars = { + -- Add folders here whose contents will be automatically added to the Mars globe + -- If multiple folders are added, the results will be added sequentially, meaning that + -- if areas overlap (for example CTX and HiRISE) and CTX is specified *after* HiRISE, + -- CTX will stomp over the HiRISE + -- + -- tl;dr: Specify CTX folders first, then HiRISE + -- example: 'C:/OpenSpace/GlobeBrowsingData/Mars/CTX' + }, + Moon = { + -- Add folders here whose contents will be automatically added to the Moon globe + -- If multiple folders are added, the results will be added sequentially, meaning that + -- if areas overlap, images from the lower results will overwrite the images from former + -- results + -- example: 'C:/OpenSpace/GlobeBrowsingData/Moon' + } } +dofile(openspace.absPath('${SCRIPTS}/scene_helper.lua')) + function preInitialization() --[[ The scripts in this function are executed after the scene is loaded but before the @@ -22,7 +34,6 @@ function preInitialization() openspace.time.setTime(openspace.time.currentWallTime()) dofile(openspace.absPath('${SCRIPTS}/bind_common_keys.lua')) - -- Toggle night texture, shading, atmosphere and water openspace.bindKey("s", helper.property.invert('Earth.RenderableGlobe.Layers.NightLayers.Earth at Night 2012.Enabled') .. @@ -91,10 +102,23 @@ function postInitialization() openspace.printInfo("Done setting default values") - -- Add the CTX and HiRISE patches described at the top of this file - for _, file in pairs(mars_folders) do - openspace.globebrowsing.addBlendingLayersFromDirectory(file, "Mars") + -- Add local patches described at the top of this file + for obj, list in pairs(vrt_folders) do + print(obj) + print(list) + for _, dir in pairs(list) do + print(dir) + openspace.globebrowsing.addBlendingLayersFromDirectory(dir, obj) + end end + + + + -- Defined in scene_helper.lua + -- Used to create focus buttons for a subset of scenegraph nodes + mark_interesting_nodes({ + "Earth", "Mars", "Moon" + }) end diff --git a/data/scene/earth/earth.mod b/data/scene/earth/earth.mod index e38d6477c7..6155bed1fd 100644 --- a/data/scene/earth/earth.mod +++ b/data/scene/earth/earth.mod @@ -11,7 +11,8 @@ return { Observer = "SUN", Kernels = "${OPENSPACE_DATA}/spice/de430_1850-2150.bsp" } - } + }, + GuiPath = "/Solar System/Planets/Earth" }, { -- The default reference frame for Earth-orbiting satellites @@ -23,7 +24,8 @@ return { SourceFrame = "J2000", DestinationFrame = "GALACTIC" } - } + }, + GuiPath = "/Solar System/Planets/Earth" }, -- EarthTrail module { @@ -44,7 +46,7 @@ return { Resolution = 1000 }, Tag = { "planetTrail_solarSystem", "planetTrail_terrestrial" }, - GuiName = "/Solar/EarthTrail" + GuiPath = "/Solar System/Planets/Earth" }, -- RenderableGlobe module { @@ -57,7 +59,6 @@ return { DestinationFrame = "GALACTIC", } }, - Tag = { "planet_solarSystem", "planet_terrestrial" }, Renderable = { Type = "RenderableGlobe", Radii = earthEllipsoid, @@ -212,6 +213,8 @@ return { } } } - } + }, + Tag = { "planet_solarSystem", "planet_terrestrial" }, + GuiPath = "/Solar System/Planets/Earth" } } diff --git a/data/scene/grids/grids.mod b/data/scene/grids/grids.mod index a9ec4af6a4..0af6fc24f7 100644 --- a/data/scene/grids/grids.mod +++ b/data/scene/grids/grids.mod @@ -11,7 +11,8 @@ return { -0.9938214 , -0.1109906, -0.0003515167, 0.0, -0.09647644, 0.8622859, 0.4971472 , 0.0, 0.0 , 0.0 , 0.0 , 1.0 } - } + }, + GuiPath = "/Other/Grids" }, { Name = "Equatorial Grid", @@ -24,7 +25,8 @@ return { -0.8734371 , -0.4448296, -0.1980764, 0.0, -0.483835 , 0.7469823, 0.4559838, 0.0, 0.0 , 0.0 , 0.0 , 1.0 } - } + }, + GuiPath = "/Other/Grids" }, { Name = "Galactic Grid", @@ -33,6 +35,7 @@ return { Type = "RenderableSphericalGrid", LineWidth = 0.75, GridColor = { 0.0, 0.75, 0.75, 1.0} - } + }, + GuiPath = "/Other/Grids" } } diff --git a/data/scene/juno.scene b/data/scene/juno.scene index 69f68db08b..89b3c8374a 100755 --- a/data/scene/juno.scene +++ b/data/scene/juno.scene @@ -1,3 +1,5 @@ +dofile(openspace.absPath('${SCRIPTS}/scene_helper.lua')) + function preInitialization() --[[ The scripts in this function are executed after the scene is loaded but before the @@ -8,7 +10,7 @@ function preInitialization() openspace.spice.loadKernel("${SPICE}/naif0012.tls") openspace.spice.loadKernel("${SPICE}/pck00010.tpc") - openspace.time.setTime("2016-07-05T10:05:00.00") + openspace.time.setTime("2016-07-01T10:05:00.00") dofile(openspace.absPath('${SCRIPTS}/common.lua')) openspace.clearKeys() @@ -36,6 +38,10 @@ function postInitialization() openspace.setPropertyValue('Jupiter.renderable.PerformShading', false); openspace.printInfo("Done setting default values") + + mark_interesting_nodes({ + "Jupiter", "Juno" + }) end return { @@ -43,7 +49,8 @@ return { CommonFolder = "common", Camera = { Focus = "Juno", - Position = {1, 0, 0, 5}, + Position = {1837386367.601345, -389860693812.834839, 714830404470.398926}, + Rotation = {-0.336540, 0.711402, -0.099212, 0.608937}, }, Modules = { "sun", diff --git a/data/scene/jupiter/callisto/callisto.mod b/data/scene/jupiter/callisto/callisto.mod index 7ee86055fb..2bd9993449 100644 --- a/data/scene/jupiter/callisto/callisto.mod +++ b/data/scene/jupiter/callisto/callisto.mod @@ -29,7 +29,8 @@ return { } } } - } + }, + GuiPath = "/Solar System/Planets/Jupiter/Moons" }, -- Trail module @@ -46,6 +47,7 @@ return { Color = { 0.4, 0.3, 0.01 }, Period = 17, Resolution = 1000 - } + }, + GuiPath = "/Solar System/Planets/Jupiter/Moons" } } diff --git a/data/scene/jupiter/europa/europa.mod b/data/scene/jupiter/europa/europa.mod index 92f9177da0..b45647d092 100644 --- a/data/scene/jupiter/europa/europa.mod +++ b/data/scene/jupiter/europa/europa.mod @@ -29,7 +29,8 @@ return { }, }, }, - } + }, + GuiPath = "/Solar System/Planets/Jupiter/Moons" }, -- Trail module @@ -46,6 +47,7 @@ return { Color = { 0.5, 0.3, 0.3 }, Period = 85 / 24, Resolution = 1000 - } + }, + GuiPath = "/Solar System/Planets/Jupiter/Moons" } } diff --git a/data/scene/jupiter/ganymede/ganymede.mod b/data/scene/jupiter/ganymede/ganymede.mod index 61f048b368..aa2df8f156 100644 --- a/data/scene/jupiter/ganymede/ganymede.mod +++ b/data/scene/jupiter/ganymede/ganymede.mod @@ -29,7 +29,8 @@ return { } } } - } + }, + GuiPath = "/Solar System/Planets/Jupiter/Moons" }, -- Trail module { @@ -45,6 +46,7 @@ return { Color = { 0.4, 0.3, 0.3 }, Period = 172 / 24, Resolution = 1000 - } + }, + GuiPath = "/Solar System/Planets/Jupiter/Moons" } } diff --git a/data/scene/jupiter/io/io.mod b/data/scene/jupiter/io/io.mod index 70c265d266..549991c797 100644 --- a/data/scene/jupiter/io/io.mod +++ b/data/scene/jupiter/io/io.mod @@ -29,7 +29,8 @@ return { } } } - } + }, + GuiPath = "/Solar System/Planets/Jupiter/Moons" }, -- Trail module { @@ -45,6 +46,7 @@ return { Color = { 0.4, 0.4, 0.2 }, Period = 42 / 24, Resolution = 1000 - } + }, + GuiPath = "/Solar System/Planets/Jupiter/Moons" } } diff --git a/data/scene/jupiter/jupiter/jupiter.mod b/data/scene/jupiter/jupiter/jupiter.mod index c8e822b5af..d711c230c7 100644 --- a/data/scene/jupiter/jupiter/jupiter.mod +++ b/data/scene/jupiter/jupiter/jupiter.mod @@ -10,7 +10,8 @@ return { Observer = "SUN", Kernels = "${OPENSPACE_DATA}/spice/de430_1850-2150.bsp" } - } + }, + GuiPath = "/Solar System/Planets/Jupiter" }, -- RenderableGlobe module { @@ -38,6 +39,7 @@ return { } }, Tag = { "planet_solarSystem", "planet_giants" }, + GuiPath = "/Solar System/Planets/Jupiter" }, -- Trail module { @@ -54,6 +56,7 @@ return { Period = 4330.595, Resolution = 1000 }, - Tag = { "planetTrail_solarSystem", "planetTrail_giants" } + Tag = { "planetTrail_solarSystem", "planetTrail_giants" }, + GuiPath = "/Solar System/Planets/Jupiter" } } \ No newline at end of file diff --git a/data/scene/mars/mars.mod b/data/scene/mars/mars.mod index d2e8d0e7ca..dff1ff6c77 100644 --- a/data/scene/mars/mars.mod +++ b/data/scene/mars/mars.mod @@ -12,7 +12,8 @@ return { Observer = "SUN", Kernels = "${OPENSPACE_DATA}/spice/de430_1850-2150.bsp" } - } + }, + GuiPath = "/Solar System/Planets/Mars" }, -- RenderableGlobe module { @@ -131,6 +132,7 @@ return { } }, Tag = { "planet_solarSystem", "planet_terrestrial" }, + GuiPath = "/Solar System/Planets/Mars" }, -- Trail module @@ -148,6 +150,7 @@ return { Period = 686.973, Resolution = 1000 }, - Tag = { "planetTrail_solarSystem", "planetTrail_terrestrial" } + Tag = { "planetTrail_solarSystem", "planetTrail_terrestrial" }, + GuiPath = "/Solar System/Planets/Mars" } } diff --git a/data/scene/mercury/mercury.mod b/data/scene/mercury/mercury.mod index d510478baa..a8a79b9e95 100644 --- a/data/scene/mercury/mercury.mod +++ b/data/scene/mercury/mercury.mod @@ -10,7 +10,8 @@ return { Observer = "SUN", Kernels = "${OPENSPACE_DATA}/spice/de430_1850-2150.bsp" } - } + }, + GuiPath = "/Solar System/Planets/Mercury" }, -- RenderableGlobe module { @@ -55,6 +56,7 @@ return { } }, Tag = { "planet_solarSystem", "planet_terrestrial" }, + GuiPath = "/Solar System/Planets/Mercury" }, -- Trail module { @@ -71,6 +73,7 @@ return { Period = 87.968, Resolution = 100 }, - Tag = { "planetTrail_solarSystem", "planetTrail_terrestrial" } + Tag = { "planetTrail_solarSystem", "planetTrail_terrestrial" }, + GuiPath = "/Solar System/Planets/Mercury" } } diff --git a/data/scene/milkyway/digitaluniverse/digitaluniverse.mod b/data/scene/milkyway/digitaluniverse/digitaluniverse.mod index 0e84178339..a60d6c8d09 100644 --- a/data/scene/milkyway/digitaluniverse/digitaluniverse.mod +++ b/data/scene/milkyway/digitaluniverse/digitaluniverse.mod @@ -9,6 +9,7 @@ return { Alpha = 0.2, Texture = "textures/DarkUniverse_mellinger_8k.jpg", Orientation = "Inside/Outside" - } + }, + GuiPath = "/Milky Way/Milky Way" } } diff --git a/data/scene/milkyway/eso/eso.mod b/data/scene/milkyway/eso/eso.mod index 60c6f71696..37d1b00343 100644 --- a/data/scene/milkyway/eso/eso.mod +++ b/data/scene/milkyway/eso/eso.mod @@ -8,6 +8,7 @@ return { Segments = 40, Texture = "textures/eso0932a_blend.png", Orientation = "Inside/Outside" - } + }, + GuiPath = "/Milky Way/Milky Way" } } diff --git a/data/scene/missions/dawn/ceres/ceres.mod b/data/scene/missions/dawn/ceres/ceres.mod index 775b94dae8..ccaacb83e5 100644 --- a/data/scene/missions/dawn/ceres/ceres.mod +++ b/data/scene/missions/dawn/ceres/ceres.mod @@ -31,7 +31,8 @@ return { Type = "Spice", Frame = "IAU_CERES", Reference = "GALACTIC" - } + }, + GuiPath = "/Solar System/Dwarf Planets/Ceres" }, --[[ Ceres Trail Module { diff --git a/data/scene/missions/dawn/dawn/dawn.mod b/data/scene/missions/dawn/dawn/dawn.mod index 54aae8158d..504f2f2440 100644 --- a/data/scene/missions/dawn/dawn/dawn.mod +++ b/data/scene/missions/dawn/dawn/dawn.mod @@ -19,6 +19,7 @@ return { StartTime = "2007 SEP 27 08:15:00", EndTime = "2012 SEP 12 23:57:00" }, + GuiPath = "/Solar System/Missions/Dawn", Ephemeris = { Type = "Spice", Body = "DAWN", @@ -637,6 +638,7 @@ return { Destination = "GALACTIC" }, }, + GuiPath = "/Solar System/Missions/Dawn" }, -- Dawn Solar Array module 2 @@ -660,6 +662,7 @@ return { StartTime = "2007 SEP 27 08:15:00", EndTime = "2012 SEP 12 12:00:00" }, + GuiPath = "/Solar System/Missions/Dawn" }, -- Dawn Trail Module @@ -702,6 +705,7 @@ return { EndTime = "2012 SEP 12 12:00:00", SampleInterval = 3600 * 24 }, + GuiPath = "/Solar System/Missions/Dawn" }, -- -- -- Dawn Trail Module @@ -753,6 +757,7 @@ return { "CERES" } }, + GuiPath = "/Solar System/Missions/Dawn" }, -- DawnFov 1 @@ -779,5 +784,6 @@ return { "CERES" } }, + GuiPath = "/Solar System/Missions/Dawn" }, } diff --git a/data/scene/missions/dawn/vestaprojection/vestaprojection.mod b/data/scene/missions/dawn/vestaprojection/vestaprojection.mod index 379d0272c2..57410aafc4 100644 --- a/data/scene/missions/dawn/vestaprojection/vestaprojection.mod +++ b/data/scene/missions/dawn/vestaprojection/vestaprojection.mod @@ -93,7 +93,8 @@ return { --"${OPENSPACE_DATA}/spice/DAWN_KERNELS/pck/dawn_vesta_v06.tpc", "${OPENSPACE_DATA}/spice/DawnKernels/spk/sb_vesta_071107.bsp", } - } + }, + GuiPath = "/Solar System/Asteroid Belt/Vesta" }, -- Vesta Trail Module { @@ -110,6 +111,7 @@ return { StartTime = "2007 JUL 20 12:00:00", EndTime = "2018 JAN 22 12:00:00", SampleInterval = 3600 * 24 - } + }, + GuiPath = "/Solar System/Asteroid Belt/Vesta" } } diff --git a/data/scene/missions/juno/juno/Juno.torrent b/data/scene/missions/juno/juno/Juno.torrent new file mode 100644 index 0000000000..2c7b3fe91a Binary files /dev/null and b/data/scene/missions/juno/juno/Juno.torrent differ diff --git a/data/scene/missions/juno/juno/juno.data b/data/scene/missions/juno/juno/juno.data new file mode 100644 index 0000000000..5926871cfb --- /dev/null +++ b/data/scene/missions/juno/juno/juno.data @@ -0,0 +1,9 @@ +return { + FileRequest = { + { Identifier = "juno_model", Destination = ".", Version = 1 }, + { Identifier = "juno_textures", Destination = "textures", Version = 1 } + }, + TorrentFiles = { + { File = "Juno.torrent", Destination = "${SPICE}" }, + } +} \ No newline at end of file diff --git a/data/scene/missions/juno/juno/juno.mod b/data/scene/missions/juno/juno/juno.mod index 8ef710ddcc..8f2a437ae9 100644 --- a/data/scene/missions/juno/juno/juno.mod +++ b/data/scene/missions/juno/juno/juno.mod @@ -1,138 +1,160 @@ +local JunoKernels = { + "${SPICE}/Juno/JNO_SCLKSCET.00039.tsc", + "${SPICE}/Juno/juno_jade_v00.ti", + "${SPICE}/Juno/juno_jedi_v00.ti", + "${SPICE}/Juno/juno_jiram_v01.ti", + "${SPICE}/Juno/juno_junocam_v00.ti", + "${SPICE}/Juno/juno_mag_v00.ti", + "${SPICE}/Juno/juno_mwr_v01.ti", + "${SPICE}/Juno/juno_struct_v01.ti", + "${SPICE}/Juno/juno_uvs_v00.ti", + "${SPICE}/Juno/juno_v08.tf", + "${SPICE}/Juno/juno_waves_v00.ti", + "${SPICE}/Juno/juno_mwr_v01.ti", + "${SPICE}/Juno/spk_merge_110805_171017_130515.bsp", + "${SPICE}/Juno/ck/juno_sc_prl_110930_111028_jc003c01_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_111028_111125_jc004b00_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_111125_111223_jc005b00_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_111223_120127_jc006a02_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_120127_120217_jc007a00_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_120217_120316_jc008b00_v02.bc", + "${SPICE}/Juno/ck/juno_sc_prl_120316_120413_jc009a00_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_120413_120511_jc010a04_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_120511_120608_jc011a01_v02.bc", + "${SPICE}/Juno/ck/juno_sc_prl_120608_120706_jc012b01_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_120706_120802_jc013a01_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_120802_120824_jc014b01_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_120824_120928_jc015m00_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_120919_120928_jc015o00_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_120928_121026_jc016c03_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_121026_121123_jc017a01_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_121123_121221_jc018b01_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_121221_130118_jc019a01_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_130118_130215_jc020b01_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_130315_130412_jc022b01_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_130412_130510_jc023b03_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_130510_130607_jc024a01_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_130607_130705_jc025a00_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_130705_130802_jc026a01_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_130726_131020_jx024a02_EFB_v03.bc", + "${SPICE}/Juno/ck/juno_sc_prl_130802_130830_jc027a02_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_130830_130927_jc028a01_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_130926_131025_jc029a00_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_130927_131025_jc029c01_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_131022_131025_jc029f00_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_131025_131122_jc030b04_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_131122_131220_jc031b01_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_131220_140124_jc032a01_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_140124_140214_jc033a01_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_140214_140314_jc034b01_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_140314_140411_jc035a01_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_140411_140509_jc036b01_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_140509_140606_jc037b02_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_140606_140704_jc038a01_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_140704_140801_jc039b01_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_140801_140829_jc040a01_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_140829_140926_jc041a01_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_140926_141024_jc042a01_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_141024_141121_jc043a01_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_141105_141121_jc043m01_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_141107_141121_jc043s01_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_141121_141219_jc044a01_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_141219_150123_jc045a01_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_150123_150213_jc046a01_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_150213_150313_jc047a01_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_150312_150409_jc048a01_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_150410_150508_jc049a01_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_150508_150605_jc050a01_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_150605_150703_jc051a01_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_150703_150731_jc052a01_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_150731_150828_jc053a01_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_150805_150828_jc053m00_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_150807_150828_jc053s00_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_150828_150924_jc054a00_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_150924_151023_jc055a00_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_151023_151120_jc056a00_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_151120_151218_jc057a00_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_151218_160115_jc058a00_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_160115_160212_jc059a00_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_160212_160311_jc060a00_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_160311_160408_jc061a00_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_160408_160506_jc062a00_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_160506_160603_jc063a00_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_160603_160630_jc064a00_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_160708_160729_jm0001rp_v02.bc", + "${SPICE}/Juno/ck/juno_sc_prl_160729_160826_jm0002rp_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_160827_160920_jm0003a00_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_160924_161019_jm0004a00_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_161014_161115_jm0005a00_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_161022_161115_jm0005b00_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_161115_161213_jx0405rp_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_161210_170115_jm0031a00_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_170115_170201_jm0032a00_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_170201_170309_jm0041a00_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_170309_170326_jm0042rp_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_170326_170427_jm0051rp_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_170427_170518_jm0052rp_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_170518_170615_jm0061a00_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_170615_170710_jm0062a00_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_170710_170805_jm0071a00_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_170805_170831_jm0072a00_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_170831_170927_jm0081a00_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_170927_171023_jm0082a00_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_171023_171030_jm0091a00_v01.bc", + "${SPICE}/Juno/ck/juno_sc_prl_171023_171030_jm0091a00_v01.bc" +} + + +local RotationMatrix = { + 0, 1, 0, + 0, 0, 1, + 1, 0, 0 +} + return { - -- New Horizons Body module { Name = "Juno", - -- Parent = "PlutoBarycenter", - -- Parent = "JupiterBarycenter", - Parent = "JupiterBarycenter", + Parent = "JupiterBarycenter", Renderable = { Type = "RenderableModel", - Body = "JUNO", Geometry = { Type = "MultiModelGeometry", GeometryFile = "Juno.obj", - Magnification = 4, }, - ColorTexture = "textures/gray.png", + ColorTexture = "textures/gray.png", + ModelTransform = RotationMatrix + }, + Transform = { + Translation = { + Type = "SpiceTranslation", + Target = "JUNO", + Observer = "JUPITER BARYCENTER", + Kernels = JunoKernels + }, Rotation = { - Source = "JUNO_SPACECRAFT", - Destination = "GALACTIC", - ModelTransform = { - 1.0, 0.0, 0.0, - 0.0, 0.0, 1.0, - 0.0, -1.0, 0.0 - } + Type = "SpiceRotation", + SourceFrame = "JUNO_SPACECRAFT", + DestinationFrame = "GALACTIC" }, }, - - Ephemeris = { - Type = "Spice", - Body = "JUNO", - Observer = "JUPITER BARYCENTER", - Kernels = { - "spice/JNO_SCLKSCET.00039.tsc", - "spice/juno_jade_v00.ti", - "spice/juno_jedi_v00.ti", - "spice/juno_jiram_v01.ti", - "spice/juno_junocam_v00.ti", - "spice/juno_mag_v00.ti", - "spice/juno_mwr_v01.ti", - "spice/juno_struct_v01.ti", - "spice/juno_uvs_v00.ti", - "spice/juno_v08.tf", - "spice/juno_waves_v00.ti", - "spice/juno_mwr_v01.ti", - "spice/spk_merge_110805_171017_130515.bsp", - "spice/ck/juno_sc_prl_110930_111028_jc003c01_v01.bc", - "spice/ck/juno_sc_prl_111028_111125_jc004b00_v01.bc", - "spice/ck/juno_sc_prl_111125_111223_jc005b00_v01.bc", - "spice/ck/juno_sc_prl_111223_120127_jc006a02_v01.bc", - "spice/ck/juno_sc_prl_120127_120217_jc007a00_v01.bc", - "spice/ck/juno_sc_prl_120217_120316_jc008b00_v02.bc", - "spice/ck/juno_sc_prl_120316_120413_jc009a00_v01.bc", - "spice/ck/juno_sc_prl_120413_120511_jc010a04_v01.bc", - "spice/ck/juno_sc_prl_120511_120608_jc011a01_v02.bc", - "spice/ck/juno_sc_prl_120608_120706_jc012b01_v01.bc", - "spice/ck/juno_sc_prl_120706_120802_jc013a01_v01.bc", - "spice/ck/juno_sc_prl_120802_120824_jc014b01_v01.bc", - "spice/ck/juno_sc_prl_120824_120928_jc015m00_v01.bc", - "spice/ck/juno_sc_prl_120919_120928_jc015o00_v01.bc", - "spice/ck/juno_sc_prl_120928_121026_jc016c03_v01.bc", - "spice/ck/juno_sc_prl_121026_121123_jc017a01_v01.bc", - "spice/ck/juno_sc_prl_121123_121221_jc018b01_v01.bc", - "spice/ck/juno_sc_prl_121221_130118_jc019a01_v01.bc", - "spice/ck/juno_sc_prl_130118_130215_jc020b01_v01.bc", - "spice/ck/juno_sc_prl_130315_130412_jc022b01_v01.bc", - "spice/ck/juno_sc_prl_130412_130510_jc023b03_v01.bc", - "spice/ck/juno_sc_prl_130510_130607_jc024a01_v01.bc", - "spice/ck/juno_sc_prl_130607_130705_jc025a00_v01.bc", - "spice/ck/juno_sc_prl_130705_130802_jc026a01_v01.bc", - "spice/ck/juno_sc_prl_130726_131020_jx024a02_EFB_v03.bc", - "spice/ck/juno_sc_prl_130802_130830_jc027a02_v01.bc", - "spice/ck/juno_sc_prl_130830_130927_jc028a01_v01.bc", - "spice/ck/juno_sc_prl_130926_131025_jc029a00_v01.bc", - "spice/ck/juno_sc_prl_130927_131025_jc029c01_v01.bc", - "spice/ck/juno_sc_prl_131022_131025_jc029f00_v01.bc", - "spice/ck/juno_sc_prl_131025_131122_jc030b04_v01.bc", - "spice/ck/juno_sc_prl_131122_131220_jc031b01_v01.bc", - "spice/ck/juno_sc_prl_131220_140124_jc032a01_v01.bc", - "spice/ck/juno_sc_prl_140124_140214_jc033a01_v01.bc", - "spice/ck/juno_sc_prl_140214_140314_jc034b01_v01.bc", - "spice/ck/juno_sc_prl_140314_140411_jc035a01_v01.bc", - "spice/ck/juno_sc_prl_140411_140509_jc036b01_v01.bc", - "spice/ck/juno_sc_prl_140509_140606_jc037b02_v01.bc", - "spice/ck/juno_sc_prl_140606_140704_jc038a01_v01.bc", - "spice/ck/juno_sc_prl_140704_140801_jc039b01_v01.bc", - "spice/ck/juno_sc_prl_140801_140829_jc040a01_v01.bc", - "spice/ck/juno_sc_prl_140829_140926_jc041a01_v01.bc", - "spice/ck/juno_sc_prl_140926_141024_jc042a01_v01.bc", - "spice/ck/juno_sc_prl_141024_141121_jc043a01_v01.bc", - "spice/ck/juno_sc_prl_141105_141121_jc043m01_v01.bc", - "spice/ck/juno_sc_prl_141107_141121_jc043s01_v01.bc", - "spice/ck/juno_sc_prl_141121_141219_jc044a01_v01.bc", - "spice/ck/juno_sc_prl_141219_150123_jc045a01_v01.bc", - "spice/ck/juno_sc_prl_150123_150213_jc046a01_v01.bc", - "spice/ck/juno_sc_prl_150213_150313_jc047a01_v01.bc", - "spice/ck/juno_sc_prl_150312_150409_jc048a01_v01.bc", - "spice/ck/juno_sc_prl_150410_150508_jc049a01_v01.bc", - "spice/ck/juno_sc_prl_150508_150605_jc050a01_v01.bc", - "spice/ck/juno_sc_prl_150605_150703_jc051a01_v01.bc", - "spice/ck/juno_sc_prl_150703_150731_jc052a01_v01.bc", - "spice/ck/juno_sc_prl_150731_150828_jc053a01_v01.bc", - "spice/ck/juno_sc_prl_150805_150828_jc053m00_v01.bc", - "spice/ck/juno_sc_prl_150807_150828_jc053s00_v01.bc", - "spice/ck/juno_sc_prl_150828_150924_jc054a00_v01.bc", - "spice/ck/juno_sc_prl_150924_151023_jc055a00_v01.bc", - "spice/ck/juno_sc_prl_151023_151120_jc056a00_v01.bc", - "spice/ck/juno_sc_prl_151120_151218_jc057a00_v01.bc", - "spice/ck/juno_sc_prl_151218_160115_jc058a00_v01.bc", - "spice/ck/juno_sc_prl_160115_160212_jc059a00_v01.bc", - "spice/ck/juno_sc_prl_160212_160311_jc060a00_v01.bc", - "spice/ck/juno_sc_prl_160311_160408_jc061a00_v01.bc", - "spice/ck/juno_sc_prl_160408_160506_jc062a00_v01.bc", - "spice/ck/juno_sc_prl_160506_160603_jc063a00_v01.bc", - "spice/ck/juno_sc_prl_160603_160630_jc064a00_v01.bc", - "spice/ck/juno_sc_prl_160708_160729_jm0001rp_v02.bc", - "spice/ck/juno_sc_prl_160729_160826_jm0002rp_v01.bc", - "spice/ck/juno_sc_prl_161115_161213_jx0405rp_v01.bc" - } - } + GuiName = "/Solar System/Missions/Juno" }, - --NewHorizonsTrail module - { + { Name = "JunoTrail", Parent = "JupiterBarycenter", Renderable = { Type = "RenderableTrailTrajectory", - Translation = { + Translation = { Type = "SpiceTranslation", Target = "JUNO", - Observer = "JUPITER BARYCENTER" + Observer = "JUPITER BARYCENTER", + Kernels = JunoKernels }, - Color = { 0.70, 0.50, 0.20 }, - StartTime = "2016 JUN 28", - EndTime = "2016 APR 01", - SampleInterval = 3600 + Color = { 0.70,0.50,0.20 }, + StartTime = "2016 JUL 01", + EndTime = "2016 DEC 13", + SampleInterval = 2 }, - }, + GuiName = "/Solar System/Missions/Juno" } +} diff --git a/data/scene/missions/newhorizons/jupiter/callisto/callisto.mod b/data/scene/missions/newhorizons/jupiter/callisto/callisto.mod index 25facc74d4..791b65184e 100644 --- a/data/scene/missions/newhorizons/jupiter/callisto/callisto.mod +++ b/data/scene/missions/newhorizons/jupiter/callisto/callisto.mod @@ -55,6 +55,7 @@ return { DestinationFrame = "ECLIPJ2000", }, }, + GuiPath = "/Solar System/Planets/Jupiter/Moons" }, { Name = "CallistoText", @@ -79,6 +80,7 @@ return { Position = {0, -10000000, 0} }, }, + GuiPath = "/Solar System/Planets/Jupiter/Moons" }, -- CallistoTrail module { @@ -94,6 +96,7 @@ return { Color = { 0.4, 0.3, 0.01 }, Period = 17, Resolution = 1000 - } + }, + GuiPath = "/Solar System/Planets/Jupiter/Moons" } } diff --git a/data/scene/missions/newhorizons/jupiter/europa/europa.mod b/data/scene/missions/newhorizons/jupiter/europa/europa.mod index 8d0fbe1039..3ea93a208d 100644 --- a/data/scene/missions/newhorizons/jupiter/europa/europa.mod +++ b/data/scene/missions/newhorizons/jupiter/europa/europa.mod @@ -55,6 +55,7 @@ return { DestinationFrame = "ECLIPJ2000", }, }, + GuiPath = "/Solar System/Planets/Jupiter/Moons" }, { Name = "EuropaText", @@ -79,6 +80,7 @@ return { Position = {0, -10000000, 0} }, }, + GuiPath = "/Solar System/Planets/Jupiter/Moons" }, -- EuropaTrail module { @@ -94,6 +96,7 @@ return { Color = { 0.5, 0.3, 0.3 }, Period = 85 / 24, Resolution = 1000 - } + }, + GuiPath = "/Solar System/Planets/Jupiter/Moons" } } diff --git a/data/scene/missions/newhorizons/jupiter/ganymede/ganymede.mod b/data/scene/missions/newhorizons/jupiter/ganymede/ganymede.mod index fe5facac2b..f2cfb8899b 100644 --- a/data/scene/missions/newhorizons/jupiter/ganymede/ganymede.mod +++ b/data/scene/missions/newhorizons/jupiter/ganymede/ganymede.mod @@ -55,6 +55,7 @@ return { DestinationFrame = "ECLIPJ2000", }, }, + GuiPath = "/Solar System/Planets/Jupiter/Moons" }, { Name = "GanymedeText", @@ -73,6 +74,7 @@ return { Position = {0, -10000000, 0} }, }, + GuiPath = "/Solar System/Planets/Jupiter/Moons" }, -- GanymedeTrail module { @@ -88,6 +90,7 @@ return { Color = { 0.4, 0.3, 0.3 }, Period = 172 / 24, Resolution = 1000 - } + }, + GuiPath = "/Solar System/Planets/Jupiter/Moons" } } diff --git a/data/scene/missions/newhorizons/jupiter/io/io.mod b/data/scene/missions/newhorizons/jupiter/io/io.mod index c8bc937554..f328d3508c 100644 --- a/data/scene/missions/newhorizons/jupiter/io/io.mod +++ b/data/scene/missions/newhorizons/jupiter/io/io.mod @@ -55,6 +55,7 @@ return { DestinationFrame = "ECLIPJ2000", }, }, + GuiPath = "/Solar System/Planets/Jupiter/Moons" --[[ Ephemeris = { Type = "Spice", @@ -89,6 +90,7 @@ return { Position = {0, -10000000, 0} }, }, + GuiPath = "/Solar System/Planets/Jupiter/Moons" }, -- IoTrail module { @@ -104,6 +106,7 @@ return { Color = { 0.4, 0.4, 0.2 }, Period = 42 / 24, Resolution = 1000 - } + }, + GuiPath = "/Solar System/Planets/Jupiter/Moons" } } diff --git a/data/scene/missions/newhorizons/jupiter/jupiter/jupiter.mod b/data/scene/missions/newhorizons/jupiter/jupiter/jupiter.mod index f611aa5542..aab9be29ab 100644 --- a/data/scene/missions/newhorizons/jupiter/jupiter/jupiter.mod +++ b/data/scene/missions/newhorizons/jupiter/jupiter/jupiter.mod @@ -98,6 +98,7 @@ return { DestinationFrame = "GALACTIC", }, }, + GuiPath = "/Solar System/Planets/Jupiter" }, { Name = "JupiterText", @@ -116,7 +117,8 @@ return { Position = {0, -100000000, 0} }, }, - }, + GuiPath = "/Solar System/Planets/Jupiter" + }, -- JupiterTrail module { Name = "JupiterTrail", @@ -131,7 +133,8 @@ return { Color = { 0.8, 0.7, 0.7 }, Period = 4330.595, Resolution = 1000 - } + }, + GuiPath = "/Solar System/Planets/Jupiter" } } diff --git a/data/scene/missions/newhorizons/newhorizons/newhorizons.mission b/data/scene/missions/newhorizons/newhorizons/newhorizons.mission new file mode 100644 index 0000000000..66923f4cc0 --- /dev/null +++ b/data/scene/missions/newhorizons/newhorizons/newhorizons.mission @@ -0,0 +1,122 @@ +-- Source: http://pluto.jhuapl.edu/Mission/index.php +-- Many of the values (especially days of the month if 01 or 30 or 31 and hh::mm::ss if all 0) +-- are approximate and need fixing + +return { + Name = "New Horizons", + Phases = { + { + Name = "Cruise Phase", + TimeRange = { Start = "2006 JAN 19 00:00:00", End = "2015 JAN 15 00:00:00" }, + Phases = { + { + Name = "Jupiter fly-by", + TimeRange = { Start = "2007 FEB 28 00:00:00", End = "2007 FEB 28 23:59:59" } + }, + { + Name = "Annual checkout 1", + TimeRange = { Start = "2007 SEP 01 00:00:00", End = "2007 NOV 30 00:00:00" } + }, + { + Name = "Annual checkout 2", + TimeRange = { Start = "2008 JUL 01 00:00:00", End = "2008 AUG 31 00:00:00" } + }, + { + Name = "Annual checkout 3", + TimeRange = { Start = "2009 JUL 01 00:00:00", End = "2009 AUG 31 00:00:00" } + }, + { + Name = "Annual checkout 4", + TimeRange = { Start = "2010 MAY 01 00:00:00", End = "2010 JUL 31 00:00:00" } + }, + { + Name = "Annual checkout 5", + TimeRange = { Start = "2011 MAY 01 00:00:00", End = "2011 JUL 31 00:00:00" } + }, + { + Name = "Annual checkout 6", + TimeRange = { Start = "2012 MAY 01 00:00:00", End = "2012 JUL 31 00:00:00" } + }, + { + Name = "Annual checkout 7", + TimeRange = { Start = "2013 MAY 01 00:00:00", End = "2013 AUG 31 00:00:00" } + }, + { + Name = "Annual checkout 8 and Optical Navigation campaign 1", + TimeRange = { Start = "2014 JUN 01 00:00:00", End = "2014 AUG 31 00:00:00" } + }, + { + Name = "Final Wakeup from Hibernation", + TimeRange = { Start = "2014 DEC 06 00:00:00", End = "2014 DEC 06 23:59:59" } + } + } + }, + { + Name = "Pluto Encounter/Approach Phase 1", + TimeRange = { Start = "2015 JAN 15 00:00:00", End = "2015 APR 01 00:00:00" }, + Phases = { + { + Name = "Optical nagivation campaign 2", + TimeRange = { Start = "2015 JAN 25 00:00:00", End = "2015 APR 01 00:00:00" } + } + } + }, + { + Name = "Pluto Encounter/Approach Phase 2", + TimeRange = { Start = "2015 APR 01 00:00:00", End = "2015 JUN 01 00:00:00" }, + Phases = { + { + Name = "Best-ever images of Pluto", + TimeRange = { Start = "2015 MAY 01 00:00:00", End = "2015 JUN 01 00:00:00" } + } + } + }, + { + Name = "Pluto Encounter/Approach Phase 3", + TimeRange = { Start = "2015 JUN 01 00:00:00", End = "2015 JUL 15 00:00:00" }, + Phases = { + { + Name = "Closest approach to Pluto", + TimeRange = { Start = "2015 JUL 14 11:49:57", End = "2015 JUL 14 11:49:58" } + }, + { + Name = "Closest approach to Charon", + TimeRange = { Start = "2015 JUL 14 12:03:50", End = "2015 JUL 14 12:03:51" } + }, + { + Name = "Pluto-Sun Occultation", + TimeRange = { Start = "2015 JUL 14 12:51:25", End = "2015 JUL 14 12:52:00" } + }, + { + Name = "Pluto-Earth Occultation", + TimeRange = { Start = "2015 JUL 14 12:52:27", End = "2015 JUL 14 12:53:00" } + }, + { + Name = "Charon-Sun Occultation", + TimeRange = { Start = "2015 JUL 14 14:17:40", End = "2015 JUL 14 14:18:00" } + }, + { + Name = "Charon-Earth Occultation", + TimeRange = { Start = "2015 JUL 14 14:20:00", End = "2015 JUL 14 14:21:00" } + } + } + }, + { + Name = "Departure Phase 1", + TimeRange = { Start = "2015 JUL 15 00:00:00", End = "2015 AUG 01 00:00:00" } + }, + { + Name = "Departure Phase 2", + TimeRange = { Start = "2015 AUG 01 00:00:00", End = "2015 OCT 01 00:00:00" } + }, + { + Name = "Departure Phase 3", + TimeRange = { Start = "2015 OCT 01 00:00:00", End = "2016 JAN 01 00:00:00" } + }, + { + Name = "Data Playback Ends", + TimeRange = { Start = "2016 OCT 01 00:00:00", End = "2016 DEC 01 00:00:00" } + } + } +} + diff --git a/data/scene/missions/newhorizons/newhorizons/newhorizons.mod b/data/scene/missions/newhorizons/newhorizons/newhorizons.mod index 889c6af821..fa4d76d7c1 100644 --- a/data/scene/missions/newhorizons/newhorizons/newhorizons.mod +++ b/data/scene/missions/newhorizons/newhorizons/newhorizons.mod @@ -47,7 +47,8 @@ return { SourceFrame = "NH_SPACECRAFT", DestinationFrame = "GALACTIC", }, - } + }, + GuiPath = "/Solar System/Missions/New Horizons" }, { Name = "NewHorizons", @@ -67,6 +68,7 @@ return { Ghosting = false, }, }, + GuiPath = "/Solar System/Missions/New Horizons" }, --NewHorizonsTrail module --[[{ @@ -118,7 +120,8 @@ return { Fadeable = false, Ghosting = false, }, - } + }, + GuiPath = "/Solar System/Missions/New Horizons" }, { Name = "NewHorizonsTrailPluto", @@ -140,6 +143,7 @@ return { EnableFade = false, Rendering = "Lines+Points" }, + GuiPath = "/Solar System/Missions/New Horizons" }, --[[ -- NewHorizonsPath module diff --git a/data/scene/missions/newhorizons/newhorizonsfov/newhorizonsfov.mod b/data/scene/missions/newhorizons/newhorizonsfov/newhorizonsfov.mod index 7c2c7fd4e5..1a40e66c28 100644 --- a/data/scene/missions/newhorizons/newhorizonsfov/newhorizonsfov.mod +++ b/data/scene/missions/newhorizons/newhorizonsfov/newhorizonsfov.mod @@ -28,306 +28,318 @@ return { Type = "StaticTranslation", Position = LorriOffset } - } + }, + GuiPath = "/Solar System/Missions/New Horizons" }, -- NewHorizonsFov module NH_RALPH_LEISA -{ - Name = "NH_RALPH_LEISA", - Parent = "NewHorizonsPosition", - Renderable = { - Type = "RenderableFov", - Body = "NEW HORIZONS", - Frame = "NH_SPACECRAFT", - RGB = { 0.8, 0.7, 0.7 }, - Instrument = { - Name = "NH_RALPH_LEISA", - Aberration = "NONE" - }, - PotentialTargets = { - "Pluto", - "Charon", - "Jupiter", "Io", "Europa", "Ganymede", "Callisto" - } - }, - Transform = { - Translation = { - Type = "StaticTranslation", - Position = RalphOffset - } - } -}, - --- NewHorizonsFov module NH_RALPH_MVIC_PAN1 -{ - Name = "NH_RALPH_MVIC_PAN1", - Parent = "NewHorizonsPosition", - Renderable = { - Type = "RenderableFov", - Body = "NEW HORIZONS", - Frame = "NH_SPACECRAFT", - RGB = { 0.8, 0.7, 0.7 }, - Instrument = { - Name = "NH_RALPH_MVIC_PAN1", - Aberration = "NONE" - }, - PotentialTargets = { - "Pluto", - "Charon", - "Jupiter", "Io", "Europa", "Ganymede", "Callisto" - } - }, - Transform = { - Translation = { - Type = "StaticTranslation", - Position = RalphOffset - } - } -}, - --- NewHorizonsFov module NH_RALPH_MVIC_PAN2 -{ - Name = "NH_RALPH_MVIC_PAN2", - Parent = "NewHorizonsPosition", - Renderable = { - Type = "RenderableFov", - Body = "NEW HORIZONS", - Frame = "NH_SPACECRAFT", - RGB = { 0.8, 0.7, 0.7 }, - Instrument = { - Name = "NH_RALPH_MVIC_PAN2", - Aberration = "NONE" - }, - PotentialTargets = { - "Pluto", - "Charon", - "Jupiter", "Io", "Europa", "Ganymede", "Callisto" - } - }, - Transform = { - Translation = { - Type = "StaticTranslation", - Position = RalphOffset - } - } -}, - --- NewHorizonsFov module NH_RALPH_MVIC_RED -{ - Name = "NH_RALPH_MVIC_RED", - Parent = "NewHorizonsPosition", - Renderable = { - Type = "RenderableFov", - Body = "NEW HORIZONS", - Frame = "NH_SPACECRAFT", - RGB = { 0.8, 0.7, 0.7 }, - Instrument = { - Name = "NH_RALPH_MVIC_RED", - Aberration = "NONE" - }, - PotentialTargets = { - "Pluto", - "Charon", - "Jupiter", "Io", "Europa", "Ganymede", "Callisto" - } - }, - Transform = { - Translation = { - Type = "StaticTranslation", - Position = RalphOffset - } - } -}, - - -- NewHorizonsFov module NH_RALPH_MVIC_BLUE - { - Name = "NH_RALPH_MVIC_BLUE", - Parent = "NewHorizonsPosition", - Renderable = { - Type = "RenderableFov", - Body = "NEW HORIZONS", - Frame = "NH_SPACECRAFT", - RGB = { 0.8, 0.7, 0.7 }, - Instrument = { - Name = "NH_RALPH_MVIC_BLUE", - Aberration = "NONE" - }, - PotentialTargets = { - "Pluto", - "Charon", - "Jupiter", "Io", "Europa", "Ganymede", "Callisto" - } - }, - Transform = { - Translation = { - Type = "StaticTranslation", - Position = RalphOffset - } - } -}, - --- NewHorizonsFov module NH_RALPH_MVIC_FT -{ - Name = "NH_RALPH_MVIC_FT", - Parent = "NewHorizonsPosition", - Renderable = { - Type = "RenderableFov", - Body = "NEW HORIZONS", - Frame = "NH_SPACECRAFT", - RGB = { 0.8, 0.7, 0.7 }, - Instrument = { - Name = "NH_RALPH_MVIC_FT", - Aberration = "NONE" - }, - PotentialTargets = { - "Pluto", - "Charon", - "Jupiter", "Io", "Europa", "Ganymede", "Callisto" - } - }, - Transform = { - Translation = { - Type = "StaticTranslation", - Position = RalphOffset - } - } -}, - --- NewHorizonsFov module NH_RALPH_MVIC_METHANE -{ - Name = "NH_RALPH_MVIC_METHANE", - Parent = "NewHorizonsPosition", - Renderable = { - Type = "RenderableFov", - Body = "NEW HORIZONS", - Frame = "NH_SPACECRAFT", - RGB = { 0.8, 0.7, 0.7 }, - Instrument = { - Name = "NH_RALPH_MVIC_METHANE", - Aberration = "NONE" - }, - PotentialTargets = { - "Pluto", - "Charon", - "Jupiter", "Io", "Europa", "Ganymede", "Callisto" - } - }, - Transform = { - Translation = { - Type = "StaticTranslation", - Position = RalphOffset - } - } -}, - --- NewHorizonsFov module NH_RALPH_MVIC_NIR -{ - Name = "NH_RALPH_MVIC_NIR", - Parent = "NewHorizonsPosition", - Renderable = { - Type = "RenderableFov", - Body = "NEW HORIZONS", - Frame = "NH_SPACECRAFT", - RGB = { 0.8, 0.7, 0.7 }, - Instrument = { - Name = "NH_RALPH_MVIC_NIR", - Aberration = "NONE" - }, - PotentialTargets = { - "Pluto", - "Charon", - "Jupiter", "Io", "Europa", "Ganymede", "Callisto" - } - }, - Transform = { - Translation = { - Type = "StaticTranslation", - Position = RalphOffset - } - } -}, - --- NewHorizonsFov module NH_ALICE_AIRGLOW -{ - Name = "NH_ALICE_AIRGLOW", - Parent = "NewHorizonsPosition", - Renderable = { - Type = "RenderableFov", - Body = "NEW HORIZONS", - Frame = "NH_SPACECRAFT", - RGB = { 0.8, 0.7, 0.7 }, - Instrument = { - Name = "NH_ALICE_AIRGLOW", - Aberration = "NONE" - }, - PotentialTargets = { - "Pluto", - "Charon", - "Jupiter", "Io", "Europa", "Ganymede", "Callisto" - } - }, - Transform = { - Translation = { - Type = "StaticTranslation", - Position = AliceOffset - } - } -}, - --- NewHorizonsFov module NH_ALICE_SOC -{ - Name = "NH_ALICE_SOC", - Parent = "NewHorizonsPosition", - Renderable = { - Type = "RenderableFov", - Body = "NEW HORIZONS", - Frame = "NH_SPACECRAFT", - RGB = { 0.8, 0.7, 0.7 }, - Instrument = { - Name = "NH_ALICE_SOC", - Aberration = "NONE" - }, - PotentialTargets = { - "Pluto", - "Charon", - "Jupiter", "Io", "Europa", "Ganymede", "Callisto" - } - }, - Transform = { - Translation = { - Type = "StaticTranslation", - Position = AliceOffset - }, - } - }, - --- Module NH_REX -{ - Name = "NH_REX", - Parent = "NewHorizonsPosition", - Renderable = { - Type = "RenderableCrawlingLine", - Source = "NH_REX", - Target = "EARTH", - Instrument = "NH_REX", - Color = { - Start = { 1.0, 0.7, 0.0, 1.0}, - End = {0.0, 0.0, 0.0, 0.0 } - } - }, - Transform = { - Rotation = { - Type = "StaticRotation", - Rotation = { - 0.0, 1.0, 0.0, - 0.0, 0.0, 1.0, - 1.0, 0.0, 0.0 + { + Name = "NH_RALPH_LEISA", + Parent = "NewHorizonsPosition", + Renderable = { + Type = "RenderableFov", + Body = "NEW HORIZONS", + Frame = "NH_SPACECRAFT", + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "NH_RALPH_LEISA", + Aberration = "NONE" + }, + PotentialTargets = { + "Pluto", + "Charon", + "Jupiter", "Io", "Europa", "Ganymede", "Callisto" } }, - Translation = { - Type = "StaticTranslation", - Position = RexOffset - } + Transform = { + Translation = { + Type = "StaticTranslation", + Position = RalphOffset + } + }, + GuiPath = "/Solar System/Missions/New Horizons" + }, + + -- NewHorizonsFov module NH_RALPH_MVIC_PAN1 + { + Name = "NH_RALPH_MVIC_PAN1", + Parent = "NewHorizonsPosition", + Renderable = { + Type = "RenderableFov", + Body = "NEW HORIZONS", + Frame = "NH_SPACECRAFT", + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "NH_RALPH_MVIC_PAN1", + Aberration = "NONE" + }, + PotentialTargets = { + "Pluto", + "Charon", + "Jupiter", "Io", "Europa", "Ganymede", "Callisto" + } + }, + Transform = { + Translation = { + Type = "StaticTranslation", + Position = RalphOffset + } + }, + GuiPath = "/Solar System/Missions/New Horizons" + }, + + -- NewHorizonsFov module NH_RALPH_MVIC_PAN2 + { + Name = "NH_RALPH_MVIC_PAN2", + Parent = "NewHorizonsPosition", + Renderable = { + Type = "RenderableFov", + Body = "NEW HORIZONS", + Frame = "NH_SPACECRAFT", + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "NH_RALPH_MVIC_PAN2", + Aberration = "NONE" + }, + PotentialTargets = { + "Pluto", + "Charon", + "Jupiter", "Io", "Europa", "Ganymede", "Callisto" + } + }, + Transform = { + Translation = { + Type = "StaticTranslation", + Position = RalphOffset + } + }, + GuiPath = "/Solar System/Missions/New Horizons" + }, + + -- NewHorizonsFov module NH_RALPH_MVIC_RED + { + Name = "NH_RALPH_MVIC_RED", + Parent = "NewHorizonsPosition", + Renderable = { + Type = "RenderableFov", + Body = "NEW HORIZONS", + Frame = "NH_SPACECRAFT", + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "NH_RALPH_MVIC_RED", + Aberration = "NONE" + }, + PotentialTargets = { + "Pluto", + "Charon", + "Jupiter", "Io", "Europa", "Ganymede", "Callisto" + } + }, + Transform = { + Translation = { + Type = "StaticTranslation", + Position = RalphOffset + } + }, + GuiPath = "/Solar System/Missions/New Horizons" + }, + + -- NewHorizonsFov module NH_RALPH_MVIC_BLUE + { + Name = "NH_RALPH_MVIC_BLUE", + Parent = "NewHorizonsPosition", + Renderable = { + Type = "RenderableFov", + Body = "NEW HORIZONS", + Frame = "NH_SPACECRAFT", + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "NH_RALPH_MVIC_BLUE", + Aberration = "NONE" + }, + PotentialTargets = { + "Pluto", + "Charon", + "Jupiter", "Io", "Europa", "Ganymede", "Callisto" + } + }, + Transform = { + Translation = { + Type = "StaticTranslation", + Position = RalphOffset + } + }, + GuiPath = "/Solar System/Missions/New Horizons" + }, + + -- NewHorizonsFov module NH_RALPH_MVIC_FT + { + Name = "NH_RALPH_MVIC_FT", + Parent = "NewHorizonsPosition", + Renderable = { + Type = "RenderableFov", + Body = "NEW HORIZONS", + Frame = "NH_SPACECRAFT", + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "NH_RALPH_MVIC_FT", + Aberration = "NONE" + }, + PotentialTargets = { + "Pluto", + "Charon", + "Jupiter", "Io", "Europa", "Ganymede", "Callisto" + } + }, + Transform = { + Translation = { + Type = "StaticTranslation", + Position = RalphOffset + } + }, + GuiPath = "/Solar System/Missions/New Horizons" + }, + + -- NewHorizonsFov module NH_RALPH_MVIC_METHANE + { + Name = "NH_RALPH_MVIC_METHANE", + Parent = "NewHorizonsPosition", + Renderable = { + Type = "RenderableFov", + Body = "NEW HORIZONS", + Frame = "NH_SPACECRAFT", + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "NH_RALPH_MVIC_METHANE", + Aberration = "NONE" + }, + PotentialTargets = { + "Pluto", + "Charon", + "Jupiter", "Io", "Europa", "Ganymede", "Callisto" + } + }, + Transform = { + Translation = { + Type = "StaticTranslation", + Position = RalphOffset + } + }, + GuiPath = "/Solar System/Missions/New Horizons" + }, + + -- NewHorizonsFov module NH_RALPH_MVIC_NIR + { + Name = "NH_RALPH_MVIC_NIR", + Parent = "NewHorizonsPosition", + Renderable = { + Type = "RenderableFov", + Body = "NEW HORIZONS", + Frame = "NH_SPACECRAFT", + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "NH_RALPH_MVIC_NIR", + Aberration = "NONE" + }, + PotentialTargets = { + "Pluto", + "Charon", + "Jupiter", "Io", "Europa", "Ganymede", "Callisto" + } + }, + Transform = { + Translation = { + Type = "StaticTranslation", + Position = RalphOffset + } + }, + GuiPath = "/Solar System/Missions/New Horizons" + }, + + -- NewHorizonsFov module NH_ALICE_AIRGLOW + { + Name = "NH_ALICE_AIRGLOW", + Parent = "NewHorizonsPosition", + Renderable = { + Type = "RenderableFov", + Body = "NEW HORIZONS", + Frame = "NH_SPACECRAFT", + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "NH_ALICE_AIRGLOW", + Aberration = "NONE" + }, + PotentialTargets = { + "Pluto", + "Charon", + "Jupiter", "Io", "Europa", "Ganymede", "Callisto" + } + }, + Transform = { + Translation = { + Type = "StaticTranslation", + Position = AliceOffset + } + }, + GuiPath = "/Solar System/Missions/New Horizons" + }, + + -- NewHorizonsFov module NH_ALICE_SOC + { + Name = "NH_ALICE_SOC", + Parent = "NewHorizonsPosition", + Renderable = { + Type = "RenderableFov", + Body = "NEW HORIZONS", + Frame = "NH_SPACECRAFT", + RGB = { 0.8, 0.7, 0.7 }, + Instrument = { + Name = "NH_ALICE_SOC", + Aberration = "NONE" + }, + PotentialTargets = { + "Pluto", + "Charon", + "Jupiter", "Io", "Europa", "Ganymede", "Callisto" + } + }, + Transform = { + Translation = { + Type = "StaticTranslation", + Position = AliceOffset + }, + }, + GuiPath = "/Solar System/Missions/New Horizons" + }, + + -- Module NH_REX + { + Name = "NH_REX", + Parent = "NewHorizonsPosition", + Renderable = { + Type = "RenderableCrawlingLine", + Source = "NH_REX", + Target = "EARTH", + Instrument = "NH_REX", + Color = { + Start = { 1.0, 0.7, 0.0, 1.0}, + End = {0.0, 0.0, 0.0, 0.0 } + } + }, + Transform = { + Rotation = { + Type = "StaticRotation", + Rotation = { + 0.0, 1.0, 0.0, + 0.0, 0.0, 1.0, + 1.0, 0.0, 0.0 + } + }, + Translation = { + Type = "StaticTranslation", + Position = RexOffset + } + }, + GuiPath = "/Solar System/Missions/New Horizons" } } -} diff --git a/data/scene/missions/newhorizons/pluto/charon/charon.mod b/data/scene/missions/newhorizons/pluto/charon/charon.mod index 89931718fc..86c2fcfec8 100644 --- a/data/scene/missions/newhorizons/pluto/charon/charon.mod +++ b/data/scene/missions/newhorizons/pluto/charon/charon.mod @@ -55,6 +55,7 @@ return { DestinationFrame = "GALACTIC" }, }, + GuiPath = "/Solar System/Dwarf Planets/Pluto" }, { Name = "CharonText", @@ -73,6 +74,7 @@ return { Position = {0, -1000000, 0} }, }, + GuiPath = "/Solar System/Dwarf Planets/Pluto" }, { Name = "CharonShadow", @@ -86,9 +88,10 @@ return { BodyFrame = "IAU_CHARON", Aberration = "NONE", }, - }, + GuiPath = "/Solar System/Dwarf Planets/Pluto" + }, -- CharonTrail module - { + { Name = "CharonTrail", Parent = "PlutoBarycenter", Renderable = { @@ -102,5 +105,6 @@ return { Period = 6.38725, Resolution = 1000 }, + GuiPath = "/Solar System/Dwarf Planets/Pluto" } } diff --git a/data/scene/missions/newhorizons/pluto/hydra/hydra.mod b/data/scene/missions/newhorizons/pluto/hydra/hydra.mod index 742096b036..47dd27e2e6 100644 --- a/data/scene/missions/newhorizons/pluto/hydra/hydra.mod +++ b/data/scene/missions/newhorizons/pluto/hydra/hydra.mod @@ -34,6 +34,7 @@ return { DestinationFrame = "ECLIPJ2000" }, }, + GuiPath = "/Solar System/Dwarf Planets/Pluto" }, { Name = "HydraText", @@ -51,6 +52,7 @@ return { Position = {1000000, 0, 1000000}, }, }, + GuiPath = "/Solar System/Dwarf Planets/Pluto" }, -- HydraTrail module { @@ -67,6 +69,7 @@ return { Period = 38.20177, Resolution = 1000 }, + GuiPath = "/Solar System/Dwarf Planets/Pluto" } } diff --git a/data/scene/missions/newhorizons/pluto/kerberos/kerberos.mod b/data/scene/missions/newhorizons/pluto/kerberos/kerberos.mod index e2abf614af..2cabc7217c 100644 --- a/data/scene/missions/newhorizons/pluto/kerberos/kerberos.mod +++ b/data/scene/missions/newhorizons/pluto/kerberos/kerberos.mod @@ -34,6 +34,7 @@ return { DestinationFrame = "ECLIPJ2000" }, }, + GuiPath = "/Solar System/Dwarf Planets/Pluto" }, { Name = "KerberosText", @@ -51,7 +52,8 @@ return { Position = {1000000, 0, 1000000}, }, }, - }, + GuiPath = "/Solar System/Dwarf Planets/Pluto" + }, -- KerberosTrail module { Name = "KerberosTrail", @@ -67,6 +69,6 @@ return { Period = 32.16756, Resolution = 1000 }, + GuiPath = "/Solar System/Dwarf Planets/Pluto" } - } diff --git a/data/scene/missions/newhorizons/pluto/nix/nix.mod b/data/scene/missions/newhorizons/pluto/nix/nix.mod index a3ade397d5..0672fc99be 100644 --- a/data/scene/missions/newhorizons/pluto/nix/nix.mod +++ b/data/scene/missions/newhorizons/pluto/nix/nix.mod @@ -34,6 +34,7 @@ return { DestinationFrame = "ECLIPJ2000" }, }, + GuiPath = "/Solar System/Dwarf Planets/Pluto" }, { Name = "NixText", @@ -45,6 +46,7 @@ return { Billboard = true, Texture = "textures/Nix-Text.png" }, + GuiPath = "/Solar System/Dwarf Planets/Pluto" }, -- NixTrail module { @@ -61,6 +63,6 @@ return { Period = 24.85463, Resolution = 1000 }, + GuiPath = "/Solar System/Dwarf Planets/Pluto" } - } diff --git a/data/scene/missions/newhorizons/pluto/pluto/pluto.mod b/data/scene/missions/newhorizons/pluto/pluto/pluto.mod index c2cc00c9f3..190e44b602 100644 --- a/data/scene/missions/newhorizons/pluto/pluto/pluto.mod +++ b/data/scene/missions/newhorizons/pluto/pluto/pluto.mod @@ -18,6 +18,7 @@ return { Kernels = NewHorizonsKernels }, }, + GuiPath = "/Solar System/Dwarf Planets/Pluto" }, -- Pluto module { @@ -122,7 +123,7 @@ return { }, }, - Instrument = { + Instrument = { Name = "NH_LORRI", Method = "ELLIPSOID", Aberration = "NONE", @@ -155,8 +156,9 @@ return { DestinationFrame = "GALACTIC", } }, + GuiPath = "/Solar System/Dwarf Planets/Pluto" }, - { + { Name = "PlutoBarycenterLabel", Parent = "PlutoBarycenter", Renderable = { @@ -170,6 +172,7 @@ return { MieColor = {1.0, 1.0, 1.0} } }, + GuiPath = "/Solar System/Dwarf Planets/Pluto" }, { Name = "PlutoText", @@ -188,6 +191,7 @@ return { Position = {0, -2000000, 0} }, }, + GuiPath = "/Solar System/Dwarf Planets/Pluto" }, { Name = "PlutoTexture", @@ -206,6 +210,7 @@ return { Position = {0, -4000000, 0} }, }, + GuiPath = "/Solar System/Dwarf Planets/Pluto" }, { Name = "PlutoShadow", @@ -219,6 +224,7 @@ return { BodyFrame = "IAU_PLUTO", Aberration = "NONE", }, + GuiPath = "/Solar System/Dwarf Planets/Pluto" }, -- PlutoBarycentricTrail module { @@ -235,6 +241,7 @@ return { Period = 6.38723, Resolution = 1000 }, + GuiPath = "/Solar System/Dwarf Planets/Pluto" }, -- PlutoTrail module { @@ -253,5 +260,6 @@ return { Period = 160 * 365.242, Resolution = 1000 }, - } + GuiPath = "/Solar System/Dwarf Planets/Pluto" + } } diff --git a/data/scene/missions/newhorizons/pluto/styx/styx.mod b/data/scene/missions/newhorizons/pluto/styx/styx.mod index 0474408ff9..f09f387531 100644 --- a/data/scene/missions/newhorizons/pluto/styx/styx.mod +++ b/data/scene/missions/newhorizons/pluto/styx/styx.mod @@ -34,6 +34,7 @@ return { DestinationFrame = "ECLIPJ2000" }, }, + GuiPath = "/Solar System/Dwarf Planets/Pluto" }, { Name = "StyxText", @@ -52,6 +53,7 @@ return { Position = {1000000, 0, 1000000} }, }, + GuiPath = "/Solar System/Dwarf Planets/Pluto" }, -- StyxTrail module { @@ -68,5 +70,6 @@ return { Period = 20.16155, Resolution = 1000 }, + GuiPath = "/Solar System/Dwarf Planets/Pluto" } } diff --git a/data/scene/missions/osirisrex/bennu/bennu.mod b/data/scene/missions/osirisrex/bennu/bennu.mod index ff099ce50e..d031ad045e 100644 --- a/data/scene/missions/osirisrex/bennu/bennu.mod +++ b/data/scene/missions/osirisrex/bennu/bennu.mod @@ -82,7 +82,6 @@ return { Far = 1000000, }, }, - }, Transform = { @@ -92,6 +91,7 @@ return { DestinationFrame = "GALACTIC", }, }, + GuiPath = "/Solar System/Asteroid" }, { Name = "BennuTrail", @@ -108,5 +108,6 @@ return { EndTime = "2023 MAY 31 00:00:00.000", SampleInterval = 3600, }, + GuiPath = "/Solar System/Asteroid" }, } diff --git a/data/scene/missions/osirisrex/osirisrex/osirisrex.mod b/data/scene/missions/osirisrex/osirisrex/osirisrex.mod index 8871183179..7e79b138a4 100644 --- a/data/scene/missions/osirisrex/osirisrex/osirisrex.mod +++ b/data/scene/missions/osirisrex/osirisrex/osirisrex.mod @@ -189,6 +189,7 @@ return { DestinationFrame = "GALACTIC", }, }, + GuiPath = "/Solar System/Missions/OSIRIS REx" }, { Name = "ORX_OCAMS_POLYCAM", @@ -219,6 +220,7 @@ return { DestinationFrame = "ORX_SPACECRAFT", }, }, + GuiPath = "/Solar System/Missions/OSIRIS REx" }, { Name = "ORX_REXIS", @@ -249,6 +251,7 @@ return { DestinationFrame = "ORX_SPACECRAFT", }, }, + GuiPath = "/Solar System/Missions/OSIRIS REx" }, { Name = "POLYCAM FOV", @@ -267,6 +270,7 @@ return { BENNU_BODY -- Bennu } }, + GuiPath = "/Solar System/Missions/OSIRIS REx" }, { Name = "REXIS FOV", @@ -288,6 +292,7 @@ return { [BENNU_BODY] = "IAU_BENNU" } }, + GuiPath = "/Solar System/Missions/OSIRIS REx" }, --[[ -- Latest image taken by POLYCAM @@ -345,6 +350,7 @@ return { EndTime = "2016 SEP 9 00:05:00", SampleInterval = 60, }, + GuiPath = "/Solar System/Missions/OSIRIS REx" }, -- Trail relative to solar system barycenter @@ -363,6 +369,7 @@ return { EndTime = "2023 SEP 24 12:00:00", SampleInterval = 3600, }, + GuiPath = "/Solar System/Missions/OSIRIS REx" }, -- Trail relative to Bennu @@ -381,5 +388,6 @@ return { EndTime = "2023 SEP 24 12:00:00", SampleInterval = 3600, }, + GuiPath = "/Solar System/Missions/OSIRIS REx" }, } diff --git a/data/scene/missions/rosetta/67P/67P.mod b/data/scene/missions/rosetta/67P/67P.mod index ca06b45f03..a1fe54a600 100644 --- a/data/scene/missions/rosetta/67P/67P.mod +++ b/data/scene/missions/rosetta/67P/67P.mod @@ -10,8 +10,9 @@ return { Observer = "SUN", }, }, + GuiPath = "/Solar System/Comets/67P Churymov-Gerasimenko" }, - { + { Name = "67P", Parent = "67PBarycenter", @@ -78,6 +79,7 @@ return { DestinationFrame = "GALACTIC", }, }, + GuiPath = "/Solar System/Comets/67P Churymov-Gerasimenko" }, -- -- 67P Trail Module { @@ -95,6 +97,7 @@ return { EndTime = "2017 JAN 01 00:00:00.000", SampleInterval = 3600, }, + GuiPath = "/Solar System/Comets/67P Churymov-Gerasimenko" }, --[[ { diff --git a/data/scene/missions/rosetta/rosetta/rosetta.mod b/data/scene/missions/rosetta/rosetta/rosetta.mod index fecc927266..5cbccefcbd 100644 --- a/data/scene/missions/rosetta/rosetta/rosetta.mod +++ b/data/scene/missions/rosetta/rosetta/rosetta.mod @@ -72,7 +72,8 @@ return { SourceFrame = "ROS_SPACECRAFT", DestinationFrame = "GALACTIC", } - } + }, + GuiPath = "/Solar System/Missions/Rosetta" }, { Name = "RosettaModel", @@ -83,7 +84,8 @@ return { -- The scale of the model is in cm; OpenSpace is in m Scale = 0.01 } - } + }, + GuiPath = "/Solar System/Missions/Rosetta" }, { Name = "Rosetta_black_foil", @@ -97,7 +99,8 @@ return { }, ColorTexture = "textures/foil_silver_ramp.png", ModelTransform = RotationMatrix - } + }, + GuiPath = "/Solar System/Missions/Rosetta" }, { Name = "Rosetta_black_parts", @@ -111,7 +114,8 @@ return { }, ColorTexture = "textures/foil_silver_ramp.png", ModelTransform = RotationMatrix - } + }, + GuiPath = "/Solar System/Missions/Rosetta" }, { Name = "Rosetta_dish", @@ -126,6 +130,7 @@ return { ColorTexture = "textures/dish_AO.png", ModelTransform = RotationMatrix }, + GuiPath = "/Solar System/Missions/Rosetta" }, { Name = "Rosetta_parts", @@ -139,7 +144,8 @@ return { }, ColorTexture = "textures/parts2_AO.png", ModelTransform = RotationMatrix - } + }, + GuiPath = "/Solar System/Missions/Rosetta" }, { Name = "Rosetta_silver_foil", @@ -153,7 +159,8 @@ return { }, ColorTexture = "textures/foil_silver_ramp.png", ModelTransform = RotationMatrix - } + }, + GuiPath = "/Solar System/Missions/Rosetta" }, { Name = "Rosetta_vents", @@ -167,7 +174,8 @@ return { }, ColorTexture = "textures/tex_01.png", ModelTransform = RotationMatrix - } + }, + GuiPath = "/Solar System/Missions/Rosetta" }, { Name = "Rosetta_wing_a", @@ -182,6 +190,7 @@ return { ColorTexture = "textures/tex_01.png", ModelTransform = RotationMatrix }, + GuiPath = "/Solar System/Missions/Rosetta" }, { Name = "Rosetta_wing_b", @@ -196,6 +205,7 @@ return { ColorTexture = "textures/tex_01.png", ModelTransform = RotationMatrix }, + GuiPath = "/Solar System/Missions/Rosetta" -- Transform = { -- Rotation = { -- Type = "SpiceRotation", @@ -216,7 +226,8 @@ return { }, ColorTexture = "textures/foil_gold_ramp.png", ModelTransform = RotationMatrix - } + }, + GuiPath = "/Solar System/Missions/Rosetta" }, { Name = "Philae", @@ -240,7 +251,8 @@ return { -- The scale of the model is in cm; OpenSpace is in m Scale = 0.01 } - } + }, + GuiPath = "/Solar System/Missions/Rosetta" }, { Name = "Philae_foil", @@ -254,7 +266,8 @@ return { }, ColorTexture = "textures/foil_silver_ramp.png", ModelTransform = RotationMatrix - } + }, + GuiPath = "/Solar System/Missions/Rosetta" }, { Name = "Philae_lids", @@ -268,7 +281,8 @@ return { }, ColorTexture = "textures/parts2_AO.png", ModelTransform = RotationMatrix - } + }, + GuiPath = "/Solar System/Missions/Rosetta" }, { Name = "Philae_parts", @@ -282,7 +296,8 @@ return { }, ColorTexture = "textures/foil_silver_ramp.png", ModelTransform = RotationMatrix - } + }, + GuiPath = "/Solar System/Missions/Rosetta" }, { Name = "Philae_solarp", @@ -296,7 +311,8 @@ return { }, ColorTexture = "textures/tex_01.png", ModelTransform = RotationMatrix - } + }, + GuiPath = "/Solar System/Missions/Rosetta" }, { Name = "RosettaCometTrail", @@ -313,6 +329,7 @@ return { EndTime = "2016 SEP 30 12:00:00", SampleInterval = 3600, }, + GuiPath = "/Solar System/Missions/Rosetta" }, { Name = "PhilaeTrail", @@ -329,12 +346,14 @@ return { EndTime = "2014 NOV 12 17:00:00", SampleInterval = 2, }, - }, + GuiPath = "/Solar System/Missions/Rosetta" + }, { Name = "NAVCAM", Parent = "Rosetta", + GuiPath = "/Solar System/Missions/Rosetta" }, - { + { Name = "NAVCAM FOV", Parent = "NAVCAM", Renderable = { @@ -359,6 +378,7 @@ return { ["CHURYUMOV-GERASIMENKO"] = "67P/C-G_CK" } }, + GuiPath = "/Solar System/Missions/Rosetta" }, -- Latest image taken by NAVCAM { @@ -372,6 +392,7 @@ return { Instrument = "ROS_NAVCAM-A", Moving = false, Texture = "textures/defaultProj.png", - } + }, + GuiPath = "/Solar System/Missions/Rosetta" } } diff --git a/data/scene/moon/moon.mod b/data/scene/moon/moon.mod index 2ed3aaddcf..d3178b8e3c 100644 --- a/data/scene/moon/moon.mod +++ b/data/scene/moon/moon.mod @@ -26,7 +26,6 @@ return { { Name = "LRO WAC Mosaic [OnMoon]", FilePath = "map_service_configs/OnMoonColor.xml", - Enabled = true, }, -- Utah based servers { @@ -38,8 +37,9 @@ return { FilePath = "map_service_configs/Utah/Kaguya.wms" }, { - Name = "WAC", - FilePath = "map_service_configs/Utah/Wac.wms" + Name = "WAC [Utah]", + FilePath = "map_service_configs/Utah/Wac.wms", + Enabled = true, } }, HeightLayers = { @@ -61,7 +61,8 @@ return { } } } - } + }, + GuiPath = "/Solar System/Planets/Earth/Moon" }, -- MoonTrail module { @@ -77,6 +78,7 @@ return { Color = { 0.5, 0.3, 0.3 }, Period = 27, Resolution = 1000 - } + }, + GuiPath = "/Solar System/Planets/Earth/Moon" } } diff --git a/data/scene/neptune/neptune.mod b/data/scene/neptune/neptune.mod index 57448d3042..7fbade114f 100644 --- a/data/scene/neptune/neptune.mod +++ b/data/scene/neptune/neptune.mod @@ -10,7 +10,8 @@ return { Observer = "SUN", Kernels = "${OPENSPACE_DATA}/spice/de430_1850-2150.bsp" } - } + }, + GuiPath = "/Solar System/Planets/Neptune" }, -- RenderableGlobe module { @@ -38,6 +39,7 @@ return { } }, Tag = { "planet_solarSystem", "planet_giants" }, + GuiPath = "/Solar System/Planets/Neptune" }, -- Trail module @@ -55,6 +57,7 @@ return { Period = 60200, Resolution = 1000 }, - Tag = { "planetTrail_solarSystem", "planetTrail_giants" } + Tag = { "planetTrail_solarSystem", "planetTrail_giants" }, + GuiPath = "/Solar System/Planets/Neptune" } } diff --git a/data/scene/newhorizons.scene b/data/scene/newhorizons.scene index 6458344746..ee57e63c69 100644 --- a/data/scene/newhorizons.scene +++ b/data/scene/newhorizons.scene @@ -19,6 +19,8 @@ charon_image = "textures/NH_Charon_mosaic.png" charon_height = "textures/NH_Charon_DTM.png" -- charon_height = "textures/NH_Charon_DTM_8192.png" +dofile(openspace.absPath('${SCRIPTS}/scene_helper.lua')) + function preInitialization() --[[ The scripts in this function are executed after the scene is loaded but before the @@ -185,6 +187,14 @@ function postInitialization() openspace.setPropertyValue("MilkyWay.renderable.Segments", 50) openspace.printInfo("Done setting default values") + + openspace.loadMission("${OPENSPACE_DATA}/scene/missions/newhorizons/newhorizons/newhorizons.mission") + + -- Defined in scene_helper.lua + -- Used to create focus buttons for a subset of scenegraph nodes + mark_interesting_nodes({ + "Pluto", "NewHorizons", "Charon" + }) end return { diff --git a/data/scene/osirisrex.scene b/data/scene/osirisrex.scene index 0902c47df5..684823781b 100644 --- a/data/scene/osirisrex.scene +++ b/data/scene/osirisrex.scene @@ -1,5 +1,6 @@ KernelCase = 2 -- Right now we only have the image times for case 2 +dofile(openspace.absPath('${SCRIPTS}/scene_helper.lua')) function preInitialization() --[[ @@ -102,6 +103,10 @@ function postInitialization() openspace.loadMission("${OPENSPACE_DATA}/scene/missions/osirisrex/osirisrex/osirisrex.mission") openspace.navigation.resetCameraDirection() + + mark_interesting_nodes({ + "OsirisRex", "BennuBarycenter", "Earth" + }) end return { diff --git a/data/scene/rosetta.scene b/data/scene/rosetta.scene index 1c6727314c..3341deb7af 100644 --- a/data/scene/rosetta.scene +++ b/data/scene/rosetta.scene @@ -1,3 +1,5 @@ +dofile(openspace.absPath('${SCRIPTS}/scene_helper.lua')) + function preInitialization() --[[ The scripts in this function are executed after the scene is loaded but before the @@ -102,6 +104,10 @@ function postInitialization() openspace.setPropertyValue('67P.renderable.PerformShading', false); openspace.printInfo("Done setting default values") + + mark_interesting_nodes({ + "Pluto", "NewHorizons", "Charon" + }) end return { diff --git a/data/scene/satellites/satellites.mod b/data/scene/satellites/satellites.mod index 427642b95a..9557569644 100644 --- a/data/scene/satellites/satellites.mod +++ b/data/scene/satellites/satellites.mod @@ -76,7 +76,8 @@ function getSat(title, file, lineNum) Type = "StaticScale", Scale = 1, } - } + }, + GuiPath = "/Solar System/Planets/Earth/Satellites" } end @@ -99,7 +100,7 @@ function getSatTrail(title, file, lineNum, per, color) Period = per, Resolution = 160 }, - GuiName = "/Satellites/" .. trailName + GuiPath = "/Solar System/Planets/Earth/Satellites" } end diff --git a/data/scene/saturn/dione/dione.mod b/data/scene/saturn/dione/dione.mod index 57517df105..c98f0c5e6e 100644 --- a/data/scene/saturn/dione/dione.mod +++ b/data/scene/saturn/dione/dione.mod @@ -28,7 +28,8 @@ return { SourceFrame = "IAU_ENCELADUS", DestinationFrame = "GALACTIC" } - } + }, + GuiPath = "/Solar System/Planets/Saturn/Moons" }, { Name = "DioneTrail", @@ -43,6 +44,7 @@ return { Color = { 0.5, 0.3, 0.3 }, Period = 66 / 24, Resolution = 1000 - } + }, + GuiPath = "/Solar System/Planets/Saturn/Moons" } } diff --git a/data/scene/saturn/enceladus/enceladus.mod b/data/scene/saturn/enceladus/enceladus.mod index 877ffd5ac1..83f5023308 100644 --- a/data/scene/saturn/enceladus/enceladus.mod +++ b/data/scene/saturn/enceladus/enceladus.mod @@ -28,7 +28,8 @@ return { SourceFrame = "IAU_ENCELADUS", DestinationFrame = "GALACTIC" } - } + }, + GuiPath = "/Solar System/Planets/Saturn/Moons" }, { Name = "EnceladusTrail", @@ -43,6 +44,7 @@ return { Color = { 0.5, 0.3, 0.3 }, Period = 33 / 24, Resolution = 1000 - } + }, + GuiPath = "/Solar System/Planets/Saturn/Moons" } } diff --git a/data/scene/saturn/iapetus/iapetus.mod b/data/scene/saturn/iapetus/iapetus.mod index 077282c537..1b5549234a 100644 --- a/data/scene/saturn/iapetus/iapetus.mod +++ b/data/scene/saturn/iapetus/iapetus.mod @@ -28,7 +28,8 @@ return { SourceFrame = "IAU_ENCELADUS", DestinationFrame = "GALACTIC" } - } + }, + GuiPath = "/Solar System/Planets/Saturn/Moons" }, { Name = "IapetusTrail", @@ -43,6 +44,7 @@ return { Color = { 0.5, 0.3, 0.3 }, Period = 79, Resolution = 1000 - } + }, + GuiPath = "/Solar System/Planets/Saturn/Moons" } } diff --git a/data/scene/saturn/mimas/mimas.mod b/data/scene/saturn/mimas/mimas.mod index 3d4eb0bf4d..246ee92eb2 100644 --- a/data/scene/saturn/mimas/mimas.mod +++ b/data/scene/saturn/mimas/mimas.mod @@ -28,7 +28,8 @@ return { SourceFrame = "IAU_MIMAS", DestinationFrame = "GALACTIC" } - } + }, + GuiPath = "/Solar System/Planets/Saturn/Moons" }, { Name = "MimasTrail", @@ -43,6 +44,7 @@ return { Color = { 0.5, 0.3, 0.3 }, Period = 23 / 24, Resolution = 1000 - } + }, + GuiPath = "/Solar System/Planets/Saturn/Moons" } } \ No newline at end of file diff --git a/data/scene/saturn/rhea/rhea.mod b/data/scene/saturn/rhea/rhea.mod index 52e61ed44c..05339a74ce 100644 --- a/data/scene/saturn/rhea/rhea.mod +++ b/data/scene/saturn/rhea/rhea.mod @@ -28,7 +28,8 @@ return { SourceFrame = "IAU_ENCELADUS", DestinationFrame = "GALACTIC" } - } + }, + GuiPath = "/Solar System/Planets/Saturn/Moons" }, { Name = "RheaTrail", @@ -43,6 +44,7 @@ return { Color = { 0.5, 0.3, 0.3 }, Period = 108 / 24, Resolution = 1000 - } + }, + GuiPath = "/Solar System/Planets/Saturn/Moons" } } diff --git a/data/scene/saturn/saturn/saturn.mod b/data/scene/saturn/saturn/saturn.mod index f597dfcdb3..8241cb43bc 100644 --- a/data/scene/saturn/saturn/saturn.mod +++ b/data/scene/saturn/saturn/saturn.mod @@ -10,7 +10,8 @@ return { Observer = "SUN", Kernels = "${OPENSPACE_DATA}/spice/de430_1850-2150.bsp" } - } + }, + GuiPath = "/Solar System/Planets/Saturn" }, -- Saturn module @@ -38,7 +39,8 @@ return { SourceFrame = "IAU_SATURN", DestinationFrame = "GALACTIC" } - } + }, + GuiPath = "/Solar System/Planets/Saturn" }, { Name = "SaturnRings", @@ -48,7 +50,8 @@ return { Texture = "textures/saturn_rings.png", Size = 140220000, Offset = { 74500 / 140445.100671159, 1.0 } -- min / max extend - } + }, + GuiPath = "/Solar System/Planets/Saturn" }, -- SaturnTrail module { @@ -65,6 +68,7 @@ return { Period = 10746.94, Resolution = 1000, }, - Tag = { "planetTrail_solarSystem", "planetTrail_giants" } + Tag = { "planetTrail_solarSystem", "planetTrail_giants" }, + GuiPath = "/Solar System/Planets/Saturn" } } diff --git a/data/scene/saturn/tethys/tethys.mod b/data/scene/saturn/tethys/tethys.mod index c7c94548bc..f21d2835eb 100644 --- a/data/scene/saturn/tethys/tethys.mod +++ b/data/scene/saturn/tethys/tethys.mod @@ -28,7 +28,8 @@ return { SourceFrame = "IAU_ENCELADUS", DestinationFrame = "GALACTIC" } - } + }, + GuiPath = "/Solar System/Planets/Saturn/Moons" }, { Name = "TethysTrail", @@ -43,6 +44,7 @@ return { Color = { 0.5, 0.3, 0.3 }, Period = 45 / 24, Resolution = 1000 - } + }, + GuiPath = "/Solar System/Planets/Saturn/Moons" } } diff --git a/data/scene/saturn/titan/titan.mod b/data/scene/saturn/titan/titan.mod index 47f20679c7..8d5e72c4b4 100644 --- a/data/scene/saturn/titan/titan.mod +++ b/data/scene/saturn/titan/titan.mod @@ -28,7 +28,8 @@ return { SourceFrame = "IAU_ENCELADUS", DestinationFrame = "GALACTIC" } - } + }, + GuiPath = "/Solar System/Planets/Saturn/Moons" }, { Name = "TitanTrail", @@ -43,6 +44,7 @@ return { Color = { 0.5, 0.3, 0.3 }, Period = 16, Resolution = 1000 - } + }, + GuiPath = "/Solar System/Planets/Saturn/Moons" } } diff --git a/data/scene/stars/denver/denver.mod b/data/scene/stars/denver/denver.mod index 0064624bd1..6db973ebef 100644 --- a/data/scene/stars/denver/denver.mod +++ b/data/scene/stars/denver/denver.mod @@ -9,5 +9,6 @@ return { Texture = "textures/halo.png", ColorMap = "denver_colorbv.cmap" }, + GuiPath = "/Milky Way/Stars" } } diff --git a/data/scene/stars/digitaluniverse/digitaluniverse.mod b/data/scene/stars/digitaluniverse/digitaluniverse.mod index 3e5363aa47..608185c013 100644 --- a/data/scene/stars/digitaluniverse/digitaluniverse.mod +++ b/data/scene/stars/digitaluniverse/digitaluniverse.mod @@ -9,5 +9,6 @@ return { Texture = "textures/halo.png", ColorMap = "colorbv.cmap" }, + GuiPath = "/Milky Way/Stars" } } diff --git a/data/scene/sun/sun.mod b/data/scene/sun/sun.mod index 86d5516c68..adbd19bda4 100644 --- a/data/scene/sun/sun.mod +++ b/data/scene/sun/sun.mod @@ -39,7 +39,8 @@ return { SourceFrame = "IAU_SUN", DestinationFrame = "GALACTIC" } - } + }, + GuiPath = "/Solar System/Sun" }, { @@ -60,7 +61,8 @@ return { Observer = "SSB", Kernels = "${OPENSPACE_DATA}/spice/de430_1850-2150.bsp" } - } + }, + GuiPath = "/Solar System/Sun" }, { @@ -79,6 +81,7 @@ return { Type = "StaticTranslation", Position = {0, 0, 0, 5} } - } + }, + GuiPath = "/Solar System/Sun" } } diff --git a/data/scene/uranus/uranus.mod b/data/scene/uranus/uranus.mod index 648a60f943..ba56f4fbfe 100644 --- a/data/scene/uranus/uranus.mod +++ b/data/scene/uranus/uranus.mod @@ -10,7 +10,8 @@ return { Observer = "SUN", Kernels = "${OPENSPACE_DATA}/spice/de430_1850-2150.bsp" } - } + }, + GuiPath = "/Solar System/Planets/Uranus" }, -- RenderableGlobe module { @@ -37,7 +38,8 @@ return { } } }, - Tag = { "planet_solarSystem", "planet_giants" } + Tag = { "planet_solarSystem", "planet_giants" }, + GuiPath = "/Solar System/Planets/Uranus" }, -- Trail module { @@ -54,6 +56,7 @@ return { Period = 30588.740, Resolution = 1000 }, - Tag = { "planetTrail_solarSystem", "planetTrail_giants" } + Tag = { "planetTrail_solarSystem", "planetTrail_giants" }, + GuiPath = "/Solar System/Planets/Uranus" } } diff --git a/data/scene/venus/venus.mod b/data/scene/venus/venus.mod index 60a095ad9d..85c88822c4 100644 --- a/data/scene/venus/venus.mod +++ b/data/scene/venus/venus.mod @@ -10,7 +10,8 @@ return { Observer = "SUN", Kernels = "${OPENSPACE_DATA}/spice/de430_1850-2150.bsp" } - } + }, + GuiPath = "/Solar System/Planets/Venus" }, -- RenderableGlobe module { @@ -44,6 +45,7 @@ return { } }, Tag = { "planet_solarSystem", "planet_terrestrial" }, + GuiPath = "/Solar System/Planets/Venus" }, -- Trail module { @@ -60,6 +62,7 @@ return { Period = 224.695, Resolution = 1000 }, - Tag = { "planetTrail_solarSystem", "planetTrail_terrestrial" } + Tag = { "planetTrail_solarSystem", "planetTrail_terrestrial" }, + GuiPath = "/Solar System/Planets/Venus" } } diff --git a/ext/sgct b/ext/sgct index 34d3ebb4dd..ee29d15894 160000 --- a/ext/sgct +++ b/ext/sgct @@ -1 +1 @@ -Subproject commit 34d3ebb4ddae8524f512af12df943bd2aa058f46 +Subproject commit ee29d158944eed9bafbccbccdfb9856b3a96cac0 diff --git a/include/openspace/rendering/screenspacerenderable.h b/include/openspace/rendering/screenspacerenderable.h index bd9b4ebafc..16fba100bb 100644 --- a/include/openspace/rendering/screenspacerenderable.h +++ b/include/openspace/rendering/screenspacerenderable.h @@ -55,13 +55,14 @@ public: const ghoul::Dictionary& dictionary); ScreenSpaceRenderable(const ghoul::Dictionary& dictionary); - virtual ~ScreenSpaceRenderable(); + virtual ~ScreenSpaceRenderable() = default; - virtual void render() = 0; - virtual bool initialize() = 0; - virtual bool deinitialize() = 0; + virtual void render(); + + virtual bool initialize(); + virtual bool deinitialize(); virtual void update() = 0; - virtual bool isReady() const = 0; + virtual bool isReady() const; bool isEnabled() const; glm::vec3 euclideanPosition() const; diff --git a/include/openspace/scene/scenegraphnode.h b/include/openspace/scene/scenegraphnode.h index 0c4a95e9fa..0eaa83b80d 100644 --- a/include/openspace/scene/scenegraphnode.h +++ b/include/openspace/scene/scenegraphnode.h @@ -124,6 +124,8 @@ public: const Renderable* renderable() const; Renderable* renderable(); + const std::string& guiPath() const; + static documentation::Documentation Documentation(); private: @@ -141,6 +143,8 @@ private: std::unique_ptr _renderable; + std::string _guiPath; + // Transformation defined by ephemeris, rotation and scale struct { std::unique_ptr translation; diff --git a/include/openspace/util/timemanager.h b/include/openspace/util/timemanager.h index 2a7ef4d21b..d2f207ea2e 100644 --- a/include/openspace/util/timemanager.h +++ b/include/openspace/util/timemanager.h @@ -44,8 +44,9 @@ public: void clearKeyframes(); void setTimeNextFrame(Time t); size_t nKeyframes() const; + private: - bool _shouldSetTime; + bool _shouldSetTime = false; Time _timeNextFrame; Timeline