mirror of
https://github.com/OpenSpace/OpenSpace.git
synced 2026-05-12 22:39:09 -05:00
Merge branch 'master' into feature/horizons-framework
* Adjust the horizons translation to new master * Resolve conflicts
This commit is contained in:
@@ -32,9 +32,11 @@ Thumbs.db
|
||||
/logs/
|
||||
/screenshots/
|
||||
/recordings/
|
||||
/user/
|
||||
/sync/
|
||||
/temp/
|
||||
# Customization is not supposed to be committed
|
||||
customization.lua
|
||||
# The COMMIT info is generated everytime CMake is run
|
||||
COMMIT.md
|
||||
*_codegen.cpp
|
||||
|
||||
@@ -29,3 +29,6 @@
|
||||
[submodule "ext/date"]
|
||||
path = ext/date
|
||||
url = https://github.com/HowardHinnant/date
|
||||
[submodule "support/coding/codegen"]
|
||||
path = support/coding/codegen
|
||||
url = https://github.com/OpenSpace/codegen
|
||||
|
||||
+48
-9
@@ -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")
|
||||
@@ -134,17 +134,44 @@ endif ()
|
||||
|
||||
option(OPENSPACE_WITH_ABUFFER_RENDERER "Compile ABuffer Renderer" OFF)
|
||||
|
||||
if (UNIX AND CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17 -stdlib=libc++")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -stdlib=libc++ -lc++ -lc++abi")
|
||||
if (UNIX)
|
||||
if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17 -stdlib=libc++")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -stdlib=libc++ -lc++ -lc++abi")
|
||||
else ()
|
||||
if(NOT CMAKE_BUILD_TYPE)
|
||||
#Can set to "RelWithDebInfo" or "Debug" also, but problems occur if this is blank by default
|
||||
set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Default build type" FORCE)
|
||||
endif()
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DGLM_ENABLE_EXPERIMENTAL" CACHE STRING "" FORCE)
|
||||
set(OpenGL_GL_PREFERENCE "GLVND" CACHE STRING "OpenGL Preference setting necessary for linux" FORCE)
|
||||
set(ASSIMP_BUILD_MINIZIP ON CACHE BOOL "Set to have assimp build minizip" FORCE)
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
# Add external dependencies
|
||||
add_subdirectory(${OPENSPACE_BASE_DIR}/ext)
|
||||
add_subdirectory(ext)
|
||||
|
||||
# include(src/CMakeLists.txt)
|
||||
add_subdirectory(src)
|
||||
|
||||
add_subdirectory(support/coding/codegen)
|
||||
# It is important that the __codegen.h do not actually exist so
|
||||
# that this target is never considered as finished
|
||||
add_custom_target(
|
||||
run_codegen
|
||||
ALL DEPENDS
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/__codegen.h"
|
||||
)
|
||||
add_dependencies(run_codegen codegen)
|
||||
add_custom_command(
|
||||
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/__codegen.h"
|
||||
COMMAND codegen ARGS "${OPENSPACE_BASE_DIR}/modules" "${OPENSPACE_BASE_DIR}/src"
|
||||
VERBATIM
|
||||
)
|
||||
set_folder_location(codegen-lib "support")
|
||||
set_folder_location(codegen "support")
|
||||
set_folder_location(run_codegen "support")
|
||||
|
||||
|
||||
# Qt
|
||||
# Unfortunately, we have to set this value manually; sigh
|
||||
# In the future, if the Qt version is updated, just add to this variable ---abock
|
||||
@@ -176,10 +203,22 @@ begin_header("Configuring Modules")
|
||||
add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/modules")
|
||||
end_header("End: Configuring Modules")
|
||||
|
||||
|
||||
add_subdirectory(support/coding/codegen/tests)
|
||||
set_folder_location(run_test_codegen "Unit Tests/support")
|
||||
set_folder_location(codegentest "Unit Tests")
|
||||
|
||||
|
||||
begin_header("Configuring Applications")
|
||||
add_subdirectory("${OPENSPACE_APPS_DIR}")
|
||||
end_header("End: Configuring Applications")
|
||||
|
||||
|
||||
if (MSVC AND TARGET OpenSpace)
|
||||
set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT OpenSpace)
|
||||
endif()
|
||||
|
||||
|
||||
option(OPENSPACE_HAVE_TESTS "Activate the OpenSpace unit tests" ON)
|
||||
if (OPENSPACE_HAVE_TESTS)
|
||||
begin_header("Generating OpenSpace unit test")
|
||||
|
||||
Vendored
+7
-1
@@ -107,13 +107,15 @@ linux_gcc_make: {
|
||||
}
|
||||
stage('linux-gcc-make/build') {
|
||||
def cmakeCompileOptions = moduleCMakeFlags();
|
||||
cmakeCompileOptions += ' -DMAKE_BUILD_TYPE=Release';
|
||||
cmakeCompileOptions += ' -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS:STRING="-DGLM_ENABLE_EXPERIMENTAL"';
|
||||
cmakeCompileOptions += ' -DOpenGL_GL_PREFERENCE:STRING=GLVND -DASSIMP_BUILD_MINIZIP=1';
|
||||
// Not sure why the linking of OpenSpaceTest takes so long
|
||||
compileHelper.build(compileHelper.Make(), compileHelper.Gcc(), cmakeCompileOptions, 'OpenSpace', 'build-make');
|
||||
compileHelper.recordCompileIssues(compileHelper.Gcc());
|
||||
}
|
||||
stage('linux-gcc-make/test') {
|
||||
// testHelper.runUnitTests('build/OpenSpaceTest');
|
||||
// testHelper.runUnitTests('bin/codegentest')
|
||||
}
|
||||
cleanWs()
|
||||
} // node('linux')
|
||||
@@ -134,6 +136,7 @@ linux_gcc_ninja: {
|
||||
}
|
||||
stage('linux-gcc-ninja/test') {
|
||||
// testHelper.runUnitTests('build/OpenSpaceTest');
|
||||
// testHelper.runUnitTests('bin/codegentest')
|
||||
}
|
||||
cleanWs()
|
||||
} // node('linux')
|
||||
@@ -155,6 +158,7 @@ linux_clang_make: {
|
||||
}
|
||||
stage('linux-clang-make/test') {
|
||||
// testHelper.runUnitTests('build/OpenSpaceTest');
|
||||
// testHelper.runUnitTests('bin/codegentest')
|
||||
}
|
||||
cleanWs()
|
||||
} // node('linux')
|
||||
@@ -175,6 +179,7 @@ linux_clang_ninja: {
|
||||
}
|
||||
stage('linux-clang-ninja/test') {
|
||||
// testHelper.runUnitTests('build/OpenSpaceTest');
|
||||
// testHelper.runUnitTests('bin/codegentest')
|
||||
}
|
||||
cleanWs()
|
||||
} // node('linux')
|
||||
@@ -194,6 +199,7 @@ windows_msvc: {
|
||||
stage('windows-msvc/test') {
|
||||
// Currently, the unit tests are failing on Windows
|
||||
// testHelper.runUnitTests('bin\\Debug\\OpenSpaceTest')
|
||||
testHelper.runUnitTests('bin\\Debug\\codegentest')
|
||||
}
|
||||
cleanWs()
|
||||
} // node('windows')
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -36,6 +36,7 @@ set(HEADER_FILES
|
||||
include/profile/deltatimesdialog.h
|
||||
include/profile/horizonsdialog.h
|
||||
include/profile/keybindingsdialog.h
|
||||
include/profile/scriptlogdialog.h
|
||||
include/profile/line.h
|
||||
include/profile/marknodesdialog.h
|
||||
include/profile/metadialog.h
|
||||
@@ -57,6 +58,7 @@ set(SOURCE_FILES
|
||||
src/profile/deltatimesdialog.cpp
|
||||
src/profile/horizonsdialog.cpp
|
||||
src/profile/keybindingsdialog.cpp
|
||||
src/profile/scriptlogdialog.cpp
|
||||
src/profile/line.cpp
|
||||
src/profile/marknodesdialog.cpp
|
||||
src/profile/metadialog.cpp
|
||||
@@ -81,6 +83,7 @@ qt5_wrap_cpp(
|
||||
include/profile/deltatimesdialog.h
|
||||
include/profile/horizonsdialog.h
|
||||
include/profile/keybindingsdialog.h
|
||||
include/profile/scriptlogdialog.h
|
||||
include/profile/marknodesdialog.h
|
||||
include/profile/metadialog.h
|
||||
include/profile/modulesdialog.h
|
||||
@@ -97,3 +100,11 @@ set_openspace_compile_settings(openspace-ui-launcher)
|
||||
target_include_directories(openspace-ui-launcher PUBLIC include)
|
||||
target_link_libraries(openspace-ui-launcher PUBLIC Qt5::Core Qt5::Gui Qt5::Network Qt5::Widgets openspace-core)
|
||||
|
||||
if (MSVC)
|
||||
set(MSVC_WARNINGS
|
||||
"/wd4619" # #pragma warning: there is no warning number (raised by Qt headers)
|
||||
"/wd4946" # reinterpret_cast used between related classes:
|
||||
)
|
||||
target_compile_options(openspace-ui-launcher INTERFACE ${MSVC_WARNINGS})
|
||||
|
||||
endif ()
|
||||
|
||||
@@ -54,11 +54,12 @@ public:
|
||||
*
|
||||
* \param dir The directory from which to start the search from
|
||||
*/
|
||||
std::string useQtFileSystemModelToTraverseDir(std::string dir);
|
||||
std::string useQtFileSystemModelToTraverseDir(std::string dir, bool usersAssets = false);
|
||||
|
||||
private:
|
||||
void parseChildDirElements(QFileInfo item, std::string space, int level,
|
||||
std::vector<std::string>& dirNames, std::vector<std::string>& output);
|
||||
std::vector<std::string>& dirNames, std::vector<std::string>& output,
|
||||
bool userAssets);
|
||||
void parseChildFile(std::string res, bool& hasDirHeaderBeenAdded,
|
||||
std::vector<std::string>& dirNames, std::vector<std::string>& output);
|
||||
bool isApprovedPath(std::string path);
|
||||
|
||||
@@ -81,16 +81,22 @@ private:
|
||||
QWidget* createCentralWidget();
|
||||
void setBackgroundImage(const std::string& syncPath);
|
||||
|
||||
void openProfileEditor(const std::string& profile);
|
||||
void openProfileEditor(const std::string& profile, bool isUserProfile);
|
||||
|
||||
void populateProfilesList(std::string preset);
|
||||
void populateWindowConfigsList(std::string preset);
|
||||
|
||||
const std::string _assetPath;
|
||||
const std::string _userAssetPath;
|
||||
const std::string _configPath;
|
||||
const std::string _userConfigPath;
|
||||
const std::string _profilePath;
|
||||
const std::string _userProfilePath;
|
||||
const std::vector<std::string>& _readOnlyProfiles;
|
||||
bool _shouldLaunch = false;
|
||||
int _userAssetCount = 0;
|
||||
int _userConfigCount = 0;
|
||||
const std::string _sgctConfigName;
|
||||
|
||||
QComboBox* _profileBox = nullptr;
|
||||
QComboBox* _windowConfigBox = nullptr;
|
||||
|
||||
@@ -45,12 +45,21 @@ public:
|
||||
|
||||
private slots:
|
||||
void parseScript();
|
||||
void chooseScripts();
|
||||
|
||||
/**
|
||||
* Adds scripts to the _scriptEdit from outside dialogs
|
||||
*
|
||||
* \param scripts #std::string scripts to be appended
|
||||
*/
|
||||
void appendScriptsToTextfield(std::string scripts);
|
||||
|
||||
private:
|
||||
void createWidgets();
|
||||
|
||||
openspace::Profile& _profile;
|
||||
QTextEdit* _textScripts = nullptr;
|
||||
QPushButton* _chooseScriptsButton = nullptr;
|
||||
};
|
||||
|
||||
#endif // __OPENSPACE_UI_LAUNCHER___ADDITIONALSCRIPTS___H__
|
||||
|
||||
@@ -43,10 +43,11 @@ public:
|
||||
* \param profile The #openspace::Profile object containing all data of the
|
||||
* new or imported profile.
|
||||
* \param assetBasePath The path to the folder in which all of the assets are living
|
||||
* \param userAssetBasePath The path to the folder in which the users' assets are living
|
||||
* \param parent Pointer to parent Qt widget
|
||||
*/
|
||||
AssetsDialog(openspace::Profile& profile, const std::string& assetBasePath,
|
||||
QWidget* parent);
|
||||
const std::string& userAssetBasePath, QWidget* parent);
|
||||
|
||||
private slots:
|
||||
void parseSelections();
|
||||
|
||||
@@ -148,8 +148,10 @@ public:
|
||||
* Imports asset tree data for this model by recursively traversing the folder
|
||||
* structure.
|
||||
* \param assetBasePath The base path where to find all assets
|
||||
* \param assetBasePath The base path where to find user assets
|
||||
*/
|
||||
void importModelData(const std::string& assetBasePath);
|
||||
void importModelData(const std::string& assetBasePath,
|
||||
const std::string& userAssetBasePath);
|
||||
|
||||
/**
|
||||
* Returns bool for if item is checked/selected
|
||||
|
||||
@@ -66,8 +66,16 @@ private slots:
|
||||
void listItemCancelSave();
|
||||
void transitionToEditMode();
|
||||
void parseSelections();
|
||||
void chooseScripts();
|
||||
void keySelected(int index);
|
||||
|
||||
/**
|
||||
* Adds scripts to the _scriptEdit from outside dialogs
|
||||
*
|
||||
* \param scripts #std::string scripts to be appended
|
||||
*/
|
||||
void appendScriptsToKeybind(std::string scripts);
|
||||
|
||||
private:
|
||||
void createWidgets();
|
||||
void transitionFromEditMode();
|
||||
@@ -99,6 +107,7 @@ private:
|
||||
|
||||
QPushButton* _addButton = nullptr;
|
||||
QPushButton* _removeButton = nullptr;
|
||||
QPushButton* _chooseScriptsButton = nullptr;
|
||||
QPushButton* _saveButton = nullptr;
|
||||
QPushButton* _cancelButton = nullptr;
|
||||
QDialogButtonBox* _buttonBox = nullptr;
|
||||
|
||||
@@ -82,7 +82,7 @@ private:
|
||||
QLineEdit* _loadedEdit = nullptr;
|
||||
QLabel* _notLoadedLabel = nullptr;
|
||||
QLineEdit* _notLoadedEdit = nullptr;
|
||||
|
||||
|
||||
QPushButton* _buttonAdd = nullptr;
|
||||
QPushButton* _buttonRemove = nullptr;
|
||||
QPushButton* _buttonSave = nullptr;
|
||||
|
||||
@@ -46,13 +46,15 @@ public:
|
||||
* new or imported profile.
|
||||
* \param profileName The name of the profile to create
|
||||
* \param assetBasePath The path to the folder where the assets live
|
||||
* \param userAssetBasePath The path to the folder where the user assets live
|
||||
* \param profileName The path to the folder in which all profiles live
|
||||
* \param profilesReadOnly vector list of profile names that are read-only and must
|
||||
* not be overwritten
|
||||
* \param parent Pointer to parent Qt widget
|
||||
*/
|
||||
ProfileEdit(openspace::Profile& profile, const std::string& profileName,
|
||||
std::string assetBasePath, std::string profileBasePath,
|
||||
std::string assetBasePath, std::string userAssetBasePath,
|
||||
std::string profileBasePath,
|
||||
const std::vector<std::string>& profilesReadOnly, QWidget* parent);
|
||||
|
||||
/**
|
||||
@@ -98,6 +100,7 @@ private:
|
||||
|
||||
openspace::Profile& _profile;
|
||||
const std::string _assetBasePath;
|
||||
const std::string _userAssetBasePath;
|
||||
const std::string _profileBasePath;
|
||||
bool _saveSelected = false;
|
||||
const std::vector<std::string>& _readOnlyProfiles;
|
||||
|
||||
+26
-12
@@ -22,19 +22,33 @@
|
||||
* OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
|
||||
****************************************************************************************/
|
||||
|
||||
#include "PowerScaling/powerScaling_fs.hglsl"
|
||||
#include "fragment.glsl"
|
||||
#ifndef __OPENSPACE_UI_LAUNCHER___SCRIPTLOG___H__
|
||||
#define __OPENSPACE_UI_LAUNCHER___SCRIPTLOG___H__
|
||||
|
||||
precision highp float;
|
||||
#include "profile/keybindingsdialog.h"
|
||||
#include <QDialog>
|
||||
#include <QListWidget>
|
||||
|
||||
in vec2 texCoord;
|
||||
class ScriptlogDialog : public QDialog {
|
||||
Q_OBJECT
|
||||
public:
|
||||
/**
|
||||
* Constructor for ScriptlogDialog class
|
||||
*
|
||||
* \param parent Pointer to parent Qt widget
|
||||
*/
|
||||
ScriptlogDialog(QWidget* parent);
|
||||
|
||||
uniform highp sampler2D shadowMapTexture;
|
||||
signals:
|
||||
void scriptsSelected(std::string script);
|
||||
|
||||
Fragment getFragment() {
|
||||
Fragment frag;
|
||||
frag.color = vec4(vec3(1.f) - texture(shadowMapTexture, texCoord).rrr, 1.f);
|
||||
frag.depth = 0.f;
|
||||
|
||||
return frag;
|
||||
}
|
||||
private slots:
|
||||
void saveChosenScripts();
|
||||
|
||||
private:
|
||||
void createWidgets();
|
||||
|
||||
QListWidget* _scriptlogList = nullptr;
|
||||
};
|
||||
|
||||
#endif // __OPENSPACE_UI_LAUNCHER___SCRIPTLOG___H__
|
||||
@@ -33,13 +33,13 @@ FileSystemAccess::FileSystemAccess(std::string fileExtension,
|
||||
, _useCheckboxes(useCheckboxes)
|
||||
{}
|
||||
|
||||
std::string FileSystemAccess::useQtFileSystemModelToTraverseDir(std::string dir) {
|
||||
std::string FileSystemAccess::useQtFileSystemModelToTraverseDir(std::string dir, bool userAssets) {
|
||||
_filesystemModel.setRootPath(QString::fromStdString(dir));
|
||||
QModelIndex index = _filesystemModel.index(_filesystemModel.rootPath());
|
||||
QFileInfo fileInfo = _filesystemModel.fileInfo(index);
|
||||
std::vector<std::string> dirsNested;
|
||||
std::vector<std::string> out;
|
||||
parseChildDirElements(fileInfo, "", 0, dirsNested, out);
|
||||
parseChildDirElements(fileInfo, "", 0, dirsNested, out, userAssets);
|
||||
std::string combined;
|
||||
for (const std::string& o : out) {
|
||||
combined += o + "\n";
|
||||
@@ -49,7 +49,7 @@ std::string FileSystemAccess::useQtFileSystemModelToTraverseDir(std::string dir)
|
||||
|
||||
void FileSystemAccess::parseChildDirElements(QFileInfo fileInfo, std::string space,
|
||||
int level, std::vector<std::string>& dirNames,
|
||||
std::vector<std::string>& output)
|
||||
std::vector<std::string>& output, bool userAssets)
|
||||
{
|
||||
QDir dir(fileInfo.filePath());
|
||||
bool hasDirHeaderBeenAdded = false;
|
||||
@@ -58,11 +58,13 @@ void FileSystemAccess::parseChildDirElements(QFileInfo fileInfo, std::string spa
|
||||
for (int i = 0; i < fileList.size(); i++) {
|
||||
QFileInfo fi = fileList[i];
|
||||
std::string res = space + fi.fileName().toStdString();
|
||||
|
||||
if (level == 0 && userAssets) {
|
||||
res = "${USER_ASSETS}/" + res;
|
||||
}
|
||||
if (fi.isDir()) {
|
||||
if (level != 0 || (level == 0 && isApprovedPath(res))) {
|
||||
if (level != 0 || (level == 0 && (isApprovedPath(res) || userAssets))) {
|
||||
dirNames.push_back(res);
|
||||
parseChildDirElements(fi, (space + " "), level + 1, dirNames, output);
|
||||
parseChildDirElements(fi, (space + " "), level + 1, dirNames, output, userAssets);
|
||||
}
|
||||
}
|
||||
else {
|
||||
|
||||
@@ -37,6 +37,7 @@
|
||||
#include <filesystem>
|
||||
#include <iostream>
|
||||
#include <random>
|
||||
#include <QStandardItemModel>
|
||||
|
||||
using namespace openspace;
|
||||
|
||||
@@ -140,10 +141,16 @@ LauncherWindow::LauncherWindow(bool profileEnabled,
|
||||
bool sgctConfigEnabled, std::string sgctConfigName,
|
||||
QWidget* parent)
|
||||
: QMainWindow(parent)
|
||||
, _assetPath(absPath(globalConfig.pathTokens.at("ASSETS")) + '/')
|
||||
, _configPath(absPath(globalConfig.pathTokens.at("CONFIG")) + '/')
|
||||
, _profilePath(absPath(globalConfig.pathTokens.at("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);
|
||||
|
||||
@@ -168,18 +175,19 @@ LauncherWindow::LauncherWindow(bool profileEnabled,
|
||||
|
||||
setCentralWidget(createCentralWidget());
|
||||
|
||||
|
||||
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();
|
||||
@@ -242,7 +250,7 @@ QWidget* LauncherWindow::createCentralWidget() {
|
||||
connect(
|
||||
newButton, &QPushButton::released,
|
||||
[this]() {
|
||||
openProfileEditor("");
|
||||
openProfileEditor("", true);
|
||||
}
|
||||
);
|
||||
newButton->setObjectName("small");
|
||||
@@ -254,7 +262,9 @@ QWidget* LauncherWindow::createCentralWidget() {
|
||||
editButton, &QPushButton::released,
|
||||
[this]() {
|
||||
const std::string selection = _profileBox->currentText().toStdString();
|
||||
openProfileEditor(selection);
|
||||
int selectedIndex = _profileBox->currentIndex();
|
||||
bool isUserProfile = selectedIndex < _userAssetCount;
|
||||
openProfileEditor(selection, isUserProfile);
|
||||
}
|
||||
);
|
||||
editButton->setObjectName("small");
|
||||
@@ -310,6 +320,7 @@ void LauncherWindow::populateProfilesList(std::string preset) {
|
||||
namespace fs = std::filesystem;
|
||||
|
||||
_profileBox->clear();
|
||||
_userAssetCount = 0;
|
||||
|
||||
if (!std::filesystem::exists(_profilePath)) {
|
||||
LINFOC(
|
||||
@@ -318,6 +329,26 @@ void LauncherWindow::populateProfilesList(std::string preset) {
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
_profileBox->addItem(QString::fromStdString("--- User Profiles ---"));
|
||||
const QStandardItemModel* model = qobject_cast<const QStandardItemModel*>(_profileBox->model());
|
||||
model->item(_userAssetCount)->setEnabled(false);
|
||||
++_userAssetCount;
|
||||
|
||||
// Add all the files with the .profile extension to the dropdown
|
||||
for (const fs::directory_entry& p : fs::directory_iterator(_userProfilePath)) {
|
||||
if (p.path().extension() != ".profile") {
|
||||
continue;
|
||||
}
|
||||
_profileBox->addItem(QString::fromStdString(p.path().stem().string()));
|
||||
++_userAssetCount;
|
||||
}
|
||||
|
||||
_profileBox->addItem(QString::fromStdString("--- OpenSpace Profiles ---"));
|
||||
model = qobject_cast<const QStandardItemModel*>(_profileBox->model());
|
||||
model->item(_userAssetCount)->setEnabled(false);
|
||||
++_userAssetCount;
|
||||
|
||||
// Add all the files with the .profile extension to the dropdown
|
||||
for (const fs::directory_entry& p : fs::directory_iterator(_profilePath)) {
|
||||
if (p.path().extension() != ".profile") {
|
||||
@@ -330,7 +361,6 @@ void LauncherWindow::populateProfilesList(std::string preset) {
|
||||
const int idx = _profileBox->findText(QString::fromStdString(std::move(preset)));
|
||||
if (idx != -1) {
|
||||
_profileBox->setCurrentIndex(idx);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -338,6 +368,24 @@ void LauncherWindow::populateWindowConfigsList(std::string preset) {
|
||||
namespace fs = std::filesystem;
|
||||
|
||||
_windowConfigBox->clear();
|
||||
|
||||
_userConfigCount = 0;
|
||||
_windowConfigBox->addItem(QString::fromStdString("--- User Configurations ---"));
|
||||
const QStandardItemModel* model = qobject_cast<const QStandardItemModel*>(_windowConfigBox->model());
|
||||
model->item(_userConfigCount)->setEnabled(false);
|
||||
++_userConfigCount;
|
||||
// Add all the files with the .xml extension to the dropdown
|
||||
for (const fs::directory_entry& p : fs::directory_iterator(_userConfigPath)) {
|
||||
if (p.path().extension() != ".xml") {
|
||||
continue;
|
||||
}
|
||||
_windowConfigBox->addItem(QString::fromStdString(p.path().stem().string()));
|
||||
++_userConfigCount;
|
||||
}
|
||||
_windowConfigBox->addItem(QString::fromStdString("--- OpenSpace Configurations ---"));
|
||||
model = qobject_cast<const QStandardItemModel*>(_windowConfigBox->model());
|
||||
model->item(_userConfigCount)->setEnabled(false);
|
||||
|
||||
if (std::filesystem::exists(_configPath)) {
|
||||
// Add all the files with the .xml extension to the dropdown
|
||||
for (const fs::directory_entry& p : fs::directory_iterator(_configPath)) {
|
||||
@@ -368,8 +416,9 @@ void LauncherWindow::populateWindowConfigsList(std::string preset) {
|
||||
}
|
||||
}
|
||||
|
||||
void LauncherWindow::openProfileEditor(const std::string& profile) {
|
||||
void LauncherWindow::openProfileEditor(const std::string& profile, const bool isUserProfile) {
|
||||
std::optional<Profile> p;
|
||||
std::string saveProfilePath = isUserProfile ? _userProfilePath : _profilePath;
|
||||
if (profile.empty()) {
|
||||
// If the requested profile is the empty string, then we want to create a new one
|
||||
|
||||
@@ -378,17 +427,20 @@ void LauncherWindow::openProfileEditor(const std::string& profile) {
|
||||
else {
|
||||
// Otherwise, we want to load that profile
|
||||
|
||||
std::string fullProfilePath = _profilePath + profile + ".profile";
|
||||
std::string fullProfilePath = saveProfilePath + profile + ".profile";
|
||||
p = loadProfileFromFile(this, fullProfilePath);
|
||||
if (!p.has_value()) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
ProfileEdit editor(*p, profile, _assetPath, _profilePath, _readOnlyProfiles, this);
|
||||
ProfileEdit editor(*p, profile, _assetPath, _userAssetPath, saveProfilePath, _readOnlyProfiles, this);
|
||||
editor.exec();
|
||||
if (editor.wasSaved()) {
|
||||
const std::string path = _profilePath + editor.specifiedFilename() + ".profile";
|
||||
if (editor.specifiedFilename() != profile) {
|
||||
saveProfilePath = _userProfilePath;
|
||||
}
|
||||
const std::string path = saveProfilePath + editor.specifiedFilename() + ".profile";
|
||||
saveProfile(this, path, *p);
|
||||
populateProfilesList(editor.specifiedFilename());
|
||||
}
|
||||
@@ -407,5 +459,13 @@ std::string LauncherWindow::selectedProfile() const {
|
||||
}
|
||||
|
||||
std::string LauncherWindow::selectedWindowConfig() const {
|
||||
return _windowConfigBox->currentText().toStdString();
|
||||
int idx = _windowConfigBox->currentIndex();
|
||||
if (idx == 0) {
|
||||
return _sgctConfigName;
|
||||
} else if (idx > _userAssetCount) {
|
||||
return "${CONFIG}/" + _windowConfigBox->currentText().toStdString();
|
||||
}
|
||||
else {
|
||||
return "${USER_CONFIG}/" + _windowConfigBox->currentText().toStdString();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,10 +25,12 @@
|
||||
#include "profile/additionalscriptsdialog.h"
|
||||
|
||||
#include "profile/line.h"
|
||||
#include "profile/scriptlogdialog.h"
|
||||
#include <openspace/scene/profile.h>
|
||||
#include <QDialogButtonBox>
|
||||
#include <QHBoxLayout>
|
||||
#include <QLabel>
|
||||
#include <QPushButton>
|
||||
#include <QTextEdit>
|
||||
#include <QVBoxLayout>
|
||||
|
||||
@@ -61,6 +63,13 @@ void AdditionalScriptsDialog::createWidgets() {
|
||||
_textScripts->setAcceptRichText(false);
|
||||
layout->addWidget(_textScripts, 1);
|
||||
|
||||
_chooseScriptsButton = new QPushButton("Choose Scripts");
|
||||
connect(
|
||||
_chooseScriptsButton, &QPushButton::clicked,
|
||||
this, &AdditionalScriptsDialog::chooseScripts
|
||||
);
|
||||
layout->addWidget(_chooseScriptsButton);
|
||||
|
||||
layout->addWidget(new Line);
|
||||
|
||||
{
|
||||
@@ -89,3 +98,13 @@ void AdditionalScriptsDialog::parseScript() {
|
||||
_profile.setAdditionalScripts(additionalScripts);
|
||||
accept();
|
||||
}
|
||||
|
||||
void AdditionalScriptsDialog::chooseScripts() {
|
||||
ScriptlogDialog d(this);
|
||||
connect(&d, &ScriptlogDialog::scriptsSelected, this, &AdditionalScriptsDialog::appendScriptsToTextfield);
|
||||
d.exec();
|
||||
}
|
||||
|
||||
void AdditionalScriptsDialog::appendScriptsToTextfield(std::string scripts) {
|
||||
_textScripts->append(QString::fromStdString(std::move(scripts)));
|
||||
}
|
||||
|
||||
@@ -62,7 +62,13 @@ namespace {
|
||||
void traverseToFindFilesystemMatch(AssetTreeModel& model, QModelIndex parent,
|
||||
int nRows, const std::string& path)
|
||||
{
|
||||
const size_t slash = path.find_first_of('/', 0);
|
||||
|
||||
int startIndex = 0;
|
||||
std::string token = "${USER_ASSETS}/";
|
||||
if (path.find(token) == 0) {
|
||||
startIndex = static_cast<int>(token.length());
|
||||
}
|
||||
const size_t slash = path.find_first_of('/', startIndex);
|
||||
const bool endOfPath = (slash == std::string::npos);
|
||||
std::string firstDir = endOfPath ? "" : path.substr(0, slash);
|
||||
|
||||
@@ -120,12 +126,12 @@ namespace {
|
||||
} // namespace
|
||||
|
||||
AssetsDialog::AssetsDialog(openspace::Profile& profile, const std::string& assetBasePath,
|
||||
QWidget* parent)
|
||||
const std::string& userAssetBasePath, QWidget* parent)
|
||||
: QDialog(parent)
|
||||
, _profile(profile)
|
||||
{
|
||||
setWindowTitle("Assets");
|
||||
_assetTreeModel.importModelData(assetBasePath);
|
||||
_assetTreeModel.importModelData(assetBasePath, userAssetBasePath);
|
||||
createWidgets();
|
||||
}
|
||||
|
||||
|
||||
@@ -145,15 +145,18 @@ AssetTreeModel::AssetTreeModel(QObject* parent)
|
||||
);
|
||||
}
|
||||
|
||||
void AssetTreeModel::importModelData(const std::string& assetBasePath) {
|
||||
void AssetTreeModel::importModelData(const std::string& assetBasePath,
|
||||
const std::string& userAssetBasePath) {
|
||||
FileSystemAccess assets(
|
||||
".asset",
|
||||
{ "scene", "global", "customization", "examples", "util" },
|
||||
// @TODO (abock, 2021-03-24) We need some better solution for this; what is the
|
||||
// problem of just including all subfolders instead?
|
||||
{ "scene", "global", "customization", "dashboard", "examples", "util" },
|
||||
true,
|
||||
true
|
||||
);
|
||||
std::string assetList = assets.useQtFileSystemModelToTraverseDir(assetBasePath);
|
||||
|
||||
assetList += assets.useQtFileSystemModelToTraverseDir(userAssetBasePath, true);
|
||||
std::istringstream iss(assetList);
|
||||
ImportElement rootElem = { "", 0, false };
|
||||
|
||||
|
||||
@@ -25,6 +25,8 @@
|
||||
#include "profile/keybindingsdialog.h"
|
||||
|
||||
#include "profile/line.h"
|
||||
#include "profile/scriptlogdialog.h"
|
||||
|
||||
#include <openspace/scene/profile.h>
|
||||
#include <openspace/util/keys.h>
|
||||
#include <qevent.h>
|
||||
@@ -106,6 +108,10 @@ KeybindingsDialog::KeybindingsDialog(Profile& profile, QWidget *parent)
|
||||
transitionFromEditMode();
|
||||
}
|
||||
|
||||
void KeybindingsDialog::appendScriptsToKeybind(std::string scripts) {
|
||||
_scriptEdit->append(QString::fromStdString(std::move(scripts)));
|
||||
}
|
||||
|
||||
void KeybindingsDialog::createWidgets() {
|
||||
QBoxLayout* layout = new QVBoxLayout(this);
|
||||
{
|
||||
@@ -220,6 +226,14 @@ void KeybindingsDialog::createWidgets() {
|
||||
|
||||
_scriptLabel = new QLabel("Script");
|
||||
box->addWidget(_scriptLabel, 6, 0, 1, 2);
|
||||
|
||||
_chooseScriptsButton = new QPushButton("Choose Scripts");
|
||||
connect(
|
||||
_chooseScriptsButton, &QPushButton::clicked,
|
||||
this, &KeybindingsDialog::chooseScripts
|
||||
);
|
||||
box->addWidget(_chooseScriptsButton, 6, 1, 1, 1);
|
||||
|
||||
_scriptEdit = new QTextEdit;
|
||||
_scriptEdit->setAcceptRichText(false);
|
||||
_scriptEdit->setToolTip("Command(s) to execute at keypress event");
|
||||
@@ -446,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);
|
||||
@@ -497,6 +508,7 @@ void KeybindingsDialog::editBoxDisabled(bool disabled) {
|
||||
_scriptEdit->setDisabled(disabled);
|
||||
_cancelButton->setDisabled(disabled);
|
||||
_saveButton->setDisabled(disabled);
|
||||
_chooseScriptsButton->setDisabled(disabled);
|
||||
}
|
||||
|
||||
void KeybindingsDialog::parseSelections() {
|
||||
@@ -508,6 +520,13 @@ void KeybindingsDialog::parseSelections() {
|
||||
accept();
|
||||
}
|
||||
|
||||
void KeybindingsDialog::chooseScripts() {
|
||||
_errorMsg->clear();
|
||||
ScriptlogDialog d(this);
|
||||
connect(&d, &ScriptlogDialog::scriptsSelected, this, &KeybindingsDialog::appendScriptsToKeybind);
|
||||
d.exec();
|
||||
}
|
||||
|
||||
void KeybindingsDialog::keyPressEvent(QKeyEvent* evt) {
|
||||
if (evt->key() == Qt::Key_Enter || evt->key() == Qt::Key_Return) {
|
||||
return;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -94,12 +94,15 @@ namespace {
|
||||
} // namespace
|
||||
|
||||
ProfileEdit::ProfileEdit(Profile& profile, const std::string& profileName,
|
||||
std::string assetBasePath, std::string profileBasePath,
|
||||
std::string assetBasePath,
|
||||
std::string userAssetBasePath,
|
||||
std::string profileBasePath,
|
||||
const std::vector<std::string>& readOnlyProfiles,
|
||||
QWidget* parent)
|
||||
: QDialog(parent)
|
||||
, _profile(profile)
|
||||
, _assetBasePath(std::move(assetBasePath))
|
||||
, _userAssetBasePath(std::move(userAssetBasePath))
|
||||
, _profileBasePath(std::move(profileBasePath))
|
||||
, _readOnlyProfiles(readOnlyProfiles)
|
||||
{
|
||||
@@ -427,7 +430,7 @@ void ProfileEdit::openKeybindings() {
|
||||
|
||||
void ProfileEdit::openAssets() {
|
||||
_errorMsg->clear();
|
||||
AssetsDialog(_profile, _assetBasePath, this).exec();
|
||||
AssetsDialog(_profile, _assetBasePath, _userAssetBasePath, this).exec();
|
||||
_assetsLabel->setText(labelText(_profile.assets().size(), "Assets"));
|
||||
_assetsEdit->setText(QString::fromStdString(summarizeAssets(_profile.assets())));
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -0,0 +1,97 @@
|
||||
/*****************************************************************************************
|
||||
* *
|
||||
* OpenSpace *
|
||||
* *
|
||||
* Copyright (c) 2014-2021 *
|
||||
* *
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy of this *
|
||||
* software and associated documentation files (the "Software"), to deal in the Software *
|
||||
* without restriction, including without limitation the rights to use, copy, modify, *
|
||||
* merge, publish, distribute, sublicense, and/or sell copies of the Software, and to *
|
||||
* permit persons to whom the Software is furnished to do so, subject to the following *
|
||||
* conditions: *
|
||||
* *
|
||||
* The above copyright notice and this permission notice shall be included in all copies *
|
||||
* or substantial portions of the Software. *
|
||||
* *
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, *
|
||||
* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A *
|
||||
* PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT *
|
||||
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF *
|
||||
* CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE *
|
||||
* OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
|
||||
****************************************************************************************/
|
||||
|
||||
#include "profile/scriptlogdialog.h"
|
||||
#include "profile/line.h"
|
||||
#include <openspace/engine/configuration.h>
|
||||
#include <openspace/scene/profile.h>
|
||||
#include <ghoul/filesystem/filesystem.h>
|
||||
#include <QDialogButtonBox>
|
||||
#include <QLabel>
|
||||
#include <QFile>
|
||||
#include <QTextStream>
|
||||
#include <QVBoxLayout>
|
||||
|
||||
ScriptlogDialog::ScriptlogDialog(QWidget* parent)
|
||||
: QDialog(parent)
|
||||
{
|
||||
setWindowTitle("Scriptlog");
|
||||
createWidgets();
|
||||
|
||||
QFile file(QString::fromStdString(absPath("${LOGS}/scriptLog.txt").string()));
|
||||
if (file.open(QIODevice::ReadOnly | QIODevice::Text)) {
|
||||
QTextStream in(&file);
|
||||
while (!in.atEnd()) {
|
||||
QString line = in.readLine();
|
||||
// removing return from a few statments
|
||||
// these are usually generated by gui panels
|
||||
line.remove(QRegularExpression("^return "));
|
||||
if (!line.isEmpty()) {
|
||||
_scriptlogList->addItem(line);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void ScriptlogDialog::createWidgets() {
|
||||
QBoxLayout* layout = new QVBoxLayout(this);
|
||||
{
|
||||
QLabel* heading = new QLabel("Choose commands from log/scriptLog.txt");
|
||||
heading->setObjectName("heading");
|
||||
layout->addWidget(heading);
|
||||
}
|
||||
|
||||
_scriptlogList = new QListWidget;
|
||||
_scriptlogList->setSelectionMode(QAbstractItemView::SelectionMode::MultiSelection);
|
||||
layout->addWidget(_scriptlogList);
|
||||
|
||||
layout->addWidget(new Line);
|
||||
{
|
||||
QDialogButtonBox* buttons = new QDialogButtonBox;
|
||||
buttons->setStandardButtons(QDialogButtonBox::Save | QDialogButtonBox::Cancel);
|
||||
connect(
|
||||
buttons, &QDialogButtonBox::accepted,
|
||||
this, &ScriptlogDialog::saveChosenScripts
|
||||
);
|
||||
connect(
|
||||
buttons, &QDialogButtonBox::rejected,
|
||||
this, &ScriptlogDialog::reject
|
||||
);
|
||||
layout->addWidget(buttons);
|
||||
}
|
||||
}
|
||||
|
||||
void ScriptlogDialog::saveChosenScripts() {
|
||||
std::string chosenScripts;
|
||||
QList<QListWidgetItem*> itemList = _scriptlogList->selectedItems();
|
||||
for (int i = 0; i < itemList.size(); ++i) {
|
||||
chosenScripts += itemList.at(i)->text().toStdString();
|
||||
if (i < itemList.size()) {
|
||||
chosenScripts += "\n";
|
||||
}
|
||||
}
|
||||
emit scriptsSelected(chosenScripts);
|
||||
|
||||
accept();
|
||||
}
|
||||
+1
-1
Submodule apps/OpenSpace/ext/sgct updated: fed1f55a0b...2a3ef78f72
+60
-61
@@ -41,11 +41,11 @@
|
||||
#include <ghoul/lua/ghoul_lua.h>
|
||||
#include <ghoul/misc/assert.h>
|
||||
#include <ghoul/misc/boolean.h>
|
||||
//#include <ghoul/opengl/ghoul_gl.h>
|
||||
#include <GLFW/glfw3.h>
|
||||
#include <ghoul/opengl/ghoul_gl.h>
|
||||
#ifdef WIN32
|
||||
#define GLFW_EXPOSE_NATIVE_WIN32
|
||||
#endif
|
||||
#include <GLFW/glfw3.h>
|
||||
#include <GLFW/glfw3native.h>
|
||||
#include <sgct/clustermanager.h>
|
||||
#include <sgct/commandline.h>
|
||||
@@ -61,6 +61,7 @@
|
||||
#include <Tracy.hpp>
|
||||
#include <chrono>
|
||||
#include <ctime>
|
||||
#include <filesystem>
|
||||
#include <memory>
|
||||
|
||||
#ifdef WIN32
|
||||
@@ -218,6 +219,15 @@ void mainInitFunc(GLFWwindow*) {
|
||||
|
||||
LTRACE("main::mainInitFunc(begin)");
|
||||
|
||||
//
|
||||
// Screenshots
|
||||
//
|
||||
// We save the startup value of the screenshots just in case we want to add a date
|
||||
// to them later in the RenderEngine
|
||||
std::filesystem::path screenshotPath = absPath("${SCREENSHOTS}");
|
||||
FileSys.registerPathToken("${STARTUP_SCREENSHOT}", screenshotPath);
|
||||
Settings::instance().setCapturePath(screenshotPath.string());
|
||||
|
||||
LDEBUG("Initializing OpenSpace Engine started");
|
||||
global::openSpaceEngine->initialize();
|
||||
LDEBUG("Initializing OpenSpace Engine finished");
|
||||
@@ -225,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;
|
||||
@@ -321,27 +331,6 @@ void mainInitFunc(GLFWwindow*) {
|
||||
#endif // OPENSPACE_HAS_SPOUT
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Screenshots
|
||||
//
|
||||
std::string screenshotPath = "${SCREENSHOTS}";
|
||||
if (global::configuration->shouldUseScreenshotDate) {
|
||||
std::time_t now = std::time(nullptr);
|
||||
std::tm* nowTime = std::localtime(&now);
|
||||
char mbstr[128];
|
||||
strftime(mbstr, sizeof(mbstr), "%Y-%m-%d-%H-%M", nowTime);
|
||||
|
||||
FileSys.registerPathToken(
|
||||
"${SCREENSHOTS}",
|
||||
absPath(screenshotPath + '/' + std::string(mbstr)),
|
||||
ghoul::filesystem::FileSystem::Override::Yes
|
||||
);
|
||||
}
|
||||
|
||||
Settings::instance().setCapturePath(absPath(screenshotPath));
|
||||
|
||||
|
||||
LTRACE("main::mainInitFunc(end)");
|
||||
}
|
||||
|
||||
@@ -576,7 +565,7 @@ void mainPostDrawFunc() {
|
||||
glBindTexture(GL_TEXTURE_2D, texId);
|
||||
w.leftOrMain.handle->SendTexture(
|
||||
texId,
|
||||
GL_TEXTURE_2D,
|
||||
GLuint(GL_TEXTURE_2D),
|
||||
window.framebufferResolution().x,
|
||||
window.framebufferResolution().y
|
||||
);
|
||||
@@ -587,7 +576,7 @@ void mainPostDrawFunc() {
|
||||
glBindTexture(GL_TEXTURE_2D, tId);
|
||||
w.right.handle->SendTexture(
|
||||
tId,
|
||||
GL_TEXTURE_2D,
|
||||
GLuint(GL_TEXTURE_2D),
|
||||
window.framebufferResolution().x,
|
||||
window.framebufferResolution().y
|
||||
);
|
||||
@@ -660,6 +649,17 @@ void mainCharCallback(unsigned int codepoint, int modifiers) {
|
||||
|
||||
|
||||
|
||||
void mainDropCallback(int amount, const char** paths) {
|
||||
ghoul_assert(amount > 0, "Expected at least one file path");
|
||||
ghoul_assert(paths, "expected non-nullptr");
|
||||
|
||||
for (int i = 0; i < amount; ++i) {
|
||||
global::openSpaceEngine->handleDragDrop(paths[i]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
std::vector<std::byte> mainEncodeFun() {
|
||||
ZoneScoped
|
||||
LTRACE("main::mainEncodeFun(begin)");
|
||||
@@ -976,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;
|
||||
}
|
||||
@@ -1005,7 +997,14 @@ std::string selectedSgctProfileFromLauncher(LauncherWindow& lw, bool hasCliSGCTC
|
||||
}
|
||||
}
|
||||
else {
|
||||
config = "${CONFIG}/" + 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;
|
||||
}
|
||||
@@ -1013,7 +1012,6 @@ std::string selectedSgctProfileFromLauncher(LauncherWindow& lw, bool hasCliSGCTC
|
||||
}
|
||||
|
||||
int main(int argc, char* argv[]) {
|
||||
|
||||
#ifdef WIN32
|
||||
SetUnhandledExceptionFilter(generateMiniDump);
|
||||
#endif // WIN32
|
||||
@@ -1026,7 +1024,6 @@ int main(int argc, char* argv[]) {
|
||||
{
|
||||
using namespace ghoul::logging;
|
||||
LogManager::initialize(LogLevel::Debug, LogManager::ImmediateFlush::Yes);
|
||||
LogMgr.addLog(std::make_unique<ConsoleLog>());
|
||||
#ifdef WIN32
|
||||
if (IsDebuggerPresent()) {
|
||||
LogMgr.addLog(std::make_unique<ghoul::logging::VisualStudioOutputLog>());
|
||||
@@ -1042,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
|
||||
);
|
||||
|
||||
@@ -1080,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
|
||||
@@ -1095,35 +1092,34 @@ 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::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
|
||||
);
|
||||
// If the user requested a commandline-based configuration script that should
|
||||
// overwrite some of the values, this is the time to do it
|
||||
if (!commandlineArguments.configurationOverride.empty()) {
|
||||
LDEBUG("Executing Lua script passed through the commandline:");
|
||||
LDEBUG(commandlineArguments.configurationOverride);
|
||||
ghoul::lua::runScript(
|
||||
global::configuration->state,
|
||||
commandlineArguments.configurationOverride
|
||||
);
|
||||
parseLuaState(*global::configuration);
|
||||
}
|
||||
|
||||
// Determining SGCT configuration file
|
||||
LDEBUG("SGCT Configuration file: " + global::configuration->windowConfiguration);
|
||||
@@ -1153,7 +1149,6 @@ int main(int argc, char* argv[]) {
|
||||
|
||||
global::openSpaceEngine->registerPathTokens();
|
||||
|
||||
|
||||
bool hasSGCTConfig = false;
|
||||
bool hasProfile = false;
|
||||
std::string sgctFunctionName;
|
||||
@@ -1169,6 +1164,9 @@ int main(int argc, char* argv[]) {
|
||||
sgctFunctionName
|
||||
);
|
||||
|
||||
//TODO consider LFATAL if ${USER} doens't exist rather then recurisve create.
|
||||
global::openSpaceEngine->createUserDirectoriesIfNecessary();
|
||||
|
||||
// (abock, 2020-12-07) For some reason on Apple the keyboard handler in CEF will call
|
||||
// the Qt one even if the QApplication was destroyed, leading to invalid memory
|
||||
// access. The only way we could fix this for the release was to keep the
|
||||
@@ -1223,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
|
||||
|
||||
@@ -1239,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;
|
||||
@@ -1253,6 +1251,7 @@ int main(int argc, char* argv[]) {
|
||||
callbacks.mousePos = mainMousePosCallback;
|
||||
callbacks.mouseScroll = mainMouseScrollCallback;
|
||||
callbacks.character = mainCharCallback;
|
||||
callbacks.drop = mainDropCallback;
|
||||
callbacks.encode = mainEncodeFun;
|
||||
callbacks.decode = mainDecodeFun;
|
||||
Log::instance().setNotifyLevel(Log::Level::Debug);
|
||||
|
||||
@@ -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>
|
||||
@@ -106,6 +105,10 @@ void performTasks(const std::string& path) {
|
||||
int main(int argc, char** argv) {
|
||||
using namespace openspace;
|
||||
|
||||
ghoul::logging::LogManager::initialize(
|
||||
ghoul::logging::LogLevel::Debug,
|
||||
ghoul::logging::LogManager::ImmediateFlush::Yes
|
||||
);
|
||||
ghoul::initialize();
|
||||
global::create();
|
||||
|
||||
@@ -113,12 +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();
|
||||
*global::configuration = configuration::loadConfigurationFromFile(configFile);
|
||||
std::filesystem::path configFile = configuration::findConfiguration();
|
||||
|
||||
// Register the base path as the directory where the configuration file lives
|
||||
std::filesystem::path base = configFile.parent_path();
|
||||
constexpr const char* BasePathToken = "${BASE}";
|
||||
FileSys.registerPathToken(BasePathToken, base);
|
||||
|
||||
*global::configuration = configuration::loadConfigurationFromFile(
|
||||
configFile.string(),
|
||||
""
|
||||
);
|
||||
openspace::global::openSpaceEngine->registerPathTokens();
|
||||
global::openSpaceEngine->initialize();
|
||||
|
||||
@@ -127,7 +139,7 @@ int main(int argc, char** argv) {
|
||||
ghoul::cmdparser::CommandlineParser::AllowUnknownCommands::Yes
|
||||
);
|
||||
|
||||
std::string tasksPath = "";
|
||||
std::string tasksPath;
|
||||
commandlineParser.addCommand(
|
||||
std::make_unique<ghoul::cmdparser::SingleCommand<std::string>>(
|
||||
tasksPath,
|
||||
@@ -142,7 +154,7 @@ int main(int argc, char** argv) {
|
||||
|
||||
//FileSys.setCurrentDirectory(launchDirectory);
|
||||
|
||||
if (tasksPath != "") {
|
||||
if (!tasksPath.empty()) {
|
||||
performTasks(tasksPath);
|
||||
return 0;
|
||||
}
|
||||
@@ -150,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) {
|
||||
|
||||
@@ -98,7 +98,10 @@ int main(int argc, char** argv) {
|
||||
|
||||
settings.changeHostPassword = defaultChangeHostPassword.str();
|
||||
}
|
||||
|
||||
ghoul::logging::LogManager::initialize(
|
||||
ghoul::logging::LogLevel::Debug,
|
||||
ghoul::logging::LogManager::ImmediateFlush::Yes
|
||||
);
|
||||
LINFO(fmt::format("Connection password: {}", settings.password));
|
||||
LINFO(fmt::format("Host password: {}", settings.changeHostPassword));
|
||||
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
<?xml version="1.0" ?>
|
||||
<Cluster masterAddress="localhost" externalControlPort="20500">
|
||||
<Settings>
|
||||
<Display swapInterval="0" />
|
||||
</Settings>
|
||||
<Node address="localhost" port="20401">
|
||||
<Window fullScreen="false" name="OpenSpace" draw2d="false">
|
||||
<Stereo type="none" />
|
||||
<Size x="1280" y="720" />
|
||||
<Pos x="50" y="50" />
|
||||
<Viewport tracked="true">
|
||||
<Pos x="0.0" y="0.0" />
|
||||
<Size x="1.0" y="1.0" />
|
||||
<EquirectangularProjection quality="1k" />
|
||||
</Viewport>
|
||||
</Window>
|
||||
<Window fullScreen="false" name="GUI" tags="GUI" draw3d="false">
|
||||
<Stereo type="none" />
|
||||
<Size x="1280" y="720" />
|
||||
<Pos x="50" y="50" />
|
||||
<Viewport>
|
||||
<Pos x="0.0" y="0.0" />
|
||||
<Size x="1.0" y="1.0" />
|
||||
</Viewport>
|
||||
</Window>
|
||||
</Node>
|
||||
<User eyeSeparation="0.065">
|
||||
<Pos x="0.0" y="0.0" z="0.0" />
|
||||
</User>
|
||||
</Cluster>
|
||||
@@ -4,7 +4,7 @@
|
||||
<Display swapInterval="0" />
|
||||
</Settings>
|
||||
<Node address="localhost" port="20401">
|
||||
<Window fullScreen="true" monitor="1" name="OpenSpace" draw2d="false">
|
||||
<Window fullscreen="true" monitor="1" name="OpenSpace" draw2d="false">
|
||||
<Stereo type="none" />
|
||||
<Size x="1920" y="1080" />
|
||||
<Pos x="0" y="0" />
|
||||
@@ -17,7 +17,7 @@
|
||||
</PlanarProjection>
|
||||
</Viewport>
|
||||
</Window>
|
||||
<Window fullScreen="false" border="false" name="GUI" tags="GUI" draw3D="false">
|
||||
<Window fullscreen="false" border="false" name="GUI" tags="GUI" draw3D="false">
|
||||
<Stereo type="none" />
|
||||
<Size x="1920" y="1080" />
|
||||
<Pos x="0" y="0" />
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
-->
|
||||
<!-- mesh path is relative to working directory-->
|
||||
<!-- NOTE, if no working directory is set, mesh must be absolute path -->
|
||||
<Viewport name="warped fisheye" mesh="config/mesh/standard_16x9.data">
|
||||
<Viewport name="warped fisheye" mesh="mesh/standard_16x9.data">
|
||||
<Pos x="0.0" y="0.0" />
|
||||
<Size x="1.0" y="1.0" />
|
||||
<FisheyeProjection fov="180" quality="2k" tilt="30.0">
|
||||
|
||||
@@ -7,11 +7,10 @@ asset.require('./base_blank')
|
||||
-- Specifying which other assets should be loaded in this scene
|
||||
asset.require('scene/solarsystem/sun/sun')
|
||||
asset.require('scene/solarsystem/sun/glare')
|
||||
asset.require('scene/solarsystem/sun/habitablezone')
|
||||
asset.require('scene/solarsystem/sun/default_layers')
|
||||
asset.require('scene/solarsystem/planets/planets')
|
||||
asset.require('scene/solarsystem/planets/default_layers')
|
||||
asset.require('scene/solarsystem/planets/mars/moons/phobos')
|
||||
asset.require('scene/solarsystem/planets/mars/moons/deimos')
|
||||
asset.require('scene/solarsystem/dwarf_planets/pluto/system')
|
||||
asset.require('scene/solarsystem/dwarf_planets/pluto/default_layers')
|
||||
asset.require('scene/solarsystem/dwarf_planets/pluto/charon/default_layers')
|
||||
@@ -21,9 +20,11 @@ asset.require('scene/milkyway/constellations/constellation_keybinds')
|
||||
asset.require('scene/milkyway/objects/orionnebula/orionnebula')
|
||||
asset.require('util/launcher_images')
|
||||
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
-- For exoplanet system visualizations
|
||||
asset.require('scene/milkyway/exoplanets/exoplanets_data')
|
||||
asset.require('scene/milkyway/exoplanets/exoplanets_textures')
|
||||
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
asset.require('scene/digitaluniverse/2dF')
|
||||
asset.require('scene/digitaluniverse/2mass')
|
||||
asset.require('scene/digitaluniverse/6dF')
|
||||
@@ -66,7 +67,7 @@ asset.require('scene/digitaluniverse/voids')
|
||||
asset.require('customization/globebrowsing')
|
||||
|
||||
asset.onInitialize(function ()
|
||||
openspace.globebrowsing.loadWMSServersFromFile(
|
||||
openspace.absPath("${DATA}/globebrowsing_servers.lua")
|
||||
)
|
||||
end)
|
||||
openspace.globebrowsing.loadWMSServersFromFile(
|
||||
openspace.absPath("${DATA}/globebrowsing_servers.lua")
|
||||
)
|
||||
end)
|
||||
|
||||
@@ -8,43 +8,42 @@ local propertyHelper = asset.require('util/property_helper')
|
||||
asset.require('spice/base')
|
||||
|
||||
-- Load default key bindings applicable to most scenes
|
||||
asset.require('dashboard/default_dashboard')
|
||||
asset.require('util/default_keybindings')
|
||||
asset.require('util/default_dashboard')
|
||||
asset.require('util/default_joystick')
|
||||
|
||||
-- Load web gui
|
||||
local webGui = asset.require('util/webgui')
|
||||
|
||||
-- Keybindings that are specific for this scene
|
||||
local Keybindings = {
|
||||
{
|
||||
Key = "h",
|
||||
Name="Toggle Trails",
|
||||
Command = "local list = openspace.getProperty('{planetTrail_solarSystem}.Renderable.Enabled'); for _,v in pairs(list) do openspace.setPropertyValueSingle(v, not openspace.getPropertyValue(v)) end\n" ..
|
||||
"local moonlist = openspace.getProperty('{moonTrail_solarSystem}.Renderable.Enabled'); for _,v in pairs(moonlist) do openspace.setPropertyValueSingle(v, not openspace.getPropertyValue(v)) end",
|
||||
Documentation = "Toggles the visibility of planet and moon trails",
|
||||
GuiPath = "/Rendering",
|
||||
Local = false
|
||||
},
|
||||
{
|
||||
Key = "l",
|
||||
Name = "Toggle planet labels",
|
||||
Command = "local list = openspace.getProperty('{solarsystem_labels}.Renderable.Enabled'); for _,v in pairs(list) do openspace.setPropertyValueSingle(v, not openspace.getPropertyValue(v)) end",
|
||||
Documentation = "Turns on visibility for all solar system labels",
|
||||
GuiPath = "/Rendering",
|
||||
Local = false
|
||||
}
|
||||
{
|
||||
Key = "h",
|
||||
Name="Toggle Trails",
|
||||
Command = "local list = openspace.getProperty('{planetTrail_solarSystem}.Renderable.Enabled'); for _,v in pairs(list) do openspace.setPropertyValueSingle(v, not openspace.getPropertyValue(v)) end\n" ..
|
||||
"local moonlist = openspace.getProperty('{moonTrail_solarSystem}.Renderable.Enabled'); for _,v in pairs(moonlist) do openspace.setPropertyValueSingle(v, not openspace.getPropertyValue(v)) end",
|
||||
Documentation = "Toggles the visibility of planet and moon trails",
|
||||
GuiPath = "/Rendering",
|
||||
Local = false
|
||||
},
|
||||
{
|
||||
Key = "l",
|
||||
Name = "Toggle planet labels",
|
||||
Command = "local list = openspace.getProperty('{solarsystem_labels}.Renderable.Enabled'); for _,v in pairs(list) do openspace.setPropertyValueSingle(v, not openspace.getPropertyValue(v)) end",
|
||||
Documentation = "Turns on visibility for all solar system labels",
|
||||
GuiPath = "/Rendering",
|
||||
Local = false
|
||||
}
|
||||
}
|
||||
|
||||
asset.onInitialize(function ()
|
||||
webGui.setCefRoute("onscreen")
|
||||
webGui.setCefRoute("onscreen")
|
||||
|
||||
sceneHelper.bindKeys(Keybindings)
|
||||
openspace.setDefaultGuiSorting()
|
||||
sceneHelper.bindKeys(Keybindings)
|
||||
openspace.setDefaultGuiSorting()
|
||||
|
||||
openspace.setPropertyValueSingle("RenderEngine.VerticalLogOffset", 0.100000)
|
||||
openspace.setPropertyValueSingle("RenderEngine.VerticalLogOffset", 0.100000)
|
||||
end)
|
||||
|
||||
asset.onDeinitialize(function ()
|
||||
sceneHelper.unbindKeys(Keybindings)
|
||||
sceneHelper.unbindKeys(Keybindings)
|
||||
end)
|
||||
|
||||
@@ -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
|
||||
@@ -15,74 +16,74 @@ local AddMercuryLayers = true
|
||||
-- sequences
|
||||
-- For example: C:/OpenSpace or C:\\OpenSpace rather than C:\OpenSpace
|
||||
local vrt_folders = {
|
||||
Mars = {
|
||||
-- Add folders here whose contents will be automatically added to the Mars globe
|
||||
-- If multiple folders are added, the results will be added sequentially, meaning that
|
||||
-- if areas overlap (for example CTX and HiRISE) and CTX is specified *after* HiRISE,
|
||||
-- CTX will stomp over the HiRISE.
|
||||
Mars = {
|
||||
-- Add folders here whose contents will be automatically added to the Mars globe
|
||||
-- If multiple folders are added, the results will be added sequentially, meaning that
|
||||
-- if areas overlap (for example CTX and HiRISE) and CTX is specified *after* HiRISE,
|
||||
-- CTX will stomp over the HiRISE.
|
||||
|
||||
-- tl;dr: Specify CTX folders first, then HiRISE
|
||||
-- example: 'C:/OpenSpace/GlobeBrowsingData/Mars/CTX'
|
||||
-- tl;dr: Specify CTX folders first, then HiRISE
|
||||
-- example: 'C:/OpenSpace/GlobeBrowsingData/Mars/CTX'
|
||||
|
||||
-- We recommend using this folder for CTX
|
||||
openspace.absPath('${BASE}/../OpenSpaceData/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'),
|
||||
-- if not and you have a custom path for HiRISE layers, enter it below
|
||||
''
|
||||
},
|
||||
Moon = {
|
||||
-- Add folders here whose contents will be automatically added to the Moon globe
|
||||
-- If multiple folders are added, the results will be added sequentially, meaning that
|
||||
-- if areas overlap, images from the lower results will overwrite the images from former
|
||||
-- results
|
||||
-- example: 'C:/OpenSpace/GlobeBrowsingData/Moon'
|
||||
openspace.absPath('${BASE}/../OpenSpaceData/Moon'),
|
||||
openspace.absPath('${BASE}/../OpenSpaceData/Apollo'),
|
||||
''
|
||||
},
|
||||
Mercury = {
|
||||
-- Add folders here whose contents will be automatically added to the Mercury globe
|
||||
-- If multiple folders are added, the results will be added sequentially, meaning that
|
||||
-- if areas overlap, images from the lower results will overwrite the images from former
|
||||
-- results
|
||||
-- example: 'C:/OpenSpace/GlobeBrowsingData/Mercury'
|
||||
openspace.absPath('${BASE}/../OpenSpaceData/Mercury'),
|
||||
''
|
||||
}
|
||||
-- We recommend using this folder for 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
|
||||
DataFolder .. '/Mars/HiRISE',
|
||||
-- if not and you have a custom path for HiRISE layers, enter it below
|
||||
''
|
||||
},
|
||||
Moon = {
|
||||
-- Add folders here whose contents will be automatically added to the Moon globe
|
||||
-- If multiple folders are added, the results will be added sequentially, meaning that
|
||||
-- if areas overlap, images from the lower results will overwrite the images from former
|
||||
-- results
|
||||
-- example: 'C:/OpenSpace/GlobeBrowsingData/Moon'
|
||||
DataFolder .. '/Moon',
|
||||
DataFolder .. '/Apollo',
|
||||
''
|
||||
},
|
||||
Mercury = {
|
||||
-- Add folders here whose contents will be automatically added to the Mercury globe
|
||||
-- If multiple folders are added, the results will be added sequentially, meaning that
|
||||
-- if areas overlap, images from the lower results will overwrite the images from former
|
||||
-- results
|
||||
-- example: 'C:/OpenSpace/GlobeBrowsingData/Mercury'
|
||||
DataFolder .. '/Mercury',
|
||||
''
|
||||
}
|
||||
}
|
||||
|
||||
-- Add require statements for assets exporting the neccessary globes
|
||||
-- here we add Mars, Moon and Mercury:
|
||||
if AddMarsLayers then
|
||||
asset.require('../scene/solarsystem/planets/mars/mars')
|
||||
asset.require('../scene/solarsystem/planets/mars/mars')
|
||||
else
|
||||
vrt_folders['Mars'] = nil
|
||||
vrt_folders['Mars'] = nil
|
||||
end
|
||||
if AddMoonLayers then
|
||||
asset.require('../scene/solarsystem/planets/earth/moon/moon')
|
||||
asset.require('../scene/solarsystem/planets/earth/moon/moon')
|
||||
else
|
||||
vrt_folders['Moon'] = nil
|
||||
vrt_folders['Moon'] = nil
|
||||
end
|
||||
if AddMercuryLayers then
|
||||
asset.require('../scene/solarsystem/planets/mercury/mercury')
|
||||
asset.require('../scene/solarsystem/planets/mercury/mercury')
|
||||
else
|
||||
vrt_folders['Mercury'] = nil
|
||||
vrt_folders['Mercury'] = nil
|
||||
end
|
||||
|
||||
asset.onInitialize(function ()
|
||||
-- Add local patches described at the top of this file
|
||||
for obj, list in pairs(vrt_folders) do
|
||||
for _, dir in pairs(list) do
|
||||
if (dir ~= '') then
|
||||
openspace.globebrowsing.addBlendingLayersFromDirectory(dir, obj)
|
||||
-- Add local patches described at the top of this file
|
||||
for obj, list in pairs(vrt_folders) do
|
||||
for _, dir in pairs(list) do
|
||||
if (dir ~= '') then
|
||||
openspace.globebrowsing.addBlendingLayersFromDirectory(dir, obj)
|
||||
|
||||
if CreateFocusNodes then
|
||||
openspace.globebrowsing.addFocusNodesFromDirectory(dir, obj)
|
||||
end
|
||||
end
|
||||
if CreateFocusNodes then
|
||||
openspace.globebrowsing.addFocusNodesFromDirectory(dir, obj)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end)
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
local item = {
|
||||
Type = "DashboardItemDate",
|
||||
Identifier = "Date",
|
||||
GuiName = "Date"
|
||||
}
|
||||
|
||||
asset.onInitialize(function()
|
||||
openspace.dashboard.addDashboardItem(item)
|
||||
end)
|
||||
|
||||
asset.onDeinitialize(function()
|
||||
openspace.dashboard.removeDashboardItem(item.Identifier)
|
||||
end)
|
||||
@@ -0,0 +1,8 @@
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
|
||||
asset.require('./date')
|
||||
asset.require('./simulationincrement')
|
||||
asset.require('./distance')
|
||||
asset.require('./framerate')
|
||||
asset.require('./parallelconnection')
|
||||
asset.require('./globelocation')
|
||||
@@ -0,0 +1,13 @@
|
||||
local item = {
|
||||
Type = "DashboardItemDistance",
|
||||
Identifier = "Distance",
|
||||
GuiName = "Distance"
|
||||
}
|
||||
|
||||
asset.onInitialize(function()
|
||||
openspace.dashboard.addDashboardItem(item)
|
||||
end)
|
||||
|
||||
asset.onDeinitialize(function()
|
||||
openspace.dashboard.removeDashboardItem(item.Identifier)
|
||||
end)
|
||||
@@ -0,0 +1,13 @@
|
||||
local item = {
|
||||
Type = "DashboardItemFramerate",
|
||||
Identifier = "Framerate",
|
||||
GuiName = "Framerate"
|
||||
}
|
||||
|
||||
asset.onInitialize(function()
|
||||
openspace.dashboard.addDashboardItem(item)
|
||||
end)
|
||||
|
||||
asset.onDeinitialize(function()
|
||||
openspace.dashboard.removeDashboardItem(item.Identifier)
|
||||
end)
|
||||
@@ -0,0 +1,13 @@
|
||||
local item = {
|
||||
Type = "DashboardItemGlobeLocation",
|
||||
Identifier = "GlobeLocation",
|
||||
GuiName = "Globe Location"
|
||||
}
|
||||
|
||||
asset.onInitialize(function()
|
||||
openspace.dashboard.addDashboardItem(item)
|
||||
end)
|
||||
|
||||
asset.onDeinitialize(function()
|
||||
openspace.dashboard.removeDashboardItem(item.Identifier)
|
||||
end)
|
||||
@@ -0,0 +1,13 @@
|
||||
local item = {
|
||||
Type = "DashboardItemParallelConnection",
|
||||
Identifier = "ParallelConnection",
|
||||
GuiName = "Parallel Connection"
|
||||
}
|
||||
|
||||
asset.onInitialize(function()
|
||||
openspace.dashboard.addDashboardItem(item)
|
||||
end)
|
||||
|
||||
asset.onDeinitialize(function()
|
||||
openspace.dashboard.removeDashboardItem(item.Identifier)
|
||||
end)
|
||||
@@ -0,0 +1,13 @@
|
||||
local item = {
|
||||
Type = "DashboardItemSimulationIncrement",
|
||||
Identifier = "SimulationIncrement",
|
||||
GuiName = "Simulation Increment"
|
||||
}
|
||||
|
||||
asset.onInitialize(function()
|
||||
openspace.dashboard.addDashboardItem(item)
|
||||
end)
|
||||
|
||||
asset.onDeinitialize(function()
|
||||
openspace.dashboard.removeDashboardItem(item.Identifier)
|
||||
end)
|
||||
@@ -0,0 +1,14 @@
|
||||
local item = {
|
||||
Type = "DashboardItemVelocity",
|
||||
Identifier = "GlobeLocation",
|
||||
Simplification = true,
|
||||
GuiName = "Velocity"
|
||||
}
|
||||
|
||||
asset.onInitialize(function()
|
||||
openspace.dashboard.addDashboardItem(item)
|
||||
end)
|
||||
|
||||
asset.onDeinitialize(function()
|
||||
openspace.dashboard.removeDashboardItem(item.Identifier)
|
||||
end)
|
||||
@@ -0,0 +1,227 @@
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
local sunTransforms = asset.require('scene/solarsystem/sun/transforms')
|
||||
local transforms = asset.require('scene/solarsystem/planets/earth/transforms')
|
||||
|
||||
local model = asset.syncedResource({
|
||||
Name = "Animated Box",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "animated_box",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local StartTime = "2021 06 01 00:00:00";
|
||||
|
||||
local animationLoop = {
|
||||
Identifier = "animationLoop",
|
||||
Parent = transforms.EarthCenter.Identifier,
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "StaticTranslation",
|
||||
Position = { 0.0, -11E7, 0.0 }
|
||||
}
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
GeometryFile = model .. "/BoxAnimated.glb",
|
||||
EnableAnimation = true,
|
||||
AnimationMode = "LoopFromStart",
|
||||
AnimationStartTime = StartTime,
|
||||
ModelScale = 3E7,
|
||||
LightSources = {
|
||||
{
|
||||
Type = "SceneGraphLightSource",
|
||||
Identifier = "Sun",
|
||||
Node = sunTransforms.SolarSystemBarycenter.Identifier,
|
||||
Intensity = 1.0
|
||||
}
|
||||
},
|
||||
PerformShading = true,
|
||||
DisableFaceCulling = true
|
||||
},
|
||||
GUI = {
|
||||
Name = "Animated Model example (LoopFromStart)",
|
||||
Path = "/Example",
|
||||
Description = "Simple animated box model with the animation mode 'LoopFromStart'",
|
||||
}
|
||||
}
|
||||
|
||||
local animationLoopInf = {
|
||||
Identifier = "animationLoopInf",
|
||||
Parent = transforms.EarthCenter.Identifier,
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "StaticTranslation",
|
||||
Position = { 0.0, 11E7, 0.0 }
|
||||
}
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
GeometryFile = model .. "/BoxAnimated.glb",
|
||||
EnableAnimation = true,
|
||||
AnimationMode = "LoopInfinitely",
|
||||
AnimationStartTime = StartTime,
|
||||
ModelScale = 3E7,
|
||||
LightSources = {
|
||||
{
|
||||
Type = "SceneGraphLightSource",
|
||||
Identifier = "Sun",
|
||||
Node = sunTransforms.SolarSystemBarycenter.Identifier,
|
||||
Intensity = 1.0
|
||||
}
|
||||
},
|
||||
PerformShading = true,
|
||||
DisableFaceCulling = true
|
||||
},
|
||||
GUI = {
|
||||
Name = "Animated Model example (LoopInfinitely)",
|
||||
Path = "/Example",
|
||||
Description = "Simple animated box model with the animation mode 'LoopInfinitely'",
|
||||
}
|
||||
}
|
||||
|
||||
local animationOnce = {
|
||||
Identifier = "animationOnce",
|
||||
Parent = transforms.EarthCenter.Identifier,
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "StaticTranslation",
|
||||
Position = { 11E7, 0.0, 0.0 }
|
||||
}
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
GeometryFile = model .. "/BoxAnimated.glb",
|
||||
EnableAnimation = true,
|
||||
AnimationMode = "Once",
|
||||
AnimationStartTime = StartTime,
|
||||
ModelScale = 3E7,
|
||||
LightSources = {
|
||||
{
|
||||
Type = "SceneGraphLightSource",
|
||||
Identifier = "Sun",
|
||||
Node = sunTransforms.SolarSystemBarycenter.Identifier,
|
||||
Intensity = 1.0
|
||||
}
|
||||
},
|
||||
PerformShading = true,
|
||||
DisableFaceCulling = true
|
||||
},
|
||||
GUI = {
|
||||
Name = "Animated Model example (Once)",
|
||||
Path = "/Example",
|
||||
Description = "Simple animated box model with the animation mode 'Once'",
|
||||
}
|
||||
}
|
||||
|
||||
local animationBounceInf = {
|
||||
Identifier = "animationBounceInf",
|
||||
Parent = transforms.EarthCenter.Identifier,
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "StaticTranslation",
|
||||
Position = { 0.0, 0.0, 11E7 }
|
||||
}
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
GeometryFile = model .. "/BoxAnimated.glb",
|
||||
EnableAnimation = true,
|
||||
AnimationMode = "BounceInfinitely",
|
||||
AnimationStartTime = StartTime,
|
||||
ModelScale = 3E7,
|
||||
LightSources = {
|
||||
{
|
||||
Type = "SceneGraphLightSource",
|
||||
Identifier = "Sun",
|
||||
Node = sunTransforms.SolarSystemBarycenter.Identifier,
|
||||
Intensity = 1.0
|
||||
}
|
||||
},
|
||||
PerformShading = true,
|
||||
DisableFaceCulling = true
|
||||
},
|
||||
GUI = {
|
||||
Name = "Animated Model example (BounceInfinitely)",
|
||||
Path = "/Example",
|
||||
Description = "Simple animated box model with the animation mode 'BounceInfinitely'",
|
||||
}
|
||||
}
|
||||
|
||||
local animationBounce = {
|
||||
Identifier = "animationBounce",
|
||||
Parent = transforms.EarthCenter.Identifier,
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "StaticTranslation",
|
||||
Position = { 0.0, 0.0, -11E7 }
|
||||
}
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
GeometryFile = model .. "/BoxAnimated.glb",
|
||||
EnableAnimation = true,
|
||||
AnimationMode = "BounceFromStart",
|
||||
AnimationStartTime = StartTime,
|
||||
ModelScale = 3E7,
|
||||
LightSources = {
|
||||
{
|
||||
Type = "SceneGraphLightSource",
|
||||
Identifier = "Sun",
|
||||
Node = sunTransforms.SolarSystemBarycenter.Identifier,
|
||||
Intensity = 1.0
|
||||
}
|
||||
},
|
||||
PerformShading = true,
|
||||
DisableFaceCulling = true
|
||||
},
|
||||
GUI = {
|
||||
Name = "Animated Model example (BounceFromStart)",
|
||||
Path = "/Example",
|
||||
Description = "Simple animated box model with the animation mode 'BounceFromStart'",
|
||||
}
|
||||
}
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, {
|
||||
animationLoop,
|
||||
animationLoopInf,
|
||||
animationOnce,
|
||||
animationBounceInf,
|
||||
animationBounce
|
||||
})
|
||||
|
||||
-- Asset
|
||||
asset.meta = {
|
||||
Name = "Animation Example asset",
|
||||
Version = "1.0",
|
||||
Description = "Simple animation example asset with an animated box model",
|
||||
Author = "OpenSpace Team",
|
||||
URL = "http://openspaceproject.com",
|
||||
License = "MIT license",
|
||||
Identifiers = {
|
||||
"animationLoop",
|
||||
"animationLoopInf",
|
||||
"animationOnce",
|
||||
"animationBounceInf",
|
||||
"animationBounce"
|
||||
}
|
||||
}
|
||||
|
||||
-- Model
|
||||
asset.meta = {
|
||||
Name = "Animated Box Model",
|
||||
Version = "1.0",
|
||||
Description = "Simple animated box model",
|
||||
Author = "Cesium, https://cesium.com/",
|
||||
URL = "https://github.com/KhronosGroup/glTF-Sample-Models/tree/master/2.0/BoxAnimated",
|
||||
License = [[
|
||||
Creative Commons Attribution 4.0 International License,
|
||||
https://creativecommons.org/licenses/by/4.0/
|
||||
]],
|
||||
Identifiers = {
|
||||
"animationLoop",
|
||||
"animationLoopInf",
|
||||
"animationOnce",
|
||||
"animationBounceInf",
|
||||
"animationBounce"
|
||||
}
|
||||
}
|
||||
@@ -8,20 +8,19 @@ asset.require('spice/base')
|
||||
|
||||
asset.require('util/default_keybindings')
|
||||
asset.require('util/default_dashboard')
|
||||
asset.require('util/default_joystick')
|
||||
|
||||
asset.require('util/webgui')
|
||||
local spheres = asset.require('examples/spheres')
|
||||
|
||||
debugHelper.registerCartesianAxes(asset, {
|
||||
Parent = "Root",
|
||||
Scale = 10
|
||||
Parent = "Root",
|
||||
Scale = 10
|
||||
})
|
||||
|
||||
asset.onInitialize(function ()
|
||||
openspace.navigation.setNavigationState({
|
||||
Anchor = "Root",
|
||||
Position = { 20, 20, 20 },
|
||||
Up = {0, 1, 0},
|
||||
})
|
||||
openspace.navigation.setNavigationState({
|
||||
Anchor = "Root",
|
||||
Position = { 20, 20, 20 },
|
||||
Up = {0, 1, 0},
|
||||
})
|
||||
end)
|
||||
|
||||
@@ -1,50 +1,50 @@
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
|
||||
assetHelper.registerDashboardItems(asset, {
|
||||
{
|
||||
Type = "DashboardItemAngle",
|
||||
Identifier = "Angle",
|
||||
GuiName = "Angle",
|
||||
ReferenceType = "Node",
|
||||
ReferenceNodeName = "Earth",
|
||||
DestinationType = "Node",
|
||||
DestinationNodeName = "Moon"
|
||||
},
|
||||
{
|
||||
Type = "DashboardItemDate",
|
||||
Identifier = "Date",
|
||||
GuiName = "Date"
|
||||
},
|
||||
{
|
||||
Type = "DashboardItemSimulationIncrement",
|
||||
Identifier = "SimulationIncrement",
|
||||
GuiName = "Simulation Increment"
|
||||
},
|
||||
{
|
||||
Type = "DashboardItemDistance",
|
||||
Identifier = "Distance",
|
||||
GuiName = "Distance"
|
||||
},
|
||||
{
|
||||
Type = "DashboardItemFramerate",
|
||||
Identifier = "Framerate",
|
||||
GuiName = "Framerate"
|
||||
},
|
||||
{
|
||||
Type = "DashboardItemParallelConnection",
|
||||
Identifier = "ParallelConnection",
|
||||
GuiName = "Parallel Connection"
|
||||
},
|
||||
{
|
||||
Type = "DashboardItemMission",
|
||||
Identifier = "Mission",
|
||||
GuiName = "Mission"
|
||||
},
|
||||
{
|
||||
Type = "DashboardItemPropertyValue",
|
||||
Identifier = "asd",
|
||||
GuiName = "adasd",
|
||||
URI = "Scene.Earth.Renderable.Enabled",
|
||||
DisplayString = "Earth is enabled: {}"
|
||||
}
|
||||
{
|
||||
Type = "DashboardItemAngle",
|
||||
Identifier = "Angle",
|
||||
GuiName = "Angle",
|
||||
ReferenceType = "Node",
|
||||
ReferenceNodeName = "Earth",
|
||||
DestinationType = "Node",
|
||||
DestinationNodeName = "Moon"
|
||||
},
|
||||
{
|
||||
Type = "DashboardItemDate",
|
||||
Identifier = "Date",
|
||||
GuiName = "Date"
|
||||
},
|
||||
{
|
||||
Type = "DashboardItemSimulationIncrement",
|
||||
Identifier = "SimulationIncrement",
|
||||
GuiName = "Simulation Increment"
|
||||
},
|
||||
{
|
||||
Type = "DashboardItemDistance",
|
||||
Identifier = "Distance",
|
||||
GuiName = "Distance"
|
||||
},
|
||||
{
|
||||
Type = "DashboardItemFramerate",
|
||||
Identifier = "Framerate",
|
||||
GuiName = "Framerate"
|
||||
},
|
||||
{
|
||||
Type = "DashboardItemParallelConnection",
|
||||
Identifier = "ParallelConnection",
|
||||
GuiName = "Parallel Connection"
|
||||
},
|
||||
{
|
||||
Type = "DashboardItemMission",
|
||||
Identifier = "Mission",
|
||||
GuiName = "Mission"
|
||||
},
|
||||
{
|
||||
Type = "DashboardItemPropertyValue",
|
||||
Identifier = "asd",
|
||||
GuiName = "adasd",
|
||||
URI = "Scene.Earth.Renderable.Enabled",
|
||||
DisplayString = "Earth is enabled: {}"
|
||||
}
|
||||
})
|
||||
|
||||
@@ -4,16 +4,16 @@ local debugHelper = asset.require('util/debug_helper')
|
||||
local earthRadius = 6.371E6
|
||||
|
||||
debugHelper.registerCartesianAxes(asset, {
|
||||
Parent = transforms.EarthBarycenter.Identifier,
|
||||
Scale = earthRadius * 3.5
|
||||
Parent = transforms.EarthBarycenter.Identifier,
|
||||
Scale = earthRadius * 3.5
|
||||
})
|
||||
|
||||
debugHelper.registerCartesianAxes(asset, {
|
||||
Parent = transforms.EarthInertial.Identifier,
|
||||
Scale = earthRadius * 2.5
|
||||
Parent = transforms.EarthInertial.Identifier,
|
||||
Scale = earthRadius * 2.5
|
||||
})
|
||||
|
||||
debugHelper.registerCartesianAxes(asset, {
|
||||
Parent = transforms.EarthIAU.Identifier,
|
||||
Scale = earthRadius * 1.5
|
||||
Parent = transforms.EarthIAU.Identifier,
|
||||
Scale = earthRadius * 1.5
|
||||
})
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
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.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",
|
||||
Renderable = {
|
||||
Type = "RenderableDisc",
|
||||
Texture = cyanTexture,
|
||||
Size = 1e10,
|
||||
Width = 0.5
|
||||
},
|
||||
GUI = {
|
||||
Name = "Basic Disc",
|
||||
Path = "/Examples/Discs"
|
||||
}
|
||||
}
|
||||
|
||||
-- Elliptic discs can be created using a non-uniform scaling
|
||||
-- For a full disc, use a width of 1.0
|
||||
local FullEllipticDisc = {
|
||||
Identifier = "FullEllipticDisc",
|
||||
Transform = {
|
||||
Scale = {
|
||||
Type = "NonUniformStaticScale",
|
||||
Scale = {2.0, 1.0, 1.0}
|
||||
}
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderableDisc",
|
||||
Texture = purpleTexture,
|
||||
Size = 2e10,
|
||||
Width = 1.0
|
||||
},
|
||||
GUI = {
|
||||
Name = "Full Elliptic Disc",
|
||||
Path = "/Examples/Discs"
|
||||
}
|
||||
}
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, {
|
||||
BasicDisc,
|
||||
FullEllipticDisc
|
||||
})
|
||||
@@ -4,71 +4,71 @@ local sunTransforms = asset.require('scene/solarsystem/sun/transforms')
|
||||
|
||||
|
||||
local textures = asset.syncedResource({
|
||||
Name = "New Horizons Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "newhorizons_textures",
|
||||
Version = 3
|
||||
Name = "New Horizons Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "newhorizons_textures",
|
||||
Version = 3
|
||||
})
|
||||
|
||||
local models = asset.syncedResource({
|
||||
Name = "New Horizons Model",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "newhorizons_model",
|
||||
Version = 1
|
||||
Name = "New Horizons Model",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "newhorizons_model",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local Example_Fixed_Height = {
|
||||
Identifier = "Example_Fixed_Height",
|
||||
Parent = earth.Earth.Identifier,
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "GlobeTranslation",
|
||||
Globe = earth.Earth.Identifier,
|
||||
Longitude = 0.0,
|
||||
Latitude = 0.0,
|
||||
FixedAltitude = 10000000.0
|
||||
}
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Body = "NEW HORIZONS",
|
||||
Geometry = {{
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = models .. "/NewHorizonsCleanModel.obj",
|
||||
ColorTexture = textures .. "/NHTexture.jpg"
|
||||
}}
|
||||
},
|
||||
GUI = {
|
||||
Path = "/Example"
|
||||
Identifier = "Example_Fixed_Height",
|
||||
Parent = earth.Earth.Identifier,
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "GlobeTranslation",
|
||||
Globe = earth.Earth.Identifier,
|
||||
Longitude = 0.0,
|
||||
Latitude = 0.0,
|
||||
FixedAltitude = 10000000.0
|
||||
}
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Body = "NEW HORIZONS",
|
||||
Geometry = {{
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = models .. "/NewHorizonsCleanModel.obj",
|
||||
ColorTexture = textures .. "/NHTexture.jpg"
|
||||
}}
|
||||
},
|
||||
GUI = {
|
||||
Path = "/Example"
|
||||
}
|
||||
}
|
||||
|
||||
local Example_Adaptive_Height = {
|
||||
Identifier = "Example_Adaptive_Height",
|
||||
Parent = earth.Earth.Identifier,
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "GlobeTranslation",
|
||||
Globe = earth.Earth.Identifier,
|
||||
Longitude = -74.006,
|
||||
Latitude = 40.7128
|
||||
}
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Body = "NEW HORIZONS",
|
||||
Geometry = {{
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = models .. "/NewHorizonsCleanModel.obj",
|
||||
ColorTexture = textures .. "/NHTexture.jpg"
|
||||
}}
|
||||
},
|
||||
GUI = {
|
||||
Path = "/Example"
|
||||
Identifier = "Example_Adaptive_Height",
|
||||
Parent = earth.Earth.Identifier,
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "GlobeTranslation",
|
||||
Globe = earth.Earth.Identifier,
|
||||
Longitude = -74.006,
|
||||
Latitude = 40.7128
|
||||
}
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Body = "NEW HORIZONS",
|
||||
Geometry = {{
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = models .. "/NewHorizonsCleanModel.obj",
|
||||
ColorTexture = textures .. "/NHTexture.jpg"
|
||||
}}
|
||||
},
|
||||
GUI = {
|
||||
Path = "/Example"
|
||||
}
|
||||
}
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, {
|
||||
Example_Fixed_Height,
|
||||
Example_Adaptive_Height
|
||||
Example_Fixed_Height,
|
||||
Example_Adaptive_Height
|
||||
})
|
||||
|
||||
@@ -1,54 +1,98 @@
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
|
||||
local scale = 3E11
|
||||
local scale = 149597870700 -- 1 AU
|
||||
|
||||
local radialGrid = {
|
||||
Identifier = "ExampleRadialGrid",
|
||||
Parent = "Root",
|
||||
Transform = {
|
||||
Scale = {
|
||||
Type = "StaticScale",
|
||||
Scale = scale
|
||||
}
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderableRadialGrid",
|
||||
Opacity = 0.8,
|
||||
GridColor = {0.6, 1.0, 0.7},
|
||||
LineWidth = 3.0,
|
||||
GridSegments = {3, 4},
|
||||
InnerRadius = 0.2,
|
||||
Enabled = false
|
||||
},
|
||||
GUI = {
|
||||
Name = "Example Radial Grid",
|
||||
Path = "/Examples/Grids"
|
||||
Identifier = "ExampleRadialGrid",
|
||||
Parent = "Root",
|
||||
Transform = {
|
||||
Scale = {
|
||||
Type = "StaticScale",
|
||||
Scale = scale
|
||||
}
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderableRadialGrid",
|
||||
Opacity = 0.8,
|
||||
Color = { 0.6, 1.0, 0.7 },
|
||||
LineWidth = 3.0,
|
||||
GridSegments = { 3, 4 },
|
||||
Radii = { 0.2, 1.0 },
|
||||
Enabled = false
|
||||
},
|
||||
GUI = {
|
||||
Name = "Example Radial Grid",
|
||||
Path = "/Examples/Grids"
|
||||
}
|
||||
}
|
||||
|
||||
local planarGrid = {
|
||||
Identifier = "ExampleGrid",
|
||||
Transform = {
|
||||
Scale = {
|
||||
Type = "StaticScale",
|
||||
Scale = scale
|
||||
}
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderableGrid",
|
||||
GridColor = {0.0, 1.0, 0.8},
|
||||
LineWidth = 2.0,
|
||||
Segments = {5, 10},
|
||||
Size = {1, 2},
|
||||
Enabled = false
|
||||
},
|
||||
GUI = {
|
||||
Name = "Example Grid",
|
||||
Path = "/Examples/Grids"
|
||||
Identifier = "ExampleGrid",
|
||||
Transform = {
|
||||
Scale = {
|
||||
Type = "StaticScale",
|
||||
Scale = scale
|
||||
}
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderableGrid",
|
||||
Color = { 0.0, 1.0, 0.8 },
|
||||
LineWidth = 2.0,
|
||||
Segments = { 5, 10 },
|
||||
Size = { 1, 2 },
|
||||
Enabled = false
|
||||
},
|
||||
GUI = {
|
||||
Name = "Example Grid",
|
||||
Path = "/Examples/Grids"
|
||||
}
|
||||
}
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, {
|
||||
radialGrid,
|
||||
planarGrid
|
||||
local sphericalGrid = {
|
||||
Identifier = "ExampleSphericalGrid",
|
||||
Transform = {
|
||||
Scale = {
|
||||
Type = "StaticScale",
|
||||
Scale = scale
|
||||
}
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderableSphericalGrid",
|
||||
Color = { 1.0, 0.5, 0.2 },
|
||||
LineWidth = 2.0,
|
||||
Segments = 40,
|
||||
Enabled = false
|
||||
},
|
||||
GUI = {
|
||||
Name = "Example Spherical Grid",
|
||||
Path = "/Examples/Grids"
|
||||
}
|
||||
}
|
||||
|
||||
local boxGrid = {
|
||||
Identifier = "ExampleBoxGrid",
|
||||
Transform = {
|
||||
Scale = {
|
||||
Type = "StaticScale",
|
||||
Scale = scale
|
||||
}
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderableBoxGrid",
|
||||
Color = { 0.5, 0.0, 1.0 },
|
||||
LineWidth = 2.0,
|
||||
Size = { 2, 2, 2 },
|
||||
Enabled = false
|
||||
},
|
||||
GUI = {
|
||||
Name = "Example Box Grid",
|
||||
Path = "/Examples/Grids"
|
||||
}
|
||||
}
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, {
|
||||
radialGrid,
|
||||
planarGrid,
|
||||
sphericalGrid,
|
||||
boxGrid
|
||||
})
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
|
||||
local scale = 149597870700 -- 1 AU
|
||||
|
||||
local circle = {
|
||||
Identifier = "ExampleCircle",
|
||||
Transform = {
|
||||
Scale = {
|
||||
Type = "StaticScale",
|
||||
Scale = scale
|
||||
}
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderableRadialGrid",
|
||||
Color = { 0.6, 0.6, 0.8 },
|
||||
LineWidth = 3.0,
|
||||
GridSegments = { 1, 1 },
|
||||
CircleSegments = 64,
|
||||
Radii = { 0.0, 1.0 }
|
||||
},
|
||||
GUI = {
|
||||
Name = "Example Circle",
|
||||
Path = "/Examples/Primitives"
|
||||
}
|
||||
}
|
||||
|
||||
local ellipse = {
|
||||
Identifier = "ExampleEllipse",
|
||||
Transform = {
|
||||
Scale = {
|
||||
Type = "NonUniformStaticScale",
|
||||
Scale = { 1.5, 1.0, 1.0 }
|
||||
}
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderableRadialGrid",
|
||||
Color = { 0.6, 0.8, 0.6 },
|
||||
LineWidth = 3.0,
|
||||
GridSegments = { 1, 1 },
|
||||
CircleSegments = 64,
|
||||
Radii = { 0.0, scale }
|
||||
},
|
||||
GUI = {
|
||||
Name = "Example Ellipse",
|
||||
Path = "/Examples/Primitives"
|
||||
}
|
||||
}
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, {
|
||||
circle,
|
||||
ellipse
|
||||
})
|
||||
@@ -6,18 +6,18 @@ local transforms = asset.require("scene/solarsystem/sun/transforms")
|
||||
|
||||
|
||||
local RenderablePlaneImageOnline = {
|
||||
Identifier = "RenderablePlaneImageOnline",
|
||||
Parent = transforms.SolarSystemBarycenter.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderablePlaneImageOnline",
|
||||
Size = 3.0E11,
|
||||
Origin = "Center",
|
||||
Billboard = true,
|
||||
URL = "http://data.openspaceproject.com/examples/renderableplaneimageonline.jpg"
|
||||
},
|
||||
GUI = {
|
||||
Path = "/Examples"
|
||||
}
|
||||
Identifier = "RenderablePlaneImageOnline",
|
||||
Parent = transforms.SolarSystemBarycenter.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderablePlaneImageOnline",
|
||||
Size = 3.0E11,
|
||||
Origin = "Center",
|
||||
Billboard = true,
|
||||
URL = "http://data.openspaceproject.com/examples/renderableplaneimageonline.jpg"
|
||||
},
|
||||
GUI = {
|
||||
Path = "/Examples"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
|
||||
local spec = {
|
||||
Type = "ScreenSpaceBrowser",
|
||||
Identifier = "ScreenSpaceBrowserExample",
|
||||
Name = "Screen Space Browser Example",
|
||||
Url = "https://www.openspaceproject.com/"
|
||||
Type = "ScreenSpaceBrowser",
|
||||
Identifier = "ScreenSpaceBrowserExample",
|
||||
Name = "Screen Space Browser Example",
|
||||
Url = "https://www.openspaceproject.com/"
|
||||
};
|
||||
|
||||
assetHelper.registerScreenSpaceRenderables(asset, { spec })
|
||||
|
||||
@@ -6,17 +6,17 @@ local transforms = asset.require("scene/solarsystem/sun/transforms")
|
||||
|
||||
|
||||
local Spout = {
|
||||
Identifier = "Spouty",
|
||||
Parent = transforms.SolarSystemBarycenter.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderablePlaneSpout",
|
||||
Size = 3.0E11,
|
||||
Origin = "Center",
|
||||
Billboard = true
|
||||
},
|
||||
GUI = {
|
||||
Path = "/Examples"
|
||||
}
|
||||
Identifier = "Spouty",
|
||||
Parent = transforms.SolarSystemBarycenter.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderablePlaneSpout",
|
||||
Size = 3.0E11,
|
||||
Origin = "Center",
|
||||
Billboard = true
|
||||
},
|
||||
GUI = {
|
||||
Path = "/Examples"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -2,42 +2,41 @@ local helper = asset.require('util/slide_deck_helper')
|
||||
local deck = nil
|
||||
|
||||
asset.onInitialize(function ()
|
||||
deck = helper.createDeck("example", {
|
||||
UseRadiusAzimuthElevation = true,
|
||||
RadiusAzimuthElevation = {1.0, 0.0, 0.0}, -- use for dome
|
||||
UsePerspectiveProjection = true,
|
||||
FaceCamera = true,
|
||||
Scale = 0.7
|
||||
})
|
||||
deck = helper.createDeck("example", {
|
||||
UseRadiusAzimuthElevation = true,
|
||||
RadiusAzimuthElevation = {1.0, 0.0, 0.0}, -- use for dome
|
||||
UsePerspectiveProjection = true,
|
||||
FaceCamera = true,
|
||||
Scale = 0.7
|
||||
})
|
||||
|
||||
helper.addSlide(deck, "${DATA}/test2.jpg")
|
||||
helper.addSlide(deck, "${DATA}/test3.jpg")
|
||||
helper.addSlide(deck, "${DATA}/test2.jpg")
|
||||
helper.addSlide(deck, "${DATA}/test3.jpg")
|
||||
|
||||
local interpolationDuration = 0.5
|
||||
local interpolationDuration = 0.5
|
||||
|
||||
function nextSlide()
|
||||
helper.goToNextSlide(deck, interpolationDuration)
|
||||
end
|
||||
function nextSlide()
|
||||
helper.goToNextSlide(deck, interpolationDuration)
|
||||
end
|
||||
|
||||
function previousSlide()
|
||||
helper.goToPreviousSlide(deck, interpolationDuration)
|
||||
end
|
||||
function previousSlide()
|
||||
helper.goToPreviousSlide(deck, interpolationDuration)
|
||||
end
|
||||
|
||||
function toggleSlides()
|
||||
helper.toggleSlides(deck, interpolationDuration)
|
||||
end
|
||||
|
||||
helper.setCurrentSlide(deck, 1)
|
||||
openspace.bindKey("KP_6", "nextSlide()", "Next slide", "Next slide", "/Slides")
|
||||
openspace.bindKey("KP_4", "previousSlide()", "Previous slide", "Previous slide", "/Slides")
|
||||
openspace.bindKey("KP_0", "toggleSlides()", "Toggle slides", "Toggle slides", "/Slides")
|
||||
function toggleSlides()
|
||||
helper.toggleSlides(deck, interpolationDuration)
|
||||
end
|
||||
|
||||
helper.setCurrentSlide(deck, 1)
|
||||
openspace.bindKey("KP_6", "nextSlide()", "Next slide", "Next slide", "/Slides")
|
||||
openspace.bindKey("KP_4", "previousSlide()", "Previous slide", "Previous slide", "/Slides")
|
||||
openspace.bindKey("KP_0", "toggleSlides()", "Toggle slides", "Toggle slides", "/Slides")
|
||||
end)
|
||||
|
||||
|
||||
asset.onDeinitialize(function()
|
||||
openspace.clearKey("KP_6")
|
||||
openspace.clearKey("KP_4")
|
||||
openspace.clearKey("KP_0")
|
||||
helper.removeDeck(deck)
|
||||
openspace.clearKey("KP_6")
|
||||
openspace.clearKey("KP_4")
|
||||
openspace.clearKey("KP_0")
|
||||
helper.removeDeck(deck)
|
||||
end)
|
||||
|
||||
@@ -2,33 +2,32 @@ local assetHelper = asset.require('util/asset_helper')
|
||||
|
||||
local i = 1
|
||||
for z=1,3 do
|
||||
for y=1,3 do
|
||||
for x=1,3 do
|
||||
local sphere = {
|
||||
Identifier = "ExampleSphere" .. i,
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "StaticTranslation",
|
||||
Position = {x, y, z}
|
||||
}
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderableSphere",
|
||||
Enabled = true,
|
||||
Size = 0.20 + i * 0.01,
|
||||
Segments = 80,
|
||||
Opacity = 1,
|
||||
Texture = "${DATA}/test2.jpg",
|
||||
Orientation = "Both",
|
||||
},
|
||||
GUI = {
|
||||
Name = "Test Sphere " .. i,
|
||||
Path = "/Other/Spheres"
|
||||
}
|
||||
}
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, { sphere })
|
||||
i = i + 1
|
||||
end
|
||||
for y=1,3 do
|
||||
for x=1,3 do
|
||||
local sphere = {
|
||||
Identifier = "ExampleSphere" .. i,
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "StaticTranslation",
|
||||
Position = {x, y, z}
|
||||
}
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderableSphere",
|
||||
Enabled = true,
|
||||
Size = 0.20 + i * 0.01,
|
||||
Segments = 80,
|
||||
Opacity = 1,
|
||||
Texture = openspace.absPath("${DATA}/test2.jpg"),
|
||||
Orientation = "Both",
|
||||
},
|
||||
GUI = {
|
||||
Name = "Test Sphere " .. i,
|
||||
Path = "/Other/Spheres"
|
||||
}
|
||||
}
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, { sphere })
|
||||
i = i + 1
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -1,48 +1,47 @@
|
||||
local stateMachineHelper = asset.require('util/state_machine_helper')
|
||||
|
||||
states = {
|
||||
{
|
||||
Title = "Highlight EarthTrail",
|
||||
Play = function ()
|
||||
openspace.setPropertyValue("Scene.EarthTrail.Renderable.LineWidth", 10, 1)
|
||||
end,
|
||||
Rewind = function ()
|
||||
openspace.setPropertyValue("Scene.EarthTrail.Renderable.LineWidth", 2, 1)
|
||||
end
|
||||
},
|
||||
{
|
||||
Title = "Highlight MarsTrail",
|
||||
Play = function ()
|
||||
openspace.setPropertyValue("Scene.EarthTrail.Renderable.LineWidth", 2, 1)
|
||||
openspace.setPropertyValue("Scene.MarsTrail.Renderable.LineWidth", 10, 1)
|
||||
end,
|
||||
Rewind = function ()
|
||||
openspace.setPropertyValue("Scene.MarsTrail.Renderable.LineWidth", 2, 1)
|
||||
openspace.setPropertyValue("Scene.EarthTrail.Renderable.LineWidth", 10, 1)
|
||||
end
|
||||
}
|
||||
{
|
||||
Title = "Highlight EarthTrail",
|
||||
Play = function ()
|
||||
openspace.setPropertyValue("Scene.EarthTrail.Renderable.LineWidth", 10, 1)
|
||||
end,
|
||||
Rewind = function ()
|
||||
openspace.setPropertyValue("Scene.EarthTrail.Renderable.LineWidth", 2, 1)
|
||||
end
|
||||
},
|
||||
{
|
||||
Title = "Highlight MarsTrail",
|
||||
Play = function ()
|
||||
openspace.setPropertyValue("Scene.EarthTrail.Renderable.LineWidth", 2, 1)
|
||||
openspace.setPropertyValue("Scene.MarsTrail.Renderable.LineWidth", 10, 1)
|
||||
end,
|
||||
Rewind = function ()
|
||||
openspace.setPropertyValue("Scene.MarsTrail.Renderable.LineWidth", 2, 1)
|
||||
openspace.setPropertyValue("Scene.EarthTrail.Renderable.LineWidth", 10, 1)
|
||||
end
|
||||
}
|
||||
}
|
||||
|
||||
local stateMachine
|
||||
|
||||
function next()
|
||||
stateMachine.goToNextState()
|
||||
stateMachine.goToNextState()
|
||||
end
|
||||
|
||||
function previous()
|
||||
stateMachine.goToPreviousState()
|
||||
stateMachine.goToPreviousState()
|
||||
end
|
||||
|
||||
asset.onInitialize(function ()
|
||||
stateMachine = stateMachineHelper.createStateMachine(states)
|
||||
openspace.bindKey('RIGHT', 'next()')
|
||||
openspace.bindKey('LEFT', 'previous()')
|
||||
stateMachine = stateMachineHelper.createStateMachine(states)
|
||||
openspace.bindKey('RIGHT', 'next()')
|
||||
openspace.bindKey('LEFT', 'previous()')
|
||||
end)
|
||||
|
||||
|
||||
asset.onDeinitialize(function ()
|
||||
stateMachine = nil
|
||||
openspace.clearKey('RIGHT')
|
||||
openspace.clearKey('LEFT')
|
||||
stateMachine = nil
|
||||
openspace.clearKey('RIGHT')
|
||||
openspace.clearKey('LEFT')
|
||||
end)
|
||||
|
||||
|
||||
@@ -3,48 +3,48 @@
|
||||
local assetHelper = asset.require("util/asset_helper")
|
||||
|
||||
asset.syncedResource({
|
||||
Name = "Example Single",
|
||||
Type = "UrlSynchronization",
|
||||
Identifier = "example_single",
|
||||
Url = "http://celestrak.com/NORAD/elements/geo.txt"
|
||||
Name = "Example Single",
|
||||
Type = "UrlSynchronization",
|
||||
Identifier = "example_single",
|
||||
Url = "http://celestrak.com/NORAD/elements/geo.txt"
|
||||
})
|
||||
|
||||
asset.syncedResource({
|
||||
Name = "Example Multiple",
|
||||
Type = "UrlSynchronization",
|
||||
Identifier = "example_multiple",
|
||||
Url = {
|
||||
"http://celestrak.com/NORAD/elements/stations.txt",
|
||||
"http://celestrak.com/NORAD/elements/gps-ops.txt",
|
||||
}
|
||||
Name = "Example Multiple",
|
||||
Type = "UrlSynchronization",
|
||||
Identifier = "example_multiple",
|
||||
Url = {
|
||||
"http://celestrak.com/NORAD/elements/stations.txt",
|
||||
"http://celestrak.com/NORAD/elements/gps-ops.txt",
|
||||
}
|
||||
})
|
||||
|
||||
asset.syncedResource({
|
||||
Name = "Example Large",
|
||||
Type = "UrlSynchronization",
|
||||
Identifier = "example_large",
|
||||
Url = "http://ipv4.download.thinkbroadband.com/100MB.zip",
|
||||
Override = true
|
||||
Name = "Example Large",
|
||||
Type = "UrlSynchronization",
|
||||
Identifier = "example_large",
|
||||
Url = "http://ipv4.download.thinkbroadband.com/100MB.zip",
|
||||
Override = true
|
||||
})
|
||||
|
||||
asset.syncedResource({
|
||||
Name = "Example Medium",
|
||||
Type = "UrlSynchronization",
|
||||
Identifier = "example_medium",
|
||||
Url = "http://ipv4.download.thinkbroadband.com/5MB.zip",
|
||||
Override = true
|
||||
Name = "Example Medium",
|
||||
Type = "UrlSynchronization",
|
||||
Identifier = "example_medium",
|
||||
Url = "http://ipv4.download.thinkbroadband.com/5MB.zip",
|
||||
Override = true
|
||||
})
|
||||
|
||||
asset.syncedResource({
|
||||
Name = "Example No ident",
|
||||
Type = "UrlSynchronization",
|
||||
Url = "http://ipv4.download.thinkbroadband.com/5MB.zip"
|
||||
Name = "Example No ident",
|
||||
Type = "UrlSynchronization",
|
||||
Url = "http://ipv4.download.thinkbroadband.com/5MB.zip"
|
||||
})
|
||||
|
||||
asset.syncedResource({
|
||||
Name = "Example No Hash",
|
||||
Type = "UrlSynchronization",
|
||||
Identifier = "no_hash",
|
||||
Url = "http://wms.itn.liu.se/Mercury/Messenger_Mosaic/Messenger_Mosaic.wms",
|
||||
UseHash = false
|
||||
Name = "Example No Hash",
|
||||
Type = "UrlSynchronization",
|
||||
Identifier = "no_hash",
|
||||
Url = "http://wms.itn.liu.se/Mercury/Messenger_Mosaic/Messenger_Mosaic.wms",
|
||||
UseHash = false
|
||||
})
|
||||
|
||||
@@ -4,18 +4,18 @@ local assetHelper = asset.require("util/asset_helper")
|
||||
local transforms = asset.require("scene/solarsystem/sun/transforms")
|
||||
|
||||
local ToyVolume = {
|
||||
Identifier = "RenderableToyVolume",
|
||||
Parent = transforms.SolarSystemBarycenter.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableToyVolume",
|
||||
Size = { 5, 5, 5 },
|
||||
ScalingExponent = 11,
|
||||
StepSize = 0.01,
|
||||
Color = { 1, 0, 0 }
|
||||
},
|
||||
GUI = {
|
||||
Path = "/Examples"
|
||||
}
|
||||
Identifier = "RenderableToyVolume",
|
||||
Parent = transforms.SolarSystemBarycenter.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableToyVolume",
|
||||
Size = { 5, 5, 5 },
|
||||
ScalingExponent = 11,
|
||||
StepSize = 0.01,
|
||||
Color = { 1, 0, 0 }
|
||||
},
|
||||
GUI = {
|
||||
Path = "/Examples"
|
||||
}
|
||||
}
|
||||
|
||||
local objects = { ToyVolume }
|
||||
|
||||
@@ -4,18 +4,18 @@ local bookmarkHelper = asset.require('util/generate_bookmarks')
|
||||
local dataProvider = 'http://data.openspaceproject.com/files/bookmarks/v1/bookmarks.csv'
|
||||
|
||||
local bookmarksCSV = asset.syncedResource({
|
||||
Identifier = 'openspace_bookmarks',
|
||||
Name = 'OpenSpace Bookmarks',
|
||||
Type = 'UrlSynchronization',
|
||||
UseHash = false,
|
||||
Override = true,
|
||||
Url = dataProvider
|
||||
Identifier = 'openspace_bookmarks',
|
||||
Name = 'OpenSpace Bookmarks',
|
||||
Type = 'UrlSynchronization',
|
||||
UseHash = false,
|
||||
Override = true,
|
||||
Url = dataProvider
|
||||
})
|
||||
|
||||
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
|
||||
|
||||
@@ -3,46 +3,46 @@
|
||||
local assetHelper = asset.require("util/asset_helper")
|
||||
|
||||
asset.syncedResource({
|
||||
Type = "UrlSynchronization",
|
||||
Name = "Icons",
|
||||
Identifier = "planet_icons",
|
||||
Url = {
|
||||
"http://data.openspaceproject.com/files/webgui/assets/icons/solarsystem/earth.png",
|
||||
"http://data.openspaceproject.com/files/webgui/assets/icons/solarsystem/moon.png",
|
||||
"http://data.openspaceproject.com/files/webgui/assets/icons/solarsystem/jupiter.png",
|
||||
"http://data.openspaceproject.com/files/webgui/assets/icons/solarsystem/mars.png",
|
||||
"http://data.openspaceproject.com/files/webgui/assets/icons/solarsystem/mercury.png",
|
||||
"http://data.openspaceproject.com/files/webgui/assets/icons/solarsystem/neptune.png",
|
||||
"http://data.openspaceproject.com/files/webgui/assets/icons/solarsystem/saturn.png",
|
||||
"http://data.openspaceproject.com/files/webgui/assets/icons/solarsystem/uranus.png",
|
||||
"http://data.openspaceproject.com/files/webgui/assets/icons/solarsystem/venus.png",
|
||||
"http://data.openspaceproject.com/files/webgui/assets/icons/solarsystem/callisto.png",
|
||||
"http://data.openspaceproject.com/files/webgui/assets/icons/solarsystem/europa.png",
|
||||
"http://data.openspaceproject.com/files/webgui/assets/icons/solarsystem/ganymede.png",
|
||||
"http://data.openspaceproject.com/files/webgui/assets/icons/solarsystem/io.png",
|
||||
},
|
||||
UseHash = false
|
||||
Type = "UrlSynchronization",
|
||||
Name = "Icons",
|
||||
Identifier = "planet_icons",
|
||||
Url = {
|
||||
"http://data.openspaceproject.com/files/webgui/assets/icons/solarsystem/earth.png",
|
||||
"http://data.openspaceproject.com/files/webgui/assets/icons/solarsystem/moon.png",
|
||||
"http://data.openspaceproject.com/files/webgui/assets/icons/solarsystem/jupiter.png",
|
||||
"http://data.openspaceproject.com/files/webgui/assets/icons/solarsystem/mars.png",
|
||||
"http://data.openspaceproject.com/files/webgui/assets/icons/solarsystem/mercury.png",
|
||||
"http://data.openspaceproject.com/files/webgui/assets/icons/solarsystem/neptune.png",
|
||||
"http://data.openspaceproject.com/files/webgui/assets/icons/solarsystem/saturn.png",
|
||||
"http://data.openspaceproject.com/files/webgui/assets/icons/solarsystem/uranus.png",
|
||||
"http://data.openspaceproject.com/files/webgui/assets/icons/solarsystem/venus.png",
|
||||
"http://data.openspaceproject.com/files/webgui/assets/icons/solarsystem/callisto.png",
|
||||
"http://data.openspaceproject.com/files/webgui/assets/icons/solarsystem/europa.png",
|
||||
"http://data.openspaceproject.com/files/webgui/assets/icons/solarsystem/ganymede.png",
|
||||
"http://data.openspaceproject.com/files/webgui/assets/icons/solarsystem/io.png",
|
||||
},
|
||||
UseHash = false
|
||||
})
|
||||
|
||||
asset.syncedResource({
|
||||
Type = "UrlSynchronization",
|
||||
Name = "Stories",
|
||||
Identifier = "story_images",
|
||||
Url = {
|
||||
"http://data.openspaceproject.com/files/webgui/assets/images/stories/story_solarsystem.png",
|
||||
"http://data.openspaceproject.com/files/webgui/assets/images/stories/story_jupitermoons.png",
|
||||
"http://data.openspaceproject.com/files/webgui/assets/images/stories/story_earthweather.png",
|
||||
"http://data.openspaceproject.com/files/webgui/assets/images/stories/story_mars.png",
|
||||
"http://data.openspaceproject.com/files/webgui/assets/images/stories/story_galaxies.png",
|
||||
"http://data.openspaceproject.com/files/webgui/assets/images/stories/story_example.png",
|
||||
},
|
||||
UseHash = false
|
||||
Type = "UrlSynchronization",
|
||||
Name = "Stories",
|
||||
Identifier = "story_images",
|
||||
Url = {
|
||||
"http://data.openspaceproject.com/files/webgui/assets/images/stories/story_solarsystem.png",
|
||||
"http://data.openspaceproject.com/files/webgui/assets/images/stories/story_jupitermoons.png",
|
||||
"http://data.openspaceproject.com/files/webgui/assets/images/stories/story_earthweather.png",
|
||||
"http://data.openspaceproject.com/files/webgui/assets/images/stories/story_mars.png",
|
||||
"http://data.openspaceproject.com/files/webgui/assets/images/stories/story_galaxies.png",
|
||||
"http://data.openspaceproject.com/files/webgui/assets/images/stories/story_example.png",
|
||||
},
|
||||
UseHash = false
|
||||
})
|
||||
|
||||
asset.syncedResource({
|
||||
Type = "UrlSynchronization",
|
||||
Name = "Instructions",
|
||||
Identifier = "images",
|
||||
Url = "http://data.openspaceproject.com/files/webgui/assets/images/instructions.png",
|
||||
UseHash = false
|
||||
Type = "UrlSynchronization",
|
||||
Name = "Instructions",
|
||||
Identifier = "images",
|
||||
Url = "http://data.openspaceproject.com/files/webgui/assets/images/instructions.png",
|
||||
UseHash = false
|
||||
})
|
||||
|
||||
@@ -3,54 +3,53 @@ local assetHelper = asset.require('util/asset_helper')
|
||||
|
||||
|
||||
local textures = asset.syncedResource({
|
||||
Name = "2dF Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_2dF_textures",
|
||||
Version = 2
|
||||
Name = "2dF Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_2dF_textures",
|
||||
Version = 2
|
||||
})
|
||||
|
||||
local speck = asset.syncedResource({
|
||||
Name = "2dF Speck Files",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_2dF_speck",
|
||||
Version = 2
|
||||
Name = "2dF Speck Files",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_2dF_speck",
|
||||
Version = 2
|
||||
})
|
||||
|
||||
local object = {
|
||||
Identifier = "2dF",
|
||||
Renderable = {
|
||||
Type = "RenderableBillboardsCloud",
|
||||
Enabled = false,
|
||||
Color = { 1.0, 1.0, 1.0 },
|
||||
Opacity = 1.0,
|
||||
File = speck .. "/2dF.speck",
|
||||
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,
|
||||
EnablePixelSizeControl = true
|
||||
},
|
||||
GUI = {
|
||||
Name = "2dF Galaxies",
|
||||
Path = "/Universe/Galaxies",
|
||||
Description = [[Census 229,293 galaxies. DU Version 1.7. <br>
|
||||
The Two-degree Field (2dF) Survey was a project designed to map portions of the
|
||||
extragalactic universe. The 2dF instrument was mounted on the 3.9-meter
|
||||
(12.8-foot) Anglo-Australian Telescope (AAT), located 450 km (280 miles)
|
||||
northwest of Sydney. The telescope has a two-degree field of view on the sky,
|
||||
enabling large parts of the sky to be observed at one time. For each pointing of
|
||||
the telescope, the instrument can acquire up to 400 spectra simultaneously via
|
||||
optical fibers that feed into two spectrographs. Each spectrograph sees light
|
||||
that is between 350 nm and 800 nm, spanning the visible spectrum. <br><br> The
|
||||
2dF survey has three main components: the North Galactic Pole strip, the South
|
||||
Galactic Pole strip, and the random fields that surround the South Galactic Pole
|
||||
strip. The galaxy survey is composed of about 230,000 galaxies with brightness and
|
||||
redshift measurements. (Description from URL) <br><br> Data Reference: 2dF Galaxy
|
||||
Redshift Survey (2dFGRS Team, 1998-2003)]]
|
||||
}
|
||||
Identifier = "2dF",
|
||||
Renderable = {
|
||||
Type = "RenderableBillboardsCloud",
|
||||
Enabled = false,
|
||||
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 } },
|
||||
ScaleFactor = 520.0,
|
||||
BillboardMinMaxSize = { 0.0, 4.7 },
|
||||
EnablePixelSizeControl = true
|
||||
},
|
||||
GUI = {
|
||||
Name = "2dF Galaxies",
|
||||
Path = "/Universe/Galaxies",
|
||||
Description = [[Census 229,293 galaxies. DU Version 1.7. <br> The Two-degree Field
|
||||
(2dF) Survey was a project designed to map portions of the extragalactic universe. The
|
||||
2dF instrument was mounted on the 3.9-meter (12.8-foot) Anglo-Australian Telescope
|
||||
(AAT), located 450 km (280 miles) northwest of Sydney. The telescope has a two-degree
|
||||
field of view on the sky, enabling large parts of the sky to be observed at one time.
|
||||
For each pointing of the telescope, the instrument can acquire up to 400 spectra
|
||||
simultaneously via optical fibers that feed into two spectrographs. Each spectrograph
|
||||
sees light that is between 350 nm and 800 nm, spanning the visible spectrum. <br><br>
|
||||
The 2dF survey has three main components: the North Galactic Pole strip, the South
|
||||
Galactic Pole strip, and the random fields that surround the South Galactic Pole
|
||||
strip. The galaxy survey is composed of about 230,000 galaxies with brightness and
|
||||
redshift measurements. (Description from URL) <br><br> Data Reference: 2dF Galaxy
|
||||
Redshift Survey (2dFGRS Team, 1998-2003)]]
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -58,11 +57,11 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { object })
|
||||
|
||||
|
||||
asset.meta = {
|
||||
Name = "2dF Galaxies",
|
||||
Version = "2.0",
|
||||
Description = [[Digital Universe asset for the The Two-degree Field (2dF) Survey.]],
|
||||
Author = "Brian Abbott (AMNH), Eric Gawiser (Rutgers U)",
|
||||
URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
|
||||
License = "AMNH Digital Universe",
|
||||
Identifiers = {"2dF"}
|
||||
Name = "2dF Galaxies",
|
||||
Version = "2.0",
|
||||
Description = [[Digital Universe asset for the The Two-degree Field (2dF) Survey.]],
|
||||
Author = "Brian Abbott (AMNH), Eric Gawiser (Rutgers U)",
|
||||
URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
|
||||
License = "AMNH Digital Universe",
|
||||
Identifiers = {"2dF"}
|
||||
}
|
||||
|
||||
@@ -3,49 +3,49 @@ local assetHelper = asset.require('util/asset_helper')
|
||||
|
||||
|
||||
local textures = asset.syncedResource({
|
||||
Name = "2MASS Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_2mass_textures",
|
||||
Version = 2
|
||||
Name = "2MASS Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_2mass_textures",
|
||||
Version = 2
|
||||
})
|
||||
|
||||
local speck = asset.syncedResource({
|
||||
Name = "2MASS Speck Files",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_2mass_speck",
|
||||
Version = 1
|
||||
Name = "2MASS Speck Files",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_2mass_speck",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local object = {
|
||||
Identifier = "2MASS",
|
||||
Renderable = {
|
||||
Type = "RenderableBillboardsCloud",
|
||||
Enabled = false,
|
||||
Color = { 1.0, 0.4, 0.2 },
|
||||
Opacity = 1.0,
|
||||
File = speck .. "/2MASS.speck",
|
||||
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,
|
||||
EnablePixelSizeControl = true
|
||||
},
|
||||
GUI = {
|
||||
Name = "2MASS Galaxies",
|
||||
Path = "/Universe/Galaxies",
|
||||
Description = [[ The Two Micron All-Sky Survey (2MASS) is an infrared survey
|
||||
of the sky published in 2003. Because it is looking in the infrared, and
|
||||
this is a composite of the 2MASS point-source catalog, most of the light
|
||||
from this survey is starlight. In visible light, clouds of gas and dust
|
||||
obscure our view. However, in infrared, the longer wavelengths of light can
|
||||
penetrate these clouds without being scattered, thereby revealing stars
|
||||
that would normally be hidden to our eye. (Description from URL)]],
|
||||
}
|
||||
Identifier = "2MASS",
|
||||
Renderable = {
|
||||
Type = "RenderableBillboardsCloud",
|
||||
Enabled = false,
|
||||
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 } },
|
||||
CorrectionSizeEndDistance = 20.6,
|
||||
CorrectionSizeFactor = 15.0,
|
||||
ScaleFactor = 510.78,
|
||||
BillboardMinMaxSize = { 0.0, 11.15 },
|
||||
EnablePixelSizeControl = true
|
||||
},
|
||||
GUI = {
|
||||
Name = "2MASS Galaxies",
|
||||
Path = "/Universe/Galaxies",
|
||||
Description = [[ The Two Micron All-Sky Survey (2MASS) is an infrared survey of the
|
||||
sky published in 2003. Because it is looking in the infrared, and this is a composite
|
||||
of the 2MASS point-source catalog, most of the light from this survey is starlight. In
|
||||
visible light, clouds of gas and dust obscure our view. However, in infrared, the
|
||||
longer wavelengths of light can penetrate these clouds without being scattered,
|
||||
thereby revealing stars that would normally be hidden to our eye.
|
||||
(Description from URL)]]
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -53,12 +53,12 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { object })
|
||||
|
||||
|
||||
asset.meta = {
|
||||
Name = "2MASS Galaxies",
|
||||
Version = "1.0",
|
||||
Description = [[ Digital Universe asset for the Two Micron All-Sky Survey (2MASS)
|
||||
survey]],
|
||||
Author = "Brian Abbott (AMNH)",
|
||||
URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
|
||||
License = "AMNH Digital Universe",
|
||||
Identifiers = {"2MASS"}
|
||||
Name = "2MASS Galaxies",
|
||||
Version = "1.0",
|
||||
Description = [[ Digital Universe asset for the Two Micron All-Sky Survey (2MASS)
|
||||
survey]],
|
||||
Author = "Brian Abbott (AMNH)",
|
||||
URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
|
||||
License = "AMNH Digital Universe",
|
||||
Identifiers = {"2MASS"}
|
||||
}
|
||||
|
||||
@@ -3,51 +3,51 @@ local assetHelper = asset.require('util/asset_helper')
|
||||
|
||||
|
||||
local textures = asset.syncedResource({
|
||||
Name = "6dF Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_6dF_textures",
|
||||
Version = 2
|
||||
Name = "6dF Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_6dF_textures",
|
||||
Version = 2
|
||||
})
|
||||
|
||||
local speck = asset.syncedResource({
|
||||
Name = "6dF Speck Files",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_6dF_speck",
|
||||
Version = 2
|
||||
Name = "6dF Speck Files",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_6dF_speck",
|
||||
Version = 2
|
||||
})
|
||||
|
||||
local object = {
|
||||
Identifier = "6dF",
|
||||
Renderable = {
|
||||
Type = "RenderableBillboardsCloud",
|
||||
Enabled = false,
|
||||
Color = { 1.0, 1.0, 0.0 },
|
||||
Opacity = 1.0,
|
||||
File = speck .. "/6dF.speck",
|
||||
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,
|
||||
},
|
||||
GUI = {
|
||||
Name = "6dF Galaxies",
|
||||
Path = "/Universe/Galaxies",
|
||||
Description = [[Census 109,569 galaxies. DU Version 1.4.<br> The Six-degree Field
|
||||
(6dF) Galaxy Survey mapped nearly half the sky from the Anglo-Australian
|
||||
Observatory. Unlike previous datasets, this one is not all-sky, meaning there
|
||||
are patches of sky that are not covered. In this case, the entire northern
|
||||
hemisphere has no coverage at all. This catalog overlaps with the Tully
|
||||
dataset, and there is a noticeable difference in the quality of these
|
||||
datasets. Tully is much tighter and the structure is more apparent, while the
|
||||
6dF data are more spread out. This is because of local motions within galaxy
|
||||
clusters have not been corrected in these data. (Description from URL)
|
||||
<br><br> Data Reference: The 6dF Galaxy Survey Redshift Catalogue
|
||||
(Jones+, 2009)]]
|
||||
}
|
||||
Identifier = "6dF",
|
||||
Renderable = {
|
||||
Type = "RenderableBillboardsCloud",
|
||||
Enabled = false,
|
||||
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 } },
|
||||
ScaleFactor = 534.0,
|
||||
BillboardMinMaxSize = { 0.0, 9.0 },
|
||||
EnablePixelSizeControl = true
|
||||
},
|
||||
GUI = {
|
||||
Name = "6dF Galaxies",
|
||||
Path = "/Universe/Galaxies",
|
||||
Description = [[Census 109,569 galaxies. DU Version 1.4.<br> The Six-degree Field
|
||||
(6dF) Galaxy Survey mapped nearly half the sky from the Anglo-Australian
|
||||
Observatory. Unlike previous datasets, this one is not all-sky, meaning there
|
||||
are patches of sky that are not covered. In this case, the entire northern
|
||||
hemisphere has no coverage at all. This catalog overlaps with the Tully
|
||||
dataset, and there is a noticeable difference in the quality of these
|
||||
datasets. Tully is much tighter and the structure is more apparent, while the
|
||||
6dF data are more spread out. This is because of local motions within galaxy
|
||||
clusters have not been corrected in these data. (Description from URL)
|
||||
<br><br> Data Reference: The 6dF Galaxy Survey Redshift Catalogue
|
||||
(Jones+, 2009)]]
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -55,11 +55,11 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { object })
|
||||
|
||||
|
||||
asset.meta = {
|
||||
Name = "6dF Galaxies",
|
||||
Version = "2.0",
|
||||
Description = [[Digital Universe asset for The Six-degree Field (6dF) Galaxy Survey]],
|
||||
Author = "Brian Abbott (AMNH)",
|
||||
URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
|
||||
License = "AMNH Digital Universe",
|
||||
Identifiers = {"6dF"}
|
||||
Name = "6dF Galaxies",
|
||||
Version = "2.0",
|
||||
Description = [[Digital Universe asset for The Six-degree Field (6dF) Galaxy Survey]],
|
||||
Author = "Brian Abbott (AMNH)",
|
||||
URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
|
||||
License = "AMNH Digital Universe",
|
||||
Identifiers = {"6dF"}
|
||||
}
|
||||
|
||||
@@ -3,60 +3,60 @@ local assetHelper = asset.require('util/asset_helper')
|
||||
|
||||
|
||||
local textures = asset.syncedResource({
|
||||
Name = "Abell Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_abell_textures",
|
||||
Version = 2
|
||||
Name = "Abell Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_abell_textures",
|
||||
Version = 2
|
||||
})
|
||||
|
||||
local speck = asset.syncedResource({
|
||||
Name = "Abell Speck Files",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_abell_speck",
|
||||
Version = 2
|
||||
Name = "Abell Speck Files",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_abell_speck",
|
||||
Version = 2
|
||||
})
|
||||
|
||||
local object = {
|
||||
Identifier = "Abell",
|
||||
Renderable = {
|
||||
Type = "RenderableBillboardsCloud",
|
||||
Enabled = false,
|
||||
Color = { 1.0, 0.4, 0.2 },
|
||||
Opacity = 1.0,
|
||||
--ColorMap = speck .. "/abell.cmap",
|
||||
File = speck .. "/abell.speck",
|
||||
Texture = textures .. "/point3A.png",
|
||||
LabelFile = speck .. "/abell.label",
|
||||
TextColor = { 0.0, 0.8, 0.0 },
|
||||
TextSize = 22,
|
||||
TextMinSize = 10.0,
|
||||
Unit = "Mpc",
|
||||
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
|
||||
},
|
||||
ScaleFactor = 520.0,
|
||||
BillboardMaxSize = 7.0,
|
||||
EnablePixelSizeControl = true
|
||||
Identifier = "Abell",
|
||||
Renderable = {
|
||||
Type = "RenderableBillboardsCloud",
|
||||
Enabled = false,
|
||||
Color = { 1.0, 0.4, 0.2 },
|
||||
Opacity = 1.0,
|
||||
--ColorMap = speck .. "/abell.cmap",
|
||||
File = speck .. "/abell.speck",
|
||||
Texture = textures .. "/point3A.png",
|
||||
LabelFile = speck .. "/abell.label",
|
||||
Unit = "Mpc",
|
||||
TextColor = { 0.0, 0.8, 0.0 },
|
||||
TextSize = 22,
|
||||
TextMinMaxSize = { 10, 12 },
|
||||
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
|
||||
},
|
||||
GUI = {
|
||||
Name = "Abell Galaxy Clusters",
|
||||
Path = "/Universe/Galaxies",
|
||||
Description = [[Census 2,246 galaxies. DU Version 1.4. <br> The Abell catalog
|
||||
includes all the nearby, and not so nearby, galaxy clusters. The northern
|
||||
hemisphere survey, published in 1958, was compiled by George Abell (1927–1983)
|
||||
from the Palomar Sky Survey plates. A subsequent southern hemisphere catalog
|
||||
was published posthumously in 1989. Further analysis by Brent Tully determined
|
||||
their distance and three-dimensional distribution. Each point in this data set
|
||||
represents a cluster of tens to hundreds (possibly even thousands) of
|
||||
galaxies, similar to the Virgo or Fornax Clusters. You will notice some points
|
||||
are assigned colors while most are gray. The data set also has an arbitrary
|
||||
cut-off for completeness, resulting in the rectangular shape of the data set.
|
||||
(Description from URL) <br><br> Data Reference: Abell Clusters of Rich
|
||||
Galaxies, Brent Tully (U Hawaii), Stuart Levy (NCSA/UIUC)]],
|
||||
}
|
||||
ScaleFactor = 520.0,
|
||||
BillboardMinMaxSize = { 0.0, 7.0 },
|
||||
EnablePixelSizeControl = true
|
||||
},
|
||||
GUI = {
|
||||
Name = "Abell Galaxy Clusters",
|
||||
Path = "/Universe/Galaxies",
|
||||
Description = [[Census 2,246 galaxies. DU Version 1.4. <br> The Abell catalog
|
||||
includes all the nearby, and not so nearby, galaxy clusters. The northern
|
||||
hemisphere survey, published in 1958, was compiled by George Abell (1927–1983)
|
||||
from the Palomar Sky Survey plates. A subsequent southern hemisphere catalog
|
||||
was published posthumously in 1989. Further analysis by Brent Tully determined
|
||||
their distance and three-dimensional distribution. Each point in this data set
|
||||
represents a cluster of tens to hundreds (possibly even thousands) of
|
||||
galaxies, similar to the Virgo or Fornax Clusters. You will notice some points
|
||||
are assigned colors while most are gray. The data set also has an arbitrary
|
||||
cut-off for completeness, resulting in the rectangular shape of the data set.
|
||||
(Description from URL) <br><br> Data Reference: Abell Clusters of Rich
|
||||
Galaxies, Brent Tully (U Hawaii), Stuart Levy (NCSA/UIUC)]],
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -64,11 +64,11 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { object })
|
||||
|
||||
|
||||
asset.meta = {
|
||||
Name = "Abell Galaxy Clusters",
|
||||
Version = "2.0",
|
||||
Description = [[Digital Universe asset for The Abell catalog]],
|
||||
Author = "Stuart Levy (NCSA/UIUC), Brian Abbott (AMNH)",
|
||||
URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
|
||||
License = "AMNH Digital Universe",
|
||||
Identifiers = {"Abell"}
|
||||
Name = "Abell Galaxy Clusters",
|
||||
Version = "2.0",
|
||||
Description = [[Digital Universe asset for The Abell catalog]],
|
||||
Author = "Stuart Levy (NCSA/UIUC), Brian Abbott (AMNH)",
|
||||
URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
|
||||
License = "AMNH Digital Universe",
|
||||
Identifiers = {"Abell"}
|
||||
}
|
||||
|
||||
@@ -3,48 +3,48 @@ local assetHelper = asset.require('util/asset_helper')
|
||||
|
||||
|
||||
local speck = asset.syncedResource({
|
||||
Name = "Alternate Star Labels Speck Files",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_alternatestarlabels_speck",
|
||||
Version = 1
|
||||
Name = "Alternate Star Labels Speck Files",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_alternatestarlabels_speck",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local object = {
|
||||
Identifier = "StarLabelsAlternate",
|
||||
Renderable = {
|
||||
Type = "RenderableBillboardsCloud",
|
||||
Enabled = false,
|
||||
Color = { 1.0, 1.0, 1.0 },
|
||||
Opacity = 0.65,
|
||||
LabelFile = speck .. "/stars-altlbl.label",
|
||||
TextColor = { 0.4, 0.4, 0.4 },
|
||||
DrawLabels = true,
|
||||
TextSize = 14.7,
|
||||
TextMinSize = 6.0,
|
||||
Unit = "pc"
|
||||
},
|
||||
GUI = {
|
||||
Name = "Stars Labels - Alternate",
|
||||
Path = "/Milky Way/Stars",
|
||||
Description = [[Census 3,550 star names. DU Version 1.7. <br>The main star data
|
||||
identify the accepted IAU star names for the brightest stars. However, astronomers
|
||||
have long cataloged thousands of stars beyond the brightest ones we see. Several
|
||||
attempts over thousands of years to name all the visible stars have led to two
|
||||
main catalogs: Johann Bayer's Catalog from 1603 and John Flamsteed's Catalog
|
||||
published in 1725. (Description from URL) <br><br> Data Reference: Various
|
||||
sources]],
|
||||
}
|
||||
Identifier = "StarLabelsAlternate",
|
||||
Renderable = {
|
||||
Type = "RenderableBillboardsCloud",
|
||||
Enabled = false,
|
||||
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,
|
||||
TextMinMaxSize = { 6, 20 }
|
||||
},
|
||||
GUI = {
|
||||
Name = "Stars Labels - Alternate",
|
||||
Path = "/Milky Way/Stars",
|
||||
Description = [[Census 3,550 star names. DU Version 1.7. <br>The main star data
|
||||
identify the accepted IAU star names for the brightest stars. However, astronomers
|
||||
have long cataloged thousands of stars beyond the brightest ones we see. Several
|
||||
attempts over thousands of years to name all the visible stars have led to two
|
||||
main catalogs: Johann Bayer's Catalog from 1603 and John Flamsteed's Catalog
|
||||
published in 1725. (Description from URL) <br><br> Data Reference: Various
|
||||
sources]],
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
asset.meta = {
|
||||
Name = "Stars Labels - Alternate",
|
||||
Version = "1.0",
|
||||
Description = [[Digital Universe asset for alternate start labels]],
|
||||
Author = "Brian Abbott (AMNH)",
|
||||
URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
|
||||
License = "AMNH Digital Universe",
|
||||
Identifiers = {"StarLabelsAlternate"}
|
||||
Name = "Stars Labels - Alternate",
|
||||
Version = "1.0",
|
||||
Description = [[Digital Universe asset for alternate start labels]],
|
||||
Author = "Brian Abbott (AMNH)",
|
||||
URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
|
||||
License = "AMNH Digital Universe",
|
||||
Identifiers = {"StarLabelsAlternate"}
|
||||
}
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, { object })
|
||||
|
||||
@@ -2,134 +2,134 @@ local assetHelper = asset.require('util/asset_helper')
|
||||
local textures = asset.require('./backgroundradiation_textures').textures
|
||||
|
||||
local speck = asset.syncedResource({
|
||||
Name = "Background Radiation Speck Files",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_backgroundradiation_speck",
|
||||
Version = 1
|
||||
Name = "Background Radiation Speck Files",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_backgroundradiation_speck",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local wmap = {
|
||||
Identifier = "WMAP",
|
||||
Transform = {
|
||||
Rotation = {
|
||||
Type = "StaticRotation",
|
||||
Rotation = { 0, 0, 3.14159265359 }
|
||||
}
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderableSphere",
|
||||
Enabled = false,
|
||||
Size = 3975.41417036064E23,
|
||||
Segments = 80,
|
||||
Opacity = 0.5,
|
||||
Texture = textures .. "/wmap_ilc_7yr_v4_200uK_RGB_sos.png",
|
||||
Orientation = "Both",
|
||||
MirrorTexture = true,
|
||||
UseAdditiveBlending = true,
|
||||
FadeInThreshold = 0.4
|
||||
},
|
||||
GUI = {
|
||||
Name = "Wilkinson Microwave Anisotropy Probe (WMAP)",
|
||||
Path = "/Universe/Cosmic Microwave Background"
|
||||
Identifier = "WMAP",
|
||||
Transform = {
|
||||
Rotation = {
|
||||
Type = "StaticRotation",
|
||||
Rotation = { 0, 0, 3.14159265359 }
|
||||
}
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderableSphere",
|
||||
Enabled = false,
|
||||
Size = 3975.41417036064E23,
|
||||
Segments = 80,
|
||||
Opacity = 0.5,
|
||||
Texture = textures .. "/wmap_ilc_7yr_v4_200uK_RGB_sos.png",
|
||||
Orientation = "Both",
|
||||
MirrorTexture = true,
|
||||
UseAdditiveBlending = true,
|
||||
FadeInThreshold = 0.4
|
||||
},
|
||||
GUI = {
|
||||
Name = "Wilkinson Microwave Anisotropy Probe (WMAP)",
|
||||
Path = "/Universe/Cosmic Microwave Background"
|
||||
}
|
||||
}
|
||||
|
||||
local cbe = {
|
||||
Identifier = "CBE",
|
||||
Transform = {
|
||||
Rotation = {
|
||||
Type = "StaticRotation",
|
||||
Rotation = { 0, 0, 3.14159265359 }
|
||||
}
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderableSphere",
|
||||
Enabled = false,
|
||||
Size = 3975.41417036064E23,
|
||||
Segments = 80,
|
||||
Opacity = 0.5,
|
||||
Texture = textures .. "/COBErect.png",
|
||||
Orientation = "Both",
|
||||
MirrorTexture = true,
|
||||
UseAdditiveBlending = true,
|
||||
FadeInThreshold = 0.4
|
||||
},
|
||||
GUI = {
|
||||
Name = "Cosmic Background Explorer",
|
||||
Path = "/Universe/Cosmic Microwave Background"
|
||||
Identifier = "CBE",
|
||||
Transform = {
|
||||
Rotation = {
|
||||
Type = "StaticRotation",
|
||||
Rotation = { 0, 0, 3.14159265359 }
|
||||
}
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderableSphere",
|
||||
Enabled = false,
|
||||
Size = 3975.41417036064E23,
|
||||
Segments = 80,
|
||||
Opacity = 0.5,
|
||||
Texture = textures .. "/COBErect.png",
|
||||
Orientation = "Both",
|
||||
MirrorTexture = true,
|
||||
UseAdditiveBlending = true,
|
||||
FadeInThreshold = 0.4
|
||||
},
|
||||
GUI = {
|
||||
Name = "Cosmic Background Explorer",
|
||||
Path = "/Universe/Cosmic Microwave Background"
|
||||
}
|
||||
}
|
||||
|
||||
local planck = {
|
||||
Identifier = "Planck",
|
||||
Transform = {
|
||||
Rotation = {
|
||||
Type = "StaticRotation",
|
||||
Rotation = { 0, 0, 3.14159265359 }
|
||||
}
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderableSphere",
|
||||
Enabled = true,
|
||||
Size = 3975.41417036064E23,
|
||||
Segments = 80,
|
||||
Opacity = 0.3,
|
||||
Texture = textures .. "/cmb4k.jpg",
|
||||
Orientation = "Both",
|
||||
MirrorTexture = true,
|
||||
UseAdditiveBlending = true,
|
||||
FadeInThreshold = 0.4
|
||||
},
|
||||
GUI = {
|
||||
Name = "Planck",
|
||||
Path = "/Universe/Cosmic Microwave Background"
|
||||
Identifier = "Planck",
|
||||
Transform = {
|
||||
Rotation = {
|
||||
Type = "StaticRotation",
|
||||
Rotation = { 0, 0, 3.14159265359 }
|
||||
}
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderableSphere",
|
||||
Enabled = true,
|
||||
Size = 3975.41417036064E23,
|
||||
Segments = 80,
|
||||
Opacity = 0.3,
|
||||
Texture = textures .. "/cmb4k.jpg",
|
||||
Orientation = "Both",
|
||||
MirrorTexture = true,
|
||||
UseAdditiveBlending = true,
|
||||
FadeInThreshold = 0.4
|
||||
},
|
||||
GUI = {
|
||||
Name = "Planck",
|
||||
Path = "/Universe/Cosmic Microwave Background"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
local Halpha = {
|
||||
Identifier = "HAlpha",
|
||||
Transform = {
|
||||
Rotation = {
|
||||
Type = "StaticRotation",
|
||||
Rotation = {0, 0, 3.14159265359}
|
||||
}
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderableSphere",
|
||||
Enabled = false,
|
||||
Size = 9.2E21,
|
||||
Segments = 40,
|
||||
Opacity = 0.4,
|
||||
Texture = textures .. "/mwHalpha-f.png",
|
||||
Orientation = "Inside",
|
||||
UseAdditiveBlending = true,
|
||||
MirrorTexture = true,
|
||||
FadeOutThreshold = 0.025,
|
||||
Background = true
|
||||
},
|
||||
GUI = {
|
||||
Name = "H Alpha",
|
||||
Path = "/Milky Way/All Sky Images"
|
||||
Identifier = "HAlpha",
|
||||
Transform = {
|
||||
Rotation = {
|
||||
Type = "StaticRotation",
|
||||
Rotation = {0, 0, 3.14159265359}
|
||||
}
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderableSphere",
|
||||
Enabled = false,
|
||||
Size = 9.2E21,
|
||||
Segments = 40,
|
||||
Opacity = 0.4,
|
||||
Texture = textures .. "/mwHalpha-f.png",
|
||||
Orientation = "Inside",
|
||||
UseAdditiveBlending = true,
|
||||
MirrorTexture = true,
|
||||
FadeOutThreshold = 0.025,
|
||||
Background = true
|
||||
},
|
||||
GUI = {
|
||||
Name = "H Alpha",
|
||||
Path = "/Milky Way/All Sky Images"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, {
|
||||
wmap, cbe, planck, Halpha
|
||||
wmap, cbe, planck, Halpha
|
||||
})
|
||||
|
||||
|
||||
asset.meta = {
|
||||
Name = "Background Radiation",
|
||||
Version = "2.0",
|
||||
Description = [[Various AllSky images for the Milky Way and observable Universe.
|
||||
Included: Wilkinson Microwave Anisotropy Probe (WMAP), Cosmic Background Explorer,
|
||||
Planck, and H Alpha <br><br> Data Reference: Planck/ESA and the Planck
|
||||
Collaboration, Wilkinson Microwave Anisotropy Probe/NASA, Doug
|
||||
Finkbeiner (Princeton)]],
|
||||
Author = "Brian Abbott (AMNH), OpenSpace Team",
|
||||
URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
|
||||
License = "AMNH Digital Universe",
|
||||
Identifiers = {"WMAP", "CBE", "Planck", "HAlpha"}
|
||||
Name = "Background Radiation",
|
||||
Version = "2.0",
|
||||
Description = [[Various AllSky images for the Milky Way and observable Universe.
|
||||
Included: Wilkinson Microwave Anisotropy Probe (WMAP), Cosmic Background Explorer,
|
||||
Planck, and H Alpha <br><br> Data Reference: Planck/ESA and the Planck
|
||||
Collaboration, Wilkinson Microwave Anisotropy Probe/NASA, Doug
|
||||
Finkbeiner (Princeton)]],
|
||||
Author = "Brian Abbott (AMNH), OpenSpace Team",
|
||||
URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
|
||||
License = "AMNH Digital Universe",
|
||||
Identifiers = {"WMAP", "CBE", "Planck", "HAlpha"}
|
||||
}
|
||||
|
||||
@@ -2,140 +2,140 @@ local assetHelper = asset.require('util/asset_helper')
|
||||
local textures = asset.require('./backgroundradiation_textures').textures
|
||||
|
||||
local multiverse_planck_1 = {
|
||||
Identifier = "PlanckMultiverse1",
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "StaticTranslation",
|
||||
Position = { 0.0, 0.0, 2000E23}
|
||||
},
|
||||
Rotation = {
|
||||
Type = "StaticRotation",
|
||||
Rotation = { 0, 0, 3.14159265359 }
|
||||
}
|
||||
Identifier = "PlanckMultiverse1",
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "StaticTranslation",
|
||||
Position = { 0.0, 0.0, 2000E23}
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderableSphere",
|
||||
Enabled = false,
|
||||
Size = 3975.41417036064E23,
|
||||
Segments = 80,
|
||||
Opacity = 0.3,
|
||||
Texture = textures .. "/cmb4k.jpg",
|
||||
Orientation = "Both",
|
||||
MirrorTexture = true,
|
||||
UseAdditiveBlending = true,
|
||||
FadeInThreshold = 0.4
|
||||
},
|
||||
GUI = {
|
||||
Name = "Planck Multiverse 1",
|
||||
Path = "/Universe/Cosmic Microwave Background"
|
||||
Rotation = {
|
||||
Type = "StaticRotation",
|
||||
Rotation = { 0, 0, 3.14159265359 }
|
||||
}
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderableSphere",
|
||||
Enabled = false,
|
||||
Size = 3975.41417036064E23,
|
||||
Segments = 80,
|
||||
Opacity = 0.3,
|
||||
Texture = textures .. "/cmb4k.jpg",
|
||||
Orientation = "Both",
|
||||
MirrorTexture = true,
|
||||
UseAdditiveBlending = true,
|
||||
FadeInThreshold = 0.4
|
||||
},
|
||||
GUI = {
|
||||
Name = "Planck Multiverse 1",
|
||||
Path = "/Universe/Cosmic Microwave Background"
|
||||
}
|
||||
}
|
||||
|
||||
local multiverse_planck_2 = {
|
||||
Identifier = "PlanckMultiverse2",
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "StaticTranslation",
|
||||
Position = { 2500E23, 0.0, 2000E23}
|
||||
},
|
||||
Rotation = {
|
||||
Type = "StaticRotation",
|
||||
Rotation = { 0, 0, 3.14159265359 }
|
||||
}
|
||||
Identifier = "PlanckMultiverse2",
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "StaticTranslation",
|
||||
Position = { 2500E23, 0.0, 2000E23}
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderableSphere",
|
||||
Enabled = false,
|
||||
Size = 3975.41417036064E23,
|
||||
Segments = 80,
|
||||
Opacity = 0.3,
|
||||
Texture = textures .. "/cmb4k.jpg",
|
||||
Orientation = "Both",
|
||||
MirrorTexture = true,
|
||||
UseAdditiveBlending = true,
|
||||
FadeInThreshold = 0.4
|
||||
},
|
||||
GUI = {
|
||||
Name = "Planck Multiverse 2",
|
||||
Path = "/Universe/Cosmic Microwave Background"
|
||||
Rotation = {
|
||||
Type = "StaticRotation",
|
||||
Rotation = { 0, 0, 3.14159265359 }
|
||||
}
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderableSphere",
|
||||
Enabled = false,
|
||||
Size = 3975.41417036064E23,
|
||||
Segments = 80,
|
||||
Opacity = 0.3,
|
||||
Texture = textures .. "/cmb4k.jpg",
|
||||
Orientation = "Both",
|
||||
MirrorTexture = true,
|
||||
UseAdditiveBlending = true,
|
||||
FadeInThreshold = 0.4
|
||||
},
|
||||
GUI = {
|
||||
Name = "Planck Multiverse 2",
|
||||
Path = "/Universe/Cosmic Microwave Background"
|
||||
}
|
||||
}
|
||||
|
||||
local multiverse_planck_3 = {
|
||||
Identifier = "PlanckMultiverse3",
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "StaticTranslation",
|
||||
Position = { 2500E23, 5000E23, 2000E23}
|
||||
},
|
||||
Rotation = {
|
||||
Type = "StaticRotation",
|
||||
Rotation = { 0, 0, 3.14159265359 }
|
||||
}
|
||||
Identifier = "PlanckMultiverse3",
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "StaticTranslation",
|
||||
Position = { 2500E23, 5000E23, 2000E23}
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderableSphere",
|
||||
Enabled = false,
|
||||
Size = 3975.41417036064E23,
|
||||
Segments = 80,
|
||||
Opacity = 0.3,
|
||||
Texture = textures .. "/cmb4k.jpg",
|
||||
Orientation = "Both",
|
||||
MirrorTexture = true,
|
||||
UseAdditiveBlending = true,
|
||||
FadeInThreshold = 0.4
|
||||
},
|
||||
GUI = {
|
||||
Name = "Planck Multiverse 3",
|
||||
Path = "/Universe/Cosmic Microwave Background"
|
||||
Rotation = {
|
||||
Type = "StaticRotation",
|
||||
Rotation = { 0, 0, 3.14159265359 }
|
||||
}
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderableSphere",
|
||||
Enabled = false,
|
||||
Size = 3975.41417036064E23,
|
||||
Segments = 80,
|
||||
Opacity = 0.3,
|
||||
Texture = textures .. "/cmb4k.jpg",
|
||||
Orientation = "Both",
|
||||
MirrorTexture = true,
|
||||
UseAdditiveBlending = true,
|
||||
FadeInThreshold = 0.4
|
||||
},
|
||||
GUI = {
|
||||
Name = "Planck Multiverse 3",
|
||||
Path = "/Universe/Cosmic Microwave Background"
|
||||
}
|
||||
}
|
||||
|
||||
local multiverse_planck_4 = {
|
||||
Identifier = "PlanckMultiverse4",
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "StaticTranslation",
|
||||
Position = { 0.0, 10000E23, 0.0 }
|
||||
},
|
||||
Rotation = {
|
||||
Type = "StaticRotation",
|
||||
Rotation = { 0, 0, 3.14159265359 }
|
||||
}
|
||||
Identifier = "PlanckMultiverse4",
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "StaticTranslation",
|
||||
Position = { 0.0, 10000E23, 0.0 }
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderableSphere",
|
||||
Enabled = false,
|
||||
Size = 3975.41417036064E23,
|
||||
Segments = 80,
|
||||
Opacity = 0.3,
|
||||
Texture = textures .. "/cmb4k.jpg",
|
||||
Orientation = "Both",
|
||||
MirrorTexture = true,
|
||||
UseAdditiveBlending = true,
|
||||
FadeInThreshold = 0.4
|
||||
},
|
||||
GUI = {
|
||||
Name = "Planck Multiverse 4",
|
||||
Path = "/Universe/Cosmic Microwave Background"
|
||||
Rotation = {
|
||||
Type = "StaticRotation",
|
||||
Rotation = { 0, 0, 3.14159265359 }
|
||||
}
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderableSphere",
|
||||
Enabled = false,
|
||||
Size = 3975.41417036064E23,
|
||||
Segments = 80,
|
||||
Opacity = 0.3,
|
||||
Texture = textures .. "/cmb4k.jpg",
|
||||
Orientation = "Both",
|
||||
MirrorTexture = true,
|
||||
UseAdditiveBlending = true,
|
||||
FadeInThreshold = 0.4
|
||||
},
|
||||
GUI = {
|
||||
Name = "Planck Multiverse 4",
|
||||
Path = "/Universe/Cosmic Microwave Background"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, {
|
||||
multiverse_planck_1, multiverse_planck_2, multiverse_planck_3, multiverse_planck_4
|
||||
multiverse_planck_1, multiverse_planck_2, multiverse_planck_3, multiverse_planck_4
|
||||
})
|
||||
|
||||
|
||||
asset.meta = {
|
||||
Name = "Multiverse Background Radiation",
|
||||
Version = "2.0",
|
||||
Description = [[ Non-physical representation of the location of hypothetical
|
||||
cosmic microwave background radiation images how they would be observed from other
|
||||
locations in the universe. <br> This is not a measured dataset!]],
|
||||
Author = "Brian Abbott (AMNH), OpenSpace Team",
|
||||
URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
|
||||
License = "AMNH Digital Universe",
|
||||
Identifiers = { "PlanckMultiverse1", "PlanckMultiverse2",
|
||||
"PlanckMultiverse3", "PlanckMultiverse4" }
|
||||
Name = "Multiverse Background Radiation",
|
||||
Version = "2.0",
|
||||
Description = [[ Non-physical representation of the location of hypothetical
|
||||
cosmic microwave background radiation images how they would be observed from other
|
||||
locations in the universe. <br> This is not a measured dataset!]],
|
||||
Author = "Brian Abbott (AMNH), OpenSpace Team",
|
||||
URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
|
||||
License = "AMNH Digital Universe",
|
||||
Identifiers = { "PlanckMultiverse1", "PlanckMultiverse2",
|
||||
"PlanckMultiverse3", "PlanckMultiverse4" }
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
local textures = asset.syncedResource({
|
||||
Name = "Background Radiation Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_backgroundradiation_textures",
|
||||
Version = 2
|
||||
Name = "Background Radiation Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_backgroundradiation_textures",
|
||||
Version = 2
|
||||
})
|
||||
|
||||
asset.export('textures', textures)
|
||||
|
||||
@@ -3,52 +3,52 @@ local assetHelper = asset.require('util/asset_helper')
|
||||
|
||||
|
||||
local speck = asset.syncedResource({
|
||||
Name = "Clusters Speck Files",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_clusters_speck",
|
||||
Version = 2
|
||||
Name = "Clusters Speck Files",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_clusters_speck",
|
||||
Version = 2
|
||||
})
|
||||
|
||||
local object = {
|
||||
Identifier = "GalaxyClusterLabels",
|
||||
Renderable = {
|
||||
Type = "RenderableBillboardsCloud",
|
||||
Enabled = false,
|
||||
Color = { 1.0, 1.0, 1.0 },
|
||||
Opacity = 0.65,
|
||||
LabelFile = speck .. "/galclust.label",
|
||||
TextColor = { 1.0, 0.44, 0.0 },
|
||||
DrawLabels = true,
|
||||
TextSize = 22,
|
||||
TextMinSize = 8.0,
|
||||
Unit = "Mpc",
|
||||
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
|
||||
},
|
||||
Identifier = "GalaxyClusterLabels",
|
||||
Renderable = {
|
||||
Type = "RenderableBillboardsCloud",
|
||||
Enabled = false,
|
||||
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,
|
||||
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
|
||||
},
|
||||
GUI = {
|
||||
Name = "Galaxy Cluster Labels",
|
||||
Path = "/Universe/Galaxies",
|
||||
Description = [[Census 15 galaxy cluster labels. DU Version 1.2. <br>The Galaxy
|
||||
clusters dataset is a series of labels that mark where the large clusters of
|
||||
galaxies are in the nearby universe. These labels must be used in conjunction
|
||||
with the Tully galaxy group.(Description from URL) <br><br> Data Reference:
|
||||
Brian Abbott (AMNH)]],
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Name = "Galaxy Cluster Labels",
|
||||
Path = "/Universe/Galaxies",
|
||||
Description = [[Census 15 galaxy cluster labels. DU Version 1.2. <br>The Galaxy
|
||||
clusters dataset is a series of labels that mark where the large clusters of
|
||||
galaxies are in the nearby universe. These labels must be used in conjunction
|
||||
with the Tully galaxy group.(Description from URL) <br><br> Data Reference:
|
||||
Brian Abbott (AMNH)]],
|
||||
}
|
||||
}
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, { object })
|
||||
|
||||
|
||||
asset.meta = {
|
||||
Name = "Galaxy Clusters Labels",
|
||||
Version = "1.0",
|
||||
Description = [[Digital Universe asset for Galaxy Clusters]],
|
||||
Author = "Brian Abbott (AMNH)",
|
||||
URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
|
||||
License = "AMNH Digital Universe",
|
||||
Identifiers = {"GalaxyClusterLabels"}
|
||||
Name = "Galaxy Clusters Labels",
|
||||
Version = "1.0",
|
||||
Description = [[Digital Universe asset for Galaxy Clusters]],
|
||||
Author = "Brian Abbott (AMNH)",
|
||||
URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
|
||||
License = "AMNH Digital Universe",
|
||||
Identifiers = {"GalaxyClusterLabels"}
|
||||
}
|
||||
|
||||
@@ -3,55 +3,55 @@ local assetHelper = asset.require('util/asset_helper')
|
||||
|
||||
|
||||
local data = asset.syncedResource({
|
||||
Name = "Constellation Bounds Data",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_constellationbounds_data",
|
||||
Version = 1
|
||||
Name = "Constellation Bounds Data",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_constellationbounds_data",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local zodiacs = {
|
||||
"Cancer", "Taurus", "Pisces", "Aries", "Libra", "Aquarius", "Capricornus", "Scorpius",
|
||||
"Virgo", "Sagittarius", "Gemini", "Leo"
|
||||
"Cancer", "Taurus", "Pisces", "Aries", "Libra", "Aquarius", "Capricornus", "Scorpius",
|
||||
"Virgo", "Sagittarius", "Gemini", "Leo"
|
||||
}
|
||||
|
||||
local object = {
|
||||
Identifier = "ConstellationBounds",
|
||||
Renderable = {
|
||||
Type = "RenderableConstellationBounds",
|
||||
Enabled = false,
|
||||
File = data .. "/bound_20.dat",
|
||||
ConstellationFile = data .. "/constellations.dat"
|
||||
-- ConstellationSelection = zodiacs
|
||||
Identifier = "ConstellationBounds",
|
||||
Renderable = {
|
||||
Type = "RenderableConstellationBounds",
|
||||
Enabled = false,
|
||||
File = data .. "/bound_20.dat",
|
||||
ConstellationFile = data .. "/constellations.dat"
|
||||
-- ConstellationSelection = zodiacs
|
||||
},
|
||||
Transform = {
|
||||
Rotation = {
|
||||
Type = "SpiceRotation",
|
||||
SourceFrame = "J2000",
|
||||
DestinationFrame = "GALACTIC"
|
||||
},
|
||||
Transform = {
|
||||
Rotation = {
|
||||
Type = "SpiceRotation",
|
||||
SourceFrame = "J2000",
|
||||
DestinationFrame = "GALACTIC"
|
||||
},
|
||||
Scale = {
|
||||
Type = "StaticScale",
|
||||
Scale = 10e17
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Name = "Constellation Bounds",
|
||||
Path = "/Milky Way/Constellations",
|
||||
Description = [[A Spherical mesh dividing the sky into regions that fit the
|
||||
constellations.]],
|
||||
Scale = {
|
||||
Type = "StaticScale",
|
||||
Scale = 10e17
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Name = "Constellation Bounds",
|
||||
Path = "/Milky Way/Constellations",
|
||||
Description = [[A Spherical mesh dividing the sky into regions that fit the
|
||||
constellations.]],
|
||||
}
|
||||
}
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, { object })
|
||||
|
||||
|
||||
asset.meta = {
|
||||
Name = "Constellation Bounds",
|
||||
Version = "1.0",
|
||||
Description = [[DU asset providing a Spherical mesh dividing the sky into regions that
|
||||
fit the constellations.]],
|
||||
Author = "Brian Abbott (AMNH)",
|
||||
URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
|
||||
License = "AMNH Digital Universe",
|
||||
Identifiers = {"ConstellationBounds"}
|
||||
Name = "Constellation Bounds",
|
||||
Version = "1.0",
|
||||
Description = [[DU asset providing a Spherical mesh dividing the sky into regions that
|
||||
fit the constellations.]],
|
||||
Author = "Brian Abbott (AMNH)",
|
||||
URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
|
||||
License = "AMNH Digital Universe",
|
||||
Identifiers = {"ConstellationBounds"}
|
||||
}
|
||||
|
||||
@@ -3,74 +3,72 @@ local assetHelper = asset.require('util/asset_helper')
|
||||
|
||||
|
||||
local speck = asset.syncedResource({
|
||||
Name = "Constellation Speck Files",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_constellations_speck",
|
||||
Version = 2
|
||||
Name = "Constellation Speck Files",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_constellations_speck",
|
||||
Version = 2
|
||||
})
|
||||
|
||||
local constellationsExtragalactic = {
|
||||
Identifier = "ConstellationsExtragalactic",
|
||||
Renderable = {
|
||||
Type = "RenderableDUMeshes",
|
||||
Enabled = false,
|
||||
Opacity = 0.4,
|
||||
File = speck .. "/constellationsEXGAL.speck",
|
||||
LabelFile = speck .. "/constellationsEXGAL.label",
|
||||
TextColor = { 0.8, 0.8, 0.8 },
|
||||
TextOpacity = 0.4,
|
||||
TextSize = 20.0,
|
||||
TextMinSize = 20.0,
|
||||
TextMaxSize = 30.0,
|
||||
MeshColor = { { 0.6, 0.4, 0.4 }, { 0.8, 0.0, 0.0 }, { 0.0, 0.3, 0.8 } },
|
||||
Unit = "Mpc"
|
||||
},
|
||||
GUI = {
|
||||
Name = "Constellations (Extragalactic)",
|
||||
Path = "/Milky Way/Constellations"
|
||||
}
|
||||
Identifier = "ConstellationsExtragalactic",
|
||||
Renderable = {
|
||||
Type = "RenderableDUMeshes",
|
||||
Enabled = false,
|
||||
Opacity = 0.4,
|
||||
File = speck .. "/constellationsEXGAL.speck",
|
||||
LabelFile = speck .. "/constellationsEXGAL.label",
|
||||
TextColor = { 0.8, 0.8, 0.8 },
|
||||
TextOpacity = 0.4,
|
||||
TextSize = 20.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"
|
||||
},
|
||||
GUI = {
|
||||
Name = "Constellations (Extragalactic)",
|
||||
Path = "/Milky Way/Constellations"
|
||||
}
|
||||
}
|
||||
|
||||
local constellations = {
|
||||
Identifier = "Constellations",
|
||||
Renderable = {
|
||||
Type = "RenderableDUMeshes",
|
||||
Enabled = false,
|
||||
Opacity = 0.3,
|
||||
File = speck .. "/constellations.speck",
|
||||
LabelFile = speck .. "/constellations.label",
|
||||
TextColor = { 0.8, 0.8, 0.8 },
|
||||
TextOpacity = 0.3,
|
||||
TextSize = 14.5,
|
||||
TextMaxSize = 170.0,
|
||||
TextMinSize = 8.0,
|
||||
MeshColor = { { 0.6, 0.4, 0.4 }, { 0.8, 0.0, 0.0 }, { 0.0, 0.3, 0.8 } },
|
||||
Unit = "pc"
|
||||
},
|
||||
GUI = {
|
||||
Name = "Constellations",
|
||||
Path = "/Milky Way/Constellations",
|
||||
Description = [[Census 88 constellations and labels. DU Version 2.3. <br> These
|
||||
modern constellations are largely based on those of the Babylonians and
|
||||
Greeks; however, most cultures have their own figures and stories of the sky.
|
||||
More than half the official constellations adopted by scientists in 1930 were
|
||||
known to the ancients over 2,000 years ago. Each star falls into one of these
|
||||
88 regions. Of course, today we know the stars in any given constellation do
|
||||
not necessarily have any physical relationship with one another. One star may
|
||||
be nearby, while an adjacent star in the sky may be far away.(Description
|
||||
from URL) <br><br> Data Reference: various]],
|
||||
}
|
||||
Identifier = "Constellations",
|
||||
Renderable = {
|
||||
Type = "RenderableDUMeshes",
|
||||
Enabled = false,
|
||||
Opacity = 0.3,
|
||||
File = speck .. "/constellations.speck",
|
||||
LabelFile = speck .. "/constellations.label",
|
||||
TextColor = { 0.8, 0.8, 0.8 },
|
||||
TextOpacity = 0.3,
|
||||
TextSize = 14.5,
|
||||
TextMinMaxSize = { 8, 170 },
|
||||
MeshColor = { { 0.6, 0.4, 0.4 }, { 0.8, 0.0, 0.0 }, { 0.0, 0.3, 0.8 } },
|
||||
Unit = "pc"
|
||||
},
|
||||
GUI = {
|
||||
Name = "Constellations",
|
||||
Path = "/Milky Way/Constellations",
|
||||
Description = [[Census 88 constellations and labels. DU Version 2.3. <br> These
|
||||
modern constellations are largely based on those of the Babylonians and
|
||||
Greeks; however, most cultures have their own figures and stories of the sky.
|
||||
More than half the official constellations adopted by scientists in 1930 were
|
||||
known to the ancients over 2,000 years ago. Each star falls into one of these
|
||||
88 regions. Of course, today we know the stars in any given constellation do
|
||||
not necessarily have any physical relationship with one another. One star may
|
||||
be nearby, while an adjacent star in the sky may be far away.(Description
|
||||
from URL) <br><br> Data Reference: various]],
|
||||
}
|
||||
}
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, { constellationsExtragalactic, constellations })
|
||||
|
||||
|
||||
asset.meta = {
|
||||
Name = "Constellations",
|
||||
Version = "1.0",
|
||||
Description = [[Digital Universe asset for constellation lines]],
|
||||
Author = "Brian Abbott (AMNH)",
|
||||
URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
|
||||
License = "AMNH Digital Universe",
|
||||
Identifiers = {"Constellations", "ConstellationsExtragalactic"}
|
||||
Name = "Constellations",
|
||||
Version = "1.0",
|
||||
Description = [[Digital Universe asset for constellation lines]],
|
||||
Author = "Brian Abbott (AMNH)",
|
||||
URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
|
||||
License = "AMNH Digital Universe",
|
||||
Identifiers = {"Constellations", "ConstellationsExtragalactic"}
|
||||
}
|
||||
|
||||
@@ -1,110 +1,106 @@
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
|
||||
local textures = asset.syncedResource({
|
||||
Name = "Deep Sky Objects Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_deepsky_textures",
|
||||
Version = 1
|
||||
Name = "Deep Sky Objects Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_deepsky_textures",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local speck = asset.syncedResource({
|
||||
Name = "Deep Sky Objects Speck Files",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_deepsky_speck",
|
||||
Version = 1
|
||||
Name = "Deep Sky Objects Speck Files",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_deepsky_speck",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local deepSkyPoints = {
|
||||
Identifier = "DeepSkyObjects",
|
||||
Renderable = {
|
||||
Type = "RenderableBillboardsCloud",
|
||||
Enabled = false,
|
||||
Color = { 1.0, 1.0, 0.0 },
|
||||
Opacity = 0.99,
|
||||
ScaleFactor = 500.0,
|
||||
File = speck .. "/dso.speck",
|
||||
Texture = textures .. "/point3.png",
|
||||
--ColorMap = speck .. "/tully.cmap",
|
||||
--ColorMap = speck .. "/lss.cmap",
|
||||
--ColorOption = { "proximity" },
|
||||
--ColorOption = { "prox5Mpc" },
|
||||
--ColorRange = { { 1.0, 30.0 } },
|
||||
LabelFile = speck .. "/dso.label",
|
||||
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,
|
||||
--CorrectionSizeEndDistance = 22.0,
|
||||
--CorrectionSizeFactor = 10.45
|
||||
EnablePixelSizeControl = true
|
||||
},
|
||||
Transform = {
|
||||
Rotation = {
|
||||
Type = "StaticRotation",
|
||||
Rotation = { 0, 0, 3.14159265359 }
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Name = "Deep Sky Objects Points",
|
||||
Path = "/Universe/Galaxies",
|
||||
Description = [[Point cloud and labels for Deep Sky Objects]]
|
||||
Identifier = "DeepSkyObjects",
|
||||
Renderable = {
|
||||
Type = "RenderableBillboardsCloud",
|
||||
Enabled = false,
|
||||
Color = { 1.0, 1.0, 0.0 },
|
||||
Opacity = 0.99,
|
||||
ScaleFactor = 500.0,
|
||||
File = speck .. "/dso.speck",
|
||||
Texture = textures .. "/point3.png",
|
||||
--ColorMap = speck .. "/tully.cmap",
|
||||
--ColorMap = speck .. "/lss.cmap",
|
||||
--ColorOption = { "proximity" },
|
||||
--ColorOption = { "prox5Mpc" },
|
||||
--ColorRange = { { 1.0, 30.0 } },
|
||||
LabelFile = speck .. "/dso.label",
|
||||
Unit = "pc",
|
||||
TextColor = { 0.1, 0.4, 0.6 },
|
||||
TextSize = 20.50,
|
||||
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
|
||||
},
|
||||
Transform = {
|
||||
Rotation = {
|
||||
Type = "StaticRotation",
|
||||
Rotation = { 0, 0, 3.14159265359 }
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Name = "Deep Sky Objects Points",
|
||||
Path = "/Universe/Galaxies",
|
||||
Description = [[Point cloud and labels for Deep Sky Objects]]
|
||||
}
|
||||
}
|
||||
|
||||
local deepSkyImages = {
|
||||
Identifier = "DeepSkyObjectsImages",
|
||||
Renderable = {
|
||||
Type = "RenderablePlanesCloud",
|
||||
Enabled = false,
|
||||
Color = { 1.0, 1.0, 1.0 },
|
||||
Opacity = 0.99,
|
||||
ScaleFactor = 1.0,
|
||||
File = speck .. "/dso.speck",
|
||||
TexturePath = textures,
|
||||
Luminosity = "radius",
|
||||
ScaleLuminosity = 0.001,
|
||||
Unit = "pc",
|
||||
-- Fade in value in the same unit as "Unit"
|
||||
--FadeInDistances = {0.001, 0.05010},
|
||||
PlaneMinSize = 5.0
|
||||
},
|
||||
Transform = {
|
||||
Rotation = {
|
||||
Type = "StaticRotation",
|
||||
Rotation = {3.14159265359, 3.14159265359, 0 }
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Name = "Deep Sky Objects Images",
|
||||
Path = "/Universe/Galaxies",
|
||||
Description = [[Census: 63 images and labels. DU Version 1.3. <br> These data are
|
||||
2-D images of Messier objects placed in 3-D space. Not only do we place these
|
||||
images at the proper location and give them the correct orientation, we also
|
||||
size them accurately so that you can fly to the globular cluster M13, for
|
||||
example, and see just how small the cluster of hundreds of thousands of stars
|
||||
is relative to the rest of the Galaxy. Included Messier Objects by number are:
|
||||
6, 7, 11, 16, 18, 21, 23-26, 29, 34-39, 41, 46-48, 50, 52, 67, 93, 103, 2-5,
|
||||
9, 10, 12-15, 19, 22, 28, 30, 53-56, 68-72, 75, 79, 80, 92, 107, 27, 57, 76,
|
||||
97, 8, 17, 20, 78, 1 (Description from URL) <br><br> Data Reference: Largely
|
||||
NOAO and various other sources (each image has a ref)]],
|
||||
Identifier = "DeepSkyObjectsImages",
|
||||
Renderable = {
|
||||
Type = "RenderablePlanesCloud",
|
||||
Enabled = false,
|
||||
Color = { 1.0, 1.0, 1.0 },
|
||||
Opacity = 0.99,
|
||||
ScaleFactor = 1.0,
|
||||
File = speck .. "/dso.speck",
|
||||
TexturePath = textures,
|
||||
Luminosity = "radius",
|
||||
ScaleLuminosity = 0.001,
|
||||
Unit = "pc",
|
||||
-- Fade in value in the same unit as "Unit"
|
||||
--FadeInDistances = {0.001, 0.05010},
|
||||
PlaneMinSize = 5.0
|
||||
},
|
||||
Transform = {
|
||||
Rotation = {
|
||||
Type = "StaticRotation",
|
||||
Rotation = {3.14159265359, 3.14159265359, 0 }
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Name = "Deep Sky Objects Images",
|
||||
Path = "/Universe/Galaxies",
|
||||
Description = [[Census: 63 images and labels. DU Version 1.3. <br> These data are
|
||||
2-D images of Messier objects placed in 3-D space. Not only do we place these
|
||||
images at the proper location and give them the correct orientation, we also
|
||||
size them accurately so that you can fly to the globular cluster M13, for
|
||||
example, and see just how small the cluster of hundreds of thousands of stars
|
||||
is relative to the rest of the Galaxy. Included Messier Objects by number are:
|
||||
6, 7, 11, 16, 18, 21, 23-26, 29, 34-39, 41, 46-48, 50, 52, 67, 93, 103, 2-5,
|
||||
9, 10, 12-15, 19, 22, 28, 30, 53-56, 68-72, 75, 79, 80, 92, 107, 27, 57, 76,
|
||||
97, 8, 17, 20, 78, 1 (Description from URL) <br><br> Data Reference: Largely
|
||||
NOAO and various other sources (each image has a ref)]],
|
||||
}
|
||||
}
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, { deepSkyPoints, deepSkyImages })
|
||||
|
||||
|
||||
asset.meta = {
|
||||
Name = "Deep Sky Objects Images",
|
||||
Version = "1.0",
|
||||
Description = [[Digital Universe asset for Deep Sky Objects and their Images]],
|
||||
Author = "Nate Greenstein, Matt Everhart, Brian Abbott (AMNH)",
|
||||
URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
|
||||
License = "AMNH Digital Universe",
|
||||
Identifiers = {"DeepSkyObjects", "DeepSkyObjectsImages"}
|
||||
Name = "Deep Sky Objects Images",
|
||||
Version = "1.0",
|
||||
Description = [[Digital Universe asset for Deep Sky Objects and their Images]],
|
||||
Author = "Nate Greenstein, Matt Everhart, Brian Abbott (AMNH)",
|
||||
URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
|
||||
License = "AMNH Digital Universe",
|
||||
Identifiers = {"DeepSkyObjects", "DeepSkyObjectsImages"}
|
||||
}
|
||||
|
||||
|
||||
@@ -3,74 +3,74 @@ local assetHelper = asset.require('util/asset_helper')
|
||||
|
||||
|
||||
local textures = asset.syncedResource({
|
||||
Name = "Brown Dwarf Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_dwarfs_textures",
|
||||
Version = 1
|
||||
Name = "Brown Dwarf Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_dwarfs_textures",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local speck = asset.syncedResource({
|
||||
Name = "Brown Dwarf Speck Files",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_dwarfs_speck",
|
||||
Version = 2
|
||||
Name = "Brown Dwarf Speck Files",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_dwarfs_speck",
|
||||
Version = 2
|
||||
})
|
||||
|
||||
local object = {
|
||||
Identifier = "Dwarfs",
|
||||
Renderable = {
|
||||
Type = "RenderableBillboardsCloud",
|
||||
Enabled = false,
|
||||
Color = { 0.4, 0.0, 0.1 },
|
||||
Opacity = 1.0,
|
||||
File = speck .. "/dwarfs.speck",
|
||||
Texture = textures .. "/point3.png",
|
||||
LabelFile = speck .. "/dwarfs.label",
|
||||
ColorMap = speck .. "/dwarfs.cmap",
|
||||
ColorOption = { "typeindex" },
|
||||
--ColorRange = { { 1.0, 4.0} },
|
||||
TextColor = { 0.5, 0.1, 0.2 },
|
||||
TextSize = 14.6,
|
||||
TextMinSize = 10.0,
|
||||
ScaleFactor = 372.1,
|
||||
--CorrectionSizeEndDistance = 16.1,
|
||||
--CorrectionSizeFactor = 7.75,
|
||||
BillboardMaxSize = 20.0,
|
||||
EnablePixelSizeControl = true,
|
||||
Unit = "pc"
|
||||
},
|
||||
GUI = {
|
||||
Name = "Brown Dwarfs",
|
||||
Path = "/Milky Way",
|
||||
Description = [[Census: 785 L dwarfs, 101 T dwarfs, 17 Y dwarfs. DU Version 6.4.
|
||||
<br> In astronomy, there are dwarf stars-red, white, and brown-dwarf novae,
|
||||
and even dwarf galaxies. As you might imagine, astronomers use the term dwarf
|
||||
when they refer to the smaller objects in any given class. For decades it was
|
||||
believed that M stars were the coolest stars in the Galaxy. Some M stars,
|
||||
called red dwarfs, make up 70% of the stars in the Galaxy, including our
|
||||
nearest known neighbor, Proxima Centauri. However, a new class of objects,
|
||||
even cooler than M stars, was recently discovered and given a spectral type
|
||||
of L. L-type objects straddle the boundary between red dwarfs and brown
|
||||
dwarfs, the latter of which are not massive enough to ignite the nuclear
|
||||
processes necessary for it to shine as a star. L-type objects are typically
|
||||
very dim stars or brown dwarfs. Even cooler than L-type objects are T-type
|
||||
objects. These are mostly brown dwarfs and resemble large, massive,
|
||||
Jupiter-like objects, too large to be planets and typically too small to be
|
||||
stars. Beyond the T dwarfs are the Y-type objects, which are even more
|
||||
dim.(Description from URL) <br><br> Data Reference: The Brown Dwarf Kinematics
|
||||
Project (Faherty+ 2019)]]
|
||||
}
|
||||
Identifier = "Dwarfs",
|
||||
Renderable = {
|
||||
Type = "RenderableBillboardsCloud",
|
||||
Enabled = false,
|
||||
Color = { 0.4, 0.0, 0.1 },
|
||||
Opacity = 1.0,
|
||||
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,
|
||||
TextMinMaxSize = { 10, 20 },
|
||||
ScaleFactor = 372.1,
|
||||
--CorrectionSizeEndDistance = 16.1,
|
||||
--CorrectionSizeFactor = 7.75,
|
||||
BillboardMinMaxSize = { 0.0, 20.0 },
|
||||
EnablePixelSizeControl = true
|
||||
},
|
||||
GUI = {
|
||||
Name = "Brown Dwarfs",
|
||||
Path = "/Milky Way",
|
||||
Description = [[Census: 785 L dwarfs, 101 T dwarfs, 17 Y dwarfs. DU Version 6.4.
|
||||
<br> In astronomy, there are dwarf stars-red, white, and brown-dwarf novae,
|
||||
and even dwarf galaxies. As you might imagine, astronomers use the term dwarf
|
||||
when they refer to the smaller objects in any given class. For decades it was
|
||||
believed that M stars were the coolest stars in the Galaxy. Some M stars,
|
||||
called red dwarfs, make up 70% of the stars in the Galaxy, including our
|
||||
nearest known neighbor, Proxima Centauri. However, a new class of objects,
|
||||
even cooler than M stars, was recently discovered and given a spectral type
|
||||
of L. L-type objects straddle the boundary between red dwarfs and brown
|
||||
dwarfs, the latter of which are not massive enough to ignite the nuclear
|
||||
processes necessary for it to shine as a star. L-type objects are typically
|
||||
very dim stars or brown dwarfs. Even cooler than L-type objects are T-type
|
||||
objects. These are mostly brown dwarfs and resemble large, massive,
|
||||
Jupiter-like objects, too large to be planets and typically too small to be
|
||||
stars. Beyond the T dwarfs are the Y-type objects, which are even more
|
||||
dim.(Description from URL) <br><br> Data Reference: The Brown Dwarf Kinematics
|
||||
Project (Faherty+ 2019)]]
|
||||
}
|
||||
}
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, { object })
|
||||
|
||||
|
||||
asset.meta = {
|
||||
Name = "Brown Dwarfs",
|
||||
Version = "2.0",
|
||||
Description = [[Digital Universe asset for Brown Dwarfs]],
|
||||
Author = "Brian Abbott (AMNH)",
|
||||
URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
|
||||
License = "AMNH Digital Universe",
|
||||
Identifiers = {"Dwarfs"}
|
||||
Name = "Brown Dwarfs",
|
||||
Version = "2.0",
|
||||
Description = [[Digital Universe asset for Brown Dwarfs]],
|
||||
Author = "Brian Abbott (AMNH)",
|
||||
URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
|
||||
License = "AMNH Digital Universe",
|
||||
Identifiers = {"Dwarfs"}
|
||||
}
|
||||
|
||||
@@ -3,63 +3,62 @@ local assetHelper = asset.require('util/asset_helper')
|
||||
|
||||
|
||||
local textures = asset.syncedResource({
|
||||
Name = "Exoplanets Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_exoplanets_textures",
|
||||
Version = 1
|
||||
Name = "Exoplanets Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_exoplanets_textures",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local speck = asset.syncedResource({
|
||||
Name = "Exoplanets Speck Files",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_exoplanets_speck",
|
||||
Version = 2
|
||||
Name = "Exoplanets Speck Files",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_exoplanets_speck",
|
||||
Version = 2
|
||||
})
|
||||
|
||||
local object = {
|
||||
Identifier = "Exoplanets",
|
||||
Renderable = {
|
||||
Type = "RenderableBillboardsCloud",
|
||||
Enabled = false,
|
||||
Color = { 1.0, 1.0, 1.0 },
|
||||
Opacity = 1.0,
|
||||
ScaleFactor = 10.0,
|
||||
Texture = textures .. "/target-blue.png",
|
||||
File = speck .. "/expl.speck",
|
||||
LabelFile = speck .. "/expl.label",
|
||||
ScaleFactor = 388.67923,
|
||||
TextColor = { 0.3, 0.3, 0.8 },
|
||||
TextSize = 14.8,
|
||||
TextMaxSize = 200.0,
|
||||
TextMinSize = 10.0,
|
||||
CorrectionSizeEndDistance = 15.23,
|
||||
CorrectionSizeFactor = 13.3,
|
||||
Unit = "pc",
|
||||
BillboardMaxSize = 75.0,
|
||||
EnablePixelSizeControl = true,
|
||||
},
|
||||
GUI = {
|
||||
Name = "Exoplanets",
|
||||
Path = "/Milky Way/Exoplanets",
|
||||
Description = [[Census: 4,055 planets in 3,023 systems. DU Version 20.11. <br>
|
||||
Extrasolar planets, or exoplanets, are a relatively new phenomenon in
|
||||
astronomy. While many astronomers believed in their existence, no
|
||||
observational evidence was available until 1995. Since that time, scientists
|
||||
have discovered thousands of systems consisting of one or more planets around
|
||||
a host star.(Description from URL) <br><br> Data Reference: NASA Exoplanet
|
||||
Archive (CalTech/NASA)]],
|
||||
}
|
||||
Identifier = "Exoplanets",
|
||||
Renderable = {
|
||||
Type = "RenderableBillboardsCloud",
|
||||
Enabled = false,
|
||||
Color = { 1.0, 1.0, 1.0 },
|
||||
Opacity = 1.0,
|
||||
ScaleFactor = 10.0,
|
||||
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,
|
||||
TextMinMaxSize = { 10, 100 },
|
||||
CorrectionSizeEndDistance = 15.23,
|
||||
CorrectionSizeFactor = 13.3,
|
||||
BillboardMinMaxSize = { 0.0, 75.0 },
|
||||
EnablePixelSizeControl = true,
|
||||
},
|
||||
GUI = {
|
||||
Name = "Exoplanets",
|
||||
Path = "/Milky Way/Exoplanets",
|
||||
Description = [[Census: 4,055 planets in 3,023 systems. DU Version 20.11. <br>
|
||||
Extrasolar planets, or exoplanets, are a relatively new phenomenon in
|
||||
astronomy. While many astronomers believed in their existence, no
|
||||
observational evidence was available until 1995. Since that time, scientists
|
||||
have discovered thousands of systems consisting of one or more planets around
|
||||
a host star.(Description from URL) <br><br> Data Reference: NASA Exoplanet
|
||||
Archive (CalTech/NASA)]],
|
||||
}
|
||||
}
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, { object })
|
||||
|
||||
|
||||
asset.meta = {
|
||||
Name = "Exoplanets",
|
||||
Version = "1.0",
|
||||
Description = [[Digital Universe asset for Exoplanets]],
|
||||
Author = "Brian Abbott (AMNH)",
|
||||
URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
|
||||
License = "AMNH Digital Universe",
|
||||
Identifiers = {"Exoplanets"}
|
||||
Name = "Exoplanets",
|
||||
Version = "1.0",
|
||||
Description = [[Digital Universe asset for Exoplanets]],
|
||||
Author = "Brian Abbott (AMNH)",
|
||||
URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
|
||||
License = "AMNH Digital Universe",
|
||||
Identifiers = {"Exoplanets"}
|
||||
}
|
||||
|
||||
@@ -3,77 +3,76 @@ local assetHelper = asset.require('util/asset_helper')
|
||||
|
||||
|
||||
local textures = asset.syncedResource({
|
||||
Name = "Globular Clusters Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_globularclusters_textures",
|
||||
Version = 1
|
||||
Name = "Globular Clusters Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_globularclusters_textures",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local speck = asset.syncedResource({
|
||||
Name = "Globular Clusters Speck Files",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_globularclusters_speck",
|
||||
Version = 2
|
||||
Name = "Globular Clusters Speck Files",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_globularclusters_speck",
|
||||
Version = 2
|
||||
})
|
||||
|
||||
local object = {
|
||||
Identifier = "GlobularClusters",
|
||||
Renderable = {
|
||||
Type = "RenderableBillboardsCloud",
|
||||
Enabled = false,
|
||||
Color = { 0.8, 0.8, 0.0 },
|
||||
Opacity = 0.4,
|
||||
File = speck .. "/gc.speck",
|
||||
Texture = textures .. "/point4.png",
|
||||
PolygonSides = 5,
|
||||
LabelFile = speck .. "/gc.label",
|
||||
TextColor = { 0.5, 0.5, 0.0 },
|
||||
ScaleFactor = 431.0,
|
||||
TextSize = 16.7,
|
||||
TextMinSize = 4.0,
|
||||
TextMaxSize = 20,
|
||||
Unit = "pc",
|
||||
BillboardMaxSize = 500,
|
||||
EnablePixelSizeControl = true,
|
||||
},
|
||||
GUI = {
|
||||
Name = "Globular Clusters",
|
||||
Path = "/Milky Way",
|
||||
Description = [[Census: 157 globular clusters. DU Version 2.6. <br>Globular star
|
||||
clusters are gravitationally bound groups of 100,000 to 1 million stars. They
|
||||
are compact, spherical “balls” of stars with very high stellar densities in
|
||||
their centers (stars near their center are within a light year of one
|
||||
another). These clusters are typically 30 to 100 light years in diameter. If
|
||||
Earth were located inside one of these clusters, our sky would be lit by an
|
||||
abundance of stars brighter than the Sun. The globular clusters form one of
|
||||
the most complete data sets in the Atlas. Data for the clusters represent
|
||||
almost all the clusters in our Galaxy—several on the opposite side of Galactic
|
||||
center may be invisible to us. The clusters orbit the Milky Way in random
|
||||
orientations, as comets orbit the Sun.(Description from URL) <br><br> Data
|
||||
Reference: Properties of Galactic Globular Clusters, C. Francis+
|
||||
(U Cambridge)]],
|
||||
}
|
||||
Identifier = "GlobularClusters",
|
||||
Renderable = {
|
||||
Type = "RenderableBillboardsCloud",
|
||||
Enabled = false,
|
||||
Color = { 0.8, 0.8, 0.0 },
|
||||
Opacity = 0.4,
|
||||
File = speck .. "/gc.speck",
|
||||
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,
|
||||
TextMinMaxSize = { 4, 20 },
|
||||
BillboardMinMaxSize = { 0.0, 500.0 },
|
||||
EnablePixelSizeControl = true,
|
||||
},
|
||||
GUI = {
|
||||
Name = "Globular Clusters",
|
||||
Path = "/Milky Way",
|
||||
Description = [[Census: 157 globular clusters. DU Version 2.6. <br>Globular star
|
||||
clusters are gravitationally bound groups of 100,000 to 1 million stars. They
|
||||
are compact, spherical “balls” of stars with very high stellar densities in
|
||||
their centers (stars near their center are within a light year of one
|
||||
another). These clusters are typically 30 to 100 light years in diameter. If
|
||||
Earth were located inside one of these clusters, our sky would be lit by an
|
||||
abundance of stars brighter than the Sun. The globular clusters form one of
|
||||
the most complete data sets in the Atlas. Data for the clusters represent
|
||||
almost all the clusters in our Galaxy—several on the opposite side of Galactic
|
||||
center may be invisible to us. The clusters orbit the Milky Way in random
|
||||
orientations, as comets orbit the Sun.(Description from URL) <br><br> Data
|
||||
Reference: Properties of Galactic Globular Clusters, C. Francis+
|
||||
(U Cambridge)]],
|
||||
}
|
||||
}
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, { object })
|
||||
|
||||
|
||||
asset.meta = {
|
||||
Name = "Globular Clusters",
|
||||
Version = "2.0",
|
||||
Description = [[Census: 157 globular clusters. DU Version 2.6. Globular star clusters
|
||||
are gravitationally bound groups of 100,000 to 1 million stars. They are compact,
|
||||
spherical “balls” of stars with very high stellar densities in their centers (stars
|
||||
near their center are within a light year of one another). These clusters are
|
||||
typically 30 to 100 light years in diameter. If Earth were located inside one of these
|
||||
clusters, our sky would be lit by an abundance of stars brighter than the Sun. The
|
||||
globular clusters form one of the most complete data sets in the Atlas. Data for the
|
||||
clusters represent almost all the clusters in our Galaxy—several on the opposite side
|
||||
of Galactic center may be invisible to us. The clusters orbit the Milky Way in random
|
||||
orientations, as comets orbit the Sun.(Description from URL) <br><br> Data Reference:
|
||||
Properties of Galactic Globular Clusters, C. Francis+ (U Cambridge)]],
|
||||
Author = "Brian Abbott (AMNH)",
|
||||
URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
|
||||
License = "AMNH Digital Universe",
|
||||
Identifiers = {"GlobularClusters"}
|
||||
Name = "Globular Clusters",
|
||||
Version = "2.0",
|
||||
Description = [[Census: 157 globular clusters. DU Version 2.6. Globular star clusters
|
||||
are gravitationally bound groups of 100,000 to 1 million stars. They are compact,
|
||||
spherical “balls” of stars with very high stellar densities in their centers (stars
|
||||
near their center are within a light year of one another). These clusters are
|
||||
typically 30 to 100 light years in diameter. If Earth were located inside one of these
|
||||
clusters, our sky would be lit by an abundance of stars brighter than the Sun. The
|
||||
globular clusters form one of the most complete data sets in the Atlas. Data for the
|
||||
clusters represent almost all the clusters in our Galaxy—several on the opposite side
|
||||
of Galactic center may be invisible to us. The clusters orbit the Milky Way in random
|
||||
orientations, as comets orbit the Sun.(Description from URL) <br><br> Data Reference:
|
||||
Properties of Galactic Globular Clusters, C. Francis+ (U Cambridge)]],
|
||||
Author = "Brian Abbott (AMNH)",
|
||||
URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
|
||||
License = "AMNH Digital Universe",
|
||||
Identifiers = {"GlobularClusters"}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -3,52 +3,52 @@ local assetHelper = asset.require('util/asset_helper')
|
||||
|
||||
|
||||
local speck = asset.syncedResource({
|
||||
Name = "Galaxy Groups Speck Files",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_groups_speck",
|
||||
Version = 1
|
||||
Name = "Galaxy Groups Speck Files",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_groups_speck",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local object = {
|
||||
Identifier = "NearbyGalaxyGroups",
|
||||
Renderable = {
|
||||
Type = "RenderableBillboardsCloud",
|
||||
Enabled = false,
|
||||
Color = { 1.0, 1.0, 1.0 },
|
||||
Opacity = 0.65,
|
||||
--ScaleFactor = 10.0,
|
||||
LabelFile = speck .. "/groups.label",
|
||||
TextColor = { 0.1, 0.6, 0.2 },
|
||||
TextSize = 21.5,
|
||||
TextMinSize = 8.0,
|
||||
Unit = "Mpc",
|
||||
DrawLabels = true,
|
||||
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
|
||||
},
|
||||
},
|
||||
GUI = {
|
||||
Name = "Galaxy Group Labels",
|
||||
Path = "/Universe/Galaxies",
|
||||
Description = [[Census: 62 galaxy group labels. DU Version 1.2. <br> The Galaxy
|
||||
Groups data are a set of labels that mark the nearby galaxy groups. The Milky Way
|
||||
is in the Local Group, and we are surrounded by many other groups.(Description
|
||||
from URL) <br><br> Data Reference: Brian Abbott (AMNH)]]
|
||||
Identifier = "NearbyGalaxyGroups",
|
||||
Renderable = {
|
||||
Type = "RenderableBillboardsCloud",
|
||||
Enabled = false,
|
||||
Color = { 1.0, 1.0, 1.0 },
|
||||
Opacity = 0.65,
|
||||
--ScaleFactor = 10.0,
|
||||
LabelFile = speck .. "/groups.label",
|
||||
Unit = "Mpc",
|
||||
TextColor = { 0.1, 0.6, 0.2 },
|
||||
TextSize = 21.5,
|
||||
TextMinMaxSize = { 8, 20 },
|
||||
DrawLabels = true,
|
||||
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
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Name = "Galaxy Group Labels",
|
||||
Path = "/Universe/Galaxies",
|
||||
Description = [[Census: 62 galaxy group labels. DU Version 1.2. <br> The Galaxy
|
||||
Groups data are a set of labels that mark the nearby galaxy groups. The Milky Way
|
||||
is in the Local Group, and we are surrounded by many other groups.(Description
|
||||
from URL) <br><br> Data Reference: Brian Abbott (AMNH)]]
|
||||
}
|
||||
}
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, { object })
|
||||
|
||||
|
||||
asset.meta = {
|
||||
Name = "Galaxy Group Labels",
|
||||
Version = "1.0",
|
||||
Author = "Brian Abbott (AMNH)",
|
||||
Description = [[Digital Universe asset for Galaxy Groups]],
|
||||
URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
|
||||
License = "AMNH Digital Universe",
|
||||
Identifiers = {"NearbyGalaxyGroups"}
|
||||
Name = "Galaxy Group Labels",
|
||||
Version = "1.0",
|
||||
Author = "Brian Abbott (AMNH)",
|
||||
Description = [[Digital Universe asset for Galaxy Groups]],
|
||||
URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
|
||||
License = "AMNH Digital Universe",
|
||||
Identifiers = {"NearbyGalaxyGroups"}
|
||||
}
|
||||
|
||||
@@ -3,65 +3,64 @@ local assetHelper = asset.require('util/asset_helper')
|
||||
|
||||
|
||||
local textures = asset.syncedResource({
|
||||
Name = "HII Regions Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_h2regions_textures",
|
||||
Version = 1
|
||||
Name = "HII Regions Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_h2regions_textures",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local speck = asset.syncedResource({
|
||||
Name = "HII Regions Speck Files",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_h2regions_speck",
|
||||
Version = 3
|
||||
Name = "HII Regions Speck Files",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_h2regions_speck",
|
||||
Version = 3
|
||||
})
|
||||
|
||||
local object = {
|
||||
Identifier = "HIIRegions",
|
||||
Renderable = {
|
||||
Type = "RenderableBillboardsCloud",
|
||||
Enabled = false,
|
||||
Color = { 0.0, 0.5, 1.0 },
|
||||
Opacity = 0.70,
|
||||
File = speck .. "/h2.speck",
|
||||
Texture = textures .."/point4.png",
|
||||
PolygonSides = 6,
|
||||
LabelFile = speck .. "/h2.label",
|
||||
TextColor = { 0.5, 0.5, 0.5 },
|
||||
ScaleFactor = 420,
|
||||
TextSize = 16.24,
|
||||
TextMinSize = 4.0,
|
||||
TextMaxSize = 20.0,
|
||||
Unit = "pc",
|
||||
BillboardMaxSize = 300.0,
|
||||
EnablePixelSizeControl = false
|
||||
},
|
||||
GUI = {
|
||||
Name = "HII Regions",
|
||||
Path = "/Milky Way",
|
||||
Description = [[Census: 1,271 nebulae. DU Version 4.6. <br> H ii (pronounced
|
||||
H-two) regions are stellar nurseries for newborn stars. Stars are born from
|
||||
condensing clouds of hydrogen gas. As these clouds condense, the densities
|
||||
become high enough to form stars. From Earth's perspective, you'll notice that
|
||||
the H ii regions all lie close to the Galactic plane. This is not an accident
|
||||
of nature. These star-forming regions lie in the plane of the Galaxy because
|
||||
that is where star formation occurs in spiral galaxies such as our Milky Way.
|
||||
Because of this, they are great tracers of the spiral arms of the Galaxy, and
|
||||
were instrumental in our understanding of the Galaxy's overall structure
|
||||
(Description from URL) <br><br> Data Reference: The WISE catalog of Galactic
|
||||
HII Regions (Anderson+, 2014)]],
|
||||
}
|
||||
Identifier = "HIIRegions",
|
||||
Renderable = {
|
||||
Type = "RenderableBillboardsCloud",
|
||||
Enabled = false,
|
||||
Color = { 0.0, 0.5, 1.0 },
|
||||
Opacity = 0.70,
|
||||
File = speck .. "/h2.speck",
|
||||
Texture = textures .."/point4.png",
|
||||
PolygonSides = 6,
|
||||
LabelFile = speck .. "/h2.label",
|
||||
Unit = "pc",
|
||||
TextColor = { 0.5, 0.5, 0.5 },
|
||||
ScaleFactor = 420,
|
||||
TextSize = 16.24,
|
||||
TextMinMaxSize = { 4, 20 },
|
||||
BillboardMinMaxSize = { 0.0, 300.0 },
|
||||
EnablePixelSizeControl = false
|
||||
},
|
||||
GUI = {
|
||||
Name = "HII Regions",
|
||||
Path = "/Milky Way",
|
||||
Description = [[Census: 1,271 nebulae. DU Version 4.6. <br> H ii (pronounced
|
||||
H-two) regions are stellar nurseries for newborn stars. Stars are born from
|
||||
condensing clouds of hydrogen gas. As these clouds condense, the densities
|
||||
become high enough to form stars. From Earth's perspective, you'll notice that
|
||||
the H ii regions all lie close to the Galactic plane. This is not an accident
|
||||
of nature. These star-forming regions lie in the plane of the Galaxy because
|
||||
that is where star formation occurs in spiral galaxies such as our Milky Way.
|
||||
Because of this, they are great tracers of the spiral arms of the Galaxy, and
|
||||
were instrumental in our understanding of the Galaxy's overall structure
|
||||
(Description from URL) <br><br> Data Reference: The WISE catalog of Galactic
|
||||
HII Regions (Anderson+, 2014)]],
|
||||
}
|
||||
}
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, { object })
|
||||
|
||||
|
||||
asset.meta = {
|
||||
Name = "HII Regions",
|
||||
Version = "1.0",
|
||||
Description = [[Digital Universe asset for HII Regions]],
|
||||
Author = "Carter Emmart, Brian Abbott (AMNH)",
|
||||
URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
|
||||
License = "AMNH Digital Universe",
|
||||
Identifiers = {"HIIRegions"}
|
||||
Name = "HII Regions",
|
||||
Version = "1.0",
|
||||
Description = [[Digital Universe asset for HII Regions]],
|
||||
Author = "Carter Emmart, Brian Abbott (AMNH)",
|
||||
URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
|
||||
License = "AMNH Digital Universe",
|
||||
Identifiers = {"HIIRegions"}
|
||||
}
|
||||
|
||||
@@ -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 = 505.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
|
||||
]]
|
||||
}
|
||||
@@ -10,53 +10,53 @@ local textures = asset.syncedResource({
|
||||
})
|
||||
|
||||
local speck = asset.syncedResource({
|
||||
Name = "Kepler Speck Files",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_kepler_speck",
|
||||
Version = 2
|
||||
Name = "Kepler Speck Files",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_kepler_speck",
|
||||
Version = 3
|
||||
})
|
||||
|
||||
local object = {
|
||||
Identifier = "KeplerPlanetaryCandidates",
|
||||
Renderable = {
|
||||
Type = "RenderableBillboardsCloud",
|
||||
Enabled = false,
|
||||
Color = { 1.0, 1.0, 0.0 },
|
||||
Opacity = 0.99,
|
||||
ScaleFactor = 410.0,
|
||||
File = speck .. "/kepler.speck",
|
||||
Texture = textures .. "/halo.png",
|
||||
CorrectionSizeEndDistance = 15.86,
|
||||
CorrectionSizeFactor = 8.59,
|
||||
Unit = "pc",
|
||||
BillboardMaxSize = 30.0,
|
||||
EnablePixelSizeControl = true
|
||||
},
|
||||
GUI = {
|
||||
Name = "Kepler Planetary Candidates",
|
||||
Path = "/Milky Way/Exoplanets",
|
||||
Description = [[Census: 3,254 stars. DU Version 9.3. <br> The exoplanet candidate
|
||||
stars are likely hosts for exoplanets. These are stars plucked from NASA's Kepler
|
||||
and TESS space telescopes. The Kepler mission was designed to stare at one spot,
|
||||
roughly twelve degrees across, in the constellation Cygnus. By staring at one
|
||||
spot, the spacecraft could monitor over 500,000 stars in that field for subtle
|
||||
variations in brightness.The data included here are the stars that are considered
|
||||
good candidates to host planets. Rather than represent them photo-realistically,
|
||||
with accurate colors, we choose to visualize them as generic, pure yellow stars.
|
||||
(Description from URL) <br><br> Data Reference: NASA Exoplanet Archive
|
||||
(CalTech/NASA)]],
|
||||
}
|
||||
Identifier = "KeplerPlanetaryCandidates",
|
||||
Renderable = {
|
||||
Type = "RenderableBillboardsCloud",
|
||||
Enabled = false,
|
||||
Color = { 1.0, 1.0, 0.0 },
|
||||
Opacity = 0.99,
|
||||
ScaleFactor = 410.0,
|
||||
File = speck .. "/kepler.speck",
|
||||
Unit = "pc",
|
||||
Texture = textures .. "/halo.png",
|
||||
CorrectionSizeEndDistance = 15.86,
|
||||
CorrectionSizeFactor = 8.59,
|
||||
BillboardMinMaxSize = { 0.0, 30.0 },
|
||||
EnablePixelSizeControl = true
|
||||
},
|
||||
GUI = {
|
||||
Name = "Kepler Planetary Candidates",
|
||||
Path = "/Milky Way/Exoplanets",
|
||||
Description = [[Census: 3,254 stars. DU Version 9.3. <br> The exoplanet candidate
|
||||
stars are likely hosts for exoplanets. These are stars plucked from NASA's Kepler
|
||||
and TESS space telescopes. The Kepler mission was designed to stare at one spot,
|
||||
roughly twelve degrees across, in the constellation Cygnus. By staring at one
|
||||
spot, the spacecraft could monitor over 500,000 stars in that field for subtle
|
||||
variations in brightness.The data included here are the stars that are considered
|
||||
good candidates to host planets. Rather than represent them photo-realistically,
|
||||
with accurate colors, we choose to visualize them as generic, pure yellow stars.
|
||||
(Description from URL) <br><br> Data Reference: NASA Exoplanet Archive
|
||||
(CalTech/NASA)]],
|
||||
}
|
||||
}
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, { object })
|
||||
|
||||
|
||||
asset.meta = {
|
||||
Name = "Kepler Planetary Candidates",
|
||||
Version = "2.0",
|
||||
Description = [[Digital Universe asset for Kepler Planetary Candidates]],
|
||||
Author = "Brian Abbott, Emily Rice, and Jason No (AMNH)",
|
||||
URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
|
||||
License = "AMNH Digital Universe",
|
||||
Identifiers = {"KeplerPlanetaryCandidates"}
|
||||
Name = "Kepler Planetary Candidates",
|
||||
Version = "2.0",
|
||||
Description = [[Digital Universe asset for Kepler Planetary Candidates]],
|
||||
Author = "Brian Abbott, Emily Rice, and Jason No (AMNH)",
|
||||
URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
|
||||
License = "AMNH Digital Universe",
|
||||
Identifiers = {"KeplerPlanetaryCandidates"}
|
||||
}
|
||||
|
||||
@@ -3,66 +3,66 @@ local assetHelper = asset.require('util/asset_helper')
|
||||
|
||||
|
||||
local textures = asset.syncedResource({
|
||||
Name = "Local Dwarfs Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_localdwarfs_textures",
|
||||
Version = 1
|
||||
Name = "Local Dwarfs Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_localdwarfs_textures",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local speck = asset.syncedResource({
|
||||
Name = "Local Dwarfs Speck Files",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_localdwarfs_speck",
|
||||
Version = 2
|
||||
Name = "Local Dwarfs Speck Files",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_localdwarfs_speck",
|
||||
Version = 2
|
||||
})
|
||||
|
||||
local object = {
|
||||
Identifier = "LocalDwarfGalaxies",
|
||||
Renderable = {
|
||||
Type = "RenderableBillboardsCloud",
|
||||
Enabled = false,
|
||||
Color = { 0.5, 1.0, 0.2 },
|
||||
ColorMap = speck .. "/localgroup.cmap",
|
||||
ColorOption = { "association" },
|
||||
Opacity = 0.3,
|
||||
File = speck .. "/localgroup.speck",
|
||||
Texture = textures .. "/point4.png",
|
||||
PolygonSides = 12,
|
||||
LabelFile = speck .. "/localgroup.label",
|
||||
TextColor = { 0.3, 0.3, 1.0 },
|
||||
ScaleFactor = 465,
|
||||
TextSize = 18.3,
|
||||
TextMinSize = 7.3,
|
||||
Unit = "Mpc",
|
||||
BillboardMaxSize = 20.0,
|
||||
EnablePixelSizeControl = true
|
||||
},
|
||||
GUI = {
|
||||
Name = "Local Group",
|
||||
Path = "/Universe/Galaxies",
|
||||
Description = [[Census: 102 galaxies. DU Version 6.4. <br> A group of galaxies is
|
||||
a small number of large galaxies that are typically surrounded by a large
|
||||
number of small galaxies. The Milky Way belongs to the Local Group, and is one
|
||||
of roughly 100 galaxies in that group. The Milky Way, the Andromeda Galaxy
|
||||
(also known as Messier 31, or M31), and the Triangulum Galaxy (M33) are three
|
||||
of the largest galaxies in the Local Group. Each is a spiral galaxy containing
|
||||
hundreds of billions of stars. Surrounding the Milky Way and Andromeda are a
|
||||
bevy of dwarf galaxies-smaller, often irregular galaxies, that contain
|
||||
hundreds of millions to a few billion stars. (Description from URL) <br><br>
|
||||
Data Reference: Properties of dwarf galaxies in the Local Group
|
||||
(McConnachie+, 2012)]],
|
||||
}
|
||||
Identifier = "LocalDwarfGalaxies",
|
||||
Renderable = {
|
||||
Type = "RenderableBillboardsCloud",
|
||||
Enabled = false,
|
||||
Color = { 0.5, 1.0, 0.2 },
|
||||
ColorMap = speck .. "/localgroup.cmap",
|
||||
ColorOption = { "association" },
|
||||
Opacity = 0.3,
|
||||
File = speck .. "/localgroup.speck",
|
||||
Texture = textures .. "/point4.png",
|
||||
PolygonSides = 12,
|
||||
LabelFile = speck .. "/localgroup.label",
|
||||
Unit = "Mpc",
|
||||
TextColor = { 0.3, 0.3, 1.0 },
|
||||
ScaleFactor = 465,
|
||||
TextSize = 18.3,
|
||||
TextMinMaxSize = { 7, 20 },
|
||||
BillboardMinMaxSize = { 0.0, 20.0 },
|
||||
EnablePixelSizeControl = true
|
||||
},
|
||||
GUI = {
|
||||
Name = "Local Group",
|
||||
Path = "/Universe/Galaxies",
|
||||
Description = [[Census: 102 galaxies. DU Version 6.4. <br> A group of galaxies is
|
||||
a small number of large galaxies that are typically surrounded by a large
|
||||
number of small galaxies. The Milky Way belongs to the Local Group, and is one
|
||||
of roughly 100 galaxies in that group. The Milky Way, the Andromeda Galaxy
|
||||
(also known as Messier 31, or M31), and the Triangulum Galaxy (M33) are three
|
||||
of the largest galaxies in the Local Group. Each is a spiral galaxy containing
|
||||
hundreds of billions of stars. Surrounding the Milky Way and Andromeda are a
|
||||
bevy of dwarf galaxies-smaller, often irregular galaxies, that contain
|
||||
hundreds of millions to a few billion stars. (Description from URL) <br><br>
|
||||
Data Reference: Properties of dwarf galaxies in the Local Group
|
||||
(McConnachie+, 2012)]],
|
||||
}
|
||||
}
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, { object })
|
||||
|
||||
|
||||
asset.meta = {
|
||||
Name = "Local Group",
|
||||
Version = "2.0",
|
||||
Description = [[Digital Universe asset for the Local Goup]],
|
||||
Author = "Brian Abbott (AMNH)",
|
||||
URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
|
||||
License = "AMNH Digital Universe",
|
||||
Identifiers = {"LocalDwarfGalaxies"}
|
||||
Name = "Local Group",
|
||||
Version = "2.0",
|
||||
Description = [[Digital Universe asset for the Local Goup]],
|
||||
Author = "Brian Abbott (AMNH)",
|
||||
URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
|
||||
License = "AMNH Digital Universe",
|
||||
Identifiers = {"LocalDwarfGalaxies"}
|
||||
}
|
||||
|
||||
@@ -6,30 +6,30 @@ local plane = {
|
||||
Identifier = "MilkyWayGalaxyImage",
|
||||
Parent = "Root",
|
||||
Renderable = {
|
||||
Type = "RenderablePlanesCloud",
|
||||
Enabled = true,
|
||||
Color = { 1.0, 1.0, 1.0 },
|
||||
Opacity = 0.99,
|
||||
ScaleFactor = 2.8,
|
||||
File = dataPaths.SpeckPath .. "/galaxy.speck",
|
||||
TexturePath = dataPaths.TexturesPath,
|
||||
Luminosity = "size",
|
||||
ScaleLuminosity = 1.0,
|
||||
FadeInDistances = { 3000.0, 50000.0 },
|
||||
PlaneMinSize = 5.0,
|
||||
Unit = "pc"
|
||||
Type = "RenderablePlanesCloud",
|
||||
Enabled = true,
|
||||
Color = { 1.0, 1.0, 1.0 },
|
||||
Opacity = 0.99,
|
||||
ScaleFactor = 2.8,
|
||||
File = dataPaths.SpeckPath .. "/galaxy.speck",
|
||||
TexturePath = dataPaths.TexturesPath,
|
||||
Luminosity = "size",
|
||||
ScaleLuminosity = 1.0,
|
||||
FadeInDistances = { 3000.0, 50000.0 },
|
||||
PlaneMinSize = 5.0,
|
||||
Unit = "pc"
|
||||
},
|
||||
GUI = {
|
||||
Name = "Milky Way Galaxy Image",
|
||||
Path = "/Universe/Galaxies",
|
||||
Description = [[Census: 1 image. DU Version 2.2. <br> The exterior view of the
|
||||
Milky Way is simply a two-dimensional image. The image is that of NGC 1232, a
|
||||
galaxy thought to resemble our Milky Way. The image has been properly sized
|
||||
and approximately oriented to function as a placeholder, allowing one to see
|
||||
the context of the Galaxy relative to other data in the atlas. The features
|
||||
you see in the image, of course, do not represent our Galaxy, per se, but
|
||||
resemble similar features found in our Galaxy.(Description from URL)
|
||||
<br><br> Data Reference: European Southern Observatory]]
|
||||
Name = "Milky Way Galaxy Image",
|
||||
Path = "/Universe/Galaxies",
|
||||
Description = [[Census: 1 image. DU Version 2.2. <br> The exterior view of the
|
||||
Milky Way is simply a two-dimensional image. The image is that of NGC 1232, a
|
||||
galaxy thought to resemble our Milky Way. The image has been properly sized
|
||||
and approximately oriented to function as a placeholder, allowing one to see
|
||||
the context of the Galaxy relative to other data in the atlas. The features
|
||||
you see in the image, of course, do not represent our Galaxy, per se, but
|
||||
resemble similar features found in our Galaxy.(Description from URL)
|
||||
<br><br> Data Reference: European Southern Observatory]]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -37,12 +37,12 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { plane })
|
||||
|
||||
|
||||
asset.meta = {
|
||||
Name = "MilkyWay Galaxy",
|
||||
Version = "2.0",
|
||||
Description = [[Digital Universe asset containt 2D image of the MilkyWay. For
|
||||
extragalactic viewing]],
|
||||
Author = "Brian Abbott, Carter Emmart (AMNH)",
|
||||
URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
|
||||
License = "AMNH Digital Universe",
|
||||
Identifiers = {"MilkyWayGalaxyImage"}
|
||||
Name = "MilkyWay Galaxy",
|
||||
Version = "2.0",
|
||||
Description = [[Digital Universe asset containt 2D image of the MilkyWay. For
|
||||
extragalactic viewing]],
|
||||
Author = "Brian Abbott, Carter Emmart (AMNH)",
|
||||
URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
|
||||
License = "AMNH Digital Universe",
|
||||
Identifiers = {"MilkyWayGalaxyImage"}
|
||||
}
|
||||
|
||||
@@ -3,61 +3,61 @@ local assetHelper = asset.require('util/asset_helper')
|
||||
local dataPaths = asset.require("scene/digitaluniverse/milkyway_data")
|
||||
|
||||
local plane = {
|
||||
Identifier = "MilkyWayGalaxyArmLabelsImage",
|
||||
Parent = "Root",
|
||||
Renderable = {
|
||||
Type = "RenderablePlanesCloud",
|
||||
Enabled = false,
|
||||
Color = { 1.0, 1.0, 1.0 },
|
||||
Opacity = 0.99,
|
||||
ScaleFactor = 2.8,
|
||||
File = dataPaths.SpeckPath .. "/galaxyArmLabels.speck",
|
||||
TexturePath = dataPaths.TexturesPath,
|
||||
Luminosity = "size",
|
||||
ScaleLuminosity = 1.0,
|
||||
FadeInDistances = { 3000.0, 50000.0 },
|
||||
PlaneMinSize = 5.0,
|
||||
Unit = "pc"
|
||||
},
|
||||
GUI = {
|
||||
Name = "Milky Way Arms Labels",
|
||||
Path = "/Universe/Galaxies",
|
||||
Description = [[ Census: 1 image. DU Version: 1.2. This image contains labels for
|
||||
the Milky Way's spiral arms. We label them in this manner ("hard coding" the
|
||||
labels into an image rather than having native labels) so that they can retain
|
||||
their size, shape, and location as they overlay the galaxy. (Description from
|
||||
Digital Universe Data Profiles)]],
|
||||
}
|
||||
Identifier = "MilkyWayGalaxyArmLabelsImage",
|
||||
Parent = "Root",
|
||||
Renderable = {
|
||||
Type = "RenderablePlanesCloud",
|
||||
Enabled = false,
|
||||
Color = { 1.0, 1.0, 1.0 },
|
||||
Opacity = 0.99,
|
||||
ScaleFactor = 2.8,
|
||||
File = dataPaths.SpeckPath .. "/galaxyArmLabels.speck",
|
||||
TexturePath = dataPaths.TexturesPath,
|
||||
Luminosity = "size",
|
||||
ScaleLuminosity = 1.0,
|
||||
FadeInDistances = { 3000.0, 50000.0 },
|
||||
PlaneMinSize = 5.0,
|
||||
Unit = "pc"
|
||||
},
|
||||
GUI = {
|
||||
Name = "Milky Way Arms Labels",
|
||||
Path = "/Universe/Galaxies",
|
||||
Description = [[ Census: 1 image. DU Version: 1.2. This image contains labels for
|
||||
the Milky Way's spiral arms. We label them in this manner ("hard coding" the
|
||||
labels into an image rather than having native labels) so that they can retain
|
||||
their size, shape, and location as they overlay the galaxy. (Description from
|
||||
Digital Universe Data Profiles)]],
|
||||
}
|
||||
}
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, { plane })
|
||||
|
||||
|
||||
asset.meta = {
|
||||
Name = "Milky Way Arms Labels",
|
||||
Version = "1.0",
|
||||
Description = [[ Image with arm labels for the Milky Way galaxy]],
|
||||
Author = "Brian Abbott (AMNH)",
|
||||
URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
|
||||
License = [[ Copyright © American Museum of Natural History. All rights reserved.
|
||||
<br><br> Downloading the Atlas: 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: 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: 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]],
|
||||
Identifiers = {"MilkyWayGalaxyArmLabelsImage"}
|
||||
Name = "Milky Way Arms Labels",
|
||||
Version = "1.0",
|
||||
Description = [[ Image with arm labels for the Milky Way galaxy]],
|
||||
Author = "Brian Abbott (AMNH)",
|
||||
URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
|
||||
License = [[ Copyright © American Museum of Natural History. All rights reserved.
|
||||
<br><br> Downloading the Atlas: 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: 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: 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]],
|
||||
Identifiers = {"MilkyWayGalaxyArmLabelsImage"}
|
||||
}
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
local planeTextures = asset.syncedResource({
|
||||
Name = "Milky Way Plane Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_milkyway_textures",
|
||||
Version = 2
|
||||
Name = "Milky Way Plane Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_milkyway_textures",
|
||||
Version = 2
|
||||
})
|
||||
|
||||
local planeSpeck = asset.syncedResource({
|
||||
Name = "Milky Way Plane Speck",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_milkyway_speck",
|
||||
Version = 1
|
||||
Name = "Milky Way Plane Speck",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_milkyway_speck",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
asset.export("TexturesPath", planeTextures)
|
||||
|
||||
@@ -4,54 +4,52 @@ local assetHelper = asset.require('util/asset_helper')
|
||||
|
||||
|
||||
local homespeck = asset.syncedResource({
|
||||
Name = "Home Speck File",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_home_speck",
|
||||
Version = 1
|
||||
Name = "Home Speck File",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_home_speck",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local homeLabel = {
|
||||
Identifier = "HomeLabel",
|
||||
Renderable = {
|
||||
Type = "RenderableBillboardsCloud",
|
||||
Enabled = false,
|
||||
Color = { 1.0, 0.4, 0.2 },
|
||||
Opacity = 0.99,
|
||||
ScaleFactor = 500.0,
|
||||
DrawLabels = true,
|
||||
LabelFile = homespeck .. "/home.label",
|
||||
TextColor = { 0.8, 0.8, 0.8 },
|
||||
TextSize = 20.50,
|
||||
TextMinSize = 16.0,
|
||||
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,
|
||||
EnablePixelSizeControl = true
|
||||
Identifier = "HomeLabel",
|
||||
Renderable = {
|
||||
Type = "RenderableBillboardsCloud",
|
||||
Enabled = false,
|
||||
Color = { 1.0, 0.4, 0.2 },
|
||||
Opacity = 0.99,
|
||||
ScaleFactor = 500.0,
|
||||
DrawLabels = true,
|
||||
LabelFile = homespeck .. "/home.label",
|
||||
Unit = "Mpc",
|
||||
TextColor = { 0.8, 0.8, 0.8 },
|
||||
TextSize = 20.50,
|
||||
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
|
||||
},
|
||||
GUI = {
|
||||
Name = "Home Label",
|
||||
Path = "/Universe/Galaxies",
|
||||
Description = [[Label for the Milky Way titled "Home", sided for the galactic
|
||||
level]],
|
||||
}
|
||||
FadeInDistances = { 0.05, 1.0 },
|
||||
BillboardMinMaxSize = { 0.0, 8.22 },
|
||||
EnablePixelSizeControl = true
|
||||
},
|
||||
GUI = {
|
||||
Name = "Home Label",
|
||||
Path = "/Universe/Galaxies",
|
||||
Description = [[Label for the Milky Way titled "Home", sided for the galactic level]],
|
||||
}
|
||||
}
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, { homeLabel })
|
||||
|
||||
|
||||
asset.meta = {
|
||||
Name = "Home Label",
|
||||
Version = "1.0",
|
||||
Description = [[Label for the Milky Way titled "Home", sided for the galactic level]],
|
||||
Author = "OpenSpace Team",
|
||||
URL = "http://openspaceproject.com",
|
||||
License = "MIT license",
|
||||
Identifiers = {"HomeLabel"}
|
||||
Name = "Home Label",
|
||||
Version = "1.0",
|
||||
Description = [[Label for the Milky Way titled "Home", sided for the galactic level]],
|
||||
Author = "OpenSpace Team",
|
||||
URL = "http://openspaceproject.com",
|
||||
License = "MIT license",
|
||||
Identifiers = {"HomeLabel"}
|
||||
}
|
||||
|
||||
@@ -3,50 +3,50 @@ local assetHelper = asset.require('util/asset_helper')
|
||||
|
||||
|
||||
local sphereTextures = asset.syncedResource({
|
||||
Name = "Milky Way Sphere Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "milkyway_textures",
|
||||
Version = 2
|
||||
Name = "Milky Way Sphere Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "milkyway_textures",
|
||||
Version = 2
|
||||
})
|
||||
|
||||
|
||||
local sphere = {
|
||||
Identifier = "MilkyWay",
|
||||
Transform = {
|
||||
Rotation = {
|
||||
Type = "StaticRotation",
|
||||
Rotation = {0, 0, 3.14159265359}
|
||||
}
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderableSphere",
|
||||
Size = 9.2E21,
|
||||
Segments = 40,
|
||||
Opacity = 0.35,
|
||||
Texture = sphereTextures .. "/DarkUniverse_mellinger_4k.jpg",
|
||||
Orientation = "Inside",
|
||||
UseAdditiveBlending = true,
|
||||
MirrorTexture = true,
|
||||
FadeOutThreshold = 0.0015,
|
||||
Background = true
|
||||
},
|
||||
GUI = {
|
||||
Name = "Milky Way Sphere",
|
||||
Path = "/Milky Way",
|
||||
Description = [[All sky image of the Milky Way that is visible when inside. Fades
|
||||
out when zooming away from the Milky Way]],
|
||||
Identifier = "MilkyWay",
|
||||
Transform = {
|
||||
Rotation = {
|
||||
Type = "StaticRotation",
|
||||
Rotation = {0, 0, 3.14159265359}
|
||||
}
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderableSphere",
|
||||
Size = 9.2E21,
|
||||
Segments = 40,
|
||||
Opacity = 0.35,
|
||||
Texture = sphereTextures .. "/DarkUniverse_mellinger_4k.jpg",
|
||||
Orientation = "Inside",
|
||||
UseAdditiveBlending = true,
|
||||
MirrorTexture = true,
|
||||
FadeOutThreshold = 0.0015,
|
||||
Background = true
|
||||
},
|
||||
GUI = {
|
||||
Name = "Milky Way Sphere",
|
||||
Path = "/Milky Way",
|
||||
Description = [[All sky image of the Milky Way that is visible when inside. Fades
|
||||
out when zooming away from the Milky Way]],
|
||||
}
|
||||
}
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, { sphere })
|
||||
|
||||
|
||||
asset.meta = {
|
||||
Name = "Milky Way Galaxy Sphere",
|
||||
Version = "2.0",
|
||||
Description = [[All sky image of the Milky Way]],
|
||||
Author = "OpenSpace Team",
|
||||
URL = "http://openspaceproject.com",
|
||||
License = "MIT license",
|
||||
Identifiers = {"MilkyWay"}
|
||||
Name = "Milky Way Galaxy Sphere",
|
||||
Version = "2.0",
|
||||
Description = [[All sky image of the Milky Way]],
|
||||
Author = "OpenSpace Team",
|
||||
URL = "http://openspaceproject.com",
|
||||
License = "MIT license",
|
||||
Identifiers = {"MilkyWay"}
|
||||
}
|
||||
|
||||
@@ -3,69 +3,68 @@ local assetHelper = asset.require('util/asset_helper')
|
||||
|
||||
|
||||
local textures = asset.syncedResource({
|
||||
Name = "OB Associations Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_obassociations_textures",
|
||||
Version = 1
|
||||
Name = "OB Associations Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_obassociations_textures",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local speck = asset.syncedResource({
|
||||
Name = "OB Associations Speck Files",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_obassociations_speck",
|
||||
Version = 3
|
||||
Name = "OB Associations Speck Files",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_obassociations_speck",
|
||||
Version = 3
|
||||
})
|
||||
|
||||
local object = {
|
||||
Identifier = "OBAssociations",
|
||||
Renderable = {
|
||||
Type = "RenderableBillboardsCloud",
|
||||
Enabled = false,
|
||||
Color = { 1.0, 1.0, 1.0 },
|
||||
ColorMap = speck .. "/ob.cmap",
|
||||
ColorOption = { "arm" },
|
||||
SizeOption = {"diameter"},
|
||||
ExactColorMap = true,
|
||||
Opacity = 0.7,
|
||||
File = speck .. "/ob.speck",
|
||||
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,
|
||||
EnablePixelSizeControl = true
|
||||
},
|
||||
GUI = {
|
||||
Name = "OB Associations",
|
||||
Path = "/Milky Way",
|
||||
Description = [[Census: 61 OB associations. DU Version 2.4. <br> OB associations
|
||||
are young groups of stars that were formed within a giant molecular cloud, but
|
||||
have dispersed after the original gas and dust from the cloud was blown away
|
||||
by the star's radiation pressure. Although an association's stars are no
|
||||
longer gravitationally bound to one another, they share a common motion in
|
||||
space because they were formed from the same cloud. This allows astronomers to
|
||||
easily determine OB association membership stars. These objects are color
|
||||
coded by their spiral arm membership. Blue associations trace the Sagittarius
|
||||
Arm. Purple associations are in the local Orion Spur. Orange associations are
|
||||
in the Perseus Arm (Description from URL) <br><br> Data Reference: New List of
|
||||
OB Associations (Melnik+)]],
|
||||
}
|
||||
Identifier = "OBAssociations",
|
||||
Renderable = {
|
||||
Type = "RenderableBillboardsCloud",
|
||||
Enabled = false,
|
||||
Color = { 1.0, 1.0, 1.0 },
|
||||
ColorMap = speck .. "/ob.cmap",
|
||||
ColorOption = { "arm" },
|
||||
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,
|
||||
TextMinMaxSize = { 4, 25 },
|
||||
BillboardMinMaxSize = { 0.0, 450.0 },
|
||||
EnablePixelSizeControl = true
|
||||
},
|
||||
GUI = {
|
||||
Name = "OB Associations",
|
||||
Path = "/Milky Way",
|
||||
Description = [[Census: 61 OB associations. DU Version 2.4. <br> OB associations
|
||||
are young groups of stars that were formed within a giant molecular cloud, but
|
||||
have dispersed after the original gas and dust from the cloud was blown away
|
||||
by the star's radiation pressure. Although an association's stars are no
|
||||
longer gravitationally bound to one another, they share a common motion in
|
||||
space because they were formed from the same cloud. This allows astronomers to
|
||||
easily determine OB association membership stars. These objects are color
|
||||
coded by their spiral arm membership. Blue associations trace the Sagittarius
|
||||
Arm. Purple associations are in the local Orion Spur. Orange associations are
|
||||
in the Perseus Arm (Description from URL) <br><br> Data Reference: New List of
|
||||
OB Associations (Melnik+)]],
|
||||
}
|
||||
}
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, { object })
|
||||
|
||||
|
||||
asset.meta = {
|
||||
Name = "OB Associations",
|
||||
Version = "2.0",
|
||||
Description = [[Digital Universe asset for OB Associations]],
|
||||
Author = "Brian Abbott (AMNH)",
|
||||
URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
|
||||
License = "AMNH Digital Universe",
|
||||
Identifiers = {"OBAssociations"}
|
||||
Name = "OB Associations",
|
||||
Version = "2.0",
|
||||
Description = [[Digital Universe asset for OB Associations]],
|
||||
Author = "Brian Abbott (AMNH)",
|
||||
URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
|
||||
License = "AMNH Digital Universe",
|
||||
Identifiers = {"OBAssociations"}
|
||||
}
|
||||
|
||||
@@ -3,65 +3,64 @@ local assetHelper = asset.require('util/asset_helper')
|
||||
|
||||
|
||||
local textures = asset.syncedResource({
|
||||
Name = "Open Clusters Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_openclusters_textures",
|
||||
Version = 1
|
||||
Name = "Open Clusters Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_openclusters_textures",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local speck = asset.syncedResource({
|
||||
Name = "Open Clusters Speck Files",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_openclusters_speck",
|
||||
Version = 2
|
||||
Name = "Open Clusters Speck Files",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_openclusters_speck",
|
||||
Version = 2
|
||||
})
|
||||
|
||||
local object = {
|
||||
Identifier = "OpenStarClusters",
|
||||
Renderable = {
|
||||
Type = "RenderableBillboardsCloud",
|
||||
Enabled = false,
|
||||
Color = { 0.1, 0.8, 0.4 },
|
||||
Opacity = 0.5,
|
||||
File = speck .. "/oc.speck",
|
||||
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,
|
||||
EnablePixelSizeControl = true
|
||||
},
|
||||
GUI = {
|
||||
Name = "Open Star Clusters",
|
||||
Path = "/Milky Way",
|
||||
Description = [[Census: 2,040 clusters. DU Version 5.7. <br> OB associations are
|
||||
young groups of stars that were formed within a giant molecular cloud, but
|
||||
have dispersed after the original gas and dust from the cloud was blown away
|
||||
by the star's radiation pressure. Although an association's stars are no
|
||||
longer gravitationally bound to one another, they share a common motion in
|
||||
space because they were formed from the same cloud. This allows astronomers to
|
||||
easily determine OB association membership stars. These objects are color
|
||||
coded by their spiral arm membership. Blue associations trace the Sagittarius
|
||||
Arm. Purple associations are in the local Orion Spur. Orange associations are
|
||||
in the Perseus Arm (Description from URL) <br><br> Data Reference: Optically
|
||||
visible open clusters and Candidates (Dias+ 2002-2015)]],
|
||||
}
|
||||
Identifier = "OpenStarClusters",
|
||||
Renderable = {
|
||||
Type = "RenderableBillboardsCloud",
|
||||
Enabled = false,
|
||||
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,
|
||||
TextMinMaxSize = { 4, 30 },
|
||||
BillboardMinMaxSize = { 0.0, 604.0 },
|
||||
EnablePixelSizeControl = true
|
||||
},
|
||||
GUI = {
|
||||
Name = "Open Star Clusters",
|
||||
Path = "/Milky Way",
|
||||
Description = [[Census: 2,040 clusters. DU Version 5.7. <br> OB associations are
|
||||
young groups of stars that were formed within a giant molecular cloud, but
|
||||
have dispersed after the original gas and dust from the cloud was blown away
|
||||
by the star's radiation pressure. Although an association's stars are no
|
||||
longer gravitationally bound to one another, they share a common motion in
|
||||
space because they were formed from the same cloud. This allows astronomers to
|
||||
easily determine OB association membership stars. These objects are color
|
||||
coded by their spiral arm membership. Blue associations trace the Sagittarius
|
||||
Arm. Purple associations are in the local Orion Spur. Orange associations are
|
||||
in the Perseus Arm (Description from URL) <br><br> Data Reference: Optically
|
||||
visible open clusters and Candidates (Dias+ 2002-2015)]],
|
||||
}
|
||||
}
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, { object })
|
||||
|
||||
|
||||
asset.meta = {
|
||||
Name = "Open Star Clusters",
|
||||
Version = "2.0",
|
||||
Description = [[Digital Universe asset for Open Star Clusters]],
|
||||
Author = "Brian Abbott (AMNH)",
|
||||
URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
|
||||
License = "AMNH Digital Universe",
|
||||
Identifiers = {"OpenStarClusters"}
|
||||
Name = "Open Star Clusters",
|
||||
Version = "2.0",
|
||||
Description = [[Digital Universe asset for Open Star Clusters]],
|
||||
Author = "Brian Abbott (AMNH)",
|
||||
URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
|
||||
License = "AMNH Digital Universe",
|
||||
Identifiers = {"OpenStarClusters"}
|
||||
}
|
||||
|
||||
@@ -3,62 +3,61 @@ local assetHelper = asset.require('util/asset_helper')
|
||||
|
||||
|
||||
local textures = asset.syncedResource({
|
||||
Name = "Planetary Nebulae Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_planetarynebulae_textures",
|
||||
Version = 1
|
||||
Name = "Planetary Nebulae Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_planetarynebulae_textures",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local speck = asset.syncedResource({
|
||||
Name = "Planetary Nebulae Speck Files",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_planetarynebulae_speck",
|
||||
Version = 2
|
||||
Name = "Planetary Nebulae Speck Files",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_planetarynebulae_speck",
|
||||
Version = 2
|
||||
})
|
||||
|
||||
local object = {
|
||||
Identifier = "PlanetaryNebulae",
|
||||
Renderable = {
|
||||
Type = "RenderableBillboardsCloud",
|
||||
Enabled = false,
|
||||
Color = { 0.4, 0.4, 0.9 },
|
||||
Opacity = 0.65,
|
||||
File = speck .. "/pn.speck",
|
||||
Texture = textures .. "/point4.png",
|
||||
PolygonSides = 3,
|
||||
LabelFile = speck .. "/pn.label",
|
||||
TextColor = { 0.25, 0.25, 0.65 },
|
||||
ScaleFactor = 425.0,
|
||||
TextSize = 16.24,
|
||||
TextMinSize = 4.5,
|
||||
TextMaxSize = 25.0,
|
||||
Unit = "pc",
|
||||
BillboardMaxSize = 500,
|
||||
EnablePixelSizeControl = true
|
||||
},
|
||||
GUI = {
|
||||
Name = "Planetary Nebulae",
|
||||
Path = "/Milky Way",
|
||||
Description = [[Census: 283 nebulae. DU Version 2.8. <br> A planetary nebula is an
|
||||
expanding shell of gas ejected from a star late in its life cycle. Appearing
|
||||
like greenish disks to a telescopic observer, planetary nebulae received their
|
||||
name from their resemblance to the gaseous planets of our solar system. In no
|
||||
way are they related to planets, rather, they are products of dying stars.
|
||||
(Description from URL) <br><br> Data Reference: Planetary Nebulae distances
|
||||
in Gaia DR2 (Kimeswenger+, 2018), Strasbourg-ESO Catalog of Planetary Nebulae
|
||||
(Acker+ 1992)]],
|
||||
}
|
||||
Identifier = "PlanetaryNebulae",
|
||||
Renderable = {
|
||||
Type = "RenderableBillboardsCloud",
|
||||
Enabled = false,
|
||||
Color = { 0.4, 0.4, 0.9 },
|
||||
Opacity = 0.65,
|
||||
File = speck .. "/pn.speck",
|
||||
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,
|
||||
TextMinMaxSize = { 4, 25 },
|
||||
BillboardMinMaxSize = { 0.0, 500.0 },
|
||||
EnablePixelSizeControl = true
|
||||
},
|
||||
GUI = {
|
||||
Name = "Planetary Nebulae",
|
||||
Path = "/Milky Way",
|
||||
Description = [[Census: 283 nebulae. DU Version 2.8. <br> A planetary nebula is an
|
||||
expanding shell of gas ejected from a star late in its life cycle. Appearing
|
||||
like greenish disks to a telescopic observer, planetary nebulae received their
|
||||
name from their resemblance to the gaseous planets of our solar system. In no
|
||||
way are they related to planets, rather, they are products of dying stars.
|
||||
(Description from URL) <br><br> Data Reference: Planetary Nebulae distances
|
||||
in Gaia DR2 (Kimeswenger+, 2018), Strasbourg-ESO Catalog of Planetary Nebulae
|
||||
(Acker+ 1992)]],
|
||||
}
|
||||
}
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, { object })
|
||||
|
||||
|
||||
asset.meta = {
|
||||
Name = "Planetary Nebulae",
|
||||
Version = "2.0",
|
||||
Description = [[Digital Universe asset for Planetary Nebulae]],
|
||||
Author = "Brian Abbott (AMNH)",
|
||||
URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
|
||||
License = "AMNH Digital Universe",
|
||||
Identifiers = {"PlanetaryNebulae"}
|
||||
Name = "Planetary Nebulae",
|
||||
Version = "2.0",
|
||||
Description = [[Digital Universe asset for Planetary Nebulae]],
|
||||
Author = "Brian Abbott (AMNH)",
|
||||
URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
|
||||
License = "AMNH Digital Universe",
|
||||
Identifiers = {"PlanetaryNebulae"}
|
||||
}
|
||||
|
||||
@@ -3,66 +3,65 @@ local assetHelper = asset.require('util/asset_helper')
|
||||
|
||||
|
||||
local textures = asset.syncedResource({
|
||||
Name = "Pulsars Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_pulsars_textures",
|
||||
Version = 1
|
||||
Name = "Pulsars Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_pulsars_textures",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local speck = asset.syncedResource({
|
||||
Name = "Pulsars Speck Files",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_pulsars_speck",
|
||||
Version = 2
|
||||
Name = "Pulsars Speck Files",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_pulsars_speck",
|
||||
Version = 2
|
||||
})
|
||||
|
||||
local object = {
|
||||
Identifier = "Pulsars",
|
||||
Renderable = {
|
||||
Type = "RenderableBillboardsCloud",
|
||||
Enabled = false,
|
||||
Color = { 0.7, 0.0, 0.0 },
|
||||
Opacity = 1.0,
|
||||
File = speck .. "/pulsar.speck",
|
||||
Texture = textures .. "/point4.png",
|
||||
PolygonSides = 4,
|
||||
LabelFile = speck .. "/pulsar.label",
|
||||
TextColor = { 0.7, 0.2, 0.2 },
|
||||
ScaleFactor = 424,
|
||||
TextSize = 15.77,
|
||||
TextMinSize = 4,
|
||||
TextMaxSize = 20.0,
|
||||
Unit = "pc",
|
||||
BillboardMaxSize = 500,
|
||||
EnablePixelSizeControl = false
|
||||
},
|
||||
GUI = {
|
||||
Name = "Pulsars",
|
||||
Path = "/Milky Way",
|
||||
Description = [[Census: 2,498 pulsars. DU Version 5.6. <br> Upon death, stars
|
||||
leave behind one of three possible remnants: a white dwarf, a neutron star, or
|
||||
a black hole. Stars that are more massive than the sun will often become
|
||||
neutron stars in a violent explosion called a supernova. During a supernova,
|
||||
the core of the star collapses under such high pressure that the electrons,
|
||||
which normally remain outside the atomic nucleus, are forced to combine with
|
||||
the protons in the nucleus. Atomic nuclei break apart, producing what is
|
||||
called a degenerate state of matter. The collapse is halted when the material
|
||||
cannot be packed any tighter. At this point, the star has a radius of about
|
||||
10-15 kilometers. The density of this material is so high that a teaspoonful
|
||||
would weigh about 100 million tons on Earth. (Description from URL) <br><br>
|
||||
Data Reference: ATNF Pulsar Catalogue, (Manchester+, 2005)]],
|
||||
}
|
||||
Identifier = "Pulsars",
|
||||
Renderable = {
|
||||
Type = "RenderableBillboardsCloud",
|
||||
Enabled = false,
|
||||
Color = { 0.7, 0.0, 0.0 },
|
||||
Opacity = 1.0,
|
||||
File = speck .. "/pulsar.speck",
|
||||
Texture = textures .. "/point4.png",
|
||||
PolygonSides = 4,
|
||||
LabelFile = speck .. "/pulsar.label",
|
||||
Unit = "pc",
|
||||
TextColor = { 0.7, 0.2, 0.2 },
|
||||
ScaleFactor = 424,
|
||||
TextSize = 15.77,
|
||||
TextMinMaxSize = { 4, 20 },
|
||||
BillboardMinMaxSize = { 0.0, 500.0 },
|
||||
EnablePixelSizeControl = false
|
||||
},
|
||||
GUI = {
|
||||
Name = "Pulsars",
|
||||
Path = "/Milky Way",
|
||||
Description = [[Census: 2,498 pulsars. DU Version 5.6. <br> Upon death, stars
|
||||
leave behind one of three possible remnants: a white dwarf, a neutron star, or
|
||||
a black hole. Stars that are more massive than the sun will often become
|
||||
neutron stars in a violent explosion called a supernova. During a supernova,
|
||||
the core of the star collapses under such high pressure that the electrons,
|
||||
which normally remain outside the atomic nucleus, are forced to combine with
|
||||
the protons in the nucleus. Atomic nuclei break apart, producing what is
|
||||
called a degenerate state of matter. The collapse is halted when the material
|
||||
cannot be packed any tighter. At this point, the star has a radius of about
|
||||
10-15 kilometers. The density of this material is so high that a teaspoonful
|
||||
would weigh about 100 million tons on Earth. (Description from URL) <br><br>
|
||||
Data Reference: ATNF Pulsar Catalogue, (Manchester+, 2005)]],
|
||||
}
|
||||
}
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, { object })
|
||||
|
||||
|
||||
asset.meta = {
|
||||
Name = "Pulsars",
|
||||
Version = "2.0",
|
||||
Description = [[Digital Universe asset for Pulsars.]],
|
||||
Author = "Brian Abbott (AMNH)",
|
||||
URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
|
||||
License = "AMNH Digital Universe",
|
||||
Identifiers = {"Pulsars"}
|
||||
Name = "Pulsars",
|
||||
Version = "2.0",
|
||||
Description = [[Digital Universe asset for Pulsars.]],
|
||||
Author = "Brian Abbott (AMNH)",
|
||||
URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
|
||||
License = "AMNH Digital Universe",
|
||||
Identifiers = {"Pulsars"}
|
||||
}
|
||||
|
||||
@@ -3,60 +3,57 @@ local assetHelper = asset.require('util/asset_helper')
|
||||
|
||||
|
||||
local textures = asset.syncedResource({
|
||||
Name = "Quasars Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_quasars_textures",
|
||||
Version = 2
|
||||
Name = "Quasars Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_quasars_textures",
|
||||
Version = 2
|
||||
})
|
||||
|
||||
local speck = asset.syncedResource({
|
||||
Name = "Quasars Speck Files",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_quasars_speck",
|
||||
Version = 2
|
||||
Name = "Quasars Speck Files",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_quasars_speck",
|
||||
Version = 2
|
||||
})
|
||||
|
||||
local object = {
|
||||
Identifier = "Quasars",
|
||||
Renderable = {
|
||||
Type = "RenderableBillboardsCloud",
|
||||
Enabled = true,
|
||||
Color = { 1.0, 0.4, 0.2 },
|
||||
Opacity = 0.95,
|
||||
File = speck .. "/quasars.speck",
|
||||
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,
|
||||
EnablePixelSizeControl = true
|
||||
},
|
||||
GUI = {
|
||||
Name = "Quasars",
|
||||
Path = "/Universe",
|
||||
Description = [[Census: 569,442 quasars. DU Version 2.2. <br>
|
||||
Quasars are the most distant objects we can see. They are extremely active
|
||||
galaxies that contain supermassive black holes which are gobbling up material
|
||||
at a furious rate. The Million Quasars Catalogue is an aggregate catalog of
|
||||
several surveys, including 2dF and Sloan. So, it should not be surprising that
|
||||
the shape of these data mimic the shape of the Sloan and 2dF galaxy surveys,
|
||||
with large parts of the sky unobserved.(Description from URL) <br><br> Data
|
||||
Reference: The Million Quasars catalog (Flesch, 2017)]]
|
||||
}
|
||||
Identifier = "Quasars",
|
||||
Renderable = {
|
||||
Type = "RenderableBillboardsCloud",
|
||||
Enabled = true,
|
||||
Color = { 1.0, 0.4, 0.2 },
|
||||
Opacity = 0.95,
|
||||
File = speck .. "/quasars.speck",
|
||||
Texture = textures .. "/point3A.png",
|
||||
Unit = "Mpc",
|
||||
ScaleFactor = 540.9,
|
||||
FadeInDistances = { 1000.0, 10000.0 }, -- Fade in value in the same unit as "Unit"
|
||||
BillboardMinMaxSize = { 0.0, 11.1 },
|
||||
EnablePixelSizeControl = true
|
||||
},
|
||||
GUI = {
|
||||
Name = "Quasars",
|
||||
Path = "/Universe",
|
||||
Description = [[Census: 569,442 quasars. DU Version 2.2. <br>
|
||||
Quasars are the most distant objects we can see. They are extremely active
|
||||
galaxies that contain supermassive black holes which are gobbling up material
|
||||
at a furious rate. The Million Quasars Catalogue is an aggregate catalog of
|
||||
several surveys, including 2dF and Sloan. So, it should not be surprising that
|
||||
the shape of these data mimic the shape of the Sloan and 2dF galaxy surveys,
|
||||
with large parts of the sky unobserved.(Description from URL) <br><br> Data
|
||||
Reference: The Million Quasars catalog (Flesch, 2017)]]
|
||||
}
|
||||
}
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, { object })
|
||||
|
||||
|
||||
asset.meta = {
|
||||
Name = "Quasars",
|
||||
Version = "2.0",
|
||||
Description = [[Digital Universe asset for Quasars.]],
|
||||
Author = "Brian Abbott (AMNH)",
|
||||
URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
|
||||
License = "AMNH Digital Universe",
|
||||
Identifiers = {"Quasars"}
|
||||
Name = "Quasars",
|
||||
Version = "2.0",
|
||||
Description = [[Digital Universe asset for Quasars.]],
|
||||
Author = "Brian Abbott (AMNH)",
|
||||
URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
|
||||
License = "AMNH Digital Universe",
|
||||
Identifiers = {"Quasars"}
|
||||
}
|
||||
|
||||
@@ -3,75 +3,71 @@ local assetHelper = asset.require('util/asset_helper')
|
||||
|
||||
|
||||
local textures = asset.syncedResource({
|
||||
Name = "Sloan Digital Sky Survey Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_sloandss_textures",
|
||||
Version = 2
|
||||
Name = "Sloan Digital Sky Survey Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_sloandss_textures",
|
||||
Version = 2
|
||||
})
|
||||
|
||||
local speck = asset.syncedResource({
|
||||
Name = "Sloan Digital Sky Survey Speck Files",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_sloandss_speck",
|
||||
Version = 2
|
||||
Name = "Sloan Digital Sky Survey Speck Files",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_sloandss_speck",
|
||||
Version = 2
|
||||
})
|
||||
|
||||
local object = {
|
||||
Identifier = "SloanDigitalSkySurvey",
|
||||
Renderable = {
|
||||
Type = "RenderableBillboardsCloud",
|
||||
Enabled = true,
|
||||
Color = { 0.8, 0.8, 1.0 },
|
||||
Opacity = 0.8,
|
||||
ScaleFactor = 520.0,
|
||||
File = speck .. "/SDSSgals.speck",
|
||||
ColorMap = speck .. "/SDSSgals.cmap",
|
||||
ColorOption = { "redshift", "proximity" },
|
||||
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,
|
||||
CorrectionSizeEndDistance = 20.65,
|
||||
CorrectionSizeFactor = 10.41,
|
||||
TextSize = 14.8,
|
||||
TextMinSize = 10.0,
|
||||
TextMaxSize = 50.0,
|
||||
BillboardMaxSize = 5.5,
|
||||
EnablePixelSizeControl = true
|
||||
},
|
||||
GUI = {
|
||||
Name = "Sloan Digital Sky Survey",
|
||||
Path = "/Universe/Galaxies",
|
||||
Description = [[Census: 2,600,258 galaxies. DU Version 10.6.<br> The Sloan Digital
|
||||
Sky Survey (SDSS) is an ambitious project to image about 35% of the sky, deep
|
||||
into the universe. The survey measured the position and brightness of almost 1
|
||||
billion objects, and obtained spectra to more than 4 million objects. This is
|
||||
not an all-sky survey, so there are large parts of the sky that remain
|
||||
unobserved, which produces the bow tie distribution and the black areas where
|
||||
there surely are galaxies, but we have yet to observe them. These galaxies
|
||||
appear to extend beyond the 2dF survey to distances that exceed 5 billion
|
||||
light years. However, the weblike structure of clusters, filaments, and voids
|
||||
seems to fade by about 2 billion light years. Beyond this distance, the
|
||||
completeness of the survey drops so that only the intrinsically bright
|
||||
galaxies are visible. The weblike cosmic structure is echoed in these data,
|
||||
with orange clusters standing out among the less dense aqua-colored galaxies
|
||||
and the less dense regions of green-colored galaxies. (Description from URL)
|
||||
<br><br> Data Reference: Sloan Digital Sky Survey (http://www.sdss.org/)]]
|
||||
}
|
||||
Identifier = "SloanDigitalSkySurvey",
|
||||
Renderable = {
|
||||
Type = "RenderableBillboardsCloud",
|
||||
Enabled = true,
|
||||
Color = { 0.8, 0.8, 1.0 },
|
||||
Opacity = 0.8,
|
||||
ScaleFactor = 520.0,
|
||||
File = speck .. "/SDSSgals.speck",
|
||||
ColorMap = speck .. "/SDSSgals.cmap",
|
||||
ColorOption = { "redshift", "proximity" },
|
||||
ColorRange = { { 0.0, 0.075 }, { 1.0, 50.0 } },
|
||||
Texture = textures .. "/point3A.png",
|
||||
Unit = "Mpc",
|
||||
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,
|
||||
TextMinMaxSize = { 10, 50 },
|
||||
EnablePixelSizeControl = true
|
||||
},
|
||||
GUI = {
|
||||
Name = "Sloan Digital Sky Survey",
|
||||
Path = "/Universe/Galaxies",
|
||||
Description = [[Census: 2,600,258 galaxies. DU Version 10.6.<br> The Sloan Digital
|
||||
Sky Survey (SDSS) is an ambitious project to image about 35% of the sky, deep
|
||||
into the universe. The survey measured the position and brightness of almost 1
|
||||
billion objects, and obtained spectra to more than 4 million objects. This is
|
||||
not an all-sky survey, so there are large parts of the sky that remain
|
||||
unobserved, which produces the bow tie distribution and the black areas where
|
||||
there surely are galaxies, but we have yet to observe them. These galaxies
|
||||
appear to extend beyond the 2dF survey to distances that exceed 5 billion
|
||||
light years. However, the weblike structure of clusters, filaments, and voids
|
||||
seems to fade by about 2 billion light years. Beyond this distance, the
|
||||
completeness of the survey drops so that only the intrinsically bright
|
||||
galaxies are visible. The weblike cosmic structure is echoed in these data,
|
||||
with orange clusters standing out among the less dense aqua-colored galaxies
|
||||
and the less dense regions of green-colored galaxies. (Description from URL)
|
||||
<br><br> Data Reference: Sloan Digital Sky Survey (http://www.sdss.org/)]]
|
||||
}
|
||||
}
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, { object })
|
||||
|
||||
|
||||
asset.meta = {
|
||||
Name = "Sloan Digital Sky Survey",
|
||||
Version = "2.0",
|
||||
Description = [[Digital Universe asset for The Sloan Digital Sky Survey (SDSS).]],
|
||||
Author = "Brian Abbott (AMNH)",
|
||||
URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
|
||||
License = "AMNH Digital Universe",
|
||||
Identifiers = {"SloanDigitalSkySurvey"}
|
||||
Name = "Sloan Digital Sky Survey",
|
||||
Version = "2.0",
|
||||
Description = [[Digital Universe asset for The Sloan Digital Sky Survey (SDSS).]],
|
||||
Author = "Brian Abbott (AMNH)",
|
||||
URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
|
||||
License = "AMNH Digital Universe",
|
||||
Identifiers = {"SloanDigitalSkySurvey"}
|
||||
}
|
||||
|
||||
@@ -3,44 +3,42 @@ local assetHelper = asset.require('util/asset_helper')
|
||||
|
||||
|
||||
local speck = asset.syncedResource({
|
||||
Name = "Star Labels Speck Files",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_starlabels_speck",
|
||||
Version = 2
|
||||
Name = "Star Labels Speck Files",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_starlabels_speck",
|
||||
Version = 2
|
||||
})
|
||||
|
||||
local object = {
|
||||
Identifier = "StarsLabels",
|
||||
Renderable = {
|
||||
Type = "RenderableBillboardsCloud",
|
||||
Enabled = false,
|
||||
Color = { 1.0, 1.0, 1.0 },
|
||||
Opacity = 0.65,
|
||||
LabelFile = speck .. "/stars.label",
|
||||
TextColor = { 0.4, 0.4, 0.4 },
|
||||
DrawLabels = true,
|
||||
TextSize = 14.7,
|
||||
TextMinSize = 6.0,
|
||||
TextMaxSize = 50.0,
|
||||
Unit = "pc"
|
||||
},
|
||||
GUI = {
|
||||
Name = "Stars Labels",
|
||||
Path = "/Milky Way/Stars",
|
||||
Description = [[Labels for stars in the Milky Way. See 'Stars' for more
|
||||
info.]],
|
||||
}
|
||||
Identifier = "StarsLabels",
|
||||
Renderable = {
|
||||
Type = "RenderableBillboardsCloud",
|
||||
Enabled = false,
|
||||
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,
|
||||
TextMinMaxSize = { 6, 50 }
|
||||
},
|
||||
GUI = {
|
||||
Name = "Stars Labels",
|
||||
Path = "/Milky Way/Stars",
|
||||
Description = [[Labels for stars in the Milky Way. See 'Stars' for more info.]],
|
||||
}
|
||||
}
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, { object })
|
||||
|
||||
|
||||
asset.meta = {
|
||||
Name = "Star Labels",
|
||||
Version = "2.0",
|
||||
Description = [[Digital Universe asset for labels of the stars.]],
|
||||
Author = "Brian Abbott (AMNH)",
|
||||
URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
|
||||
License = "AMNH Digital Universe",
|
||||
Identifiers = {"StarsLabels"}
|
||||
Name = "Star Labels",
|
||||
Version = "2.0",
|
||||
Description = [[Digital Universe asset for labels of the stars.]],
|
||||
Author = "Brian Abbott (AMNH)",
|
||||
URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
|
||||
License = "AMNH Digital Universe",
|
||||
Identifiers = {"StarsLabels"}
|
||||
}
|
||||
|
||||
@@ -4,189 +4,181 @@ local earth_transforms = asset.require('scene/solarsystem/planets/earth/transfor
|
||||
|
||||
|
||||
local speck = asset.syncedResource({
|
||||
Name = "Grids Speck Files",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_starorbits_speck",
|
||||
Version = 1
|
||||
Name = "Grids Speck Files",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_starorbits_speck",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local sunOrbit = {
|
||||
Identifier = "SunOrbit",
|
||||
--Parent = transforms.SolarSystemBarycenter.Name,
|
||||
Renderable = {
|
||||
Type = "RenderableDUMeshes",
|
||||
Enabled = false,
|
||||
Opacity = 1.0,
|
||||
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,
|
||||
Unit = "pc"
|
||||
},
|
||||
GUI = {
|
||||
Name = "Sun Orbit",
|
||||
Path = "/Milky Way/Stars/Stars Orbits",
|
||||
Description = [["Orbits of the Sun around the Milky Way"]]
|
||||
}
|
||||
Identifier = "SunOrbit",
|
||||
--Parent = transforms.SolarSystemBarycenter.Name,
|
||||
Renderable = {
|
||||
Type = "RenderableDUMeshes",
|
||||
Enabled = false,
|
||||
Opacity = 1.0,
|
||||
File = speck .. "/starorbits-Sun.speck",
|
||||
MeshColor = {{ 1.0, 0.65, 0.0 }},
|
||||
--LabelFile = speck .. "/1ld.label",
|
||||
-- TextColor = { 0.0, 0.2, 0.5 },
|
||||
-- TextMinMaxSize = { 0, 30 },
|
||||
Unit = "pc"
|
||||
},
|
||||
GUI = {
|
||||
Name = "Sun Orbit",
|
||||
Path = "/Milky Way/Stars/Stars Orbits",
|
||||
Description = [["Orbits of the Sun around the Milky Way"]]
|
||||
}
|
||||
}
|
||||
|
||||
local barnardsOrbit = {
|
||||
Identifier = "BarnardsOrbit",
|
||||
--Parent = transforms.SolarSystemBarycenter.Name,
|
||||
Renderable = {
|
||||
Type = "RenderableDUMeshes",
|
||||
Enabled = false,
|
||||
Opacity = 1.0,
|
||||
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,
|
||||
Unit = "pc"
|
||||
},
|
||||
GUI = {
|
||||
Name = "Barnards Orbit",
|
||||
Path = "/Milky Way/Stars/Stars Orbits",
|
||||
Description = [["Orbits of Barnard's Star around the Milky Way"]]
|
||||
}
|
||||
Identifier = "BarnardsOrbit",
|
||||
--Parent = transforms.SolarSystemBarycenter.Name,
|
||||
Renderable = {
|
||||
Type = "RenderableDUMeshes",
|
||||
Enabled = false,
|
||||
Opacity = 1.0,
|
||||
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,
|
||||
-- TextMinMaxSize = { 0, 30 },
|
||||
Unit = "pc"
|
||||
},
|
||||
GUI = {
|
||||
Name = "Barnards Orbit",
|
||||
Path = "/Milky Way/Stars/Stars Orbits",
|
||||
Description = [["Orbits of Barnard's Star around the Milky Way"]]
|
||||
}
|
||||
}
|
||||
|
||||
local kapteynsOrbit = {
|
||||
Identifier = "KapteynsOrbit",
|
||||
--Parent = transforms.SolarSystemBarycenter.Name,
|
||||
Renderable = {
|
||||
Type = "RenderableDUMeshes",
|
||||
Enabled = false,
|
||||
Opacity = 1.0,
|
||||
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,
|
||||
Unit = "pc"
|
||||
},
|
||||
GUI = {
|
||||
Name = "Kapteyns Orbit",
|
||||
Path = "/Milky Way/Stars/Stars Orbits",
|
||||
Description = [["Orbits of Kapteyn's Star around the Milky Way"]]
|
||||
}
|
||||
Identifier = "KapteynsOrbit",
|
||||
--Parent = transforms.SolarSystemBarycenter.Name,
|
||||
Renderable = {
|
||||
Type = "RenderableDUMeshes",
|
||||
Enabled = false,
|
||||
Opacity = 1.0,
|
||||
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,
|
||||
-- TextMinMaxSize = { 0, 30 },
|
||||
Unit = "pc"
|
||||
},
|
||||
GUI = {
|
||||
Name = "Kapteyns Orbit",
|
||||
Path = "/Milky Way/Stars/Stars Orbits",
|
||||
Description = [["Orbits of Kapteyn's Star around the Milky Way"]]
|
||||
}
|
||||
}
|
||||
|
||||
local lacaille9352Orbit = {
|
||||
Identifier = "Lacaille9352Orbit",
|
||||
--Parent = transforms.SolarSystemBarycenter.Name,
|
||||
Renderable = {
|
||||
Type = "RenderableDUMeshes",
|
||||
Enabled = false,
|
||||
Opacity = 1.0,
|
||||
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,
|
||||
Unit = "pc"
|
||||
},
|
||||
GUI = {
|
||||
Name = "Lacaille 9352 Orbit",
|
||||
Path = "/Milky Way/Stars/Stars Orbits",
|
||||
Description = [["Orbits of Lacaille9352 around the Milky Way"]]
|
||||
}
|
||||
Identifier = "Lacaille9352Orbit",
|
||||
--Parent = transforms.SolarSystemBarycenter.Name,
|
||||
Renderable = {
|
||||
Type = "RenderableDUMeshes",
|
||||
Enabled = false,
|
||||
Opacity = 1.0,
|
||||
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,
|
||||
-- TextMinMaxSize = { 0, 30 },
|
||||
Unit = "pc"
|
||||
},
|
||||
GUI = {
|
||||
Name = "Lacaille 9352 Orbit",
|
||||
Path = "/Milky Way/Stars/Stars Orbits",
|
||||
Description = [["Orbits of Lacaille9352 around the Milky Way"]]
|
||||
}
|
||||
}
|
||||
|
||||
local lSR1826Orbit = {
|
||||
Identifier = "LSR1826Orbit",
|
||||
--Parent = transforms.SolarSystemBarycenter.Name,
|
||||
Renderable = {
|
||||
Type = "RenderableDUMeshes",
|
||||
Enabled = false,
|
||||
Opacity = 1.0,
|
||||
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,
|
||||
Unit = "pc"
|
||||
},
|
||||
GUI = {
|
||||
Name = "LSR1826+3014 Orbit",
|
||||
Path = "/Milky Way/Stars/Stars Orbits",
|
||||
Description = [["Orbits of LSR1826+3014 around the Milky Way"]]
|
||||
}
|
||||
Identifier = "LSR1826Orbit",
|
||||
--Parent = transforms.SolarSystemBarycenter.Name,
|
||||
Renderable = {
|
||||
Type = "RenderableDUMeshes",
|
||||
Enabled = false,
|
||||
Opacity = 1.0,
|
||||
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,
|
||||
-- TextMinMaxSize = { 0, 30 },
|
||||
Unit = "pc"
|
||||
},
|
||||
GUI = {
|
||||
Name = "LSR1826+3014 Orbit",
|
||||
Path = "/Milky Way/Stars/Stars Orbits",
|
||||
Description = [["Orbits of LSR1826+3014 around the Milky Way"]]
|
||||
}
|
||||
}
|
||||
|
||||
local lSRJ0822Orbit = {
|
||||
Identifier = "LSRJ0822Orbit",
|
||||
--Parent = transforms.SolarSystemBarycenter.Name,
|
||||
Renderable = {
|
||||
Type = "RenderableDUMeshes",
|
||||
Enabled = false,
|
||||
Opacity = 1.0,
|
||||
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,
|
||||
Unit = "pc"
|
||||
},
|
||||
GUI = {
|
||||
Name = "LSRJ0822+1700 Orbit",
|
||||
Path = "/Milky Way/Stars/Stars Orbits",
|
||||
Description = [["Orbits of LSRJ0822+1700 around the Milky Way"]]
|
||||
}
|
||||
Identifier = "LSRJ0822Orbit",
|
||||
--Parent = transforms.SolarSystemBarycenter.Name,
|
||||
Renderable = {
|
||||
Type = "RenderableDUMeshes",
|
||||
Enabled = false,
|
||||
Opacity = 1.0,
|
||||
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,
|
||||
-- TextMinMaxSize = { 0, 30 },
|
||||
Unit = "pc"
|
||||
},
|
||||
GUI = {
|
||||
Name = "LSRJ0822+1700 Orbit",
|
||||
Path = "/Milky Way/Stars/Stars Orbits",
|
||||
Description = [["Orbits of LSRJ0822+1700 around the Milky Way"]]
|
||||
}
|
||||
}
|
||||
|
||||
local pM_J13420Orbit = {
|
||||
Identifier = "PM_J13420Orbit",
|
||||
--Parent = transforms.SolarSystemBarycenter.Name,
|
||||
Renderable = {
|
||||
Type = "RenderableDUMeshes",
|
||||
Enabled = false,
|
||||
Opacity = 1.0,
|
||||
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,
|
||||
Unit = "pc"
|
||||
},
|
||||
GUI = {
|
||||
Name = "PM_J13420-3415 Orbit",
|
||||
Path = "/Milky Way/Stars/Stars Orbits",
|
||||
Description = [["Orbits of PM_J13420-3415 around the Milky Way"]]
|
||||
}
|
||||
Identifier = "PM_J13420Orbit",
|
||||
--Parent = transforms.SolarSystemBarycenter.Name,
|
||||
Renderable = {
|
||||
Type = "RenderableDUMeshes",
|
||||
Enabled = false,
|
||||
Opacity = 1.0,
|
||||
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,
|
||||
-- TextMinMaxSize = { 0, 30 },
|
||||
Unit = "pc"
|
||||
},
|
||||
GUI = {
|
||||
Name = "PM_J13420-3415 Orbit",
|
||||
Path = "/Milky Way/Stars/Stars Orbits",
|
||||
Description = [["Orbits of PM_J13420-3415 around the Milky Way"]]
|
||||
}
|
||||
}
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, {
|
||||
sunOrbit, barnardsOrbit, pM_J13420Orbit, lSRJ0822Orbit, lSR1826Orbit,
|
||||
lacaille9352Orbit, kapteynsOrbit
|
||||
sunOrbit, barnardsOrbit, pM_J13420Orbit, lSRJ0822Orbit, lSR1826Orbit,
|
||||
lacaille9352Orbit, kapteynsOrbit
|
||||
})
|
||||
|
||||
|
||||
asset.meta = {
|
||||
Name = "Star Orbits",
|
||||
Version = "1.0",
|
||||
Description = [[Select Star Orbital paths that delineate their trajectory around the
|
||||
Milky Way over 1 billion years into the future. Included: Sun, Barnards, Kapteyns,
|
||||
Lacaille 9352, LSR1826+3014, LSRJ0822+1700, PM_J13420-3415. <br><br> Data
|
||||
Reference: Sebastien Lepine (AMNH)]],
|
||||
Author = "Brian Abbott (AMNH)",
|
||||
URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
|
||||
License = "AMNH Digital Universe",
|
||||
Identifiers = {"SunOrbit", "BarnardsOrbit", "KapteynsOrbit", "pM_J13420Orbit",
|
||||
"LSR1826Orbit", "LSRJ0822Orbit", "lacaille9352Orbit"}
|
||||
Name = "Star Orbits",
|
||||
Version = "1.0",
|
||||
Description = [[Select Star Orbital paths that delineate their trajectory around the
|
||||
Milky Way over 1 billion years into the future. Included: Sun, Barnards, Kapteyns,
|
||||
Lacaille 9352, LSR1826+3014, LSRJ0822+1700, PM_J13420-3415. <br><br> Data
|
||||
Reference: Sebastien Lepine (AMNH)]],
|
||||
Author = "Brian Abbott (AMNH)",
|
||||
URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
|
||||
License = "AMNH Digital Universe",
|
||||
Identifiers = {"SunOrbit", "BarnardsOrbit", "KapteynsOrbit", "pM_J13420Orbit",
|
||||
"LSR1826Orbit", "LSRJ0822Orbit", "lacaille9352Orbit"}
|
||||
}
|
||||
|
||||
@@ -1,91 +1,99 @@
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
|
||||
|
||||
|
||||
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",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "stars_du",
|
||||
Version = 4
|
||||
Name = "Stars Speck Files",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "stars_du",
|
||||
Version = 4
|
||||
})
|
||||
|
||||
local sunspeck = asset.syncedResource({
|
||||
Name = "Stars Speck Files",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_sunstar_speck",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local colorLUT = asset.syncedResource({
|
||||
Name = "Stars Color Table",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "stars_colormap",
|
||||
Version = 2
|
||||
Name = "Stars Speck Files",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_sunstar_speck",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local stars = {
|
||||
Identifier = "Stars",
|
||||
Renderable = {
|
||||
Type = "RenderableStars",
|
||||
File = speck .. "/stars.speck",
|
||||
Texture = textures .. "/halo.png",
|
||||
--ShapeTexture = textures .. "/disc.png",
|
||||
ColorMap = colorLUT .. "/colorbv.cmap",
|
||||
MagnitudeExponent = 6.2,
|
||||
SizeComposition = "Distance Modulus",
|
||||
RenderMethod = "Texture Based" -- or PSF
|
||||
},
|
||||
GUI = {
|
||||
Name = "Stars",
|
||||
Path = "/Milky Way/Stars",
|
||||
Description = [[Census: 117,003 stars with 321 labels.<br> DU Version 7.8. This
|
||||
star catalog is a combination of all available star catalogs, wherein we
|
||||
choose the best distance available to place the stars around the Sun as
|
||||
accurately as is possible. (Description from URL) <br><br> Data Reference:
|
||||
XHIP: An Extended Hipparcos Compilation (Anderson E., Francis C. 2012);
|
||||
Hipparcos Catalog (European Space Agency 1997); Gliese Catalog (Gliese and
|
||||
Jahriess 1991)]],
|
||||
Identifier = "Stars",
|
||||
Renderable = {
|
||||
Type = "RenderableStars",
|
||||
File = speck .. "/stars.speck",
|
||||
Texture = textures .. "/halo.png",
|
||||
--ShapeTexture = textures .. "/disc.png",
|
||||
ColorMap = colormaps .. "/colorbv.cmap",
|
||||
OtherDataColorMap = colormaps .. "/viridis.cmap",
|
||||
MagnitudeExponent = 6.2,
|
||||
SizeComposition = "Distance Modulus",
|
||||
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",
|
||||
Path = "/Milky Way/Stars",
|
||||
Description = [[Census: 117,003 stars with 321 labels.<br> DU Version 7.8. This
|
||||
star catalog is a combination of all available star catalogs, wherein we
|
||||
choose the best distance available to place the stars around the Sun as
|
||||
accurately as is possible. (Description from URL) <br><br> Data Reference:
|
||||
XHIP: An Extended Hipparcos Compilation (Anderson E., Francis C. 2012);
|
||||
Hipparcos Catalog (European Space Agency 1997); Gliese Catalog (Gliese and
|
||||
Jahriess 1991)]],
|
||||
}
|
||||
}
|
||||
|
||||
local sunstar = {
|
||||
Identifier = "SunStar",
|
||||
Renderable = {
|
||||
Type = "RenderableStars",
|
||||
File = sunspeck .. "/sunstar.speck",
|
||||
Texture = textures .. "/halo.png",
|
||||
--ShapeTexture = textures .. "/disc.png",
|
||||
ColorMap = colorLUT .. "/colorbv.cmap",
|
||||
MagnitudeExponent = 6.2,
|
||||
SizeComposition = "Distance Modulus",
|
||||
RenderMethod = "Texture Based", -- or PSF
|
||||
FadeInDistances = { 0.0001, 0.1 },
|
||||
RenderableType = "PostDeferredTransparent"
|
||||
},
|
||||
GUI = {
|
||||
Name = "Sun",
|
||||
Path = "/Milky Way/Stars",
|
||||
Description = [[Individual star to represent the sun when outside of the solar
|
||||
system]]
|
||||
Identifier = "SunStar",
|
||||
Renderable = {
|
||||
Type = "RenderableStars",
|
||||
File = sunspeck .. "/sunstar.speck",
|
||||
Texture = textures .. "/halo.png",
|
||||
--ShapeTexture = textures .. "/disc.png",
|
||||
ColorMap = colormaps .. "/colorbv.cmap",
|
||||
MagnitudeExponent = 6.2,
|
||||
SizeComposition = "Distance Modulus",
|
||||
RenderMethod = "Texture Based", -- or PSF
|
||||
FadeInDistances = { 0.0001, 0.1 },
|
||||
RenderableType = "PostDeferredTransparent",
|
||||
DataMapping = {
|
||||
Bv = "colorb_v",
|
||||
Luminance = "lum",
|
||||
AbsoluteMagnitude = "absmag",
|
||||
ApparentMagnitude = "appmag",
|
||||
Vx = "vx",
|
||||
Vy = "vy",
|
||||
Vz = "vz",
|
||||
Speed = "speed",
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Name = "Sun",
|
||||
Path = "/Milky Way/Stars",
|
||||
Description = [[Individual star to represent the sun when outside of the solar
|
||||
system]]
|
||||
}
|
||||
}
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, { stars, sunstar })
|
||||
|
||||
|
||||
asset.meta = {
|
||||
Name = "Stars",
|
||||
Version = "2.0",
|
||||
Description = [[Digital Universe asset for the stars.]],
|
||||
Author = "Brian Abbott (AMNH)",
|
||||
URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
|
||||
License = "AMNH Digital Universe",
|
||||
Identifiers = {"Stars"}
|
||||
Name = "Stars",
|
||||
Version = "2.0",
|
||||
Description = [[Digital Universe asset for the stars.]],
|
||||
Author = "Brian Abbott (AMNH)",
|
||||
URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
|
||||
License = "AMNH Digital Universe",
|
||||
Identifiers = {"Stars"}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
|
||||
local colormaps = asset.syncedResource({
|
||||
Name = "Stars Color Table",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "stars_colormap",
|
||||
Version = 2
|
||||
})
|
||||
|
||||
asset.export("ColorMaps", colormaps)
|
||||
|
||||
asset.meta = {
|
||||
Name = "Star Colormaps",
|
||||
Version = "2.0",
|
||||
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"
|
||||
}
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
|
||||
@@ -3,60 +3,60 @@ local assetHelper = asset.require('util/asset_helper')
|
||||
|
||||
|
||||
local textures = asset.syncedResource({
|
||||
Name = "Galaxy Superclusters Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_superclusters_textures",
|
||||
Version = 2
|
||||
Name = "Galaxy Superclusters Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_superclusters_textures",
|
||||
Version = 2
|
||||
})
|
||||
|
||||
local speck = asset.syncedResource({
|
||||
Name = "Galaxy Superclusters Speck Files",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_superclusters_speck",
|
||||
Version = 2
|
||||
Name = "Galaxy Superclusters Speck Files",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_superclusters_speck",
|
||||
Version = 2
|
||||
})
|
||||
|
||||
local object = {
|
||||
Identifier = "GalaxySuperclusters",
|
||||
Renderable = {
|
||||
Type = "RenderableBillboardsCloud",
|
||||
Enabled = false,
|
||||
DrawElements = false,
|
||||
Color = { 1.0, 1.0, 1.0 },
|
||||
Opacity = 0.65,
|
||||
File = speck .. "/superclust.speck",
|
||||
Texture = textures .. "/point3A.png",
|
||||
LabelFile = speck .. "/superclust.label",
|
||||
TextColor = { 0.9, 0.9, 0.9 },
|
||||
ScaleFactor = 531.0,
|
||||
TextSize = 22.44,
|
||||
TextMinSize = 8.0,
|
||||
Unit = "Mpc",
|
||||
DrawLabels = true,
|
||||
--BillboardMaxSize = 7.2,
|
||||
EnablePixelSizeControl = true
|
||||
},
|
||||
GUI = {
|
||||
Name = "Galaxy Superclusters",
|
||||
Path = "/Universe/Galaxies",
|
||||
Description = [[Census: 33 labels. DU Version 1.3.<br> The superclusters dataset
|
||||
is a set of labels that mark the major galaxy superclusters in the local universe.
|
||||
They correspond to, and should be viewed with, the Abell clusters. Astronomers
|
||||
estimate there are 10 million superclusters in the observable universe.
|
||||
(Description from URL) <br><br> Data Reference: Superclusters of Abell and X-ray
|
||||
clusters (Einasto+, 2001)]]
|
||||
}
|
||||
Identifier = "GalaxySuperclusters",
|
||||
Renderable = {
|
||||
Type = "RenderableBillboardsCloud",
|
||||
Enabled = false,
|
||||
DrawElements = false,
|
||||
Color = { 1.0, 1.0, 1.0 },
|
||||
Opacity = 0.65,
|
||||
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,
|
||||
TextMinMaxSize = { 8, 20 },
|
||||
DrawLabels = true,
|
||||
--BillboardMinMaxSize = { 0.0, 7.2 },
|
||||
EnablePixelSizeControl = true
|
||||
},
|
||||
GUI = {
|
||||
Name = "Galaxy Superclusters",
|
||||
Path = "/Universe/Galaxies",
|
||||
Description = [[Census: 33 labels. DU Version 1.3.<br> The superclusters dataset
|
||||
is a set of labels that mark the major galaxy superclusters in the local universe.
|
||||
They correspond to, and should be viewed with, the Abell clusters. Astronomers
|
||||
estimate there are 10 million superclusters in the observable universe.
|
||||
(Description from URL) <br><br> Data Reference: Superclusters of Abell and X-ray
|
||||
clusters (Einasto+, 2001)]]
|
||||
}
|
||||
}
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, { object })
|
||||
|
||||
|
||||
asset.meta = {
|
||||
Name = "Galaxy Superclusters",
|
||||
Version = "2.0",
|
||||
Description = [[Digital Universe asset for Galaxy Superclusters.]],
|
||||
Author = "Brian Abbott (AMNH)",
|
||||
URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
|
||||
License = "AMNH Digital Universe",
|
||||
Identifiers = {"GalaxySuperclusters"}
|
||||
Name = "Galaxy Superclusters",
|
||||
Version = "2.0",
|
||||
Description = [[Digital Universe asset for Galaxy Superclusters.]],
|
||||
Author = "Brian Abbott (AMNH)",
|
||||
URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
|
||||
License = "AMNH Digital Universe",
|
||||
Identifiers = {"GalaxySuperclusters"}
|
||||
}
|
||||
|
||||
@@ -3,61 +3,60 @@ local assetHelper = asset.require('util/asset_helper')
|
||||
|
||||
|
||||
local textures = asset.syncedResource({
|
||||
Name = "Supernova Remnants Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_supernovaremnants_textures",
|
||||
Version = 1
|
||||
Name = "Supernova Remnants Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_supernovaremnants_textures",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local speck = asset.syncedResource({
|
||||
Name = "Supernova Remnants Speck Files",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_supernovaremnants_speck",
|
||||
Version = 2
|
||||
Name = "Supernova Remnants Speck Files",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_supernovaremnants_speck",
|
||||
Version = 2
|
||||
})
|
||||
|
||||
local object = {
|
||||
Identifier = "SupernovaRemnants",
|
||||
Renderable = {
|
||||
Type = "RenderableBillboardsCloud",
|
||||
Enabled = false,
|
||||
Color = { 1.0, 0.5, 0.0 },
|
||||
Opacity = 0.32,
|
||||
File = speck .. "/snr.speck",
|
||||
Texture = textures .. "/point4.png",
|
||||
PolygonSides = 7,
|
||||
LabelFile = speck .. "/snr.label",
|
||||
TextColor = { 0.6, 0.46, 0.0 },
|
||||
ScaleFactor = 424,
|
||||
TextSize = 16.44,
|
||||
TextMinSize = 4.0,
|
||||
TextMaxSize = 200.0,
|
||||
--CorrectionSizeEndDistance = 17.5,
|
||||
--CorrectionSizeFactor = 13.96,
|
||||
Unit = "pc",
|
||||
BillboardMaxSize = 500,
|
||||
EnablePixelSizeControl = true
|
||||
},
|
||||
GUI = {
|
||||
Name = "Supernova Remnants",
|
||||
Path = "/Milky Way",
|
||||
Description = [[Census: 112 supernova remnants.<br> DU Version 3.7. A supernova
|
||||
remnant is the ejected gas that results from a supernova. It glows for a
|
||||
cosmically short period of time before mixing with the interstellar medium.
|
||||
(Description from URL) <br><br> Data Reference: The First Fermi LAT SNR
|
||||
Catalog (Acero+, 2016)]],
|
||||
}
|
||||
Identifier = "SupernovaRemnants",
|
||||
Renderable = {
|
||||
Type = "RenderableBillboardsCloud",
|
||||
Enabled = false,
|
||||
Color = { 1.0, 0.5, 0.0 },
|
||||
Opacity = 0.32,
|
||||
File = speck .. "/snr.speck",
|
||||
Texture = textures .. "/point4.png",
|
||||
PolygonSides = 7,
|
||||
LabelFile = speck .. "/snr.label",
|
||||
Unit = "pc",
|
||||
TextColor = { 0.6, 0.46, 0.0 },
|
||||
ScaleFactor = 424,
|
||||
TextSize = 16.44,
|
||||
TextMinMaxSize = { 4, 100 },
|
||||
--CorrectionSizeEndDistance = 17.5,
|
||||
--CorrectionSizeFactor = 13.96,
|
||||
BillboardMinMaxSize = { 0.0, 500.0 },
|
||||
EnablePixelSizeControl = true
|
||||
},
|
||||
GUI = {
|
||||
Name = "Supernova Remnants",
|
||||
Path = "/Milky Way",
|
||||
Description = [[Census: 112 supernova remnants.<br> DU Version 3.7. A supernova
|
||||
remnant is the ejected gas that results from a supernova. It glows for a
|
||||
cosmically short period of time before mixing with the interstellar medium.
|
||||
(Description from URL) <br><br> Data Reference: The First Fermi LAT SNR
|
||||
Catalog (Acero+, 2016)]],
|
||||
}
|
||||
}
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, { object })
|
||||
|
||||
|
||||
asset.meta = {
|
||||
Name = "Supernova Remnants",
|
||||
Version = "2.0",
|
||||
Description = [[Digital Universe asset for Supernova Remnants.]],
|
||||
Author = "Brian Abbott (AMNH)",
|
||||
URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
|
||||
License = "AMNH Digital Universe",
|
||||
Identifiers = {"SupernovaRemnants"}
|
||||
Name = "Supernova Remnants",
|
||||
Version = "2.0",
|
||||
Description = [[Digital Universe asset for Supernova Remnants.]],
|
||||
Author = "Brian Abbott (AMNH)",
|
||||
URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
|
||||
License = "AMNH Digital Universe",
|
||||
Identifiers = {"SupernovaRemnants"}
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user