mirror of
https://github.com/OpenSpace/OpenSpace.git
synced 2026-03-07 21:08:33 -06:00
Merge branch 'master' into thesis/2019/camera-paths
This commit is contained in:
@@ -27,9 +27,9 @@ cmake_minimum_required(VERSION 3.10 FATAL_ERROR)
|
||||
project(OpenSpace)
|
||||
|
||||
set(OPENSPACE_VERSION_MAJOR 0)
|
||||
set(OPENSPACE_VERSION_MINOR 16)
|
||||
set(OPENSPACE_VERSION_PATCH 0)
|
||||
set(OPENSPACE_VERSION_STRING "Beta-8")
|
||||
set(OPENSPACE_VERSION_MINOR 17)
|
||||
set(OPENSPACE_VERSION_PATCH -1)
|
||||
set(OPENSPACE_VERSION_STRING "Beta-10 [RC1]")
|
||||
|
||||
set(OPENSPACE_BASE_DIR "${PROJECT_SOURCE_DIR}")
|
||||
set(OPENSPACE_CMAKE_EXT_DIR "${OPENSPACE_BASE_DIR}/support/cmake")
|
||||
|
||||
@@ -116,13 +116,13 @@ add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/ext/sgct)
|
||||
target_link_libraries(OpenSpace PRIVATE sgct)
|
||||
|
||||
set_folder_location(sgct "External")
|
||||
set_folder_location(glfw "External/SGCT")
|
||||
set_folder_location(miniziplibstatic "External/SGCT")
|
||||
set_folder_location(png16_static "External/SGCT")
|
||||
set_folder_location(quat "External/SGCT")
|
||||
set_folder_location(tinyxml2static "External/SGCT")
|
||||
set_folder_location(vrpn "External/SGCT")
|
||||
set_folder_location(zlibstatic "External/SGCT")
|
||||
set_folder_location(glfw "External")
|
||||
set_folder_location(miniziplibstatic "External")
|
||||
set_folder_location(png16_static "External")
|
||||
set_folder_location(quat "External")
|
||||
set_folder_location(tinyxml2static "External")
|
||||
set_folder_location(vrpn "External")
|
||||
set_folder_location(zlibstatic "External")
|
||||
|
||||
if (UNIX AND (NOT APPLE))
|
||||
target_link_libraries(OpenSpace PRIVATE Xcursor Xinerama X11)
|
||||
|
||||
@@ -96,6 +96,7 @@ private:
|
||||
bool _shouldLaunch = false;
|
||||
int _userAssetCount = 0;
|
||||
int _userConfigCount = 0;
|
||||
const std::string _sgctConfigName;
|
||||
|
||||
QComboBox* _profileBox = nullptr;
|
||||
QComboBox* _windowConfigBox = nullptr;
|
||||
|
||||
@@ -82,7 +82,7 @@ private:
|
||||
QLineEdit* _loadedEdit = nullptr;
|
||||
QLabel* _notLoadedLabel = nullptr;
|
||||
QLineEdit* _notLoadedEdit = nullptr;
|
||||
|
||||
|
||||
QPushButton* _buttonAdd = nullptr;
|
||||
QPushButton* _buttonRemove = nullptr;
|
||||
QPushButton* _buttonSave = nullptr;
|
||||
|
||||
@@ -141,13 +141,16 @@ LauncherWindow::LauncherWindow(bool profileEnabled,
|
||||
bool sgctConfigEnabled, std::string sgctConfigName,
|
||||
QWidget* parent)
|
||||
: QMainWindow(parent)
|
||||
, _assetPath(absPath(globalConfig.pathTokens.at("ASSETS")) + '/')
|
||||
, _userAssetPath(absPath(globalConfig.pathTokens.at("USER_ASSETS")) + '/')
|
||||
, _configPath(absPath(globalConfig.pathTokens.at("CONFIG")) + '/')
|
||||
, _userConfigPath(absPath(globalConfig.pathTokens.at("USER_CONFIG")) + '/')
|
||||
, _profilePath(absPath(globalConfig.pathTokens.at("PROFILES")) + '/')
|
||||
, _userProfilePath(absPath(globalConfig.pathTokens.at("USER_PROFILES")) + '/')
|
||||
, _assetPath(absPath(globalConfig.pathTokens.at("ASSETS")).string() + '/')
|
||||
, _userAssetPath(absPath(globalConfig.pathTokens.at("USER_ASSETS")).string() + '/')
|
||||
, _configPath(absPath(globalConfig.pathTokens.at("CONFIG")).string() + '/')
|
||||
, _userConfigPath(absPath(globalConfig.pathTokens.at("USER_CONFIG")).string() + '/')
|
||||
, _profilePath(absPath(globalConfig.pathTokens.at("PROFILES")).string() + '/')
|
||||
, _userProfilePath(
|
||||
absPath(globalConfig.pathTokens.at("USER_PROFILES")).string() + '/'
|
||||
)
|
||||
, _readOnlyProfiles(globalConfig.readOnlyProfiles)
|
||||
, _sgctConfigName(sgctConfigName)
|
||||
{
|
||||
Q_INIT_RESOURCE(resources);
|
||||
|
||||
@@ -175,14 +178,16 @@ LauncherWindow::LauncherWindow(bool profileEnabled,
|
||||
populateProfilesList(globalConfig.profile);
|
||||
_profileBox->setEnabled(profileEnabled);
|
||||
|
||||
populateWindowConfigsList(sgctConfigName);
|
||||
populateWindowConfigsList(_sgctConfigName);
|
||||
_windowConfigBox->setEnabled(sgctConfigEnabled);
|
||||
|
||||
|
||||
std::string p = absPath(globalConfig.pathTokens.at("SYNC") + "/http/launcher_images");
|
||||
std::filesystem::path p = absPath(
|
||||
globalConfig.pathTokens.at("SYNC") + "/http/launcher_images"
|
||||
);
|
||||
if (std::filesystem::exists(p)) {
|
||||
try {
|
||||
setBackgroundImage(p);
|
||||
setBackgroundImage(p.string());
|
||||
}
|
||||
catch (const std::exception& e) {
|
||||
std::cerr << "Error occurrred while reading background images: " << e.what();
|
||||
@@ -454,7 +459,10 @@ std::string LauncherWindow::selectedProfile() const {
|
||||
}
|
||||
|
||||
std::string LauncherWindow::selectedWindowConfig() const {
|
||||
if (_windowConfigBox->currentIndex() > _userAssetCount) {
|
||||
int idx = _windowConfigBox->currentIndex();
|
||||
if (idx == 0) {
|
||||
return _sgctConfigName;
|
||||
} else if (idx > _userAssetCount) {
|
||||
return "${CONFIG}/" + _windowConfigBox->currentText().toStdString();
|
||||
}
|
||||
else {
|
||||
|
||||
@@ -63,7 +63,7 @@ namespace {
|
||||
int startIndex = 0;
|
||||
std::string token = "${USER_ASSETS}/";
|
||||
if (path.find(token) == 0) {
|
||||
startIndex = token.length();
|
||||
startIndex = static_cast<int>(token.length());
|
||||
}
|
||||
const size_t slash = path.find_first_of('/', startIndex);
|
||||
const bool endOfPath = (slash == std::string::npos);
|
||||
|
||||
@@ -460,9 +460,6 @@ void KeybindingsDialog::listItemRemove() {
|
||||
}
|
||||
|
||||
void KeybindingsDialog::transitionToEditMode() {
|
||||
_list->setDisabled(true);
|
||||
_addButton->setDisabled(true);
|
||||
_removeButton->setDisabled(true);
|
||||
_saveButton->setDisabled(true);
|
||||
_cancelButton->setDisabled(true);
|
||||
_buttonBox->setDisabled(true);
|
||||
|
||||
@@ -297,9 +297,6 @@ void ModulesDialog::listItemRemove() {
|
||||
}
|
||||
|
||||
void ModulesDialog::transitionToEditMode() {
|
||||
_list->setDisabled(true);
|
||||
_buttonAdd->setDisabled(true);
|
||||
_buttonRemove->setDisabled(true);
|
||||
_buttonSave->setDisabled(true);
|
||||
_buttonCancel->setDisabled(true);
|
||||
_buttonBox->setDisabled(true);
|
||||
|
||||
@@ -302,9 +302,6 @@ void PropertiesDialog::listItemRemove() {
|
||||
}
|
||||
|
||||
void PropertiesDialog::transitionToEditMode() {
|
||||
_list->setDisabled(true);
|
||||
_addButton->setDisabled(true);
|
||||
_removeButton->setDisabled(true);
|
||||
_saveButton->setDisabled(true);
|
||||
_cancelButton->setDisabled(true);
|
||||
_buttonBox->setDisabled(true);
|
||||
|
||||
@@ -39,7 +39,7 @@ ScriptlogDialog::ScriptlogDialog(QWidget* parent)
|
||||
setWindowTitle("Scriptlog");
|
||||
createWidgets();
|
||||
|
||||
QFile file(QString::fromStdString(absPath("${LOGS}/scriptLog.txt")));
|
||||
QFile file(QString::fromStdString(absPath("${LOGS}/scriptLog.txt").string()));
|
||||
if (file.open(QIODevice::ReadOnly | QIODevice::Text)) {
|
||||
QTextStream in(&file);
|
||||
while (!in.atEnd()) {
|
||||
|
||||
Submodule apps/OpenSpace/ext/sgct updated: 669fbc16a9...2a3ef78f72
@@ -61,6 +61,7 @@
|
||||
#include <Tracy.hpp>
|
||||
#include <chrono>
|
||||
#include <ctime>
|
||||
#include <filesystem>
|
||||
#include <memory>
|
||||
|
||||
#ifdef WIN32
|
||||
@@ -223,9 +224,9 @@ void mainInitFunc(GLFWwindow*) {
|
||||
//
|
||||
// We save the startup value of the screenshots just in case we want to add a date
|
||||
// to them later in the RenderEngine
|
||||
std::string screenshotPath = absPath("${SCREENSHOTS}");
|
||||
std::filesystem::path screenshotPath = absPath("${SCREENSHOTS}");
|
||||
FileSys.registerPathToken("${STARTUP_SCREENSHOT}", screenshotPath);
|
||||
Settings::instance().setCapturePath(screenshotPath);
|
||||
Settings::instance().setCapturePath(screenshotPath.string());
|
||||
|
||||
LDEBUG("Initializing OpenSpace Engine started");
|
||||
global::openSpaceEngine->initialize();
|
||||
@@ -234,11 +235,11 @@ void mainInitFunc(GLFWwindow*) {
|
||||
#ifndef __APPLE__
|
||||
// Apparently: "Cocoa: Regular windows do not have icons on macOS"
|
||||
{
|
||||
std::string path = absPath("${DATA}/openspace-icon.png");
|
||||
std::filesystem::path path = absPath("${DATA}/openspace-icon.png");
|
||||
int x;
|
||||
int y;
|
||||
int n;
|
||||
unsigned char* data = stbi_load(path.c_str(), &x, &y, &n, 0);
|
||||
unsigned char* data = stbi_load(path.string().c_str(), &x, &y, &n, 0);
|
||||
|
||||
GLFWimage icons[1];
|
||||
icons[0].pixels = data;
|
||||
@@ -975,14 +976,6 @@ std::string setWindowConfigPresetForGui(const std::string labelFromCfgFile,
|
||||
}
|
||||
else {
|
||||
preset = config.windowConfiguration;
|
||||
if (preset.find('/') != std::string::npos) {
|
||||
preset.erase(0, preset.find_last_of('/') + 1);
|
||||
}
|
||||
if (preset.length() >= xmlExt.length()) {
|
||||
if (preset.substr(preset.length() - xmlExt.length()) == xmlExt) {
|
||||
preset = preset.substr(0, preset.length() - xmlExt.length());
|
||||
}
|
||||
}
|
||||
}
|
||||
return preset;
|
||||
}
|
||||
@@ -1004,7 +997,14 @@ std::string selectedSgctProfileFromLauncher(LauncherWindow& lw, bool hasCliSGCTC
|
||||
}
|
||||
}
|
||||
else {
|
||||
config += xmlExt;
|
||||
if ( (config.length() >= xmlExt.length())
|
||||
&& (0 == config.compare(config.length() - xmlExt.length(), xmlExt.length(), xmlExt)) ) {
|
||||
//user customzied sgct config
|
||||
}
|
||||
else {
|
||||
config += xmlExt;
|
||||
}
|
||||
|
||||
}
|
||||
global::configuration->windowConfiguration = config;
|
||||
}
|
||||
@@ -1039,7 +1039,7 @@ int main(int argc, char* argv[]) {
|
||||
// to make it possible to find other files in the same directory.
|
||||
FileSys.registerPathToken(
|
||||
"${BIN}",
|
||||
ghoul::filesystem::File(absPath(argv[0])).directoryName(),
|
||||
std::filesystem::path(argv[0]).parent_path(),
|
||||
ghoul::filesystem::FileSystem::Override::Yes
|
||||
);
|
||||
|
||||
@@ -1077,7 +1077,7 @@ int main(int argc, char* argv[]) {
|
||||
|
||||
bool showHelp = parser.execute();
|
||||
if (showHelp) {
|
||||
parser.displayHelp(std::cout);
|
||||
std::cout << parser.helpText();
|
||||
exit(EXIT_SUCCESS);
|
||||
}
|
||||
// Take an actual copy of the arguments
|
||||
@@ -1092,28 +1092,32 @@ int main(int argc, char* argv[]) {
|
||||
std::string windowConfiguration;
|
||||
try {
|
||||
// Find configuration
|
||||
std::string configurationFilePath = commandlineArguments.configurationName;
|
||||
if (commandlineArguments.configurationName.empty()) {
|
||||
std::filesystem::path configurationFilePath;
|
||||
if (!commandlineArguments.configurationName.empty()) {
|
||||
configurationFilePath = absPath(commandlineArguments.configurationName);
|
||||
}
|
||||
else {
|
||||
LDEBUG("Finding configuration");
|
||||
configurationFilePath = configuration::findConfiguration();
|
||||
}
|
||||
configurationFilePath = absPath(configurationFilePath);
|
||||
|
||||
if (!FileSys.fileExists(configurationFilePath)) {
|
||||
LFATALC("main", "Could not find configuration: " + configurationFilePath);
|
||||
if (!std::filesystem::is_regular_file(configurationFilePath)) {
|
||||
LFATALC(
|
||||
"main",
|
||||
fmt::format("Could not find configuration {}", configurationFilePath)
|
||||
);
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
LINFO(fmt::format("Configuration Path: '{}'", configurationFilePath));
|
||||
LINFO(fmt::format("Configuration Path: {}", configurationFilePath));
|
||||
|
||||
// Register the base path as the directory where the configuration file lives
|
||||
std::string base = ghoul::filesystem::File(configurationFilePath).directoryName();
|
||||
constexpr const char* BasePathToken = "${BASE}";
|
||||
FileSys.registerPathToken(BasePathToken, base);
|
||||
std::filesystem::path base = configurationFilePath.parent_path();
|
||||
FileSys.registerPathToken("${BASE}", base);
|
||||
|
||||
// Loading configuration from disk
|
||||
LDEBUG("Loading configuration from disk");
|
||||
*global::configuration = configuration::loadConfigurationFromFile(
|
||||
configurationFilePath,
|
||||
configurationFilePath.string(),
|
||||
commandlineArguments.configurationOverride
|
||||
);
|
||||
|
||||
@@ -1217,7 +1221,7 @@ int main(int argc, char* argv[]) {
|
||||
// as well as the configuration file that sgct is supposed to use
|
||||
arguments.insert(arguments.begin(), argv[0]);
|
||||
arguments.insert(arguments.begin() + 1, "-config");
|
||||
arguments.insert(arguments.begin() + 2, absPath(windowConfiguration));
|
||||
arguments.insert(arguments.begin() + 2, absPath(windowConfiguration).string());
|
||||
|
||||
// Need to set this before the creation of the sgct::Engine
|
||||
|
||||
@@ -1233,7 +1237,7 @@ int main(int argc, char* argv[]) {
|
||||
LDEBUG("Creating SGCT Engine");
|
||||
std::vector<std::string> arg(argv + 1, argv + argc);
|
||||
Configuration config = parseArguments(arg);
|
||||
config::Cluster cluster = loadCluster(absPath(windowConfiguration));
|
||||
config::Cluster cluster = loadCluster(absPath(windowConfiguration).string());
|
||||
|
||||
Engine::Callbacks callbacks;
|
||||
callbacks.initOpenGL = mainInitFunc;
|
||||
|
||||
@@ -32,7 +32,6 @@
|
||||
#include <ghoul/io/texture/texturereaderdevil.h>
|
||||
#include <ghoul/io/texture/texturereaderfreeimage.h>
|
||||
#include <ghoul/filesystem/filesystem.h>
|
||||
#include <ghoul/filesystem/directory.h>
|
||||
#include <ghoul/logging/logmanager.h>
|
||||
#include <ghoul/logging/consolelog.h>
|
||||
#include <ghoul/filesystem/file.h>
|
||||
@@ -117,18 +116,21 @@ int main(int argc, char** argv) {
|
||||
// to make it possible to find other files in the same directory.
|
||||
FileSys.registerPathToken(
|
||||
"${BIN}",
|
||||
ghoul::filesystem::File(absPath(argv[0])).directoryName(),
|
||||
std::filesystem::path(argv[0]).parent_path(),
|
||||
ghoul::filesystem::FileSystem::Override::Yes
|
||||
);
|
||||
|
||||
std::string configFile = configuration::findConfiguration();
|
||||
std::filesystem::path configFile = configuration::findConfiguration();
|
||||
|
||||
// Register the base path as the directory where the configuration file lives
|
||||
std::string base = ghoul::filesystem::File(configFile).directoryName();
|
||||
std::filesystem::path base = configFile.parent_path();
|
||||
constexpr const char* BasePathToken = "${BASE}";
|
||||
FileSys.registerPathToken(BasePathToken, base);
|
||||
|
||||
*global::configuration = configuration::loadConfigurationFromFile(configFile, "");
|
||||
*global::configuration = configuration::loadConfigurationFromFile(
|
||||
configFile.string(),
|
||||
""
|
||||
);
|
||||
openspace::global::openSpaceEngine->registerPathTokens();
|
||||
global::openSpaceEngine->initialize();
|
||||
|
||||
@@ -160,7 +162,7 @@ int main(int argc, char** argv) {
|
||||
// If no task file was specified in as argument, run in CLI mode.
|
||||
|
||||
LINFO(fmt::format("Task root: {}", absPath("${TASKS}")));
|
||||
FileSys.setCurrentDirectory(ghoul::filesystem::Directory(absPath("${TASKS}")));
|
||||
std::filesystem::current_path(absPath("${TASKS}"));
|
||||
|
||||
std::cout << "TASK > ";
|
||||
while (std::cin >> tasksPath) {
|
||||
|
||||
30
config/equirectangular_gui.xml
Normal file
30
config/equirectangular_gui.xml
Normal file
@@ -0,0 +1,30 @@
|
||||
<?xml version="1.0" ?>
|
||||
<Cluster masterAddress="localhost" externalControlPort="20500">
|
||||
<Settings>
|
||||
<Display swapInterval="0" />
|
||||
</Settings>
|
||||
<Node address="localhost" port="20401">
|
||||
<Window fullScreen="false" name="OpenSpace" draw2d="false">
|
||||
<Stereo type="none" />
|
||||
<Size x="1280" y="720" />
|
||||
<Pos x="50" y="50" />
|
||||
<Viewport tracked="true">
|
||||
<Pos x="0.0" y="0.0" />
|
||||
<Size x="1.0" y="1.0" />
|
||||
<EquirectangularProjection quality="1k" />
|
||||
</Viewport>
|
||||
</Window>
|
||||
<Window fullScreen="false" name="GUI" tags="GUI" draw3d="false">
|
||||
<Stereo type="none" />
|
||||
<Size x="1280" y="720" />
|
||||
<Pos x="50" y="50" />
|
||||
<Viewport>
|
||||
<Pos x="0.0" y="0.0" />
|
||||
<Size x="1.0" y="1.0" />
|
||||
</Viewport>
|
||||
</Window>
|
||||
</Node>
|
||||
<User eyeSeparation="0.065">
|
||||
<Pos x="0.0" y="0.0" z="0.0" />
|
||||
</User>
|
||||
</Cluster>
|
||||
@@ -4,6 +4,7 @@ local CreateFocusNodes = false
|
||||
local AddMarsLayers = true
|
||||
local AddMoonLayers = true
|
||||
local AddMercuryLayers = true
|
||||
local DataFolder = openspace.absPath('${BASE}/../OpenSpaceData')
|
||||
----------------------------------------
|
||||
|
||||
-- If you add layers for different planets than listed here, be sure to add an
|
||||
@@ -25,11 +26,11 @@ local vrt_folders = {
|
||||
-- example: 'C:/OpenSpace/GlobeBrowsingData/Mars/CTX'
|
||||
|
||||
-- We recommend using this folder for CTX
|
||||
openspace.absPath('${BASE}/../OpenSpaceData/Mars/CTX'),
|
||||
DataFolder .. '/Mars/CTX',
|
||||
-- if not and you have a custom path for CTX layers, enter it below
|
||||
'',
|
||||
-- We recommend using this folder for HiRISE
|
||||
openspace.absPath('${BASE}/../OpenSpaceData/Mars/HiRISE'),
|
||||
DataFolder .. '/Mars/HiRISE',
|
||||
-- if not and you have a custom path for HiRISE layers, enter it below
|
||||
''
|
||||
},
|
||||
@@ -39,8 +40,8 @@ local vrt_folders = {
|
||||
-- if areas overlap, images from the lower results will overwrite the images from former
|
||||
-- results
|
||||
-- example: 'C:/OpenSpace/GlobeBrowsingData/Moon'
|
||||
openspace.absPath('${BASE}/../OpenSpaceData/Moon'),
|
||||
openspace.absPath('${BASE}/../OpenSpaceData/Apollo'),
|
||||
DataFolder .. '/Moon',
|
||||
DataFolder .. '/Apollo',
|
||||
''
|
||||
},
|
||||
Mercury = {
|
||||
@@ -49,7 +50,7 @@ local vrt_folders = {
|
||||
-- if areas overlap, images from the lower results will overwrite the images from former
|
||||
-- results
|
||||
-- example: 'C:/OpenSpace/GlobeBrowsingData/Mercury'
|
||||
openspace.absPath('${BASE}/../OpenSpaceData/Mercury'),
|
||||
DataFolder .. '/Mercury',
|
||||
''
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
|
||||
-- @TODO (emmbr 2020-02-03) Potential threading issue later on? This will run on the main thread
|
||||
local cyanTexture = openspace.createSingeColorImage("example_disc_color1", {0.0, 1.0, 1.0})
|
||||
local purpleTexture = openspace.createSingeColorImage("example_disc_color2", {0.5, 0.0, 0.5})
|
||||
local cyanTexture = openspace.createSingleColorImage("example_disc_color1", {0.0, 1.0, 1.0})
|
||||
local purpleTexture = openspace.createSingleColorImage("example_disc_color2", {0.5, 0.0, 0.5})
|
||||
|
||||
local BasicDisc = {
|
||||
Identifier = "BasicDisc",
|
||||
|
||||
@@ -17,8 +17,7 @@ local radialGrid = {
|
||||
Color = { 0.6, 1.0, 0.7 },
|
||||
LineWidth = 3.0,
|
||||
GridSegments = { 3, 4 },
|
||||
OuterRadius = 1.0,
|
||||
InnerRadius = 0.2,
|
||||
Radii = { 0.2, 1.0 },
|
||||
Enabled = false
|
||||
},
|
||||
GUI = {
|
||||
|
||||
@@ -16,7 +16,7 @@ local circle = {
|
||||
LineWidth = 3.0,
|
||||
GridSegments = { 1, 1 },
|
||||
CircleSegments = 64,
|
||||
OuterRadius = 1.0
|
||||
Radii = { 0.0, 1.0 }
|
||||
},
|
||||
GUI = {
|
||||
Name = "Example Circle",
|
||||
@@ -29,7 +29,7 @@ local ellipse = {
|
||||
Transform = {
|
||||
Scale = {
|
||||
Type = "NonUniformStaticScale",
|
||||
Scale = {1.5, 1.0, 1.0}
|
||||
Scale = { 1.5, 1.0, 1.0 }
|
||||
}
|
||||
},
|
||||
Renderable = {
|
||||
@@ -38,7 +38,7 @@ local ellipse = {
|
||||
LineWidth = 3.0,
|
||||
GridSegments = { 1, 1 },
|
||||
CircleSegments = 64,
|
||||
OuterRadius = scale
|
||||
Radii = { 0.0, scale }
|
||||
},
|
||||
GUI = {
|
||||
Name = "Example Ellipse",
|
||||
|
||||
@@ -15,7 +15,7 @@ local bookmarksCSV = asset.syncedResource({
|
||||
local nodes = {}
|
||||
|
||||
asset.onInitialize(function ()
|
||||
nodes = bookmarkHelper.getBookmarks('OpenSpace Bookmarks', bookmarksCSV .. '/bookmarks.csv.txt')
|
||||
nodes = bookmarkHelper.getBookmarks('OpenSpace Bookmarks', bookmarksCSV .. '/bookmarks.csv')
|
||||
for _, n in ipairs(nodes) do
|
||||
openspace.addSceneGraphNode(n);
|
||||
end
|
||||
|
||||
@@ -24,13 +24,13 @@ local object = {
|
||||
Color = { 1.0, 1.0, 1.0 },
|
||||
Opacity = 1.0,
|
||||
File = speck .. "/2dF.speck",
|
||||
Unit = "Mpc",
|
||||
Texture = textures .. "/point3A.png",
|
||||
ColorMap = speck .. "/2dF.cmap",
|
||||
ColorOption = { "redshift", "proximity" },
|
||||
ColorRange = { { 0.0, 0.075 }, { 1.0, 25.0 } },
|
||||
Unit = "Mpc",
|
||||
ScaleFactor = 520.0,
|
||||
BillboardMaxSize = 4.7,
|
||||
BillboardMinMaxSize = { 0.0, 4.7 },
|
||||
EnablePixelSizeControl = true
|
||||
},
|
||||
GUI = {
|
||||
|
||||
@@ -24,15 +24,15 @@ local object = {
|
||||
Color = { 1.0, 0.4, 0.2 },
|
||||
Opacity = 1.0,
|
||||
File = speck .. "/2MASS.speck",
|
||||
Unit = "Mpc",
|
||||
Texture = textures .. "/point3A.png",
|
||||
ColorMap = speck .. "/lss.cmap",
|
||||
ColorOption = { "redshift", "prox5Mpc" },
|
||||
ColorRange = { { 0.0, 0.075 }, { 1.0, 50.0 } },
|
||||
Unit = "Mpc",
|
||||
CorrectionSizeEndDistance = 20.6,
|
||||
CorrectionSizeFactor = 15.0,
|
||||
ScaleFactor = 510.78,
|
||||
BillboardMaxSize = 11.15,
|
||||
BillboardMinMaxSize = { 0.0, 11.15 },
|
||||
EnablePixelSizeControl = true
|
||||
},
|
||||
GUI = {
|
||||
|
||||
@@ -24,14 +24,14 @@ local object = {
|
||||
Color = { 1.0, 1.0, 0.0 },
|
||||
Opacity = 1.0,
|
||||
File = speck .. "/6dF.speck",
|
||||
Unit = "Mpc",
|
||||
Texture = textures .. "/point3A.png",
|
||||
ColorMap = speck .. "/6dF.cmap",
|
||||
ColorOption = { "redshift", "proximity" },
|
||||
ColorRange = { { 0.0, 0.075 }, { 1.0, 10.0 } },
|
||||
Unit = "Mpc",
|
||||
ScaleFactor = 534.0,
|
||||
BillboardMaxSize = 9.0,
|
||||
EnablePixelSizeControl = true,
|
||||
BillboardMinMaxSize = { 0.0, 9.0 },
|
||||
EnablePixelSizeControl = true
|
||||
},
|
||||
GUI = {
|
||||
Name = "6dF Galaxies",
|
||||
|
||||
@@ -27,10 +27,10 @@ local object = {
|
||||
File = speck .. "/abell.speck",
|
||||
Texture = textures .. "/point3A.png",
|
||||
LabelFile = speck .. "/abell.label",
|
||||
Unit = "Mpc",
|
||||
TextColor = { 0.0, 0.8, 0.0 },
|
||||
TextSize = 22,
|
||||
TextMinSize = 10.0,
|
||||
Unit = "Mpc",
|
||||
TextMinMaxSize = { 10, 12 },
|
||||
TransformationMatrix = {
|
||||
-0.7357425748, 0.67726129641, 0.0, 0.0,
|
||||
-0.074553778365, -0.080991471307, 0.9939225904, 0.0,
|
||||
@@ -38,7 +38,7 @@ local object = {
|
||||
0.0, 0.0, 0.0, 1.0
|
||||
},
|
||||
ScaleFactor = 520.0,
|
||||
BillboardMaxSize = 7.0,
|
||||
BillboardMinMaxSize = { 0.0, 7.0 },
|
||||
EnablePixelSizeControl = true
|
||||
},
|
||||
GUI = {
|
||||
|
||||
@@ -17,11 +17,11 @@ local object = {
|
||||
Color = { 1.0, 1.0, 1.0 },
|
||||
Opacity = 0.65,
|
||||
LabelFile = speck .. "/stars-altlbl.label",
|
||||
Unit = "pc",
|
||||
TextColor = { 0.4, 0.4, 0.4 },
|
||||
DrawLabels = true,
|
||||
TextSize = 14.7,
|
||||
TextMinSize = 6.0,
|
||||
Unit = "pc"
|
||||
TextMinMaxSize = { 6, 20 }
|
||||
},
|
||||
GUI = {
|
||||
Name = "Stars Labels - Alternate",
|
||||
|
||||
@@ -17,11 +17,11 @@ local object = {
|
||||
Color = { 1.0, 1.0, 1.0 },
|
||||
Opacity = 0.65,
|
||||
LabelFile = speck .. "/galclust.label",
|
||||
Unit = "Mpc",
|
||||
TextColor = { 1.0, 0.44, 0.0 },
|
||||
DrawLabels = true,
|
||||
TextSize = 22,
|
||||
TextMinSize = 8.0,
|
||||
Unit = "Mpc",
|
||||
TextMinMaxSize = { 8, 20 },
|
||||
TransformationMatrix = {
|
||||
-0.7357425748, 0.67726129641, 0.0, 0.0,
|
||||
-0.074553778365, -0.080991471307, 0.9939225904, 0.0,
|
||||
|
||||
@@ -20,8 +20,7 @@ local constellationsExtragalactic = {
|
||||
TextColor = { 0.8, 0.8, 0.8 },
|
||||
TextOpacity = 0.4,
|
||||
TextSize = 20.0,
|
||||
TextMinSize = 20.0,
|
||||
TextMaxSize = 30.0,
|
||||
TextMinMaxSize = { 20, 30 },
|
||||
MeshColor = { { 0.6, 0.4, 0.4 }, { 0.8, 0.0, 0.0 }, { 0.0, 0.3, 0.8 } },
|
||||
Unit = "Mpc"
|
||||
},
|
||||
@@ -42,8 +41,7 @@ local constellations = {
|
||||
TextColor = { 0.8, 0.8, 0.8 },
|
||||
TextOpacity = 0.3,
|
||||
TextSize = 14.5,
|
||||
TextMaxSize = 170.0,
|
||||
TextMinSize = 8.0,
|
||||
TextMinMaxSize = { 8, 170 },
|
||||
MeshColor = { { 0.6, 0.4, 0.4 }, { 0.8, 0.0, 0.0 }, { 0.0, 0.3, 0.8 } },
|
||||
Unit = "pc"
|
||||
},
|
||||
|
||||
@@ -30,15 +30,12 @@ local deepSkyPoints = {
|
||||
--ColorOption = { "prox5Mpc" },
|
||||
--ColorRange = { { 1.0, 30.0 } },
|
||||
LabelFile = speck .. "/dso.label",
|
||||
Unit = "pc",
|
||||
TextColor = { 0.1, 0.4, 0.6 },
|
||||
TextSize = 20.50,
|
||||
TextMinSize = 16.0,
|
||||
Unit = "pc",
|
||||
-- Fade in value in the same unit as "Unit"
|
||||
--FadeInDistances = { 0.05, 1.0 },
|
||||
-- Max size in pixels
|
||||
BillboardMaxSize = 8.22,
|
||||
BillboardMinSize = 0.0,
|
||||
TextMinMaxSize = { 16, 20 },
|
||||
--FadeInDistances = { 0.05, 1.0 }, -- Fade in value in the same unit as "Unit"
|
||||
BillboardMinMaxSize = { 0.0, 8.22 }, -- in pixels
|
||||
--CorrectionSizeEndDistance = 22.0,
|
||||
--CorrectionSizeFactor = 10.45
|
||||
EnablePixelSizeControl = true
|
||||
|
||||
@@ -26,18 +26,18 @@ local object = {
|
||||
File = speck .. "/dwarfs.speck",
|
||||
Texture = textures .. "/point3.png",
|
||||
LabelFile = speck .. "/dwarfs.label",
|
||||
Unit = "pc",
|
||||
ColorMap = speck .. "/dwarfs.cmap",
|
||||
ColorOption = { "typeindex" },
|
||||
--ColorRange = { { 1.0, 4.0} },
|
||||
TextColor = { 0.5, 0.1, 0.2 },
|
||||
TextSize = 14.6,
|
||||
TextMinSize = 10.0,
|
||||
TextMinMaxSize = { 10, 20 },
|
||||
ScaleFactor = 372.1,
|
||||
--CorrectionSizeEndDistance = 16.1,
|
||||
--CorrectionSizeFactor = 7.75,
|
||||
BillboardMaxSize = 20.0,
|
||||
EnablePixelSizeControl = true,
|
||||
Unit = "pc"
|
||||
BillboardMinMaxSize = { 0.0, 20.0 },
|
||||
EnablePixelSizeControl = true
|
||||
},
|
||||
GUI = {
|
||||
Name = "Brown Dwarfs",
|
||||
|
||||
@@ -27,15 +27,14 @@ local object = {
|
||||
Texture = textures .. "/target-blue.png",
|
||||
File = speck .. "/expl.speck",
|
||||
LabelFile = speck .. "/expl.label",
|
||||
Unit = "pc",
|
||||
ScaleFactor = 388.67923,
|
||||
TextColor = { 0.3, 0.3, 0.8 },
|
||||
TextSize = 14.8,
|
||||
TextMaxSize = 200.0,
|
||||
TextMinSize = 10.0,
|
||||
TextMinMaxSize = { 10, 100 },
|
||||
CorrectionSizeEndDistance = 15.23,
|
||||
CorrectionSizeFactor = 13.3,
|
||||
Unit = "pc",
|
||||
BillboardMaxSize = 75.0,
|
||||
BillboardMinMaxSize = { 0.0, 75.0 },
|
||||
EnablePixelSizeControl = true,
|
||||
},
|
||||
GUI = {
|
||||
|
||||
@@ -27,13 +27,12 @@ local object = {
|
||||
Texture = textures .. "/point4.png",
|
||||
PolygonSides = 5,
|
||||
LabelFile = speck .. "/gc.label",
|
||||
Unit = "pc",
|
||||
TextColor = { 0.5, 0.5, 0.0 },
|
||||
ScaleFactor = 431.0,
|
||||
TextSize = 16.7,
|
||||
TextMinSize = 4.0,
|
||||
TextMaxSize = 20,
|
||||
Unit = "pc",
|
||||
BillboardMaxSize = 500,
|
||||
TextMinMaxSize = { 4, 20 },
|
||||
BillboardMinMaxSize = { 0.0, 500.0 },
|
||||
EnablePixelSizeControl = true,
|
||||
},
|
||||
GUI = {
|
||||
|
||||
@@ -110,12 +110,11 @@ local eclipticLabels = {
|
||||
Color = { 1.0, 1.0, 1.0 },
|
||||
Opacity = 0.65,
|
||||
LabelFile = speck .. "/eclip.label",
|
||||
Unit = "pc",
|
||||
DrawLabels = true,
|
||||
TextColor = { 0.5, 0.5, 0.5 },
|
||||
TextSize = 14.75,
|
||||
TextMinSize = 1.3,
|
||||
TextMaxSize = 50.0,
|
||||
Unit = "pc",
|
||||
TextMinMaxSize = { 1, 50 },
|
||||
TransformationMatrix = {
|
||||
-0.05487554, 0.4941095, -0.8676661, 0.0,
|
||||
-0.9938214 , -0.1109906, -0.0003515167, 0.0,
|
||||
@@ -164,12 +163,11 @@ local equatorialLabels = {
|
||||
Color = { 1.0, 1.0, 1.0 },
|
||||
Opacity = 0.65,
|
||||
LabelFile = speck .. "/radec.label",
|
||||
Unit = "pc",
|
||||
DrawLabels = true,
|
||||
TextColor = { 0.5, 0.5, 0.5 },
|
||||
TextSize = 14.5,
|
||||
TextMinSize = 1.7,
|
||||
TextMaxSize = 70.0,
|
||||
Unit = "pc",
|
||||
TextMinMaxSize = { 2, 70 },
|
||||
TransformationMatrix = {
|
||||
-0.05487554, 0.4941095, -0.8676661, 0.0,
|
||||
-0.8734371 , -0.4448296, -0.1980764, 0.0,
|
||||
@@ -214,12 +212,11 @@ local galacticLabels = {
|
||||
Color = { 1.0, 1.0, 1.0 },
|
||||
Opacity = 0.65,
|
||||
LabelFile = speck .. "/galac.label",
|
||||
Unit = "pc",
|
||||
DrawLabels = true,
|
||||
TextColor = { 0.5, 0.5, 0.5 },
|
||||
TextSize = 15.8,
|
||||
TextMinSize = 0.5,
|
||||
TextMaxSize = 100.0,
|
||||
Unit = "pc"
|
||||
TextMinMaxSize = { 1, 100 }
|
||||
},
|
||||
GUI = {
|
||||
Name = "Galactic Sphere Labels",
|
||||
@@ -245,8 +242,7 @@ local plane1ld = {
|
||||
LabelFile = speck .. "/1ld.label",
|
||||
TextColor = { 0.0, 0.2, 0.5 },
|
||||
TextSize = 10.3,
|
||||
TextMinSize = 0.5,
|
||||
TextMaxSize = 30.0,
|
||||
TextMinMaxSize = { 0, 30 },
|
||||
Unit = "Km"
|
||||
},
|
||||
GUI = {
|
||||
@@ -273,8 +269,7 @@ local plane1lm = {
|
||||
LabelFile = speck .. "/1lm.label",
|
||||
TextColor = { 0.0, 0.2, 0.5 },
|
||||
TextSize = 11.8,
|
||||
TextMinSize = 0.5,
|
||||
TextMaxSize = 30.0,
|
||||
TextMinMaxSize = { 0, 30 },
|
||||
Unit = "pc"
|
||||
},
|
||||
GUI = {
|
||||
@@ -301,8 +296,7 @@ local plane1ly = {
|
||||
LabelFile = speck .. "/1ly.label",
|
||||
TextColor = { 0.0, 0.2, 0.5 },
|
||||
TextSize = 13.0,
|
||||
TextMinSize = 0.5,
|
||||
TextMaxSize = 30.0,
|
||||
TextMinMaxSize = { 0, 30 },
|
||||
Unit = "pc"
|
||||
},
|
||||
GUI = {
|
||||
@@ -329,8 +323,7 @@ local plane10ly = {
|
||||
LabelFile = speck .. "/10ly.label",
|
||||
TextColor = { 0.0, 0.2, 0.5 },
|
||||
TextSize = 14.17,
|
||||
TextMinSize = 0.5,
|
||||
TextMaxSize = 30.0,
|
||||
TextMinMaxSize = { 0, 30 },
|
||||
Unit = "pc"
|
||||
},
|
||||
GUI = {
|
||||
@@ -357,8 +350,7 @@ local plane100ly = {
|
||||
LabelFile = speck .. "/100ly.label",
|
||||
TextColor = { 0.0, 0.2, 0.5 },
|
||||
TextSize = 15.0,
|
||||
TextMinSize = 0.5,
|
||||
TextMaxSize = 30.0,
|
||||
TextMinMaxSize = { 0, 30 },
|
||||
Unit = "pc"
|
||||
},
|
||||
GUI = {
|
||||
@@ -385,8 +377,7 @@ local plane1kly = {
|
||||
LabelFile = speck .. "/1kly.label",
|
||||
TextColor = { 0.0, 0.2, 0.5 },
|
||||
TextSize = 16.0,
|
||||
TextMinSize = 0.5,
|
||||
TextMaxSize = 30.0,
|
||||
TextMinMaxSize = { 0, 30 },
|
||||
Unit = "pc"
|
||||
},
|
||||
GUI = {
|
||||
@@ -413,8 +404,7 @@ local plane10kly = {
|
||||
LabelFile = speck .. "/10kly.label",
|
||||
TextColor = { 0.0, 0.2, 0.5 },
|
||||
TextSize = 17.25,
|
||||
TextMinSize = 0.5,
|
||||
TextMaxSize = 30.0,
|
||||
TextMinMaxSize = { 0, 30 },
|
||||
Unit = "pc"
|
||||
},
|
||||
GUI = {
|
||||
@@ -434,8 +424,7 @@ local plane100kly = {
|
||||
LabelFile = speck .. "/100kly.label",
|
||||
TextColor = { 0.0, 0.2, 0.5 },
|
||||
TextSize = 18.6,
|
||||
TextMinSize = 0.5,
|
||||
TextMaxSize = 30.0,
|
||||
TextMinMaxSize = { 0, 30 },
|
||||
Unit = "Mpc"
|
||||
},
|
||||
GUI = {
|
||||
@@ -455,8 +444,7 @@ local plane1Mly = {
|
||||
LabelFile = speck .. "/1Mly.label",
|
||||
TextColor = { 0.0, 0.2, 0.5 },
|
||||
TextSize = 19.6,
|
||||
TextMinSize = 0.5,
|
||||
TextMaxSize = 30.0,
|
||||
TextMinMaxSize = { 0, 30 },
|
||||
Unit = "Mpc"
|
||||
},
|
||||
GUI = {
|
||||
@@ -476,8 +464,7 @@ local plane10Mly = {
|
||||
LabelFile = speck .. "/10Mly.label",
|
||||
TextColor = { 0.0, 0.2, 0.5 },
|
||||
TextSize = 20.6,
|
||||
TextMinSize = 0.5,
|
||||
TextMaxSize = 30.0,
|
||||
TextMinMaxSize = { 0, 30 },
|
||||
Unit = "Mpc"
|
||||
},
|
||||
GUI = {
|
||||
@@ -497,8 +484,7 @@ local plane100Mly = {
|
||||
LabelFile = speck .. "/100Mly.label",
|
||||
TextColor = { 0.0, 0.2, 0.5 },
|
||||
TextSize = 21.6,
|
||||
TextMinSize = 0.5,
|
||||
TextMaxSize = 30.0,
|
||||
TextMinMaxSize = { 0, 30 },
|
||||
Unit = "Mpc"
|
||||
},
|
||||
GUI = {
|
||||
@@ -518,8 +504,7 @@ local plane20Gly = {
|
||||
LabelFile = speck .. "/20Gly.label",
|
||||
TextColor = { 0.0, 0.2, 0.5 },
|
||||
TextSize = 23.6,
|
||||
TextMinSize = 0.5,
|
||||
TextMaxSize = 30.0,
|
||||
TextMinMaxSize = { 0, 30 },
|
||||
Unit = "Mpc"
|
||||
},
|
||||
GUI = {
|
||||
|
||||
@@ -18,10 +18,10 @@ local object = {
|
||||
Opacity = 0.65,
|
||||
--ScaleFactor = 10.0,
|
||||
LabelFile = speck .. "/groups.label",
|
||||
Unit = "Mpc",
|
||||
TextColor = { 0.1, 0.6, 0.2 },
|
||||
TextSize = 21.5,
|
||||
TextMinSize = 8.0,
|
||||
Unit = "Mpc",
|
||||
TextMinMaxSize = { 8, 20 },
|
||||
DrawLabels = true,
|
||||
TransformationMatrix = {
|
||||
-0.7357425748, 0.67726129641, 0.0, 0.0,
|
||||
|
||||
@@ -27,13 +27,12 @@ local object = {
|
||||
Texture = textures .."/point4.png",
|
||||
PolygonSides = 6,
|
||||
LabelFile = speck .. "/h2.label",
|
||||
Unit = "pc",
|
||||
TextColor = { 0.5, 0.5, 0.5 },
|
||||
ScaleFactor = 420,
|
||||
TextSize = 16.24,
|
||||
TextMinSize = 4.0,
|
||||
TextMaxSize = 20.0,
|
||||
Unit = "pc",
|
||||
BillboardMaxSize = 300.0,
|
||||
TextMinMaxSize = { 4, 20 },
|
||||
BillboardMinMaxSize = { 0.0, 300.0 },
|
||||
EnablePixelSizeControl = false
|
||||
},
|
||||
GUI = {
|
||||
|
||||
84
data/assets/scene/digitaluniverse/hdf.asset
Normal file
84
data/assets/scene/digitaluniverse/hdf.asset
Normal file
@@ -0,0 +1,84 @@
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
local circle = asset.require('util/circle').circle
|
||||
|
||||
local HUDFSpeck = asset.syncedResource({
|
||||
Name = "HUDF Speck",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_hudf_speck",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local ColorMap = asset.syncedResource({
|
||||
Name = "HUDF color map",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_hudf_textures",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local object = {
|
||||
Identifier = "HubbleDeepField",
|
||||
Renderable = {
|
||||
Type = "RenderableBillboardsCloud",
|
||||
Enabled = false,
|
||||
Color = { 1.0, 1.0, 1.0 },
|
||||
Opacity = 1.0,
|
||||
File = HUDFSpeck .. "/hudf.speck",
|
||||
Texture = circle .. "/circle.png",
|
||||
ColorMap = ColorMap .. "/hudf.cmap",
|
||||
ColorOption = { "redshift", "proximity" },
|
||||
ColorRange = { { 0.0, 0.075 }, { 1.0, 25.0 } },
|
||||
Unit = "Mpc",
|
||||
ScaleFactor = 520.0,
|
||||
BillboardMaxSize = 4.7,
|
||||
EnablePixelSizeControl = true
|
||||
},
|
||||
GUI = {
|
||||
Name = "Hubble Deep Field",
|
||||
Path = "/Universe/Galaxies",
|
||||
Description = [[
|
||||
Hubble Ultra Deep Field galaxy survey <br><br>
|
||||
Data Reference: Hubble Ultra Deep Field 2012 program (Ellis+, Koekemoer+, 2013)
|
||||
]],
|
||||
}
|
||||
}
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, { object })
|
||||
|
||||
asset.meta = {
|
||||
Name = "Hubble Ultra Deep Field",
|
||||
Version = "1.1",
|
||||
Description = "Hubble Ultra Deep Field galaxy survey",
|
||||
Author = "Frank Summers (STScI), Brian Abbott (AMNH)",
|
||||
Identifiers = {"HubbleDeepField"},
|
||||
URL = "http://www.haydenplanetarium.org/universe",
|
||||
License = [[
|
||||
Copyright (c) American Museum of Natural History. All rights reserved.<br><br>
|
||||
|
||||
Downloading the Atlas:<br>
|
||||
AMNH offers the Atlas free of charge via our website, http://www.haydenplanetarium.org/.
|
||||
The User is free to download and/or duplicate verbatim copies of the Atlas provided this
|
||||
license and copyright information accompany the Atlas.<br><br>
|
||||
|
||||
Modifying the Atlas:<br>
|
||||
The user is free to modify the Atlas by either adding data or altering existing data,
|
||||
provided it is for personal use only. Once the user modifies the Atlas, it is no longer
|
||||
part of AMNH's Atlas and cannot be used publicly alongside or within the Atlas without
|
||||
written permission from AMNH.<br><br>
|
||||
|
||||
Distributing the Atlas:<br>
|
||||
The user is forbidden to distribute and use the Atlas for profit, as part of a software
|
||||
and/or production system that will subsequently be redistributed, or for public consumption
|
||||
(via print, electronic media, or broadcast/produced pieces) without written permission
|
||||
from AMNH.<br><br>
|
||||
|
||||
Neither the names of American Museum of Natural History and Hayden Planetarium nor the names
|
||||
of their contributors may be used to endorse or promote products derived from this Atlas
|
||||
without specific, prior written permission.<br><br>
|
||||
|
||||
The Atlas is free but is offered WITHOUT ANY WARRANTY of any kind. We provide the Atlas as
|
||||
is and take no responsibility for any damage resulting from the use of this Atlas. The entire
|
||||
risk as to the quality and performance of this product is with the user.<br><br>
|
||||
|
||||
For more information, please visit http://www.haydenplanetarium.org/universe
|
||||
]]
|
||||
}
|
||||
@@ -25,11 +25,11 @@ local object = {
|
||||
Opacity = 0.99,
|
||||
ScaleFactor = 410.0,
|
||||
File = speck .. "/kepler.speck",
|
||||
Unit = "pc",
|
||||
Texture = textures .. "/halo.png",
|
||||
CorrectionSizeEndDistance = 15.86,
|
||||
CorrectionSizeFactor = 8.59,
|
||||
Unit = "pc",
|
||||
BillboardMaxSize = 30.0,
|
||||
BillboardMinMaxSize = { 0.0, 30.0 },
|
||||
EnablePixelSizeControl = true
|
||||
},
|
||||
GUI = {
|
||||
|
||||
@@ -29,12 +29,12 @@ local object = {
|
||||
Texture = textures .. "/point4.png",
|
||||
PolygonSides = 12,
|
||||
LabelFile = speck .. "/localgroup.label",
|
||||
Unit = "Mpc",
|
||||
TextColor = { 0.3, 0.3, 1.0 },
|
||||
ScaleFactor = 465,
|
||||
TextSize = 18.3,
|
||||
TextMinSize = 7.3,
|
||||
Unit = "Mpc",
|
||||
BillboardMaxSize = 20.0,
|
||||
TextMinMaxSize = { 7, 20 },
|
||||
BillboardMinMaxSize = { 0.0, 20.0 },
|
||||
EnablePixelSizeControl = true
|
||||
},
|
||||
GUI = {
|
||||
|
||||
@@ -20,19 +20,18 @@ local homeLabel = {
|
||||
ScaleFactor = 500.0,
|
||||
DrawLabels = true,
|
||||
LabelFile = homespeck .. "/home.label",
|
||||
Unit = "Mpc",
|
||||
TextColor = { 0.8, 0.8, 0.8 },
|
||||
TextSize = 20.50,
|
||||
TextMinSize = 16.0,
|
||||
TextMinMaxSize = { 16, 20 },
|
||||
TransformationMatrix = {
|
||||
-0.7357425748, 0.67726129641, 0.0, 0.0,
|
||||
-0.074553778365, -0.080991471307, 0.9939225904, 0.0,
|
||||
0.67314530211, 0.73127116582, 0.11008126223, 0.0,
|
||||
0.0, 0.0, 0.0, 1.0
|
||||
},
|
||||
Unit = "Mpc",
|
||||
FadeInDistances = { 0.05, 1.0 },
|
||||
BillboardMaxSize = 8.22,
|
||||
BillboardMinSize = 0.0,
|
||||
BillboardMinMaxSize = { 0.0, 8.22 },
|
||||
EnablePixelSizeControl = true
|
||||
},
|
||||
GUI = {
|
||||
|
||||
@@ -24,20 +24,19 @@ local object = {
|
||||
Color = { 1.0, 1.0, 1.0 },
|
||||
ColorMap = speck .. "/ob.cmap",
|
||||
ColorOption = { "arm" },
|
||||
SizeOption = {"diameter"},
|
||||
SizeOption = { "diameter" },
|
||||
ExactColorMap = true,
|
||||
Opacity = 0.7,
|
||||
File = speck .. "/ob.speck",
|
||||
Unit = "pc",
|
||||
Texture = textures .. "/point4.png",
|
||||
PolygonSides = 7,
|
||||
LabelFile = speck .. "/ob.label",
|
||||
TextColor = { 0.4, 0.5, 1.0 },
|
||||
ScaleFactor = 390.0,
|
||||
TextSize = 16.24,
|
||||
TextMinSize = 4.50,
|
||||
TextMaxSize = 25,
|
||||
Unit = "pc",
|
||||
BillboardMaxSize = 450.0,
|
||||
TextMinMaxSize = { 4, 25 },
|
||||
BillboardMinMaxSize = { 0.0, 450.0 },
|
||||
EnablePixelSizeControl = true
|
||||
},
|
||||
GUI = {
|
||||
|
||||
@@ -24,16 +24,15 @@ local object = {
|
||||
Color = { 0.1, 0.8, 0.4 },
|
||||
Opacity = 0.5,
|
||||
File = speck .. "/oc.speck",
|
||||
Unit = "pc",
|
||||
Texture = textures .. "/point4.png",
|
||||
PolygonSides = 12,
|
||||
TextColor = { 0.05, 0.4, 0.2 },
|
||||
LabelFile = speck .. "/oc.label",
|
||||
ScaleFactor = 405.75,
|
||||
TextSize = 15.5,
|
||||
TextMinSize = 4.5,
|
||||
TextMaxSize = 30.0,
|
||||
Unit = "pc",
|
||||
BillboardMaxSize = 604,
|
||||
TextMinMaxSize = { 4, 30 },
|
||||
BillboardMinMaxSize = { 0.0, 604.0 },
|
||||
EnablePixelSizeControl = true
|
||||
},
|
||||
GUI = {
|
||||
|
||||
@@ -27,13 +27,12 @@ local object = {
|
||||
Texture = textures .. "/point4.png",
|
||||
PolygonSides = 3,
|
||||
LabelFile = speck .. "/pn.label",
|
||||
Unit = "pc",
|
||||
TextColor = { 0.25, 0.25, 0.65 },
|
||||
ScaleFactor = 425.0,
|
||||
TextSize = 16.24,
|
||||
TextMinSize = 4.5,
|
||||
TextMaxSize = 25.0,
|
||||
Unit = "pc",
|
||||
BillboardMaxSize = 500,
|
||||
TextMinMaxSize = { 4, 25 },
|
||||
BillboardMinMaxSize = { 0.0, 500.0 },
|
||||
EnablePixelSizeControl = true
|
||||
},
|
||||
GUI = {
|
||||
|
||||
@@ -27,13 +27,12 @@ local object = {
|
||||
Texture = textures .. "/point4.png",
|
||||
PolygonSides = 4,
|
||||
LabelFile = speck .. "/pulsar.label",
|
||||
Unit = "pc",
|
||||
TextColor = { 0.7, 0.2, 0.2 },
|
||||
ScaleFactor = 424,
|
||||
TextSize = 15.77,
|
||||
TextMinSize = 4,
|
||||
TextMaxSize = 20.0,
|
||||
Unit = "pc",
|
||||
BillboardMaxSize = 500,
|
||||
TextMinMaxSize = { 4, 20 },
|
||||
BillboardMinMaxSize = { 0.0, 500.0 },
|
||||
EnablePixelSizeControl = false
|
||||
},
|
||||
GUI = {
|
||||
|
||||
@@ -27,11 +27,8 @@ local object = {
|
||||
Texture = textures .. "/point3A.png",
|
||||
Unit = "Mpc",
|
||||
ScaleFactor = 540.9,
|
||||
-- Fade in value in the same unit as "Unit"
|
||||
FadeInDistances = { 1000.0, 10000.0 },
|
||||
BillboardMaxSize = 30.0,
|
||||
BillboardMinSize = 0.0,
|
||||
BillboardMaxSize = 11.1,
|
||||
FadeInDistances = { 1000.0, 10000.0 }, -- Fade in value in the same unit as "Unit"
|
||||
BillboardMinMaxSize = { 0.0, 11.1 },
|
||||
EnablePixelSizeControl = true
|
||||
},
|
||||
GUI = {
|
||||
|
||||
@@ -30,16 +30,12 @@ local object = {
|
||||
ColorRange = { { 0.0, 0.075 }, { 1.0, 50.0 } },
|
||||
Texture = textures .. "/point3A.png",
|
||||
Unit = "Mpc",
|
||||
-- Fade in value in the same unit as "Unit"
|
||||
FadeInDistances = { 220.0, 650.0 },
|
||||
BillboardMaxSize = 50.0,
|
||||
BillboardMinSize = 0.0,
|
||||
FadeInDistances = { 220.0, 650.0 }, -- Fade in value in the same unit as "Unit"
|
||||
BillboardMinMaxSize = { 0.0, 5.5 },
|
||||
CorrectionSizeEndDistance = 20.65,
|
||||
CorrectionSizeFactor = 10.41,
|
||||
TextSize = 14.8,
|
||||
TextMinSize = 10.0,
|
||||
TextMaxSize = 50.0,
|
||||
BillboardMaxSize = 5.5,
|
||||
TextMinMaxSize = { 10, 50 },
|
||||
EnablePixelSizeControl = true
|
||||
},
|
||||
GUI = {
|
||||
|
||||
@@ -17,12 +17,11 @@ local object = {
|
||||
Color = { 1.0, 1.0, 1.0 },
|
||||
Opacity = 0.65,
|
||||
LabelFile = speck .. "/stars.label",
|
||||
Unit = "pc",
|
||||
TextColor = { 0.4, 0.4, 0.4 },
|
||||
DrawLabels = true,
|
||||
TextSize = 14.7,
|
||||
TextMinSize = 6.0,
|
||||
TextMaxSize = 50.0,
|
||||
Unit = "pc"
|
||||
TextMinMaxSize = { 6, 50 }
|
||||
},
|
||||
GUI = {
|
||||
Name = "Stars Labels",
|
||||
|
||||
@@ -20,10 +20,8 @@ local sunOrbit = {
|
||||
File = speck .. "/starorbits-Sun.speck",
|
||||
MeshColor = {{ 1.0, 0.65, 0.0 }},
|
||||
--LabelFile = speck .. "/1ld.label",
|
||||
TextColor = { 0.0, 0.2, 0.5 },
|
||||
TextSize = 10.3,
|
||||
TextMinSize = 0.5,
|
||||
TextMaxSize = 30.0,
|
||||
-- TextColor = { 0.0, 0.2, 0.5 },
|
||||
-- TextMinMaxSize = { 0, 30 },
|
||||
Unit = "pc"
|
||||
},
|
||||
GUI = {
|
||||
@@ -43,10 +41,9 @@ local barnardsOrbit = {
|
||||
File = speck .. "/starorbits-BarnardsStar.speck",
|
||||
MeshColor = {{0.39, 0.58, 0.93}},
|
||||
--LabelFile = speck .. "/1ld.label",
|
||||
TextColor = { 0.0, 0.2, 0.5 },
|
||||
TextSize = 10.3,
|
||||
TextMinSize = 0.5,
|
||||
TextMaxSize = 30.0,
|
||||
-- TextColor = { 0.0, 0.2, 0.5 },
|
||||
-- TextSize = 10.3,
|
||||
-- TextMinMaxSize = { 0, 30 },
|
||||
Unit = "pc"
|
||||
},
|
||||
GUI = {
|
||||
@@ -66,10 +63,9 @@ local kapteynsOrbit = {
|
||||
File = speck .. "/starorbits-KapteynsStar.speck",
|
||||
MeshColor = {{0.6, 0.6, 0.6}},
|
||||
--LabelFile = speck .. "/1ld.label",
|
||||
TextColor = { 0.0, 0.2, 0.5 },
|
||||
TextSize = 10.3,
|
||||
TextMinSize = 0.5,
|
||||
TextMaxSize = 30.0,
|
||||
-- TextColor = { 0.0, 0.2, 0.5 },
|
||||
-- TextSize = 10.3,
|
||||
-- TextMinMaxSize = { 0, 30 },
|
||||
Unit = "pc"
|
||||
},
|
||||
GUI = {
|
||||
@@ -89,10 +85,9 @@ local lacaille9352Orbit = {
|
||||
File = speck .. "/starorbits-Lacaille9352.speck",
|
||||
MeshColor = {{0.58, 0.0, 0.83}},
|
||||
--LabelFile = speck .. "/1ld.label",
|
||||
TextColor = { 0.0, 0.2, 0.5 },
|
||||
TextSize = 10.3,
|
||||
TextMinSize = 0.5,
|
||||
TextMaxSize = 30.0,
|
||||
-- TextColor = { 0.0, 0.2, 0.5 },
|
||||
-- TextSize = 10.3,
|
||||
-- TextMinMaxSize = { 0, 30 },
|
||||
Unit = "pc"
|
||||
},
|
||||
GUI = {
|
||||
@@ -112,10 +107,9 @@ local lSR1826Orbit = {
|
||||
File = speck .. "/starorbits-LSR1826+3014.speck",
|
||||
MeshColor = {{0.0, 0.39, 0.0}},
|
||||
--LabelFile = speck .. "/1ld.label",
|
||||
TextColor = { 0.0, 0.2, 0.5 },
|
||||
TextSize = 10.3,
|
||||
TextMinSize = 0.5,
|
||||
TextMaxSize = 30.0,
|
||||
-- TextColor = { 0.0, 0.2, 0.5 },
|
||||
-- TextSize = 10.3,
|
||||
-- TextMinMaxSize = { 0, 30 },
|
||||
Unit = "pc"
|
||||
},
|
||||
GUI = {
|
||||
@@ -135,10 +129,9 @@ local lSRJ0822Orbit = {
|
||||
File = speck .. "/starorbits-LSRJ0822+1700.speck",
|
||||
MeshColor = {{0.5, 1.0, 0.0}},
|
||||
--LabelFile = speck .. "/1ld.label",
|
||||
TextColor = { 0.0, 0.2, 0.5 },
|
||||
TextSize = 10.3,
|
||||
TextMinSize = 0.5,
|
||||
TextMaxSize = 30.0,
|
||||
-- TextColor = { 0.0, 0.2, 0.5 },
|
||||
-- TextSize = 10.3,
|
||||
-- TextMinMaxSize = { 0, 30 },
|
||||
Unit = "pc"
|
||||
},
|
||||
GUI = {
|
||||
@@ -158,10 +151,9 @@ local pM_J13420Orbit = {
|
||||
File = speck .. "/starorbits-PM_J13420-3415.speck",
|
||||
MeshColor = {{0.70, 0.13, 0.13}},
|
||||
--LabelFile = speck .. "/1ld.label",
|
||||
TextColor = { 0.0, 0.2, 0.5 },
|
||||
TextSize = 10.3,
|
||||
TextMinSize = 0.5,
|
||||
TextMaxSize = 30.0,
|
||||
-- TextColor = { 0.0, 0.2, 0.5 },
|
||||
-- TextSize = 10.3,
|
||||
-- TextMinMaxSize = { 0, 30 },
|
||||
Unit = "pc"
|
||||
},
|
||||
GUI = {
|
||||
|
||||
@@ -1,13 +1,7 @@
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
|
||||
local colorLUT = asset.require('./stars_colormap').BvColorLUT
|
||||
|
||||
local textures = asset.syncedResource({
|
||||
Name = "Stars Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "stars_textures",
|
||||
Version = 1
|
||||
})
|
||||
local colormaps = asset.require('./stars_colormap').ColorMaps
|
||||
local textures = asset.require('./stars_textures').textures
|
||||
|
||||
local speck = asset.syncedResource({
|
||||
Name = "Stars Speck Files",
|
||||
@@ -30,10 +24,21 @@ local stars = {
|
||||
File = speck .. "/stars.speck",
|
||||
Texture = textures .. "/halo.png",
|
||||
--ShapeTexture = textures .. "/disc.png",
|
||||
ColorMap = colorLUT .. "/colorbv.cmap",
|
||||
ColorMap = colormaps .. "/colorbv.cmap",
|
||||
OtherDataColorMap = colormaps .. "/viridis.cmap",
|
||||
MagnitudeExponent = 6.2,
|
||||
SizeComposition = "Distance Modulus",
|
||||
RenderMethod = "Texture Based" -- or PSF
|
||||
RenderMethod = "Texture Based", -- or PSF
|
||||
DataMapping = {
|
||||
Bv = "colorb_v",
|
||||
Luminance = "lum",
|
||||
AbsoluteMagnitude = "absmag",
|
||||
ApparentMagnitude = "appmag",
|
||||
Vx = "vx",
|
||||
Vy = "vy",
|
||||
Vz = "vz",
|
||||
Speed = "speed"
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Name = "Stars",
|
||||
@@ -55,12 +60,22 @@ local sunstar = {
|
||||
File = sunspeck .. "/sunstar.speck",
|
||||
Texture = textures .. "/halo.png",
|
||||
--ShapeTexture = textures .. "/disc.png",
|
||||
ColorMap = colorLUT .. "/colorbv.cmap",
|
||||
ColorMap = colormaps .. "/colorbv.cmap",
|
||||
MagnitudeExponent = 6.2,
|
||||
SizeComposition = "Distance Modulus",
|
||||
RenderMethod = "Texture Based", -- or PSF
|
||||
FadeInDistances = { 0.0001, 0.1 },
|
||||
RenderableType = "PostDeferredTransparent"
|
||||
RenderableType = "PostDeferredTransparent",
|
||||
DataMapping = {
|
||||
Bv = "colorb_v",
|
||||
Luminance = "lum",
|
||||
AbsoluteMagnitude = "absmag",
|
||||
ApparentMagnitude = "appmag",
|
||||
Vx = "vx",
|
||||
Vy = "vy",
|
||||
Vz = "vz",
|
||||
Speed = "speed",
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Name = "Sun",
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
|
||||
local BvColorLUT = asset.syncedResource({
|
||||
local colormaps = asset.syncedResource({
|
||||
Name = "Stars Color Table",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "stars_colormap",
|
||||
Version = 2
|
||||
})
|
||||
|
||||
asset.export("BvColorLUT", BvColorLUT)
|
||||
asset.export("ColorMaps", colormaps)
|
||||
|
||||
asset.meta = {
|
||||
Name = "Stars B-V Colormap",
|
||||
Name = "Star Colormaps",
|
||||
Version = "2.0",
|
||||
Description = [[A lookup table that maps a B-V color index to an RGB color.
|
||||
The B-V values are in the range (-0.4, 2.0) and each line maps a value
|
||||
in that range to a color]],
|
||||
Description = [[Lookup tables used for star datasets, one of the tables map a B-V color
|
||||
index to an RGB color. The B-V values are in the range (-0.4, 2.0) and each line maps
|
||||
a value in that range to a color. The other table is the commonly used viridis map]],
|
||||
Author = "OpenSpace Team",
|
||||
URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
|
||||
License = "AMNH Digital Universe"
|
||||
|
||||
20
data/assets/scene/digitaluniverse/stars_textures.asset
Normal file
20
data/assets/scene/digitaluniverse/stars_textures.asset
Normal file
@@ -0,0 +1,20 @@
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
|
||||
local textures = asset.syncedResource({
|
||||
Name = "Stars Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "stars_textures",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
asset.export("textures", textures)
|
||||
|
||||
asset.meta = {
|
||||
Name = "Star Textures",
|
||||
Version = "1.0",
|
||||
Description = [[Square textures used to represent stars when applied to camera-facing bil;board]],
|
||||
Author = "OpenSpace Team",
|
||||
URL = "http://openspaceproject.com",
|
||||
License = "MIT License"
|
||||
}
|
||||
|
||||
@@ -27,13 +27,13 @@ local object = {
|
||||
File = speck .. "/superclust.speck",
|
||||
Texture = textures .. "/point3A.png",
|
||||
LabelFile = speck .. "/superclust.label",
|
||||
Unit = "Mpc",
|
||||
TextColor = { 0.9, 0.9, 0.9 },
|
||||
ScaleFactor = 531.0,
|
||||
TextSize = 22.44,
|
||||
TextMinSize = 8.0,
|
||||
Unit = "Mpc",
|
||||
TextMinMaxSize = { 8, 20 },
|
||||
DrawLabels = true,
|
||||
--BillboardMaxSize = 7.2,
|
||||
--BillboardMinMaxSize = { 0.0, 7.2 },
|
||||
EnablePixelSizeControl = true
|
||||
},
|
||||
GUI = {
|
||||
|
||||
@@ -27,15 +27,14 @@ local object = {
|
||||
Texture = textures .. "/point4.png",
|
||||
PolygonSides = 7,
|
||||
LabelFile = speck .. "/snr.label",
|
||||
Unit = "pc",
|
||||
TextColor = { 0.6, 0.46, 0.0 },
|
||||
ScaleFactor = 424,
|
||||
TextSize = 16.44,
|
||||
TextMinSize = 4.0,
|
||||
TextMaxSize = 200.0,
|
||||
TextMinMaxSize = { 4, 100 },
|
||||
--CorrectionSizeEndDistance = 17.5,
|
||||
--CorrectionSizeFactor = 13.96,
|
||||
Unit = "pc",
|
||||
BillboardMaxSize = 500,
|
||||
BillboardMinMaxSize = { 0.0, 500.0 },
|
||||
EnablePixelSizeControl = true
|
||||
},
|
||||
GUI = {
|
||||
|
||||
@@ -33,21 +33,18 @@ local tullyPoints = {
|
||||
ColorRange = { { 1.0, 30.0 } },
|
||||
LabelFile = speck .. "/tully.label",
|
||||
DrawLabels = false,
|
||||
Unit = "Mpc",
|
||||
TextColor = { 0.7, 0.7, 0.7 },
|
||||
TextSize = 19.36,
|
||||
TextMinSize = 8.2,
|
||||
TextMinMaxSize = { 8, 20 },
|
||||
TransformationMatrix = {
|
||||
-0.7357425748, 0.67726129641, 0.0, 0.0,
|
||||
-0.074553778365, -0.080991471307, 0.9939225904, 0.0,
|
||||
0.67314530211, 0.73127116582, 0.11008126223, 0.0,
|
||||
0.0, 0.0, 0.0, 1.0
|
||||
},
|
||||
Unit = "Mpc",
|
||||
-- Fade in value in the same unit as "Unit"
|
||||
FadeInDistances = { 0.001, 1.0 },
|
||||
-- Max size in pixels
|
||||
BillboardMaxSize = 7,
|
||||
BillboardMinSize = 0,
|
||||
FadeInDistances = { 0.001, 1.0 }, -- Fade in value in the same unit as "Unit"
|
||||
BillboardMinMaxSize = { 0.0, 7.0 }, -- in pixels
|
||||
--CorrectionSizeEndDistance = 22.0,
|
||||
--CorrectionSizeFactor = 10.45
|
||||
EnablePixelSizeControl = true
|
||||
|
||||
@@ -19,10 +19,10 @@ local object = {
|
||||
Color = { 1.0, 1.0, 1.0 },
|
||||
Opacity = 0.65,
|
||||
LabelFile = speck .. "/voids.label",
|
||||
Unit = "Mpc",
|
||||
TextColor = { 0.296, 0.629, 1.0 },
|
||||
TextSize = 20.9,
|
||||
TextMinSize = 8.0,
|
||||
Unit = "Mpc"
|
||||
TextMinMaxSize = { 8, 20 }
|
||||
},
|
||||
GUI = {
|
||||
Name = "Voids",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
local bvColorLUT = asset.require('scene/digitaluniverse/stars_colormap').BvColorLUT
|
||||
local colormaps = asset.require('scene/digitaluniverse/stars_colormap').ColorMaps
|
||||
|
||||
local DataPath = asset.syncedResource({
|
||||
Name = "Exoplanet Data Files",
|
||||
@@ -15,7 +15,7 @@ asset.onInitialize(function ()
|
||||
|
||||
p = "Modules.Exoplanets.BvColormap";
|
||||
if (openspace.getPropertyValue(p) == "") then
|
||||
openspace.setPropertyValueSingle(p, bvColorLUT .. "/colorbv.cmap")
|
||||
openspace.setPropertyValueSingle(p, colormaps .. "/colorbv.cmap")
|
||||
end
|
||||
end)
|
||||
|
||||
|
||||
@@ -1,14 +1,9 @@
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
|
||||
local colorLUT = asset.require('scene/digitaluniverse/stars_colormap').ColorMaps
|
||||
local textures = asset.require('scene/digitaluniverse/stars_textures').textures
|
||||
|
||||
|
||||
local textures = asset.syncedResource({
|
||||
Name = "Stars Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "stars_textures",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local speck = asset.syncedResource({
|
||||
Name = "Apogee Speck Files",
|
||||
Type = "HttpSynchronization",
|
||||
@@ -16,13 +11,6 @@ local speck = asset.syncedResource({
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local colorLUT = asset.syncedResource({
|
||||
Name = "Stars Color Table",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "stars_colormap",
|
||||
Version = 2
|
||||
})
|
||||
|
||||
local gaia_abundance_apogee = {
|
||||
Identifier = "Gaia Abundance Apogee",
|
||||
Renderable = {
|
||||
@@ -39,7 +27,17 @@ local gaia_abundance_apogee = {
|
||||
ColorMap = colorLUT .. "/colorbv.cmap",
|
||||
OtherDataColorMap = colorLUT .. "/viridis.cmap",
|
||||
StaticFilter = -9999,
|
||||
StaticFilterReplacement = 0.0
|
||||
StaticFilterReplacement = 0.0,
|
||||
DataMapping = {
|
||||
Bv = "colorb_v",
|
||||
Luminance = "lum",
|
||||
AbsoluteMagnitude = "absmag",
|
||||
ApparentMagnitude = "appmag",
|
||||
Vx = "vx",
|
||||
Vy = "vy",
|
||||
Vz = "vz",
|
||||
Speed = "speed"
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Path = "/Milky Way/Gaia"
|
||||
|
||||
@@ -1,18 +1,7 @@
|
||||
local assetHelper = asset.require("util/asset_helper")
|
||||
|
||||
local textures = asset.syncedResource({
|
||||
Name = "Stars Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "stars_textures",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local colorLUT = asset.syncedResource({
|
||||
Name = "Stars Color Table",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "stars_colormap",
|
||||
Version = 1
|
||||
})
|
||||
local colorLUT = asset.require('scene/digitaluniverse/stars_colormap').ColorMaps
|
||||
local textures = asset.require('scene/digitaluniverse/stars_textures').textures
|
||||
|
||||
-- Download a preprocessed binary octree of Radial Velocity subset values per star (preprocessed into 8 binary files).
|
||||
local starsFolder = asset.syncedResource({
|
||||
|
||||
@@ -1,13 +1,7 @@
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
|
||||
|
||||
|
||||
local textures = asset.syncedResource({
|
||||
Name = "Stars Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "stars_textures",
|
||||
Version = 1
|
||||
})
|
||||
local colorLUT = asset.require('scene/digitaluniverse/stars_colormap').ColorMaps
|
||||
local textures = asset.require('scene/digitaluniverse/stars_textures').textures
|
||||
|
||||
local speck = asset.syncedResource({
|
||||
Name = "Galah Speck Files",
|
||||
@@ -16,12 +10,6 @@ local speck = asset.syncedResource({
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local colorLUT = asset.syncedResource({
|
||||
Name = "Stars Color Table",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "stars_colormap",
|
||||
Version = 2
|
||||
})
|
||||
|
||||
local gaia_abundance_galah = {
|
||||
Identifier = "Gaia Abundance Galah",
|
||||
@@ -39,7 +27,17 @@ local gaia_abundance_galah = {
|
||||
ColorMap = colorLUT .. "/colorbv.cmap",
|
||||
OtherDataColorMap = colorLUT .. "/viridis.cmap",
|
||||
StaticFilter = -9999,
|
||||
StaticFilterReplacement = 0.0
|
||||
StaticFilterReplacement = 0.0,
|
||||
DataMapping = {
|
||||
Bv = "colorb_v",
|
||||
Luminance = "lum",
|
||||
AbsoluteMagnitude = "absmag",
|
||||
ApparentMagnitude = "appmag",
|
||||
Vx = "vx",
|
||||
Vy = "vy",
|
||||
Vz = "vz",
|
||||
Speed = "speed"
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Path = "/Milky Way/Gaia"
|
||||
|
||||
@@ -32,16 +32,16 @@ local MilkyWayVolumeGalaxy = {
|
||||
Rotation = { 3.1415926, 3.1248, 4.45741 },
|
||||
Volume = {
|
||||
Type = "Volume",
|
||||
Filename = data .. "/MilkyWayRGBAVolume1024x1024x128.raw",
|
||||
Filename = openspace.absPath(data .. "/MilkyWayRGBAVolume1024x1024x128.raw"),
|
||||
Dimensions = { 1024, 1024, 128 },
|
||||
Size = { 1.2E21, 1.2E21, 0.15E21 },
|
||||
Downscale = 0.4,
|
||||
},
|
||||
Points = {
|
||||
Type = "Points",
|
||||
Filename = data .. "/MilkyWayPoints.off",
|
||||
Filename = openspace.absPath(data .. "/MilkyWayPoints.off"),
|
||||
EnabledPointsRatio = 0.3,
|
||||
Texture = data .. "/halo.png"
|
||||
Texture = openspace.absPath(data .. "/halo.png")
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
|
||||
@@ -19,7 +19,17 @@ local OrionClusterStars = {
|
||||
ColorMap = sync .. "/colorbv.cmap",
|
||||
MagnitudeExponent = 5.02,
|
||||
SizeComposition = "Distance Modulus",
|
||||
RenderMethod = "Texture Based"
|
||||
RenderMethod = "Texture Based",
|
||||
DataMapping = {
|
||||
Bv = "colorb_v",
|
||||
Luminance = "lum",
|
||||
AbsoluteMagnitude = "absmag",
|
||||
ApparentMagnitude = "appmag",
|
||||
Vx = "vx",
|
||||
Vy = "vy",
|
||||
Vz = "vz",
|
||||
Speed = "speed"
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Name = "Orion Nebula Star Cluster",
|
||||
|
||||
@@ -32,7 +32,17 @@ local object = {
|
||||
ColorMap = colorLUT .. "/denver_colorbv.cmap",
|
||||
MagnitudeExponent = 6.2,
|
||||
SizeComposition = "Distance Modulus",
|
||||
RenderMethod = "Texture Based" -- or PSF
|
||||
RenderMethod = "Texture Based", -- or PSF
|
||||
DataMapping = {
|
||||
Bv = "colorb_v",
|
||||
Luminance = "lum",
|
||||
AbsoluteMagnitude = "absmag",
|
||||
ApparentMagnitude = "appmag",
|
||||
Vx = "vx",
|
||||
Vy = "vy",
|
||||
Vz = "vz",
|
||||
Speed = "speed"
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Name = "Stars (Denver)",
|
||||
|
||||
@@ -27,21 +27,16 @@ local Charon = {
|
||||
SegmentsPerPatch = 64,
|
||||
Layers = {},
|
||||
Labels = {
|
||||
Enable = false,
|
||||
Enabled = false,
|
||||
FileName = labelsPath .. "/charon.labels",
|
||||
LabelAlignmentOption = "Horizontally", -- or Circularly
|
||||
LabelsFontSize = 40.0,
|
||||
LabelsSize = 8.0,
|
||||
LabelsMinSize = 1.0,
|
||||
LabelsMaxSize = 1500.0,
|
||||
ProximityEnabled = false,
|
||||
LabelsFadeInEnabled = true,
|
||||
LabelsFadeOutEnabled = true,
|
||||
FadeInStartingDistance = 2000000.0,
|
||||
FadeOutStartingDistance = 800000.0,
|
||||
LabelsForceDomeRendering = true,
|
||||
LabelsDistanceEPS = 250000.0,
|
||||
LabelsColor = { 1.0, 1.0, 0.0 }
|
||||
AlignmentOption = "Horizontally", -- or Circularly
|
||||
FontSize = 20.0,
|
||||
Size = 9.0,
|
||||
FadeInEnabled = true,
|
||||
FadeOutEnabled = true,
|
||||
Distances = { 800000.0, 2000000.0 },
|
||||
DistanceEPS = 250000.0,
|
||||
Color = { 1.0, 1.0, 0.0 }
|
||||
}
|
||||
},
|
||||
Tag = { "planet_solarSystem", "planet_terrestrial" },
|
||||
|
||||
@@ -27,21 +27,16 @@ local Pluto = {
|
||||
SegmentsPerPatch = 64,
|
||||
Layers = {},
|
||||
Labels = {
|
||||
Enable = false,
|
||||
Enabled = false,
|
||||
FileName = labelsPath .. "/pluto.labels",
|
||||
LabelAlignmentOption = "Horizontally", -- or Circularly
|
||||
LabelsFontSize = 28.0,
|
||||
LabelsSize = 8.0,
|
||||
LabelsMinSize = 1.0,
|
||||
LabelsMaxSize = 1500.0,
|
||||
ProximityEnabled = false,
|
||||
LabelsFadeInEnabled = true,
|
||||
LabelsFadeOutEnabled = true,
|
||||
FadeInStartingDistance = 4000000.0,
|
||||
FadeOutStartingDistance = 650000.0,
|
||||
LabelsForceDomeRendering = true,
|
||||
LabelsDistanceEPS = 500000.0,
|
||||
LabelsColor = { 1.0, 1.0, 0.0 }
|
||||
AlignmentOption = "Horizontally", -- or Circularly
|
||||
FontSize = 20.0,
|
||||
Size = 8.5,
|
||||
FadeInEnabled = true,
|
||||
FadeOutEnabled = true,
|
||||
FadeDistances = { 650000.0, 4000000.0 },
|
||||
DistanceEPS = 500000.0,
|
||||
Color = { 1.0, 1.0, 0.0 }
|
||||
}
|
||||
},
|
||||
Tag = { "planet_solarSystem", "planet_terrestrial" },
|
||||
@@ -56,13 +51,12 @@ local PlutoLabel = {
|
||||
Renderable = {
|
||||
Enabled = false,
|
||||
Type = "RenderableLabels",
|
||||
LabelText = "Pluto",
|
||||
FontSize = 100.0,
|
||||
LabelSize = 8.9,
|
||||
LabelMaxSize = 100.0,
|
||||
LabelMinSize = 1.0,
|
||||
Text = "Pluto",
|
||||
FontSize = 70.0,
|
||||
Size = 9.05,
|
||||
MinMaxSize = { 1, 100 },
|
||||
BlendMode = "Additive",
|
||||
LabelOrientationOption = "Camera View Direction"
|
||||
OrientationOption = "Camera View Direction"
|
||||
},
|
||||
Tag = { "solarsystem_labels" },
|
||||
GUI = {
|
||||
|
||||
@@ -20,7 +20,8 @@ local PlutoTrailBarycentric = {
|
||||
Tag = { "planetTrail_solarSystem", "planetTrail_dwarf" },
|
||||
GUI = {
|
||||
Name = "Pluto Barycentric Trail",
|
||||
Path = "/Solar System/Dwarf Planets/Pluto"
|
||||
Path = "/Solar System/Dwarf Planets/Pluto",
|
||||
Description = [[Orbit of Pluto around it's Barycenter.]]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -34,5 +35,6 @@ asset.meta = {
|
||||
NASA Spice (see base spice asset)]],
|
||||
Author = "OpenSpace Team",
|
||||
URL = "http://openspaceproject.com",
|
||||
License = "MIT license"
|
||||
License = "MIT license",
|
||||
Identifiers = {"PlutoBarycentricTrail"}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,62 @@
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
local transforms = asset.require('scene/solarsystem/sun/transforms')
|
||||
asset.require("spice/base")
|
||||
local kernels = asset.require('./kernels').PlutoKernels
|
||||
local OneAU = 1.496e+8
|
||||
local PlutoKeplerianTrail = {
|
||||
Identifier = "PlutoKeplerianTrail",
|
||||
Parent = transforms.SunECLIPJ2000.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableTrailOrbit",
|
||||
Translation = {
|
||||
Type = "KeplerTranslation",
|
||||
Eccentricity = 2.543033082909471E-01,
|
||||
SemiMajorAxis = 3.974407237841206E+01 * OneAU,
|
||||
Inclination = 1.736609481151430E+01,
|
||||
AscendingNode = 1.102099981996057E+02,
|
||||
ArgumentOfPeriapsis = 1.142248569189779E+02,
|
||||
MeanAnomaly = 14.53,
|
||||
Epoch = '2000 01 01 00:00',
|
||||
Period = 7.82438e+9
|
||||
},
|
||||
Color = { 0.2, 0.8, 0.3 },
|
||||
Period = 90487.27692706819,
|
||||
Resolution = 1000,
|
||||
Enabled = false
|
||||
},
|
||||
Tag = { "planetTrail_dwarf" },
|
||||
GUI = {
|
||||
Name = "Pluto Keplerian Trail",
|
||||
Path = "/Solar System/Dwarf Planets/Pluto",
|
||||
Description = "Keplerian trail of Pluto. Contains full orbit."
|
||||
}
|
||||
}
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, { PlutoKeplerianTrail })
|
||||
|
||||
|
||||
asset.meta = {
|
||||
Name = "Pluto Keplerian Trail",
|
||||
Version = "1.0",
|
||||
Description = [[ Full Keplerian trail of Pluto as observed by the Sun. Data from
|
||||
JPL Horizons.]],
|
||||
Author = "OpenSpace Team",
|
||||
URL = "https://ssd.jpl.nasa.gov/sbdb.cgi?sstr=pluto",
|
||||
License = "JPL/NASA",
|
||||
Identifiers = {"PlutoKeplerianTrail"}
|
||||
}
|
||||
|
||||
|
||||
|
||||
-- Double AscendingNode
|
||||
-- In range: ( 0.000000,360.000000 )
|
||||
-- This value determines the right ascension of the ascending node in degrees, that is the location of position along the orbit where the inclined plane and the horizonal reference plane intersect.
|
||||
-- Double ArgumentOfPeriapsis
|
||||
-- In range: ( 0.000000,360.000000 )
|
||||
-- This value determines the argument of periapsis in degrees, that is the position on the orbit that is closest to the orbiting body.
|
||||
-- Double MeanAnomaly
|
||||
-- In range: ( 0.000000,360.000000 )
|
||||
-- This value determines the mean anomaly at the epoch in degrees, which determines the initial location of the object along the orbit at epoch.
|
||||
-- EPOCH= 2457217.500000000 ! 2015-Jul-14 00:00 (TDB)
|
||||
-- EC= 2.543033082909471E-01 QR= 2.963702328762702E+01 IN= 1.736609481151430E+01
|
||||
-- OM= 1.102099981996057E+02 W = 1.142248569189779E+02 Tp= 2447885.610187903512
|
||||
-- A = 3.974407237841206E+01 AD= 4.985112146919710E+01 PR= 9.151809533192721E+04
|
||||
@@ -1,6 +1,7 @@
|
||||
asset.require('./trail')
|
||||
asset.require('./pluto')
|
||||
asset.require('./pluto_trail')
|
||||
asset.require('./pluto_trail_kepler')
|
||||
asset.require('./charon/charon')
|
||||
asset.require('./charon/charon_trail')
|
||||
asset.require('./minor/hydra')
|
||||
|
||||
@@ -23,7 +23,9 @@ local PlutoBarycenterTrail = {
|
||||
Tag = { "planetTrail_solarSystem", "planetTrail_dwarf" },
|
||||
GUI = {
|
||||
Name = "Pluto Barycenter Trail",
|
||||
Path = "/Solar System/Dwarf Planets/Pluto"
|
||||
Path = "/Solar System/Dwarf Planets/Pluto",
|
||||
Description = [[Precise trail of Pluto from NASA SPICE data. Not
|
||||
containing full orbit.]]
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@ local Apollo15 = {
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
GeometryFile = models .. "/ApolloCSM.fbx",
|
||||
GeometryFile = models .. "/ApolloCSM.osmodel",
|
||||
LightSources = {
|
||||
{
|
||||
Type = "SceneGraphLightSource",
|
||||
|
||||
@@ -50,7 +50,7 @@ local Apollo8LaunchModel = {
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
GeometryFile = models .. "/ApolloCSM.fbx",
|
||||
GeometryFile = models .. "/ApolloCSM.osmodel",
|
||||
LightSources = {
|
||||
{
|
||||
Type = "SceneGraphLightSource",
|
||||
|
||||
@@ -62,7 +62,7 @@ local Apollo8Model = {
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
GeometryFile = models .. "/ApolloCSM.fbx",
|
||||
GeometryFile = models .. "/ApolloCSM.osmodel",
|
||||
LightSources = {
|
||||
{
|
||||
Type = "SceneGraphLightSource",
|
||||
|
||||
@@ -2,7 +2,7 @@ local models = asset.syncedResource({
|
||||
Name = "Apollo Models",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "apollo_models",
|
||||
Version = 2
|
||||
Version = 3
|
||||
})
|
||||
|
||||
asset.export('models', models)
|
||||
|
||||
@@ -60,33 +60,118 @@ local legDeployTime = "2018 NOV 26 19:43:06.68" -- entry + 243s
|
||||
local landerSeperationTime = "2018 NOV 26 19:44:51.68" -- entry + 348s
|
||||
local touchdownTime = "2018 NOV 26 19:45:32.68" -- entry + 389s
|
||||
local panelDeployTime = "2018 NOV 26 19:45:33.68" -- entry + 390s
|
||||
local foreverTime = "2018 NOV 26 20:17:50.68" -- entry + 2327s
|
||||
|
||||
local kernelTouchdownTime = "2018 NOV 26 19:45:32.3"
|
||||
local spiceRotationEndTime = "2018 NOV 26 19:51:39"
|
||||
|
||||
local InsightParent = {
|
||||
Identifier = "InsightParent",
|
||||
Parent = "MarsBarycenter",
|
||||
Transform = {
|
||||
Translation = {
|
||||
local TranslationKeyframes = {
|
||||
['1850 JAN 01 00:00:00'] = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = "INSIGHT",
|
||||
Observer = "MARS",
|
||||
Frame = "GALACTIC",
|
||||
Kernels = iKernels
|
||||
Frame = "IAU_MARS",
|
||||
Kernels = iKernels,
|
||||
FixedDate = '2018 NOV 26 19:39:03'
|
||||
},
|
||||
['2018 NOV 26 19:39:02'] = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = "INSIGHT",
|
||||
Observer = "MARS",
|
||||
Frame = "IAU_MARS",
|
||||
Kernels = iKernels,
|
||||
FixedDate = '2018 NOV 26 19:39:03'
|
||||
},
|
||||
['2018 NOV 26 19:39:03'] = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = "INSIGHT",
|
||||
Observer = "MARS",
|
||||
Frame = "IAU_MARS",
|
||||
Kernels = iKernels
|
||||
},
|
||||
['2018 NOV 26 19:39:04'] = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = "INSIGHT",
|
||||
Observer = "MARS",
|
||||
Frame = "IAU_MARS",
|
||||
Kernels = iKernels
|
||||
},
|
||||
['2018 NOV 26 19:45:34'] = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = "INSIGHT",
|
||||
Observer = "MARS",
|
||||
Frame = "IAU_MARS",
|
||||
Kernels = iKernels
|
||||
},
|
||||
['2018 NOV 26 19:45:35'] = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = "INSIGHT",
|
||||
Observer = "MARS",
|
||||
Frame = "IAU_MARS",
|
||||
Kernels = iKernels,
|
||||
FixedDate = '2018 NOV 26 19:45:34'
|
||||
},
|
||||
}
|
||||
|
||||
local RotationKeyframes = {
|
||||
['1850 JAN 01 00:00:00'] = {
|
||||
Type = "SpiceRotation",
|
||||
SourceFrame = "INSIGHT_LANDER_CRUISE",
|
||||
DestinationFrame = "IAU_MARS",
|
||||
FixedDate = '2018 NOV 26 19:39:02',
|
||||
Kernels = iKernels
|
||||
},
|
||||
['2018 NOV 26 19:39:02'] = {
|
||||
Type = "SpiceRotation",
|
||||
SourceFrame = "INSIGHT_LANDER_CRUISE",
|
||||
DestinationFrame = "IAU_MARS",
|
||||
FixedDate = '2018 NOV 26 19:39:02',
|
||||
Kernels = iKernels
|
||||
},
|
||||
['2018 NOV 26 19:39:03'] = {
|
||||
Type = "SpiceRotation",
|
||||
SourceFrame = "INSIGHT_LANDER_CRUISE",
|
||||
DestinationFrame = "IAU_MARS",
|
||||
Kernels = iKernels
|
||||
},
|
||||
['2018 NOV 26 19:39:04'] = {
|
||||
Type = "SpiceRotation",
|
||||
SourceFrame = "INSIGHT_LANDER_CRUISE",
|
||||
DestinationFrame = "IAU_MARS",
|
||||
Kernels = iKernels
|
||||
},
|
||||
['2018 NOV 26 19:45:34'] = {
|
||||
Type = "SpiceRotation",
|
||||
SourceFrame = "INSIGHT_LANDER_CRUISE",
|
||||
DestinationFrame = "IAU_MARS",
|
||||
Kernels = iKernels
|
||||
},
|
||||
['2018 NOV 26 19:45:35'] = {
|
||||
Type = "SpiceRotation",
|
||||
SourceFrame = "INSIGHT_LANDER_CRUISE",
|
||||
DestinationFrame = "IAU_MARS",
|
||||
FixedDate = '2018 NOV 26 19:45:34'
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
local InsightParent = {
|
||||
Identifier = "InsightParent",
|
||||
Parent = "Mars",
|
||||
Transform = {
|
||||
Translation ={
|
||||
Type = "TimelineTranslation",
|
||||
Keyframes = TranslationKeyframes,
|
||||
},
|
||||
Rotation = {
|
||||
Type = "SpiceRotation",
|
||||
SourceFrame = "INSIGHT_LANDER_CRUISE",
|
||||
DestinationFrame = "GALACTIC"
|
||||
Type = "TimelineRotation",
|
||||
Keyframes = RotationKeyframes,
|
||||
}
|
||||
},
|
||||
TimeFrame = {
|
||||
Type = "TimeFrameInterval",
|
||||
Start = entryTimeStart,
|
||||
End = spiceRotationEndTime
|
||||
},
|
||||
-- TimeFrame = {
|
||||
-- Type = "TimeFrameInterval",
|
||||
-- Start = entryTimeStart,
|
||||
-- End = spiceRotationEndTime
|
||||
-- },
|
||||
GUI = {
|
||||
Hidden = true,
|
||||
Name = "InsightParent",
|
||||
@@ -121,7 +206,6 @@ local Insight_Entry_CapsuleA = {
|
||||
},
|
||||
TimeFrame = {
|
||||
Type = "TimeFrameInterval",
|
||||
Start = entryTimeStart,
|
||||
End = landerSeperationTime
|
||||
},
|
||||
GUI = {
|
||||
@@ -142,7 +226,6 @@ local Insight_Entry_Capsule_Ring = {
|
||||
},
|
||||
TimeFrame = {
|
||||
Type = "TimeFrameInterval",
|
||||
Start = entryTimeStart,
|
||||
End = landerSeperationTime
|
||||
},
|
||||
GUI = {
|
||||
@@ -163,7 +246,6 @@ local Insight_Entry_Capsule_Plugs = {
|
||||
},
|
||||
TimeFrame = {
|
||||
Type = "TimeFrameInterval",
|
||||
Start = entryTimeStart,
|
||||
End = landerSeperationTime
|
||||
},
|
||||
GUI = {
|
||||
@@ -184,7 +266,6 @@ local Insight_Entry_Heatshield = {
|
||||
},
|
||||
TimeFrame = {
|
||||
Type = "TimeFrameInterval",
|
||||
Start = entryTimeStart,
|
||||
End = heatShieldSeperationTime
|
||||
},
|
||||
GUI = {
|
||||
@@ -329,11 +410,6 @@ local Insight_Lander_A001 = {
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = LightSources,
|
||||
},
|
||||
TimeFrame = {
|
||||
Type = "TimeFrameInterval",
|
||||
Start = entryTimeStart,
|
||||
End = foreverTime
|
||||
},
|
||||
GUI = {
|
||||
Hidden = true,
|
||||
Name = "Insight Lander A001",
|
||||
@@ -350,11 +426,6 @@ local Insight_Lander_A002 = {
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = LightSources,
|
||||
},
|
||||
TimeFrame = {
|
||||
Type = "TimeFrameInterval",
|
||||
Start = entryTimeStart,
|
||||
End = foreverTime
|
||||
},
|
||||
GUI = {
|
||||
Hidden = true,
|
||||
Name = "Insight Lander A002",
|
||||
@@ -371,11 +442,6 @@ local Insight_Lander_A003 = {
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = LightSources,
|
||||
},
|
||||
TimeFrame = {
|
||||
Type = "TimeFrameInterval",
|
||||
Start = entryTimeStart,
|
||||
End = foreverTime
|
||||
},
|
||||
GUI = {
|
||||
Hidden = true,
|
||||
Name = "Insight Lander A003",
|
||||
@@ -392,11 +458,6 @@ local Insight_Lander_A004 = {
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = LightSources,
|
||||
},
|
||||
TimeFrame = {
|
||||
Type = "TimeFrameInterval",
|
||||
Start = entryTimeStart,
|
||||
End = foreverTime
|
||||
},
|
||||
GUI = {
|
||||
Hidden = true,
|
||||
Name = "Insight Lander A004",
|
||||
@@ -413,11 +474,6 @@ local Insight_Lander_A005 = {
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = LightSources,
|
||||
},
|
||||
TimeFrame = {
|
||||
Type = "TimeFrameInterval",
|
||||
Start = entryTimeStart,
|
||||
End = foreverTime
|
||||
},
|
||||
GUI = {
|
||||
Hidden = true,
|
||||
Name = "Insight Lander A005",
|
||||
@@ -434,11 +490,6 @@ local Insight_Lander_A006 = {
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = LightSources,
|
||||
},
|
||||
TimeFrame = {
|
||||
Type = "TimeFrameInterval",
|
||||
Start = entryTimeStart,
|
||||
End = foreverTime
|
||||
},
|
||||
GUI = {
|
||||
Hidden = true,
|
||||
Name = "Insight Lander A006",
|
||||
@@ -455,11 +506,6 @@ local Insight_Lander_A007 = {
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = LightSources,
|
||||
},
|
||||
TimeFrame = {
|
||||
Type = "TimeFrameInterval",
|
||||
Start = entryTimeStart,
|
||||
End = foreverTime
|
||||
},
|
||||
GUI = {
|
||||
Hidden = true,
|
||||
Name = "Insight Lander A007",
|
||||
@@ -476,11 +522,6 @@ local Insight_Lander_A008 = {
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = LightSources,
|
||||
},
|
||||
TimeFrame = {
|
||||
Type = "TimeFrameInterval",
|
||||
Start = entryTimeStart,
|
||||
End = foreverTime
|
||||
},
|
||||
GUI = {
|
||||
Hidden = true,
|
||||
Name = "Insight Lander A008",
|
||||
@@ -497,11 +538,6 @@ local Insight_Lander_foil1 = {
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = LightSources,
|
||||
},
|
||||
TimeFrame = {
|
||||
Type = "TimeFrameInterval",
|
||||
Start = entryTimeStart,
|
||||
End = foreverTime
|
||||
},
|
||||
GUI = {
|
||||
Hidden = true,
|
||||
Name = "Insight Lander foil",
|
||||
@@ -518,11 +554,6 @@ local Insight_Lander_Tex01 = {
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = LightSources,
|
||||
},
|
||||
TimeFrame = {
|
||||
Type = "TimeFrameInterval",
|
||||
Start = entryTimeStart,
|
||||
End = foreverTime
|
||||
},
|
||||
GUI = {
|
||||
Hidden = true,
|
||||
Name = "Insight Lander Tex01",
|
||||
@@ -539,11 +570,6 @@ local Insight_Lander_Tex02 = {
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = LightSources,
|
||||
},
|
||||
TimeFrame = {
|
||||
Type = "TimeFrameInterval",
|
||||
Start = entryTimeStart,
|
||||
End = foreverTime
|
||||
},
|
||||
GUI = {
|
||||
Hidden = true,
|
||||
Name = "Insight Lander Tex02",
|
||||
@@ -605,7 +631,6 @@ local Insight_Legs_Deployed_tex = {
|
||||
TimeFrame = {
|
||||
Type = "TimeFrameInterval",
|
||||
Start = legDeployTime,
|
||||
End = foreverTime
|
||||
},
|
||||
GUI = {
|
||||
Hidden = true,
|
||||
@@ -626,7 +651,6 @@ local Insight_Legs_Deployed_AO06 = {
|
||||
TimeFrame = {
|
||||
Type = "TimeFrameInterval",
|
||||
Start = legDeployTime,
|
||||
End = foreverTime
|
||||
},
|
||||
GUI = {
|
||||
Hidden = true,
|
||||
@@ -644,11 +668,6 @@ local Insight_Panels_Stowed_tex = {
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = LightSources
|
||||
},
|
||||
TimeFrame = {
|
||||
Type = "TimeFrameInterval",
|
||||
Start = entryTimeStart,
|
||||
End = foreverTime
|
||||
},
|
||||
GUI = {
|
||||
Hidden = true,
|
||||
Name = "Insight panels_stow_tex",
|
||||
@@ -665,11 +684,6 @@ local Insight_Panels_Stowed_tex2 = {
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = LightSources
|
||||
},
|
||||
TimeFrame = {
|
||||
Type = "TimeFrameInterval",
|
||||
Start = entryTimeStart,
|
||||
End = foreverTime
|
||||
},
|
||||
GUI = {
|
||||
Hidden = true,
|
||||
Name = "Insight panels_stow_tex2",
|
||||
@@ -686,11 +700,6 @@ local Insight_Panels_Stowed_AO01 = {
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = LightSources
|
||||
},
|
||||
TimeFrame = {
|
||||
Type = "TimeFrameInterval",
|
||||
Start = entryTimeStart,
|
||||
End = foreverTime
|
||||
},
|
||||
GUI = {
|
||||
Hidden = true,
|
||||
Name = "Insight panels_stow_AO",
|
||||
@@ -710,7 +719,6 @@ local Insight_Panels_Deployed_tex = {
|
||||
TimeFrame = {
|
||||
Type = "TimeFrameInterval",
|
||||
Start = panelDeployTime,
|
||||
End = foreverTime
|
||||
},
|
||||
GUI = {
|
||||
Hidden = true,
|
||||
@@ -731,7 +739,6 @@ local Insight_Panels_Deployed_tex2 = {
|
||||
TimeFrame = {
|
||||
Type = "TimeFrameInterval",
|
||||
Start = panelDeployTime,
|
||||
End = foreverTime
|
||||
},
|
||||
GUI = {
|
||||
Hidden = true,
|
||||
@@ -752,7 +759,6 @@ local Insight_Panels_Deployed_AO06 = {
|
||||
TimeFrame = {
|
||||
Type = "TimeFrameInterval",
|
||||
Start = panelDeployTime,
|
||||
End = foreverTime
|
||||
},
|
||||
GUI = {
|
||||
Hidden = true,
|
||||
|
||||
77
data/assets/scene/solarsystem/missions/jwst/HUDFImage.asset
Normal file
77
data/assets/scene/solarsystem/missions/jwst/HUDFImage.asset
Normal file
@@ -0,0 +1,77 @@
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
local transforms = asset.require('scene/solarsystem/planets/earth/transforms')
|
||||
local jwstTransforms = asset.require('scene/solarsystem/missions/jwst/jwst')
|
||||
local sunTransforms = asset.require('scene/solarsystem/sun/transforms')
|
||||
|
||||
local image = asset.syncedResource({
|
||||
Name = "HUDF image",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "hudf_image",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local DISTANCE = 9.2E15;
|
||||
|
||||
-- ra = 3h32m38.92s
|
||||
-- dec = -27d47m29.37s
|
||||
-- distance = 9.2E15 m (set to size of view sphere)
|
||||
local HUDFPosition = {
|
||||
Identifier = "HUDFPosition",
|
||||
Parent = transforms.EarthInertial.Identifier,
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "StaticTranslation",
|
||||
Position = {
|
||||
0.53039024 * DISTANCE,
|
||||
0.70802069 * DISTANCE,
|
||||
-0.46625412 * DISTANCE
|
||||
}
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Name = "Hubble Ultra Deep field",
|
||||
Path = "/Solar System/Missions/JWST",
|
||||
Hidden = true
|
||||
}
|
||||
}
|
||||
|
||||
local HUDFImage = {
|
||||
Identifier = "HUDFImage",
|
||||
Enabled = false,
|
||||
Type = "ScreenSpaceImageLocal",
|
||||
Name = "Hubble Ultra Deep field",
|
||||
UseRadiusAzimuthElevation = true,
|
||||
FaceCamera = false,
|
||||
RadiusAzimuthElevation = { 200.0, 0.5, 0.15 },
|
||||
UsePerspectiveProjection = false,
|
||||
Opacity = 1.0,
|
||||
TexturePath = image .. "/Hubble_ultra_deep_field.jpg",
|
||||
Tag = { "mission_jwst_hudf" },
|
||||
}
|
||||
|
||||
local HUDFJWSTLine = {
|
||||
Identifier = "HUDFJWSTLine",
|
||||
Parent = sunTransforms.SolarSystemBarycenter.Identifier,
|
||||
Renderable = {
|
||||
Enabled = false,
|
||||
Type = "RenderableNodeLine",
|
||||
StartNode = HUDFPosition.Identifier,
|
||||
EndNode = jwstTransforms.JWSTPosition.Identifier,
|
||||
Color = { 0.5, 0.5, 0.5 },
|
||||
LineWidth = 2
|
||||
},
|
||||
Tag = { "mission_jwst_hudf" },
|
||||
GUI = {
|
||||
Name = "JWST to HUDF Line",
|
||||
Path = "/Solar System/Missions/JWST",
|
||||
}
|
||||
}
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, { HUDFPosition, HUDFImage, HUDFJWSTLine })
|
||||
|
||||
asset.onInitialize(function()
|
||||
openspace.addScreenSpaceRenderable(HUDFImage)
|
||||
end)
|
||||
asset.onDeinitialize(function()
|
||||
openspace.removeScreenSpaceRenderable(HUDFImage.Identifier)
|
||||
end)
|
||||
304
data/assets/scene/solarsystem/missions/jwst/jwst.asset
Normal file
304
data/assets/scene/solarsystem/missions/jwst/jwst.asset
Normal file
@@ -0,0 +1,304 @@
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
local sunTransforms = asset.require('scene/solarsystem/sun/transforms')
|
||||
|
||||
asset.require('spice/base')
|
||||
asset.require('scene/solarsystem/planets/earth/lagrange_points/lagrange_points')
|
||||
local transforms = asset.require('scene/solarsystem/planets/earth/lagrange_points/L2')
|
||||
|
||||
local JWSTKernel = asset.syncedResource({
|
||||
Name = "JWST Kernel",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "jwst_kernels",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
--[[local JWSTHorizons = asset.syncedResource({
|
||||
Name = "JWST Horizons",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "jwst_horizons",
|
||||
Version = 1
|
||||
})]]--
|
||||
|
||||
local model = asset.syncedResource({
|
||||
Name = "JWST Model",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "jwst_model",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local band = asset.syncedResource({
|
||||
Name = "JWST band texture",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "jwst_band_texture",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local JWSTPosition = {
|
||||
Identifier = "JWSTPosition",
|
||||
Parent = transforms.L2.Identifier,
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = "JWST",
|
||||
Observer = "392", -- L2
|
||||
Kernels = JWSTKernel .. "/jwst_horizons_20200101_20240101_v01.bsp"
|
||||
},
|
||||
},
|
||||
GUI = {
|
||||
Name = "JWST Position",
|
||||
Path = "/Solar System/Missions/JWST",
|
||||
Hidden = true,
|
||||
}
|
||||
}
|
||||
|
||||
local JWSTRotation = {
|
||||
Identifier = "JWSTRotation",
|
||||
Parent = JWSTPosition.Identifier,
|
||||
Transform = {
|
||||
Rotation = {
|
||||
Type = "FixedRotation",
|
||||
Attached = "JWSTRotation",
|
||||
XAxis = { 1, 0, 0 },
|
||||
XAxisOrthogonal = true,
|
||||
YAxisInvert = true,
|
||||
YAxis = sunTransforms.SolarSystemBarycenter.Identifier
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Name = "JWST Rotation",
|
||||
Path = "/Solar System/Missions/JWST",
|
||||
Hidden = true,
|
||||
}
|
||||
}
|
||||
|
||||
local JWSTBand = {
|
||||
Identifier = "JWSTBand",
|
||||
Parent = JWSTPosition.Identifier,
|
||||
Transform = {
|
||||
Rotation = {
|
||||
Type = "FixedRotation",
|
||||
Attached = "JWSTBand",
|
||||
XAxis = { 1, 0, 0 },
|
||||
XAxisOrthogonal = true,
|
||||
ZAxis = sunTransforms.SolarSystemBarycenter.Identifier
|
||||
}
|
||||
},
|
||||
Renderable = {
|
||||
Enabled = false,
|
||||
Type = "RenderableSphere",
|
||||
Texture = band .. "/JWST-band.png",
|
||||
Size = 9.2E15,
|
||||
Segments = 50,
|
||||
DisableFadeInOut = true,
|
||||
Orientation = "Inside",
|
||||
Opacity = 0.05,
|
||||
UseAdditiveBlending = true,
|
||||
},
|
||||
Tag = { "mission_jwst_fov" },
|
||||
GUI = {
|
||||
Name = "JWST Safe Viewing Band",
|
||||
Path = "/Solar System/Missions/JWST"
|
||||
}
|
||||
}
|
||||
|
||||
local JWSTModel = {
|
||||
Identifier = "JWSTModel",
|
||||
Parent = JWSTRotation.Identifier,
|
||||
TimeFrame = {
|
||||
Type = "TimeFrameInterval",
|
||||
Start = "2020 JAN 01",
|
||||
End = "2024 JAN 01"
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
GeometryFile = model .. "/JWSTFBX.osmodel",
|
||||
ModelScale = "Foot",
|
||||
InvertModelScale = true,
|
||||
EnableAnimation = true,
|
||||
--TODO: Update theese when the new animation is finished
|
||||
AnimationStartTime = "2018 10 01 15:00:00",
|
||||
AnimationMode = "Once",
|
||||
LightSources = {
|
||||
{
|
||||
Type = "SceneGraphLightSource",
|
||||
Identifier = "Sun",
|
||||
Node = sunTransforms.SolarSystemBarycenter.Identifier,
|
||||
Intensity = 1.0
|
||||
}
|
||||
},
|
||||
PerformShading = true,
|
||||
DisableFaceCulling = true
|
||||
},
|
||||
GUI = {
|
||||
Name = "James Webb Space Telescope",
|
||||
Path = "/Solar System/Missions/JWST",
|
||||
}
|
||||
}
|
||||
|
||||
local JWSTTrail = {
|
||||
Identifier = "JWSTTrail",
|
||||
Parent = transforms.L2.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableTrailOrbit",
|
||||
Translation = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = "JWST",
|
||||
Observer = "392", -- L2
|
||||
Kernels = JWSTKernel .. "/jwst_horizons_20200101_20240101_v01.bsp"
|
||||
},
|
||||
Color = { 0.9, 0.9, 0.0 },
|
||||
Period = 91.3105,
|
||||
Resolution = 100
|
||||
},
|
||||
GUI = {
|
||||
Name = "JWST Trail",
|
||||
Path = "/Solar System/Missions/JWST"
|
||||
}
|
||||
}
|
||||
|
||||
local JWSTSunTrail = {
|
||||
Identifier = "JWSTSunTrail",
|
||||
Parent = sunTransforms.SolarSystemBarycenter.Identifier,
|
||||
Renderable = {
|
||||
Enabled = false,
|
||||
Type = "RenderableTrailOrbit",
|
||||
Translation = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = "JWST",
|
||||
Observer = "SUN",
|
||||
Kernels = JWSTKernel .. "/jwst_horizons_20200101_20240101_v01.bsp"
|
||||
},
|
||||
Color = { 0.0, 0.9, 0.9 },
|
||||
Period = 365.242,
|
||||
Resolution = 1000
|
||||
},
|
||||
GUI = {
|
||||
Name = "JWST Sun Trail",
|
||||
Path = "/Solar System/Missions/JWST"
|
||||
}
|
||||
}
|
||||
|
||||
local JWSTFov = {
|
||||
Identifier = "JWSTFov",
|
||||
Parent = JWSTModel.Identifier,
|
||||
Renderable = {
|
||||
Enabled = false,
|
||||
Type = "RenderablePrism",
|
||||
Segments = 6,
|
||||
Lines = 3,
|
||||
Radius = 3.25,
|
||||
LineWidth = 1.0,
|
||||
Color = { 1.0, 1.0, 1.0 },
|
||||
Length = 9.2E15
|
||||
},
|
||||
Transform = {
|
||||
Rotation = {
|
||||
Type = "StaticRotation",
|
||||
Rotation = { 0, 0, math.rad(30) }
|
||||
},
|
||||
},
|
||||
Tag = { "mission_jwst_fov" },
|
||||
GUI = {
|
||||
Name = "JWST Field of View",
|
||||
Path = "/Solar System/Missions/JWST",
|
||||
}
|
||||
}
|
||||
|
||||
-- Launch, coming soon
|
||||
--[[local JWSTLaunchPosition = {
|
||||
Identifier = "JWSTLaunchPosition",
|
||||
Parent = transforms.L2.Identifier,
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "HorizonsTranslation",
|
||||
HorizonsTextFile = JWSTHorizons .. "/horizons_jwst_launch.dat",
|
||||
},
|
||||
},
|
||||
GUI = {
|
||||
Name = "JWST Launch Position",
|
||||
Path = "/Solar System/Missions/JWST",
|
||||
Hidden = true,
|
||||
}
|
||||
}
|
||||
|
||||
local JWSTLaunchModel = {
|
||||
Identifier = "JWSTLaunchModel",
|
||||
Parent = JWSTLaunchPosition.Identifier,
|
||||
TimeFrame = {
|
||||
Type = "TimeFrameInterval",
|
||||
Start = "2018 OCT 01 13:18:00",
|
||||
End = "2019 OCT 01"
|
||||
},
|
||||
Transform = {
|
||||
Rotation = {
|
||||
Type = "FixedRotation",
|
||||
Attached = "JWSTRotation",
|
||||
XAxis = { 1, 0, 0 },
|
||||
XAxisOrthogonal = true,
|
||||
YAxisInvert = true,
|
||||
YAxis = sunTransforms.SolarSystemBarycenter.Identifier
|
||||
}
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
GeometryFile = model .. "/JWSTFBX.osmodel",
|
||||
ModelScale = "Foot",
|
||||
InvertModelScale = true,
|
||||
EnableAnimation = true,
|
||||
--TODO: Update theese when the new animation is finished
|
||||
AnimationStartTime = "2018 10 01 15:00:00",
|
||||
AnimationMode = "Once",
|
||||
LightSources = {
|
||||
{
|
||||
Type = "SceneGraphLightSource",
|
||||
Identifier = "Sun",
|
||||
Node = sunTransforms.SolarSystemBarycenter.Identifier,
|
||||
Intensity = 1.0
|
||||
}
|
||||
},
|
||||
PerformShading = true,
|
||||
DisableFaceCulling = true
|
||||
},
|
||||
GUI = {
|
||||
Name = "JWST Launch Model",
|
||||
Path = "/Solar System/Missions/JWST",
|
||||
}
|
||||
}
|
||||
|
||||
local JWSTLaunchTrail = {
|
||||
Identifier = "JWSTLaunchTrail",
|
||||
Parent = transforms.L2.Identifier,
|
||||
TimeFrame = {
|
||||
Type = "TimeFrameInterval",
|
||||
Start = "2018 OCT 01 13:18:00",
|
||||
End = "2019 OCT 01"
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderableTrailTrajectory",
|
||||
Translation = {
|
||||
Type = "HorizonsTranslation",
|
||||
HorizonsTextFile = JWSTHorizons .. "/horizons_jwst_launch.dat",
|
||||
},
|
||||
Color = { 0.9, 0.9, 0.0 },
|
||||
StartTime = "2018 OCT 01 13:18:00",
|
||||
EndTime = "2019 OCT 01",
|
||||
SampleInterval = 600
|
||||
},
|
||||
GUI = {
|
||||
Name = "JWST Launch Trail",
|
||||
Path = "/Solar System/Missions/JWST"
|
||||
}
|
||||
}]]--
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, {
|
||||
JWSTTrail,
|
||||
JWSTSunTrail,
|
||||
--JWSTLaunchTrail,
|
||||
JWSTPosition,
|
||||
--JWSTLaunchPosition,
|
||||
JWSTRotation,
|
||||
JWSTBand,
|
||||
JWSTModel,
|
||||
--JWSTLaunchModel,
|
||||
JWSTFov
|
||||
})
|
||||
@@ -1,17 +1,10 @@
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
local transforms = asset.require('./transforms')
|
||||
local sunTransforms = asset.require('scene/solarsystem/sun/transforms')
|
||||
|
||||
local models = asset.syncedResource({
|
||||
Name = "Bennu Models",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "bennu_models",
|
||||
Version = 1
|
||||
})
|
||||
local models = asset.require('./models').models
|
||||
|
||||
local BENNU_BODY = "2101955"
|
||||
|
||||
|
||||
local Bennu = {
|
||||
Identifier = "Bennu",
|
||||
Parent = transforms.BennuBarycenter.Identifier,
|
||||
@@ -20,56 +13,17 @@ local Bennu = {
|
||||
Type = "SpiceRotation",
|
||||
SourceFrame = "IAU_BENNU",
|
||||
DestinationFrame = "GALACTIC"
|
||||
},
|
||||
Scale = {
|
||||
Type = "StaticScale",
|
||||
Scale = 1000.0
|
||||
}
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderableModelProjection",
|
||||
Enabled = false,
|
||||
Type = "RenderableModel",
|
||||
Body = BENNU_BODY,
|
||||
GeometryFile = models .. "/BennuUntextured.obj",
|
||||
Projection = {
|
||||
Sequence = asset.localResource('InstrumentTimes'),
|
||||
SequenceType = "instrument-times",
|
||||
Observer = "OSIRIS-REX",
|
||||
Target = BENNU_BODY,
|
||||
Aberration = "NONE",
|
||||
AspectRatio = 2,
|
||||
|
||||
DataInputTranslation = {
|
||||
Instruments = {
|
||||
ORX_OCAMS_POLYCAM = {
|
||||
DetectorType = "Camera",
|
||||
Spice = { "ORX_OCAMS_POLYCAM" },
|
||||
Files = {
|
||||
"BaseballDiamond_PolyCam.txt",
|
||||
--"OrbitalB_Site08_PolyCamImages.txt",
|
||||
"Recon_225m_Equatorial_PolyCam.txt"
|
||||
}
|
||||
},
|
||||
ORX_REXIS = {
|
||||
DetectorType = "Camera",
|
||||
Spice = { "ORX_REXIS" },
|
||||
Files = {
|
||||
"DetailedSurvey_EquatorialStations_Spectrometers.txt",
|
||||
"Recon_225m_Equatorial_spectrometers.txt",
|
||||
"Recon_525m_Equatorial_spectrometers.txt"
|
||||
}
|
||||
}
|
||||
},
|
||||
Target = {
|
||||
Body = BENNU_BODY
|
||||
},
|
||||
},
|
||||
|
||||
Instrument = { -- INVALID DATA - JUST FOR TESTING
|
||||
Name = "ORX_OCAMS_POLYCAM",
|
||||
Method = "ELLIPSOID",
|
||||
Aberration = "NONE",
|
||||
Fovy = 0.792,
|
||||
Aspect = 1,
|
||||
Near = 0.01,
|
||||
Far = 1000000
|
||||
}
|
||||
}
|
||||
GeometryFile = models .. "/Bennu_v20_200k.stl",
|
||||
},
|
||||
GUI = {
|
||||
Path = "/Solar System/Asteroid"
|
||||
|
||||
@@ -0,0 +1,104 @@
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
local transforms = asset.require('./transforms')
|
||||
local sunTransforms = asset.require('scene/solarsystem/sun/transforms')
|
||||
|
||||
local models = asset.require('./models').models
|
||||
|
||||
local BENNU_BODY = "2101955"
|
||||
|
||||
local images = asset.syncedResource({
|
||||
Name = "Bennu Images Approach",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "osirisrex_bennu_images_approach",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local imagesA = asset.syncedResource({
|
||||
Name = "Bennu Images A",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "osirisrex_bennu_images_orbit_a",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local BennuProjection = {
|
||||
Identifier = "BennuProjection",
|
||||
Parent = transforms.BennuBarycenter.Identifier,
|
||||
Transform = {
|
||||
Rotation = {
|
||||
Type = "SpiceRotation",
|
||||
SourceFrame = "IAU_BENNU",
|
||||
DestinationFrame = "GALACTIC"
|
||||
},
|
||||
},
|
||||
Renderable = {
|
||||
Enabled = true,
|
||||
Type = "RenderableModelProjection",
|
||||
Body = BENNU_BODY,
|
||||
GeometryFile = models .. "/BennuTextured.obj",
|
||||
Projection = {
|
||||
Sequence = { images, imagesA },
|
||||
SequenceType = "image-sequence",
|
||||
Observer = "OSIRIS-REX",
|
||||
Target = BENNU_BODY,
|
||||
Aberration = "NONE",
|
||||
TextureMap = true,
|
||||
DataInputTranslation = {
|
||||
Instruments = {
|
||||
ORX_OCAMS_POLYCAM = {
|
||||
DetectorType = "Camera",
|
||||
Spice = { "ORX_OCAMS_POLYCAM" },
|
||||
},
|
||||
},
|
||||
Target = {
|
||||
Read = {
|
||||
"TARGET_NAME",
|
||||
"INSTRUMENT_HOST_NAME",
|
||||
"INSTRUMENT_ID",
|
||||
"START_TIME",
|
||||
"STOP_TIME"
|
||||
},
|
||||
Convert = {
|
||||
["2101955"] = { "2101955" },
|
||||
["OSIRIS-REX"] = { "OSIRIS-REX" },
|
||||
["ORX_OCAMS_POLYCAM"] = { "ORX_OCAMS_POLYCAM" },
|
||||
}
|
||||
}
|
||||
},
|
||||
Instrument = { -- INVALID DATA - JUST FOR TESTING
|
||||
Name = "ORX_OCAMS_POLYCAM",
|
||||
Method = "ELLIPSOID",
|
||||
Aberration = "NONE",
|
||||
Fovy = 0.792,
|
||||
Aspect = 1,
|
||||
Near = 0.01,
|
||||
Far = 1000000
|
||||
}
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Path = "/Solar System/Asteroid"
|
||||
}
|
||||
}
|
||||
|
||||
local BennuTrail = {
|
||||
Identifier = "BennuTrail",
|
||||
Parent = sunTransforms.SolarSystemBarycenter.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableTrailTrajectory",
|
||||
Translation = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = BENNU_BODY,
|
||||
Observer = "SUN"
|
||||
},
|
||||
Color = { 0.4, 0.0, 0.7 },
|
||||
StartTime = "2015 JAN 01 00:00:00.000",
|
||||
EndTime = "2023 MAY 31 00:00:00.000",
|
||||
SampleInterval = 3600
|
||||
},
|
||||
GUI = {
|
||||
Name = "Bennu Trail",
|
||||
Path = "/Solar System/Asteroid"
|
||||
}
|
||||
}
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, { BennuProjection, BennuTrail })
|
||||
@@ -0,0 +1,43 @@
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
local transforms = asset.require('./transforms')
|
||||
|
||||
local textures = asset.syncedResource({
|
||||
Name = "Bennu Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "bennu_textures",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local BENNU_BODY = "2101955"
|
||||
|
||||
local ImagePlane = {
|
||||
Identifier = "ImagePlaneBennu",
|
||||
Parent = transforms.BennuBarycenter.Identifier,
|
||||
Transform = {
|
||||
-- Translation = {
|
||||
-- Type = "StaticTranslation",
|
||||
-- Position = { -0.2476, 0.2710, 0.3364 }
|
||||
-- },
|
||||
-- Rotation = {
|
||||
-- Type = "SpiceRotation",
|
||||
-- SourceFrame = "ORX_OCAMS_POLYCAM",
|
||||
-- DestinationFrame = "ORX_SPACECRAFT"
|
||||
-- }
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderablePlaneProjection",
|
||||
Frame = "IAU_BENNU",
|
||||
DefaultTarget = BENNU_BODY,
|
||||
Spacecraft = "OSIRIS-REX",
|
||||
Instrument = "ORX_OCAMS_POLYCAM",
|
||||
Moving = false,
|
||||
Texture = textures .. "/defaultProj.png"
|
||||
},
|
||||
GUI = {
|
||||
Name = "OsirisREx Image Plane",
|
||||
Path = "/Solar System/Missions/OSIRIS REx"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, { ImagePlane })
|
||||
@@ -0,0 +1,91 @@
|
||||
local kernels = asset.syncedResource({
|
||||
Name = "Osiris Rex Kernels",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "osirisrex_kernels",
|
||||
Version = 2
|
||||
})
|
||||
|
||||
local OsirisRexKernels = {
|
||||
kernels .. "/orx_v14.tf",
|
||||
kernels .. "/orx_ocams_v07.ti",
|
||||
kernels .. "/orx_rexis_v01.ti",
|
||||
kernels .. "/ORX_SCLKSCET.00061.tsc",
|
||||
kernels .. "/bennu_v17.tpc",
|
||||
kernels .. "/orx_struct_v04.bsp",
|
||||
kernels .. "/orx_sa_red_200106_v02.bc",
|
||||
kernels .. "/orx_sa_red_200107_v02.bc",
|
||||
kernels .. "/orx_sa_red_200108_v02.bc",
|
||||
kernels .. "/orx_sa_red_200109_v02.bc",
|
||||
kernels .. "/orx_sa_red_200110_v02.bc",
|
||||
kernels .. "/orx_sa_rel_200106_200112_v01.bc",
|
||||
kernels .. "/orx_sc_rel_160909_160911_v01.bc",
|
||||
kernels .. "/orx_sc_rel_160912_160918_v01.bc",
|
||||
kernels .. "/orx_sc_rel_160919_160925_v01.bc",
|
||||
kernels .. "/orx_sc_rel_160926_161002_v01.bc",
|
||||
kernels .. "/orx_sc_rel_181029_181104_v02.bc",
|
||||
kernels .. "/orx_sc_rel_190218_190224_v02.bc",
|
||||
kernels .. "/orx_sc_rel_200106_200112_v01.bc",
|
||||
kernels .. "/orx_sc_rel_201019_201025_v01.bc",
|
||||
kernels .. "/orx_sc_rel_201012_201018_v01.bc",
|
||||
kernels .. "/orx_sc_red_200106_v02.bc",
|
||||
kernels .. "/orx_sc_red_200107_v02.bc",
|
||||
kernels .. "/orx_sc_red_200108_v02.bc",
|
||||
kernels .. "/orx_sc_red_200109_v02.bc",
|
||||
kernels .. "/orx_sc_red_201020_v02.bc",
|
||||
kernels .. "/orx_sc_red_201017_v03.bc",
|
||||
kernels .. "/orx_sc_red_201018_v02.bc",
|
||||
kernels .. "/orx_sc_red_201019_v02.bc",
|
||||
kernels .. "/orx_r_160909_160910_v01.bc",
|
||||
kernels .. "/orx_r_160910_160913_v01.bc",
|
||||
kernels .. "/orx_r_160913_160915_v01.bc",
|
||||
kernels .. "/orx_r_160915_160919_v01.bc",
|
||||
kernels .. "/orx_r_160918_160922_v01.bc",
|
||||
kernels .. "/orx_r_160919_160922_v01.bc",
|
||||
kernels .. "/orx_r_200105_200107_v02.bc",
|
||||
kernels .. "/orx_r_200106_200108_v02.bc",
|
||||
kernels .. "/orx_r_200107_200109_v02.bc",
|
||||
kernels .. "/orx_r_200107_200112_v01.bc",
|
||||
kernels .. "/orx_r_200108_200110_v02.bc",
|
||||
kernels .. "/orx_r_200109_200111_v02.bc",
|
||||
kernels .. "/orx_r_201019_201021_v06.bc",
|
||||
kernels .. "/orx_r_201018_201021_v02.bc",
|
||||
kernels .. "/orx_r_201018_201020_v03.bc",
|
||||
kernels .. "/orx_r_201017_201019_v03.bc",
|
||||
kernels .. "/orx_p_160910_161005_xc001b_v01.bc",
|
||||
kernels .. "/orx_p_200106_200113_2002_od205_v01.bc",
|
||||
kernels .. "/orx_p_200106_200113_2002_od209_v01.bc",
|
||||
kernels .. "/orx_p_200106_200113_2002_od210_v01.bc",
|
||||
kernels .. "/orx_p_201019_201026_2043tag_od293_v03.bc",
|
||||
kernels .. "/orx_p_201012_201019_2042_od291_v04.bc",
|
||||
kernels .. "/orx_p_210411_210510_xq006_od297_v05.bc",
|
||||
kernels .. "/orx_p_210509_210513_xr001_adm_final_mod_od311_v01.bc",
|
||||
kernels .. "/orx_p_210509_210607_xr001_od298_v00.bc",
|
||||
kernels .. "/orx_p_230824_231008_src_release_od298_v00.bc",
|
||||
kernels .. "/OREX_20160904_M45_complete.bsp",
|
||||
kernels .. "/OREX_20160908_M60_complete.bsp",
|
||||
kernels .. "/orx_struct_polycam_v01.bc",
|
||||
kernels .. "/de424.bsp",
|
||||
kernels .. "/bennu_refdrmc_v1.bsp",
|
||||
kernels .. "/orx_160908_231024_pgaa2_day06m60.bsp",
|
||||
kernels .. "/orx_160908_231024_pgaa3_day06m60_v1.bsp",
|
||||
kernels .. "/orx_160909_161228_160919_od005_tcm1_v2.bsp",
|
||||
kernels .. "/orx_160909_161228_160930_od006_tcm1_v1.bsp",
|
||||
kernels .. "/orx_160909_170101_160912_od004_v1.bsp",
|
||||
kernels .. "/orx_160909_170101_161010_od008_v1.bsp",
|
||||
kernels .. "/spk_orx_160908_231024_pgaa2_day06m60_v3.bsp",
|
||||
kernels .. "/orx_160909_231024_refod009_v2.bsp",
|
||||
kernels .. "/orx_171006_231024_171005_refod027_v1.bsp",
|
||||
kernels .. "/orx_180301_200101_180711_od037-R-AM1-P-M17B_v2.bsp",
|
||||
kernels .. "/orx_180801_181219_181128_od066-N-M0P-L-VC1_v1.bsp",
|
||||
kernels .. "/orx_191101_200407_191202_od204-R-R1P1-P-R3R_v1.bsp",
|
||||
kernels .. "/orx_201020_210524_210103_od297-N-PTO1-F_v1.bsp",
|
||||
kernels .. "/orx_201020_210601_201109_od295-R_v1.bsp",
|
||||
kernels .. "/orx_201020_201110_201021_od293-N_v1.bsp",
|
||||
kernels .. "/orx_201005_201201_200615_od258-R-T1P1-P-T1R1_v1.bsp",
|
||||
kernels .. "/orx_201005_201201_200615_od258-C-T1P1-P-T1R5_v2.bsp",
|
||||
kernels .. "/orx_210115_210701_210426_od310-N-ADM-P_v1.bsp",
|
||||
kernels .. "/orx_210408_210701_210503_od311-N-ADM-F_v1.bsp",
|
||||
kernels .. "/orx_210509_231025_210119_od298-R-ADM1-P-DB1_v1.bsp"
|
||||
}
|
||||
|
||||
asset.export('kernels', OsirisRexKernels)
|
||||
@@ -3,173 +3,17 @@ local transforms = asset.require('./transforms')
|
||||
local sunTransforms = asset.require('scene/solarsystem/sun/transforms')
|
||||
local earthTransforms = asset.require('scene/solarsystem/planets/earth/transforms')
|
||||
|
||||
|
||||
|
||||
local kernels = asset.syncedResource({
|
||||
Name = "Osiris Rex Kernels",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "osirisrex_kernels",
|
||||
Version = 1
|
||||
})
|
||||
local OsirisRexKernels = asset.require('./kernels').kernels
|
||||
|
||||
local models = asset.syncedResource({
|
||||
Name = "Osiris Rex Models",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "osirisrex_models",
|
||||
Version = 2
|
||||
Version = 3
|
||||
})
|
||||
|
||||
local BENNU_BODY = "2101955"
|
||||
|
||||
KernelCase = 2 -- Right now we only have the image times for case 2
|
||||
|
||||
local CaseDependentKernels
|
||||
if KernelCase == 2 then
|
||||
CaseDependentKernels = {
|
||||
kernels .. "/ORX_Recon_525mSortie_Case02.bsp",
|
||||
kernels .. "/Recon_525mSortie_Case02_0Latitude.bc",
|
||||
kernels .. "/Recon_525mSortie_Case02_atl_19145_04.atf",
|
||||
|
||||
kernels .. "/ORX_Recon_225mSortie_Case02.bsp",
|
||||
kernels .. "/Recon_225mSortie_Case02_0Latitude.bc"
|
||||
}
|
||||
elseif KernelCase == 5 then
|
||||
CaseDependentKernels = {
|
||||
kernels .. "/ORX_Recon_525mSortie_Case05.bsp",
|
||||
kernels .. "/Recon_525mSortie_Case05_20negLatitude.bc",
|
||||
kernels .. "/Recon_525mSortie_Case05_atl_19145_04.atf",
|
||||
kernels .. "/Recon_525mSortie_Case05_NominalProfile.bc",
|
||||
|
||||
kernels .. "/ORX_Recon_225mSortie_Case05.bsp",
|
||||
kernels .. "/Recon_225mSortie_Case05_20negLatitude.bc"
|
||||
}
|
||||
elseif KernelCase == 8 then
|
||||
CaseDependentKernels = {
|
||||
kernels .. "/Recon_525mSortie_Case08_NominalProfile.bc",
|
||||
kernels .. "/ORX_Recon_225mSortie_Case08.bsp",
|
||||
kernels .. "/Recon_225mSortie_Case08_40negLatitude.bc"
|
||||
}
|
||||
elseif KernelCase == 11 then
|
||||
CaseDependentKernels = {
|
||||
kernels .. "/ORX_Recon_225mSortie_Case11.bsp",
|
||||
kernels .. "/Recon_225mSortie_Case11_60negLatitude.bc"
|
||||
}
|
||||
end
|
||||
|
||||
local OsirisRexKernels = {
|
||||
-- background
|
||||
-- SCLK kernels needs to be loaded before CK kernels (and generally first)
|
||||
kernels .. "/ORX_SCLKSCET.00000.tsc",
|
||||
|
||||
-- This cannot be loaded correctly for some reason!
|
||||
--openspace.spice.loadKernel(kernels .. "/OsirisRexKernels/background/dsk/RQ36mod.oct12_CCv0001.bds")
|
||||
|
||||
kernels .. "/orx_v04.tf",
|
||||
kernels .. "/orx_lidar_v00.ti",
|
||||
kernels .. "/orx_ocams_v03.ti",
|
||||
kernels .. "/orx_otes_v00.ti",
|
||||
kernels .. "/orx_rexis_v00.ti",
|
||||
kernels .. "/orx_struct_v00.ti",
|
||||
kernels .. "/orx_navcam_v00.ti",
|
||||
kernels .. "/orx_ola_v00.ti",
|
||||
kernels .. "/orx_ovirs_v00.ti",
|
||||
kernels .. "/orx_stowcam_v00.ti",
|
||||
-- kernels .. "/naif0011.tls",
|
||||
kernels .. "/bennu_SPH250m.tpc",
|
||||
kernels .. "/bennu_v10.tpc",
|
||||
|
||||
-- Low res SPK
|
||||
kernels .. "/orx_160917_231024_pgaa3_day15m60_v1.bsp",
|
||||
kernels .. "/orx_160914_231024_pgaa3_day12m60_v1.bsp",
|
||||
|
||||
kernels .. "/orx_160908_231024_pgaa3_day06m60_v1.bsp",
|
||||
kernels .. "/spk_orx_160908_231024_pgaa2_day06m60_v3.bsp",
|
||||
kernels .. "/orx_160908_231024_pgaa2_day06m60.bsp",
|
||||
|
||||
kernels .. "/OREX_20160908_M60_complete.bsp",
|
||||
kernels .. "/OREX_20160904_M45_complete.bsp",
|
||||
|
||||
-- SPK
|
||||
kernels .. "/de421.bsp",
|
||||
kernels .. "/sb-101955-76.bsp",
|
||||
|
||||
-- Nominal_Profile_LowRes
|
||||
kernels .. "/Approach_600s_20180816T230000_20181119T010000.bsp",
|
||||
kernels .. "/Approach_NominalProfile_600s_20180816T230000_20181119T010000.bc",
|
||||
kernels .. "/DetailedSurvey_600s_20190108T000000_20190317T000000.bsp",
|
||||
kernels .. "/OrbitalA_600s_20181203T230000_20190109T000000.bsp",
|
||||
kernels .. "/OrbitalA_NominalProfile_600s_20181203T230000_20190109T000000.bc",
|
||||
kernels .. "/OrbitalB_600s_20190316T000000_20190521T000000.bsp",
|
||||
kernels .. "/DetailedSurvey_NominalProfile_600s_20190108T000000_20190317T000000.bc",
|
||||
kernels .. "/OrbitalB_NominalProfile600s_20190316T000000_20190521T000000.bc",
|
||||
kernels .. "/PrelimSurvey_600s_20181119T230000_20181204T010000.bsp",
|
||||
kernels .. "/PrelimSurvey_NominalProfile_600s_20181119T230000_20181204T010000.bc",
|
||||
kernels .. "/Recon_600s_20190519T000000_20190830T000000.bsp",
|
||||
kernels .. "/Recon_NominalProfile_600s_20190519T000000_20190830T000000.bc",
|
||||
|
||||
-- Nominal_Observations_Science
|
||||
kernels .. "/Phase03_AP_DustSearch_1.bc",
|
||||
kernels .. "/Phase03_AP_LightCurve_1.bc",
|
||||
kernels .. "/Phase03_AP_LightCurve_2.bc",
|
||||
kernels .. "/Phase03_AP_SatSearch_1.bc",
|
||||
kernels .. "/Phase03_AP_SatSearch_2.bc",
|
||||
kernels .. "/Phase03_AP_PhaseFunction_1.bc",
|
||||
kernels .. "/Phase03_AP_ShapeModel_1.bc",
|
||||
kernels .. "/Phase03_AP_ShapeModel_2.bc",
|
||||
kernels .. "/Phase03_AP_ShapeModel_3.bc",
|
||||
kernels .. "/Phase03_AP_ShapeModel_4.bc",
|
||||
kernels .. "/Phase03_AP_ShapeModel_5.bc",
|
||||
kernels .. "/Phase03_AP_ShapeModel_6.bc",
|
||||
kernels .. "/Phase03_AP_ShapeModel_7.bc",
|
||||
kernels .. "/Phase03_AP_ShapeModel_8.bc",
|
||||
kernels .. "/Phase03_AP_ShapeModel_9_Forced4x4.bc",
|
||||
kernels .. "/Phase03_AP_SpectraMap_1.bc",
|
||||
kernels .. "/Phase04_PS_MC_1_v1_1a.bc",
|
||||
kernels .. "/Phase04_PS_MC_2_v1_1a.bc",
|
||||
kernels .. "/Phase04_PS_OLA_Nominal_1.bc",
|
||||
kernels .. "/Phase04_PS_OLA_Nominal_2.bc",
|
||||
kernels .. "/Phase04_PS_OLA_Nominal_3.bc",
|
||||
kernels .. "/Phase04_PS_OLA_Nominal_4.bc",
|
||||
kernels .. "/Phase04_PS_PolyCam_1.bc",
|
||||
kernels .. "/Phase04_PS_PolyCam_2.bc",
|
||||
kernels .. "/Phase04_PS_PolyCam_3.bc",
|
||||
kernels .. "/Phase04_PS_PolyCam_4.bc",
|
||||
kernels .. "/Phase04_PS_PolyCam_5.bc",
|
||||
kernels .. "/Phase04_PS_PolyCam_6.bc",
|
||||
|
||||
--openspace.spice.loadKernel(kernels .. "/OsirisRexKernels/Nominal_Observations_Science/06_DetailedSurvey/BaseballDiamond_v2/atl_19013_18_BBD1_info.TXT")
|
||||
--openspace.spice.loadKernel(kernels .. "/OsirisRexKernels/Nominal_Observations_Science/06_DetailedSurvey/BaseballDiamond_v2/atl_19014_16_BBD2_info.TXT")
|
||||
--openspace.spice.loadKernel(kernels .. "/OsirisRexKernels/Nominal_Observations_Science/06_DetailedSurvey/BaseballDiamond_v2/atl_19020_18_BBD3_info.TXT")
|
||||
--openspace.spice.loadKernel(kernels .. "/OsirisRexKernels/Nominal_Observations_Science/06_DetailedSurvey/BaseballDiamond_v2/atl_19021_19_BBD4_info.TXT")
|
||||
--openspace.spice.loadKernel(kernels .. "/OsirisRexKernels/Nominal_Observations_Science/06_DetailedSurvey/BaseballDiamond_v2/README.txt")
|
||||
|
||||
kernels .. "/atl_19013_18_BBD1_v2.bc",
|
||||
kernels .. "/atl_19014_16_BBD2_v2.bc",
|
||||
kernels .. "/atl_19020_18_BBD3_v2.bc",
|
||||
kernels .. "/atl_19021_19_BBD4_v2.bc",
|
||||
|
||||
|
||||
kernels .. "/Phase06_DS_Equatorial_Stations_1.bc",
|
||||
kernels .. "/Phase06_DS_Equatorial_Stations_2.bc",
|
||||
kernels .. "/Phase06_DS_Equatorial_Stations_3.bc",
|
||||
kernels .. "/Phase06_DS_Equatorial_Stations_4.bc",
|
||||
kernels .. "/Phase06_DS_Equatorial_Stations_5.bc",
|
||||
kernels .. "/Phase06_DS_Equatorial_Stations_6.bc",
|
||||
kernels .. "/Phase06_DS_Equatorial_Stations_7.bc",
|
||||
kernels .. "/Phase06_DS_Plume_Search_1.bc",
|
||||
kernels .. "/Phase06_DS_Plume_Search_2.bc",
|
||||
kernels .. "/Phase07_OB_CSS_Mapping_1.bc",
|
||||
kernels .. "/Phase07_OB_CSS_Mapping_2.bc",
|
||||
kernels .. "/Phase07_OB_CSS_Mapping_3.bc",
|
||||
kernels .. "/CSS_Mapping_1.a",
|
||||
kernels .. "/CSS_Mapping_2.a",
|
||||
kernels .. "/CSS_Mapping_3.a",
|
||||
|
||||
--openspace.spice.loadKernel(kernels .. "/Case02_0Latitude.wmv")
|
||||
--openspace.spice.loadKernel(kernels .. "/Case05_20negLatitude.wmv")
|
||||
--openspace.spice.loadKernel(kernels .. "/Case08_40negLatitude.wmv")
|
||||
--openspace.spice.loadKernel(kernels .. "/Case11_60negLatitude.wmv")
|
||||
}
|
||||
|
||||
local LightSources = {
|
||||
{
|
||||
@@ -185,11 +29,6 @@ local LightSources = {
|
||||
}
|
||||
}
|
||||
|
||||
-- Append the CaseDependentKernels at the end of the OsirisRexKernels set
|
||||
for i = 0, #CaseDependentKernels do
|
||||
OsirisRexKernels[#OsirisRexKernels + 1] = CaseDependentKernels[i]
|
||||
end
|
||||
|
||||
local OsirisRex = {
|
||||
Identifier = "OsirisRex",
|
||||
Parent = sunTransforms.SolarSystemBarycenter.Identifier,
|
||||
@@ -204,7 +43,7 @@ local OsirisRex = {
|
||||
Type = "SpiceRotation",
|
||||
SourceFrame = "ORX_SPACECRAFT",
|
||||
DestinationFrame = "GALACTIC"
|
||||
}
|
||||
},
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
@@ -262,7 +101,7 @@ local Rexis = {
|
||||
Type = "SpiceRotation",
|
||||
SourceFrame = "ORX_REXIS",
|
||||
DestinationFrame = "ORX_SPACECRAFT"
|
||||
}
|
||||
},
|
||||
},
|
||||
GUI = {
|
||||
Name = "REXIS",
|
||||
@@ -274,13 +113,13 @@ local PolyCamFov = {
|
||||
Identifier = "POLYCAM FOV",
|
||||
Parent = PolyCam.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableFov",
|
||||
Body = "OSIRIS-REX",
|
||||
Type = "RenderableFov",
|
||||
Body = "OSIRIS-REX",
|
||||
Frame = "ORX_OCAMS_POLYCAM",
|
||||
RGB = { 0.8, 0.7, 0.7 },
|
||||
RGB = { 0.8, 0.7, 0.7 },
|
||||
Instrument = {
|
||||
Name = "ORX_OCAMS_POLYCAM",
|
||||
Method = "ELLIPSOID",
|
||||
Name = "ORX_OCAMS_POLYCAM",
|
||||
Method = "ELLIPSOID",
|
||||
Aberration = "NONE"
|
||||
},
|
||||
PotentialTargets = { BENNU_BODY }
|
||||
@@ -295,13 +134,13 @@ local RexisFov = {
|
||||
Identifier = "REXIS FOV",
|
||||
Parent = Rexis.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableFov",
|
||||
Body = "OSIRIS-REX",
|
||||
Type = "RenderableFov",
|
||||
Body = "OSIRIS-REX",
|
||||
Frame = "ORX_REXIS",
|
||||
RGB = { 0.8, 0.7, 0.7 },
|
||||
RGB = { 0.8, 0.7, 0.7 },
|
||||
Instrument = {
|
||||
Name = "ORX_REXIS",
|
||||
Method = "ELLIPSOID",
|
||||
Name = "ORX_REXIS",
|
||||
Method = "ELLIPSOID",
|
||||
Aberration = "NONE"
|
||||
},
|
||||
PotentialTargets = { BENNU_BODY },
|
||||
@@ -316,5 +155,9 @@ local RexisFov = {
|
||||
}
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, {
|
||||
OsirisRex, PolyCam, Rexis, PolyCamFov, RexisFov
|
||||
OsirisRex,
|
||||
PolyCam,
|
||||
Rexis,
|
||||
PolyCamFov,
|
||||
RexisFov
|
||||
})
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
local models = asset.syncedResource({
|
||||
Name = "Bennu Models",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "bennu_models",
|
||||
Version = 2
|
||||
})
|
||||
|
||||
asset.export('models', models)
|
||||
@@ -1,4 +1,4 @@
|
||||
asset.require('./bennu')
|
||||
asset.require('./bennu_projection')
|
||||
asset.require('./model')
|
||||
asset.require('./trail')
|
||||
asset.require('scene/solarsystem/sun/marker')
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
--perseverance/model.asset
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
local transforms = asset.require('./transforms')
|
||||
local trail = asset.require('./trail')
|
||||
local marsTransforms = asset.require('scene/solarsystem/planets/mars/transforms')
|
||||
local sunTransforms = asset.require('scene/solarsystem/sun/transforms')
|
||||
-- asset.require('./fov')
|
||||
@@ -29,7 +29,7 @@ local models = asset.syncedResource({
|
||||
-- Perseverance Model --
|
||||
local Perseverance = {
|
||||
Identifier = "Perseverance",
|
||||
Parent = transforms.MSL_Body.Identifier,
|
||||
Parent = trail.PerseveranceNode.Identifier,
|
||||
GUI = {
|
||||
Name = "Perseverance",
|
||||
Path = "/Solar System/Missions/Perseverance"
|
||||
@@ -56,7 +56,8 @@ local Body = {
|
||||
Body = "MARS SCIENCE LABORATORY",
|
||||
GeometryFile = models .. "/Perseverance.obj",
|
||||
LightSources = LightSources,
|
||||
PerformShading = false
|
||||
PerformShading = false,
|
||||
RotationVector = {65.940000,201.389999,263.980011}
|
||||
},
|
||||
GUI = {
|
||||
Name = "Perseverance Model Body",
|
||||
|
||||
@@ -60,10 +60,11 @@ local PerseveranceTrailSun = {
|
||||
Color = { 0.2, 0.7, 0.1 },
|
||||
StartTime = startTime,
|
||||
EndTime = endTime,
|
||||
SampleInterval = 100
|
||||
SampleInterval = 100,
|
||||
Enabled = false
|
||||
},
|
||||
GUI = {
|
||||
Name = "Perseverance Trail",
|
||||
Name = "Perseverance Trail (Sun)",
|
||||
Path = "/Solar System/Missions/Perseverance"
|
||||
}
|
||||
}
|
||||
@@ -82,7 +83,8 @@ local PerseveranceTrailMars = {
|
||||
Color = { 0.7, 0.9, 0.6 },
|
||||
StartTime = approachMars,
|
||||
EndTime = endTime,
|
||||
SampleInterval = 100
|
||||
SampleInterval = 100,
|
||||
Enabled = false
|
||||
},
|
||||
GUI = {
|
||||
Name = "Perseverance Trail (Mars)",
|
||||
|
||||
@@ -1,503 +0,0 @@
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
local marsTransforms = asset.require('scene/solarsystem/planets/mars/transforms')
|
||||
local marsAsset = asset.require('scene/solarsystem/planets/mars/mars')
|
||||
local trailAsset = asset.require('./trail')
|
||||
|
||||
|
||||
local MSL_Body = {
|
||||
Identifier = "MSL_Body",
|
||||
Parent = trailAsset.PerseveranceNode.Identifier,
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "StaticTranslation",
|
||||
Position = { 0, 0.0, 2.8 }
|
||||
},
|
||||
Rotation = {
|
||||
Type = "StaticRotation",
|
||||
Rotation = { -0.521593,0.648407,2.888407 }
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Path = "/Solar System/Missions/Perseverance/Transforms",
|
||||
Hidden = true
|
||||
}
|
||||
}
|
||||
|
||||
---- ROBOTIC ARM RA ----
|
||||
local RA_Base_Location = {
|
||||
Identifier = "RA_Base_Location",
|
||||
Parent = MSL_Body.Identifier,
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "StaticTranslation",
|
||||
Position = { 1.111, -0.4525, -0.106 }
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Path = "/Solar System/Missions/Perseverance/Transforms",
|
||||
Hidden = true
|
||||
}
|
||||
}
|
||||
|
||||
--AZ
|
||||
local RA_Shoulder_AZ_Location = {
|
||||
Identifier = "RA_Shoulder_AZ_Location",
|
||||
Parent = RA_Base_Location.Identifier,
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "StaticTranslation",
|
||||
Position = { 0.0, 0.0, -0.08 }
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Path = "/Solar System/Missions/Perseverance/Transforms",
|
||||
Hidden = true
|
||||
}
|
||||
}
|
||||
|
||||
----EL
|
||||
local RA_Shoulder_EL_Location = {
|
||||
Identifier = "RA_Shoulder_EL_Location",
|
||||
Parent = RA_Shoulder_AZ_Location.Identifier,
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "StaticTranslation",
|
||||
Position = { 0.17, 0.2, -0.005 }
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Path = "/Solar System/Missions/Perseverance/Transforms",
|
||||
Hidden = true
|
||||
}
|
||||
}
|
||||
|
||||
--ELBOW
|
||||
local RA_Elbow_Location = {
|
||||
Identifier = "RA_Elbow_Location",
|
||||
Parent = RA_Shoulder_EL_Location.Identifier,
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "StaticTranslation",
|
||||
Position = { 0.83, -0.2, 0.0 }
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Path = "/Solar System/Missions/Perseverance/Transforms",
|
||||
Hidden = true
|
||||
}
|
||||
}
|
||||
|
||||
--WRIST
|
||||
local RA_Wrist_Location = {
|
||||
Identifier = "RA_Wrist_Location",
|
||||
Parent = RA_Elbow_Location.Identifier,
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "StaticTranslation",
|
||||
Position = { 0.77, 0.13, 0.035 }
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Path = "/Solar System/Missions/Perseverance/Transforms",
|
||||
Hidden = true
|
||||
}
|
||||
}
|
||||
|
||||
--TURRET
|
||||
local RA_Turret_Location = {
|
||||
Identifier = "RA_Turret_Location",
|
||||
Parent = RA_Wrist_Location.Identifier,
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "StaticTranslation",
|
||||
Position = { 0.0, 0.04, -0.15 }
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Path = "/Solar System/Missions/Perseverance/Transforms",
|
||||
Hidden = true
|
||||
}
|
||||
}
|
||||
|
||||
--MAHLI
|
||||
local RA_Mahli_Location = {
|
||||
Identifier = "RA_Mahli_Location",
|
||||
Parent = RA_Turret_Location.Identifier
|
||||
}
|
||||
|
||||
---- MASTCAM RSM ----
|
||||
local RSM_ROOT_Location = {
|
||||
Identifier = "RSM_ROOT_Location",
|
||||
Parent = MSL_Body.Identifier,
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "StaticTranslation",
|
||||
Position = { 0.7039, 0.5769, -0.563 }
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Path = "/Solar System/Missions/Perseverance/Transforms",
|
||||
Hidden = true
|
||||
}
|
||||
}
|
||||
|
||||
local RSM_AZ_Location = {
|
||||
Identifier = "RSM_AZ_Location",
|
||||
Parent = RSM_ROOT_Location.Identifier,
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "StaticTranslation",
|
||||
Position = { 0.0, 0.008, 0.0 }
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Path = "/Solar System/Missions/Perseverance/Transforms",
|
||||
Hidden = true
|
||||
}
|
||||
}
|
||||
|
||||
local RSM_ZERO_EL_Location = {
|
||||
Identifier = "RSM_ZERO_EL_Location",
|
||||
Parent = RSM_AZ_Location.Identifier,
|
||||
GUI = {
|
||||
Path = "/Solar System/Missions/Perseverance/Transforms",
|
||||
Hidden = true
|
||||
}
|
||||
}
|
||||
|
||||
local RSM_EL_Location = {
|
||||
Identifier = "RSM_EL_Location",
|
||||
Parent = RSM_AZ_Location.Identifier,
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "StaticTranslation",
|
||||
--Position = {0.0, 0.0, -0.664}
|
||||
Position = { 0.002, 0.007, -0.688 }
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Path = "/Solar System/Missions/Perseverance/Transforms",
|
||||
Hidden = true
|
||||
}
|
||||
}
|
||||
|
||||
---- HIGH GAIN ANTENNA HGA ----
|
||||
local HGA_AZ_Location = {
|
||||
Identifier = "HGA_AZ_Location",
|
||||
Parent = MSL_Body.Identifier,
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "StaticTranslation",
|
||||
Position = { -0.46, -0.47, -0.55 }
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Path = "/Solar System/Missions/Perseverance/Transforms",
|
||||
Hidden = true
|
||||
}
|
||||
}
|
||||
|
||||
local HGA_EL_Location = {
|
||||
Identifier = "HGA_EL_Location",
|
||||
Parent = HGA_AZ_Location.Identifier,
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "StaticTranslation",
|
||||
Position = { 0.0, 0.0, -0.17 }
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Path = "/Solar System/Missions/Perseverance/Transforms",
|
||||
Hidden = true
|
||||
}
|
||||
}
|
||||
|
||||
---- SAM & HEMIN ----
|
||||
local SAM_Cover_1_Location = {
|
||||
Identifier = "SAM_Cover_1_Location",
|
||||
Parent = MSL_Body.Identifier,
|
||||
GUI = {
|
||||
Path = "/Solar System/Missions/Perseverance/Transforms",
|
||||
Hidden = true
|
||||
}
|
||||
}
|
||||
|
||||
local SAM_Cover_2_Location = {
|
||||
Identifier = "SAM_Cover_2_Location",
|
||||
Parent = MSL_Body.Identifier,
|
||||
GUI = {
|
||||
Path = "/Solar System/Missions/Perseverance/Transforms",
|
||||
Hidden = true
|
||||
}
|
||||
}
|
||||
|
||||
local CHEMIN_Location = {
|
||||
Identifier = "CHEMIN_Location",
|
||||
Parent = MSL_Body.Identifier,
|
||||
GUI = {
|
||||
Path = "/Solar System/Missions/Perseverance/Transforms",
|
||||
Hidden = true
|
||||
}
|
||||
}
|
||||
|
||||
---- Wheels ----
|
||||
local Wheel_base_Location = {
|
||||
Identifier = "Wheel_base_Location",
|
||||
Parent = MSL_Body.Identifier,
|
||||
GUI = {
|
||||
Path = "/Solar System/Missions/Perseverance/Transforms",
|
||||
Hidden = true
|
||||
}
|
||||
}
|
||||
|
||||
-- Left side --
|
||||
local Leg_1_L_Location = {
|
||||
Identifier = "Leg_1_L_Location",
|
||||
Parent = Wheel_base_Location.Identifier,
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "StaticTranslation",
|
||||
Position = { 0.217, -0.812, -0.215 } --for the right side
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Path = "/Solar System/Missions/Perseverance/Transforms",
|
||||
Hidden = true
|
||||
}
|
||||
}
|
||||
|
||||
local Leg_2_L_Location = {
|
||||
Identifier = "Leg_2_L_Location",
|
||||
Parent = Leg_1_L_Location.Identifier,
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "StaticTranslation",
|
||||
Position = { -0.74, -0.00380, 0.223 } --CORRECT, DONT CHANGE
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Path = "/Solar System/Missions/Perseverance/Transforms",
|
||||
Hidden = true
|
||||
}
|
||||
}
|
||||
|
||||
local Wrist_F_L_Location = {
|
||||
Identifier = "Wrist_F_L_Location",
|
||||
Parent = Leg_1_L_Location.Identifier,
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "StaticTranslation",
|
||||
Position = { 0.8839, -0.2659, 0.2 } --CORRECT, DONT TOUCH
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Path = "/Solar System/Missions/Perseverance/Transforms",
|
||||
Hidden = true
|
||||
}
|
||||
}
|
||||
|
||||
local Wheel_F_L_Location = {
|
||||
Identifier = "Wheel_F_L_Location",
|
||||
Parent = Wrist_F_L_Location.Identifier,
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "StaticTranslation",
|
||||
Position = { 0.0, 0.0, 0.426 }
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Path = "/Solar System/Missions/Perseverance/Transforms",
|
||||
Hidden = true
|
||||
}
|
||||
}
|
||||
|
||||
local Wheel_C_L_Location = {
|
||||
Identifier = "Wheel_C_L_Location",
|
||||
Parent = Leg_2_L_Location.Identifier,
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "StaticTranslation",
|
||||
Position = { 0.45, -0.4, 0.403 }
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Path = "/Solar System/Missions/Perseverance/Transforms",
|
||||
Hidden = true
|
||||
}
|
||||
}
|
||||
|
||||
local Wrist_B_L_Location = {
|
||||
Identifier = "Wrist_B_L_Location",
|
||||
Parent = Leg_2_L_Location.Identifier,
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "StaticTranslation",
|
||||
Position = { -0.627, -0.2635, -0.022 } --CORRECT, DONT CHANGE
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Path = "/Solar System/Missions/Perseverance/Transforms",
|
||||
Hidden = true
|
||||
}
|
||||
}
|
||||
|
||||
local Wheel_B_L_Location = {
|
||||
Identifier = "Wheel_B_L_Location",
|
||||
Parent = Wrist_B_L_Location.Identifier,
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "StaticTranslation",
|
||||
Position = { 0.0, -0.0, 0.426 }
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Path = "/Solar System/Missions/Perseverance/Transforms",
|
||||
Hidden = true
|
||||
}
|
||||
}
|
||||
|
||||
-- wheels, Right Side --
|
||||
local Leg_1_R_Location = {
|
||||
Identifier = "Leg_1_R_Location",
|
||||
Parent = Wheel_base_Location.Identifier,
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "StaticTranslation",
|
||||
Position = { 0.217, 0.812, -0.215 } --Check with caroline!!!
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Path = "/Solar System/Missions/Perseverance/Transforms",
|
||||
Hidden = true
|
||||
}
|
||||
}
|
||||
|
||||
local Leg_2_R_Location = {
|
||||
Identifier = "Leg_2_R_Location",
|
||||
Parent = Leg_1_R_Location.Identifier,
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "StaticTranslation",
|
||||
--Position = {-0.74, 0.0, 0.24}
|
||||
Position = { -0.74, 0.00380, 0.223 } --want to use this one, once the center point is changed in maya
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Path = "/Solar System/Missions/Perseverance/Transforms",
|
||||
Hidden = true
|
||||
}
|
||||
}
|
||||
|
||||
local Wrist_F_R_Location = {
|
||||
Identifier = "Wrist_F_R_Location",
|
||||
Parent = Leg_1_R_Location.Identifier,
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "StaticTranslation",
|
||||
Position = { 0.882, 0.259, 0.215 }
|
||||
--Position = {0.8839, 0.2659, 0.2} --position for the Wrist_F_L
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Path = "/Solar System/Missions/Perseverance/Transforms",
|
||||
Hidden = true
|
||||
}
|
||||
}
|
||||
|
||||
local Wheel_F_R_Location = {
|
||||
Identifier = "Wheel_F_R_Location",
|
||||
Parent = Wrist_F_R_Location.Identifier,
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "StaticTranslation",
|
||||
Position = { 0.0, 0.0, 0.426 }
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Path = "/Solar System/Missions/Perseverance/Transforms",
|
||||
Hidden = true
|
||||
}
|
||||
}
|
||||
|
||||
local Wheel_C_R_Location = {
|
||||
Identifier = "Wheel_C_R_Location",
|
||||
Parent = Leg_2_R_Location.Identifier,
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "StaticTranslation",
|
||||
Position = { 0.45, 0.4, 0.403 }
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Path = "/Solar System/Missions/Perseverance/Transforms",
|
||||
Hidden = true
|
||||
}
|
||||
}
|
||||
|
||||
local Wrist_B_R_Location = {
|
||||
Identifier = "Wrist_B_R_Location",
|
||||
Parent = Leg_2_R_Location.Identifier,
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "StaticTranslation",
|
||||
Position = { -0.6208, 0.2759, -0.025 }
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Path = "/Solar System/Missions/Perseverance/Transforms",
|
||||
Hidden = true
|
||||
}
|
||||
}
|
||||
|
||||
local Wheel_B_R_Location = {
|
||||
Identifier = "Wheel_B_R_Location",
|
||||
Parent = Wrist_B_R_Location.Identifier,
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "StaticTranslation",
|
||||
Position = { 0.0, -0.0005, 0.426 }
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Path = "/Solar System/Missions/Perseverance/Transforms",
|
||||
Hidden = true
|
||||
}
|
||||
}
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, {
|
||||
MSL_Body,
|
||||
RA_Base_Location,
|
||||
RA_Shoulder_AZ_Location,
|
||||
RA_Shoulder_EL_Location,
|
||||
RA_Elbow_Location,
|
||||
RA_Wrist_Location,
|
||||
RA_Turret_Location,
|
||||
RA_Mahli_Location,
|
||||
RSM_ROOT_Location,
|
||||
RSM_AZ_Location,
|
||||
RSM_ZERO_EL_Location,
|
||||
RSM_EL_Location,
|
||||
|
||||
HGA_AZ_Location,
|
||||
HGA_EL_Location,
|
||||
SAM_Cover_1_Location,
|
||||
SAM_Cover_2_Location,
|
||||
CHEMIN_Location,
|
||||
|
||||
Wheel_base_Location,
|
||||
Leg_1_L_Location,
|
||||
Leg_2_L_Location,
|
||||
Wrist_F_L_Location,
|
||||
Wheel_F_L_Location,
|
||||
Wheel_C_L_Location,
|
||||
Wrist_B_L_Location,
|
||||
Wheel_B_L_Location,
|
||||
|
||||
Leg_1_R_Location,
|
||||
Leg_2_R_Location,
|
||||
Wrist_F_R_Location,
|
||||
Wheel_F_R_Location,
|
||||
Wheel_C_R_Location,
|
||||
Wrist_B_R_Location,
|
||||
Wheel_B_R_Location
|
||||
})
|
||||
@@ -83,7 +83,7 @@ local Voyager1Main = {
|
||||
}
|
||||
|
||||
local Voyager1Antenna = {
|
||||
Identifier = "Voyager_1_Antanna",
|
||||
Identifier = "Voyager_1_Antenna",
|
||||
Parent = Voyager1.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
@@ -92,7 +92,7 @@ local Voyager1Antenna = {
|
||||
LightSources = LightSources
|
||||
},
|
||||
GUI = {
|
||||
Name = "Voyager 1 Antanna",
|
||||
Name = "Voyager 1 Antenna",
|
||||
Path = "/Solar System/Missions/Voyager 1"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -87,7 +87,7 @@ local Voyager2Main = {
|
||||
}
|
||||
|
||||
local Voyager2Antenna = {
|
||||
Identifier = "Voyager_2_Antanna",
|
||||
Identifier = "Voyager_2_Antenna",
|
||||
Parent = Voyager2.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
@@ -96,7 +96,7 @@ local Voyager2Antenna = {
|
||||
LightSources = LightSources
|
||||
},
|
||||
GUI = {
|
||||
Name = "Voyager 2 Antanna",
|
||||
Name = "Voyager 2 Antenna",
|
||||
Path = "/Solar System/Missions/Voyager 2"
|
||||
}
|
||||
}
|
||||
@@ -116,7 +116,7 @@ local VoyagerTrailCruiseEarthJupiter = {
|
||||
Kernels = Kernels
|
||||
},
|
||||
Color = { 0.70, 0.50, 0.20 },
|
||||
StartTime = "1977 SEP 05",
|
||||
StartTime = "1977-AUG-20 16:07:06.535",
|
||||
EndTime = "1979 JUL 06",
|
||||
SampleInterval = 669 * 2 -- 669 is the number of days between the Start and End time
|
||||
},
|
||||
|
||||
@@ -23,21 +23,16 @@ local Earth = {
|
||||
}
|
||||
},
|
||||
Labels = {
|
||||
Enable = false,
|
||||
Enabled = false,
|
||||
FileName = labelsPath .. "/Earth.labels",
|
||||
LabelAlignmentOption = "Horizontally", -- or Circularly
|
||||
LabelsFontSize = 40.0,
|
||||
LabelsSize = 4.0,
|
||||
LabelsMinSize = 1.0,
|
||||
LabelsMaxSize = 1500.0,
|
||||
ProximityEnabled = false,
|
||||
LabelsFadeInEnabled = true,
|
||||
LabelsFadeOutEnabled = true,
|
||||
FadeInStartingDistance = 300000.0,
|
||||
FadeOutStartingDistance = 10000.0,
|
||||
LabelsForceDomeRendering = true,
|
||||
LabelsDistanceEPS = 1500000.0,
|
||||
LabelsColor = { 1.0, 0.0, 0.0 }
|
||||
AlignmentOption = "Horizontally", -- or Circularly
|
||||
FontSize = 20.0,
|
||||
Size = 5.0,
|
||||
FadeInEnabled = true,
|
||||
FadeOutEnabled = true,
|
||||
FadeDistances = { 10000.0, 300000.0 },
|
||||
DistanceEPS = 1500000.0,
|
||||
Color = { 1.0, 0.0, 0.0 }
|
||||
}
|
||||
},
|
||||
Tag = { "planet_solarSystem", "planet_terrestrial" },
|
||||
@@ -54,20 +49,16 @@ local EarthLabel = {
|
||||
Renderable = {
|
||||
Enabled = false,
|
||||
Type = "RenderableLabels",
|
||||
LabelText = "Earth",
|
||||
FontSize = 100.0,
|
||||
LabelSize = 8.6,
|
||||
LabelMaxSize = 100.0,
|
||||
LabelMinSize = 1.0,
|
||||
LabelOrientationOption = "Camera View Direction",
|
||||
Text = "Earth",
|
||||
FontSize = 70.0,
|
||||
Size = 8.77,
|
||||
MinMaxSize = { 1, 100 },
|
||||
OrientationOption = "Camera View Direction",
|
||||
BlendMode = "Additive",
|
||||
EnableFading = true,
|
||||
FadeStartUnit = "au",
|
||||
FadeStartDistance = 1.5,
|
||||
FadeStartSpeed = 1.0,
|
||||
FadeEndUnit = "au",
|
||||
FadeEndDistance = 15.0,
|
||||
FadeEndSpeed = 25.0
|
||||
FadeUnit = "au",
|
||||
FadeDistances = { 1.5, 15.0 },
|
||||
FadeWidths = { 1.0, 25.0 }
|
||||
},
|
||||
Tag = { "solarsystem_labels" },
|
||||
GUI = {
|
||||
|
||||
@@ -0,0 +1,59 @@
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
local transforms = asset.require('scene/solarsystem/sun/transforms')
|
||||
local circle = asset.require('util/circle').circle
|
||||
local kernels = asset.require('scene/solarsystem/planets/earth/lagrange_points/lagrange_kernels').kernels
|
||||
asset.require('spice/base')
|
||||
|
||||
local L1 = {
|
||||
Identifier = "L1",
|
||||
Parent = transforms.SolarSystemBarycenter.Identifier,
|
||||
Renderable = {
|
||||
Enabled = false,
|
||||
Type = "RenderablePlaneImageLocal",
|
||||
RenderableType = "Opaque",
|
||||
Billboard = true,
|
||||
Size = 700E5,
|
||||
Texture = circle .. "/circle.png",
|
||||
BlendMode = "Additive"
|
||||
},
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = "391", -- L1
|
||||
Observer = "SUN",
|
||||
Kernels = kernels .. "/L1_de431.bsp"
|
||||
}
|
||||
},
|
||||
Tag = { "lagrange_points_earth" , "lagrange_points_earth_l1" },
|
||||
GUI = {
|
||||
Name = "L1",
|
||||
Path = "/Solar System/Planets/Earth/Lagrange points",
|
||||
}
|
||||
}
|
||||
|
||||
local L1Label = {
|
||||
Identifier = "L1Label",
|
||||
Parent = L1.Identifier,
|
||||
Renderable = {
|
||||
Enabled = false,
|
||||
Type = "RenderableLabels",
|
||||
Text = "L1",
|
||||
FontSize = 20,
|
||||
Size = 7.5,
|
||||
MinMaxSize = { 1.0, 100.0},
|
||||
OrientationOption = "Camera View Direction",
|
||||
BlendMode = "Normal",
|
||||
EnableFading = false
|
||||
},
|
||||
Tag = { "lagrange_points_earth", "lagrange_points_earth_l1" },
|
||||
GUI = {
|
||||
Name = "L1 Label",
|
||||
Path = "/Solar System/Planets/Earth/Lagrange points",
|
||||
Description = "Main label for L1"
|
||||
}
|
||||
}
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, {
|
||||
L1,
|
||||
L1Label
|
||||
})
|
||||
@@ -0,0 +1,127 @@
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
local transforms = asset.require('scene/solarsystem/sun/transforms')
|
||||
local circle = asset.require('util/circle').circle
|
||||
local kernels = asset.require('scene/solarsystem/planets/earth/lagrange_points/lagrange_kernels').kernels
|
||||
asset.require('spice/base')
|
||||
|
||||
local L2Small = {
|
||||
Identifier = "L2Small",
|
||||
Parent = transforms.SolarSystemBarycenter.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderablePlaneImageLocal",
|
||||
RenderableType = "Opaque",
|
||||
Billboard = true,
|
||||
Size = 400E4,
|
||||
Texture = circle .. "/circle.png",
|
||||
BlendMode = "Additive"
|
||||
},
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = "392", -- L2
|
||||
Observer = "SUN",
|
||||
Kernels = kernels .. "/L2_de431.bsp"
|
||||
}
|
||||
},
|
||||
Tag = { "lagrange_points_earth_l2_small" },
|
||||
GUI = {
|
||||
Name = "Small L2",
|
||||
Path = "/Solar System/Planets/Earth/Lagrange points",
|
||||
}
|
||||
}
|
||||
|
||||
local L2 = {
|
||||
Identifier = "L2",
|
||||
Parent = transforms.SolarSystemBarycenter.Identifier,
|
||||
Renderable = {
|
||||
Enabled = false,
|
||||
Type = "RenderablePlaneImageLocal",
|
||||
RenderableType = "Opaque",
|
||||
Billboard = true,
|
||||
Size = 700E5,
|
||||
Texture = circle .. "/circle.png",
|
||||
BlendMode = "Additive"
|
||||
},
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = "392", -- L2
|
||||
Observer = "SUN",
|
||||
Kernels = kernels .. "/L2_de431.bsp"
|
||||
}
|
||||
},
|
||||
Tag = { "lagrange_points_earth", "lagrange_points_earth_l2" },
|
||||
GUI = {
|
||||
Name = "L2",
|
||||
Path = "/Solar System/Planets/Earth/Lagrange points",
|
||||
}
|
||||
}
|
||||
|
||||
local L2SmallLabel = {
|
||||
Identifier = "L2SmallLabel",
|
||||
Parent = L2.Identifier,
|
||||
Renderable = {
|
||||
Enabled = true,
|
||||
Type = "RenderableLabels",
|
||||
Text = "L2",
|
||||
FontSize = 20.0,
|
||||
Size = 6.0,
|
||||
MinMaxSize = { 1.0, 100.0 },
|
||||
OrientationOption = "Camera View Direction",
|
||||
BlendMode = "Normal",
|
||||
EnableFading = false
|
||||
},
|
||||
Tag = { "lagrange_points_earth_l2_small" },
|
||||
GUI = {
|
||||
Name = "Small L2 Label",
|
||||
Path = "/Solar System/Planets/Earth/Lagrange points",
|
||||
Description = "Small label for L2"
|
||||
}
|
||||
}
|
||||
|
||||
local L2Label = {
|
||||
Identifier = "L2Label",
|
||||
Parent = L2.Identifier,
|
||||
Renderable = {
|
||||
Enabled = false,
|
||||
Type = "RenderableLabels",
|
||||
Text = "L2",
|
||||
FontSize = 20,
|
||||
Size = 7.5,
|
||||
MinMaxSize = { 1.0, 100.0},
|
||||
OrientationOption = "Camera View Direction",
|
||||
BlendMode = "Normal",
|
||||
EnableFading = false
|
||||
},
|
||||
Tag = { "lagrange_points_earth", "lagrange_points_earth_l2" },
|
||||
GUI = {
|
||||
Name = "L2 Label",
|
||||
Path = "/Solar System/Planets/Earth/Lagrange points",
|
||||
Description = "Main label for L2"
|
||||
}
|
||||
}
|
||||
|
||||
local L2SunLine = {
|
||||
Identifier = "L2SunLine",
|
||||
Parent = transforms.SolarSystemBarycenter.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableNodeLine",
|
||||
StartNode = "Sun",
|
||||
EndNode = "L2Small",
|
||||
Color = { 0.5, 0.5, 0.5 },
|
||||
LineWidth = 2
|
||||
},
|
||||
Tag = { "lagrange_points_earth_l2_small" },
|
||||
GUI = {
|
||||
Name = "Sun to L2 Line",
|
||||
Path = "/Solar System/Planets/Earth/Lagrange points",
|
||||
}
|
||||
}
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, {
|
||||
L2Small,
|
||||
L2,
|
||||
L2SunLine,
|
||||
L2SmallLabel,
|
||||
L2Label
|
||||
})
|
||||
@@ -0,0 +1,59 @@
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
local transforms = asset.require('scene/solarsystem/sun/transforms')
|
||||
local circle = asset.require('util/circle').circle
|
||||
local kernels = asset.require('scene/solarsystem/planets/earth/lagrange_points/lagrange_kernels').kernels
|
||||
asset.require('spice/base')
|
||||
|
||||
local L4 = {
|
||||
Identifier = "L4",
|
||||
Parent = transforms.SolarSystemBarycenter.Identifier,
|
||||
Renderable = {
|
||||
Enabled = false,
|
||||
Type = "RenderablePlaneImageLocal",
|
||||
RenderableType = "Opaque",
|
||||
Billboard = true,
|
||||
Size = 800E6,
|
||||
Texture = circle .. "/circle.png",
|
||||
BlendMode = "Additive"
|
||||
},
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = "394", -- L4
|
||||
Observer = "SUN",
|
||||
Kernels = kernels .. "/L4_de431.bsp"
|
||||
}
|
||||
},
|
||||
Tag = { "lagrange_points_earth", "lagrange_points_earth_l4" },
|
||||
GUI = {
|
||||
Name = "L4",
|
||||
Path = "/Solar System/Planets/Earth/Lagrange points",
|
||||
}
|
||||
}
|
||||
|
||||
local L4Label = {
|
||||
Identifier = "L4Label",
|
||||
Parent = L4.Identifier,
|
||||
Renderable = {
|
||||
Enabled = false,
|
||||
Type = "RenderableLabels",
|
||||
Text = "L4",
|
||||
FontSize = 20,
|
||||
Size = 8.5,
|
||||
MinMaxSize = { 1.0, 100.0 },
|
||||
OrientationOption = "Camera View Direction",
|
||||
BlendMode = "Normal",
|
||||
EnableFading = false
|
||||
},
|
||||
Tag = { "lagrange_points_earth", "lagrange_points_earth_l4" },
|
||||
GUI = {
|
||||
Name = "L4 Label",
|
||||
Path = "/Solar System/Planets/Earth/Lagrange points",
|
||||
Description = "Main label for L4"
|
||||
}
|
||||
}
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, {
|
||||
L4,
|
||||
L4Label
|
||||
})
|
||||
@@ -0,0 +1,59 @@
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
local transforms = asset.require('scene/solarsystem/sun/transforms')
|
||||
local circle = asset.require('util/circle').circle
|
||||
local kernels = asset.require('scene/solarsystem/planets/earth/lagrange_points/lagrange_kernels').kernels
|
||||
asset.require('spice/base')
|
||||
|
||||
local L5 = {
|
||||
Identifier = "L5",
|
||||
Parent = transforms.SolarSystemBarycenter.Identifier,
|
||||
Renderable = {
|
||||
Enabled = false,
|
||||
Type = "RenderablePlaneImageLocal",
|
||||
RenderableType = "Opaque",
|
||||
Billboard = true,
|
||||
Size = 800E6,
|
||||
Texture = circle .. "/circle.png",
|
||||
BlendMode = "Additive"
|
||||
},
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = "395", -- L5
|
||||
Observer = "SUN",
|
||||
Kernels = kernels .. "/L5_de431.bsp"
|
||||
}
|
||||
},
|
||||
Tag = { "lagrange_points_earth", "lagrange_points_earth_l5" },
|
||||
GUI = {
|
||||
Name = "L5",
|
||||
Path = "/Solar System/Planets/Earth/Lagrange points",
|
||||
}
|
||||
}
|
||||
|
||||
local L5Label = {
|
||||
Identifier = "L5Label",
|
||||
Parent = L5.Identifier,
|
||||
Renderable = {
|
||||
Enabled = false,
|
||||
Type = "RenderableLabels",
|
||||
Text = "L5",
|
||||
FontSize = 20,
|
||||
Size = 8.5,
|
||||
MinMaxSize = { 1.0, 100.0 },
|
||||
OrientationOption = "Camera View Direction",
|
||||
BlendMode = "Normal",
|
||||
EnableFading = false
|
||||
},
|
||||
Tag = { "lagrange_points_earth", "lagrange_points_earth_l5" },
|
||||
GUI = {
|
||||
Name = "L5 Label",
|
||||
Path = "/Solar System/Planets/Earth/Lagrange points",
|
||||
Description = "Main label for L5"
|
||||
}
|
||||
}
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, {
|
||||
L5,
|
||||
L5Label
|
||||
})
|
||||
@@ -0,0 +1,8 @@
|
||||
local kernels = asset.syncedResource({
|
||||
Name = "Lagrange Kernels",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "earth_lagrange_kernels",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
asset.export('kernels', kernels)
|
||||
@@ -0,0 +1,4 @@
|
||||
asset.require('scene/solarsystem/planets/earth/lagrange_points/L1')
|
||||
asset.require('scene/solarsystem/planets/earth/lagrange_points/L2')
|
||||
asset.require('scene/solarsystem/planets/earth/lagrange_points/L4')
|
||||
asset.require('scene/solarsystem/planets/earth/lagrange_points/L5')
|
||||
@@ -34,21 +34,16 @@ local Moon = {
|
||||
}
|
||||
},
|
||||
Labels = {
|
||||
Enable = false,
|
||||
Enabled = false,
|
||||
FileName = labelsPath .. "/moon.labels",
|
||||
LabelAlignmentOption = "Horizontally", -- or Circularly
|
||||
LabelsFontSize = 14.0,
|
||||
LabelsSize = 8.0,
|
||||
LabelsMinSize = 1.0,
|
||||
LabelsMaxSize = 1500.0,
|
||||
ProximityEnabled = false,
|
||||
LabelsFadeInEnabled = true,
|
||||
LabelsFadeOutEnabled = true,
|
||||
FadeInStartingDistance = 500000.0,
|
||||
FadeOutStartingDistance = 100000.0,
|
||||
LabelsForceDomeRendering = true,
|
||||
LabelsDistanceEPS = 1350000.0,
|
||||
LabelsColor = { 1.0, 1.0, 0.0 }
|
||||
AlignmentOption = "Horizontally", -- or Circularly
|
||||
FontSize = 20.0,
|
||||
Size = 7.6,
|
||||
FadeInEnabled = true,
|
||||
FadeOutEnabled = true,
|
||||
FadeDistances = { 100000.0, 500000.0 },
|
||||
DistanceEPS = 1350000.0,
|
||||
Color = { 1.0, 1.0, 0.0 }
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
|
||||
@@ -46,12 +46,12 @@ local initializeAndAddNodes = function()
|
||||
}
|
||||
|
||||
local parentNode = {
|
||||
Identifier = "ISSparentNode",
|
||||
Identifier = "ISSModel",
|
||||
Parent = iss.Identifier,
|
||||
Transform = {
|
||||
Rotation = {
|
||||
Type = "FixedRotation",
|
||||
Attached = "ISSparentNode",
|
||||
Attached = "ISSModel",
|
||||
XAxis = { 0.01, -1.0, 0.56 },
|
||||
XAxisOrthogonal = true,
|
||||
YAxis = transforms.EarthInertial.Identifier
|
||||
@@ -73,9 +73,8 @@ local initializeAndAddNodes = function()
|
||||
DisableFaceCulling = true
|
||||
},
|
||||
GUI = {
|
||||
Name = "ISSparentNode",
|
||||
Path = "/Solar System/Planets/Earth/Satellites/ISS",
|
||||
Hidden = true,
|
||||
Name = "ISS Model",
|
||||
Path = "/Solar System/Planets/Earth/Satellites/ISS"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -104,34 +103,29 @@ local initializeAndAddNodes = function()
|
||||
}
|
||||
}
|
||||
|
||||
-- @TODO (emmbr, 2021-05-27) add to scene when label rendering issues have been fixed
|
||||
local IssLabel = {
|
||||
Identifier = "IssLabel",
|
||||
Parent = iss.Identifier,
|
||||
|
||||
Renderable = {
|
||||
Enabled = false,
|
||||
Type = "RenderableLabels",
|
||||
LabelText = "ISS",
|
||||
FontSize = 100.0,
|
||||
LabelSize = 3.4,
|
||||
LabelMaxSize = 100.0,
|
||||
LabelMinSize = 1.0,
|
||||
LabelOrientationOption = "Camera View Direction",
|
||||
Text = "ISS",
|
||||
FontSize = 70.0,
|
||||
Size = 3.4,
|
||||
MinMaxSize = { 1, 100 },
|
||||
OrientationOption = "Camera View Direction",
|
||||
BlendMode = "Additive",
|
||||
EnableFading = true,
|
||||
FadeStartUnit = "au",
|
||||
FadeStartDistance = 0.15,
|
||||
FadeStartSpeed = 1.0,
|
||||
FadeEndUnit = "au",
|
||||
FadeEndDistance = 15.0,
|
||||
FadeEndSpeed = 25.0
|
||||
FadeDistances = { 0.15, 15.0 },
|
||||
FadeWidths = { 1.0, 25.0 }
|
||||
},
|
||||
Tag = { "solarsystem_labels" },
|
||||
GUI = {
|
||||
Name = "ISS Label",
|
||||
Path = "/Solar System/Planets/Earth/Satellites"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return { iss, parentNode, issTrail }
|
||||
end
|
||||
@@ -141,7 +135,7 @@ asset.onInitialize(function ()
|
||||
for _, node in ipairs(nodes) do
|
||||
openspace.addSceneGraphNode(node)
|
||||
end
|
||||
openspace.setPropertyValueSingle("Scene.ISSparentNode.Rotation.yAxis-InvertObject", true)
|
||||
openspace.setPropertyValueSingle("Scene.ISSModel.Rotation.yAxisInvertObject", true)
|
||||
|
||||
end)
|
||||
|
||||
|
||||
@@ -59,38 +59,35 @@ asset.onInitialize(function ()
|
||||
},
|
||||
Tag = { "earth_satellite", "Aqua" },
|
||||
GUI = {
|
||||
Name = "Terra Trail",
|
||||
Name = "Aqua Trail",
|
||||
Path = "/Solar System/Planets/Earth/Satellites/Aqua"
|
||||
}
|
||||
}
|
||||
|
||||
-- @TODO (emmbr, 2021-05-27) this label is not visible. Too large fade distances?
|
||||
-- Might also be affected by the rendering issues for labels
|
||||
local AquaLabel = {
|
||||
Identifier = "AquaLabel",
|
||||
Parent = Aqua.Identifier,
|
||||
|
||||
Renderable = {
|
||||
Enabled = false,
|
||||
Type = "RenderableLabels",
|
||||
LabelText = "SNPP",
|
||||
FontSize = 100.0,
|
||||
LabelSize = 4.0,
|
||||
LabelMaxSize = 100.0,
|
||||
LabelMinSize = 1.0,
|
||||
LabelOrientationOption = "Camera View Direction",
|
||||
BlendMode = "Additive",
|
||||
EnableFading = true,
|
||||
FadeStartUnit = "au",
|
||||
FadeStartDistance = 0.15,
|
||||
FadeStartSpeed = 1.0,
|
||||
FadeEndUnit = "au",
|
||||
FadeEndDistance = 15.0,
|
||||
FadeEndSpeed = 25.0
|
||||
},
|
||||
Tag = { "solarsystem_labels" },
|
||||
GUI = {
|
||||
Name = "Aqua Label",
|
||||
Path = "/Solar System/Planets/Earth"
|
||||
}
|
||||
Identifier = "AquaLabel",
|
||||
Parent = Aqua.Identifier,
|
||||
Renderable = {
|
||||
Enabled = false,
|
||||
Type = "RenderableLabels",
|
||||
Text = "Aqua",
|
||||
FontSize = 70.0,
|
||||
Size = 4.0,
|
||||
MinMaxSize = { 1, 100 },
|
||||
OrientationOption = "Camera View Direction",
|
||||
BlendMode = "Additive",
|
||||
EnableFading = true,
|
||||
FadeUnit = "au",
|
||||
FadeDistances = { 1.5, 15.0 },
|
||||
FadeWidths = { 1.0, 25.0 }
|
||||
},
|
||||
Tag = { "solarsystem_labels" },
|
||||
GUI = {
|
||||
Name = "Aqua Label",
|
||||
Path = "/Solar System/Planets/Earth"
|
||||
}
|
||||
}
|
||||
|
||||
table.insert(nodes, Aqua)
|
||||
|
||||
@@ -67,32 +67,28 @@ asset.onInitialize(function ()
|
||||
}
|
||||
|
||||
local SNPPLabel = {
|
||||
Identifier = "SNPPLabel",
|
||||
Parent = SNPP.Identifier,
|
||||
Identifier = "SNPPLabel",
|
||||
Parent = SNPP.Identifier,
|
||||
|
||||
Renderable = {
|
||||
Enabled = false,
|
||||
Type = "RenderableLabels",
|
||||
LabelText = "SNPP",
|
||||
FontSize = 100.0,
|
||||
LabelSize = 4.0,
|
||||
LabelMaxSize = 100.0,
|
||||
LabelMinSize = 1.0,
|
||||
LabelOrientationOption = "Camera View Direction",
|
||||
BlendMode = "Additive",
|
||||
EnableFading = true,
|
||||
FadeStartUnit = "au",
|
||||
FadeStartDistance = 0.15,
|
||||
FadeStartSpeed = 1.0,
|
||||
FadeEndUnit = "au",
|
||||
FadeEndDistance = 15.0,
|
||||
FadeEndSpeed = 25.0
|
||||
},
|
||||
Tag = { "solarsystem_labels" },
|
||||
GUI = {
|
||||
Name = "SNPP Label",
|
||||
Path = "/Solar System/Planets/Earth"
|
||||
}
|
||||
Renderable = {
|
||||
Enabled = false,
|
||||
Type = "RenderableLabels",
|
||||
Text = "SNPP",
|
||||
FontSize = 70.0,
|
||||
Size = 4.0,
|
||||
MinMaxSize = { 1, 100 },
|
||||
OrientationOption = "Camera View Direction",
|
||||
BlendMode = "Additive",
|
||||
EnableFading = true,
|
||||
FadeUnit = "au",
|
||||
FadeDistances = { 1.5, 15.0 },
|
||||
FadeWidths = { 1.0, 25.0 }
|
||||
},
|
||||
Tag = { "solarsystem_labels" },
|
||||
GUI = {
|
||||
Name = "SNPP Label",
|
||||
Path = "/Solar System/Planets/Earth"
|
||||
}
|
||||
}
|
||||
|
||||
table.insert(nodes, SNPP)
|
||||
|
||||
@@ -66,33 +66,30 @@ asset.onInitialize(function ()
|
||||
}
|
||||
}
|
||||
|
||||
-- @TODO (emmbr, 2021-05-27) this label is not visible. Too large fade distances?
|
||||
-- Might also be affected by the rendering issues for labels
|
||||
local TerraLabel = {
|
||||
Identifier = "TerraLabel",
|
||||
Parent = Terra.Identifier,
|
||||
|
||||
Renderable = {
|
||||
Enabled = false,
|
||||
Type = "RenderableLabels",
|
||||
LabelText = "SNPP",
|
||||
FontSize = 100.0,
|
||||
LabelSize = 4.0,
|
||||
LabelMaxSize = 100.0,
|
||||
LabelMinSize = 1.0,
|
||||
LabelOrientationOption = "Camera View Direction",
|
||||
BlendMode = "Additive",
|
||||
EnableFading = true,
|
||||
FadeStartUnit = "au",
|
||||
FadeStartDistance = 0.15,
|
||||
FadeStartSpeed = 1.0,
|
||||
FadeEndUnit = "au",
|
||||
FadeEndDistance = 15.0,
|
||||
FadeEndSpeed = 25.0
|
||||
},
|
||||
Tag = { "solarsystem_labels" },
|
||||
GUI = {
|
||||
Name = "Terra Label",
|
||||
Path = "/Solar System/Planets/Earth"
|
||||
}
|
||||
Identifier = "TerraLabel",
|
||||
Parent = Terra.Identifier,
|
||||
Renderable = {
|
||||
Enabled = false,
|
||||
Type = "RenderableLabels",
|
||||
Text = "Terra",
|
||||
FontSize = 70.0,
|
||||
Size = 4.0,
|
||||
MinMaxSize = { 1, 100 },
|
||||
OrientationOption = "Camera View Direction",
|
||||
BlendMode = "Additive",
|
||||
EnableFading = true,
|
||||
FadeUnit = "au",
|
||||
FadeDistances = { 1.5, 15.0 },
|
||||
FadeWidths = { 1.0, 25.0 }
|
||||
},
|
||||
Tag = { "solarsystem_labels" },
|
||||
GUI = {
|
||||
Name = "Terra Label",
|
||||
Path = "/Solar System/Planets/Earth"
|
||||
}
|
||||
}
|
||||
|
||||
table.insert(nodes, Terra)
|
||||
|
||||
@@ -28,21 +28,17 @@ local Callisto = {
|
||||
SegmentsPerPatch = 64,
|
||||
Layers = {},
|
||||
Labels = {
|
||||
Enable = false,
|
||||
Enabled = false,
|
||||
FileName = labelsPath .. "/callisto.labels",
|
||||
LabelAlignmentOption = "Horizontally", -- or Circularly
|
||||
LabelsFontSize = 40.0,
|
||||
LabelsSize = 10.5,
|
||||
LabelsMinSize = 1.0,
|
||||
LabelsMaxSize = 1500.0,
|
||||
ProximityEnabled = false,
|
||||
LabelsFadeInEnabled = true,
|
||||
LabelsFadeOutEnabled = true,
|
||||
FadeInStartingDistance = 15000000.0,
|
||||
FadeOutStartingDistance = 5000000.0,
|
||||
LabelsForceDomeRendering = true,
|
||||
LabelsDistanceEPS = 1350000.0,
|
||||
LabelsColor = { 1.0, 1.0, 0.0 }
|
||||
AlignmentOption = "Horizontally", -- or Circularly
|
||||
FontSize = 20.0,
|
||||
Size = 11.5,
|
||||
MinMaxSize = { 1, 100 },
|
||||
FadeInEnabled = true,
|
||||
FadeOutEnabled = true,
|
||||
FadeDistances = { 5000000.0, 15000000.0 },
|
||||
DistanceEPS = 1350000.0,
|
||||
Color = { 1.0, 1.0, 0.0 }
|
||||
}
|
||||
},
|
||||
Tag = { "moon_solarSystem", "moon_giants", "moon_jupiter" },
|
||||
|
||||
@@ -2,6 +2,6 @@ local TexturesPath = asset.syncedResource({
|
||||
Name = "Callisto Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "callisto_textures",
|
||||
Version = 1
|
||||
Version = 2
|
||||
})
|
||||
asset.export("TexturesPath", TexturesPath)
|
||||
|
||||
@@ -3,7 +3,7 @@ local globeIdentifier = asset.require("./../../callisto").Callisto.Identifier
|
||||
|
||||
local layer = {
|
||||
Identifier = "Texture",
|
||||
FilePath = texturesPath .. "/callisto.jpg",
|
||||
FilePath = texturesPath .. "/callisto_os.tif",
|
||||
}
|
||||
|
||||
asset.onInitialize(function ()
|
||||
@@ -15,8 +15,8 @@ asset.export("layer", layer)
|
||||
|
||||
asset.meta = {
|
||||
Name = "Callisto Texutre",
|
||||
Version = "1.0",
|
||||
Description = [[ Default jpg texture for Callisto]],
|
||||
Version = "2.0",
|
||||
Description = [[ Default texture for Callisto]],
|
||||
Author = "OpenSpace Team",
|
||||
URL = "http://openspaceproject.com",
|
||||
License = "MIT license",
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
local colorLayersPath = "./layers/colorlayers"
|
||||
|
||||
asset.require(colorLayersPath .. "/europa_texture")
|
||||
local colorLayer = asset.require(colorLayersPath .. "/voyager_global_mosaic")
|
||||
local colorLayer = asset.require(colorLayersPath .. "/voyager_global_mosaic_local")
|
||||
|
||||
-- Set enabled layers (temporary solution)
|
||||
-- @TODO: do this using a boolean that's passed to the 'asset.require' instead
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user