Merge branch 'master' into thesis/2019/camera-paths

This commit is contained in:
Emma Broman
2021-06-03 08:41:48 +02:00
693 changed files with 13935 additions and 19793 deletions

View File

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

View File

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

View File

@@ -96,6 +96,7 @@ private:
bool _shouldLaunch = false;
int _userAssetCount = 0;
int _userConfigCount = 0;
const std::string _sgctConfigName;
QComboBox* _profileBox = nullptr;
QComboBox* _windowConfigBox = nullptr;

View File

@@ -82,7 +82,7 @@ private:
QLineEdit* _loadedEdit = nullptr;
QLabel* _notLoadedLabel = nullptr;
QLineEdit* _notLoadedEdit = nullptr;
QPushButton* _buttonAdd = nullptr;
QPushButton* _buttonRemove = nullptr;
QPushButton* _buttonSave = nullptr;

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View 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
]]
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View 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"
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -49,7 +49,7 @@ local Apollo15 = {
},
Renderable = {
Type = "RenderableModel",
GeometryFile = models .. "/ApolloCSM.fbx",
GeometryFile = models .. "/ApolloCSM.osmodel",
LightSources = {
{
Type = "SceneGraphLightSource",

View File

@@ -50,7 +50,7 @@ local Apollo8LaunchModel = {
},
Renderable = {
Type = "RenderableModel",
GeometryFile = models .. "/ApolloCSM.fbx",
GeometryFile = models .. "/ApolloCSM.osmodel",
LightSources = {
{
Type = "SceneGraphLightSource",

View File

@@ -62,7 +62,7 @@ local Apollo8Model = {
},
Renderable = {
Type = "RenderableModel",
GeometryFile = models .. "/ApolloCSM.fbx",
GeometryFile = models .. "/ApolloCSM.osmodel",
LightSources = {
{
Type = "SceneGraphLightSource",

View File

@@ -2,7 +2,7 @@ local models = asset.syncedResource({
Name = "Apollo Models",
Type = "HttpSynchronization",
Identifier = "apollo_models",
Version = 2
Version = 3
})
asset.export('models', models)

View File

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

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

View 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
})

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -0,0 +1,8 @@
local models = asset.syncedResource({
Name = "Bennu Models",
Type = "HttpSynchronization",
Identifier = "bennu_models",
Version = 2
})
asset.export('models', models)

View File

@@ -1,4 +1,4 @@
asset.require('./bennu')
asset.require('./bennu_projection')
asset.require('./model')
asset.require('./trail')
asset.require('scene/solarsystem/sun/marker')

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -0,0 +1,8 @@
local kernels = asset.syncedResource({
Name = "Lagrange Kernels",
Type = "HttpSynchronization",
Identifier = "earth_lagrange_kernels",
Version = 1
})
asset.export('kernels', kernels)

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -2,6 +2,6 @@ local TexturesPath = asset.syncedResource({
Name = "Callisto Textures",
Type = "HttpSynchronization",
Identifier = "callisto_textures",
Version = 1
Version = 2
})
asset.export("TexturesPath", TexturesPath)

View File

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

View File

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