mirror of
https://github.com/OpenSpace/OpenSpace.git
synced 2026-04-27 06:19:51 -05:00
submodule update
This commit is contained in:
@@ -38,3 +38,4 @@ Thumbs.db
|
||||
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
|
||||
|
||||
+45
-85
@@ -2,7 +2,7 @@
|
||||
# #
|
||||
# OpenSpace #
|
||||
# #
|
||||
# Copyright (c) 2014-2020 #
|
||||
# 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 #
|
||||
@@ -29,7 +29,7 @@ project(OpenSpace)
|
||||
set(OPENSPACE_VERSION_MAJOR 0)
|
||||
set(OPENSPACE_VERSION_MINOR 16)
|
||||
set(OPENSPACE_VERSION_PATCH 0)
|
||||
set(OPENSPACE_VERSION_STRING "Beta-8 RC1")
|
||||
set(OPENSPACE_VERSION_STRING "Beta-8")
|
||||
|
||||
set(OPENSPACE_BASE_DIR "${PROJECT_SOURCE_DIR}")
|
||||
set(OPENSPACE_CMAKE_EXT_DIR "${OPENSPACE_BASE_DIR}/support/cmake")
|
||||
@@ -37,14 +37,11 @@ set(GHOUL_BASE_DIR "${OPENSPACE_BASE_DIR}/ext/ghoul")
|
||||
|
||||
include(${OPENSPACE_CMAKE_EXT_DIR}/module_common.cmake)
|
||||
include(${OPENSPACE_CMAKE_EXT_DIR}/global_variables.cmake)
|
||||
include(${OPENSPACE_CMAKE_EXT_DIR}/handle_applications.cmake)
|
||||
include(${OPENSPACE_CMAKE_EXT_DIR}/handle_modules.cmake)
|
||||
include(${GHOUL_BASE_DIR}/support/cmake/copy_shared_libraries.cmake)
|
||||
include(${GHOUL_BASE_DIR}/support/cmake/handle_external_library.cmake)
|
||||
include(${GHOUL_BASE_DIR}/support/cmake/message_macros.cmake)
|
||||
|
||||
begin_header("Configuring OpenSpace project")
|
||||
message(STATUS "CMake version: ${CMAKE_VERSION}")
|
||||
|
||||
# Bail out if the user tries to generate a 32 bit project.
|
||||
if (NOT ${CMAKE_SIZEOF_VOID_P} EQUAL 8)
|
||||
@@ -55,26 +52,28 @@ endif ()
|
||||
# Cleanup project #
|
||||
##########################################################################################
|
||||
set(OPENSPACE_APPS_DIR "${OPENSPACE_BASE_DIR}/apps")
|
||||
set(OPENSPACE_EXT_DIR "${OPENSPACE_BASE_DIR}/ext")
|
||||
|
||||
if (NOT EXISTS ${OPENSPACE_EXT_DIR}/ghoul/CMakeLists.txt)
|
||||
message(FATAL_ERROR "Git submodules are missing. Please run \n"
|
||||
"git submodule update --init --recursive \n"
|
||||
"to download the missing dependencies."
|
||||
if (NOT EXISTS "${OPENSPACE_BASE_DIR}/ext/ghoul/CMakeLists.txt")
|
||||
message(FATAL_ERROR "Git submodules are missing. Please run "
|
||||
"git submodule update --init --recursive to download the missing dependencies."
|
||||
)
|
||||
endif ()
|
||||
|
||||
set_property(GLOBAL PROPERTY USE_FOLDERS On)
|
||||
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
|
||||
set_property(GLOBAL PROPERTY PREDEFINED_TARGETS_FOLDER CMake)
|
||||
|
||||
mark_as_advanced(CMAKE_BACKWARDS_COMPATIBILITY CMAKE_BUILD_TYPE CMAKE_DEBUG_POSTFIX
|
||||
CMAKE_INSTALL_PREFIX CMAKE_OSX_ARCHITECTURES CMAKE_OSX_DEPLOYMENT_TARGET
|
||||
CMAKE_OSX_SYSROOT CMAKE_RELEASE_POSTFIX)
|
||||
CMAKE_OSX_SYSROOT CMAKE_RELEASE_POSTFIX
|
||||
)
|
||||
|
||||
# Set build output directories
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${OPENSPACE_CMAKE_EXT_DIR})
|
||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${OPENSPACE_BASE_DIR}/bin)
|
||||
|
||||
# "OpenSpace Helper" is not a valid CMake target name under OLD
|
||||
cmake_policy(SET CMP0037 NEW)
|
||||
|
||||
##########################################################################################
|
||||
# Main #
|
||||
##########################################################################################
|
||||
@@ -103,7 +102,7 @@ execute_process(
|
||||
)
|
||||
if (NOT OPENSPACE_GIT_STATUS_RETURN EQUAL 0)
|
||||
set(OPENSPACE_GIT_STATUS "uncommitted changes")
|
||||
else()
|
||||
else ()
|
||||
set(OPENSPACE_GIT_STATUS "")
|
||||
endif ()
|
||||
|
||||
@@ -133,62 +132,35 @@ if (MSVC)
|
||||
set(GHOUL_OPTIMIZATION_ENABLE_OTHER_OPTIMIZATIONS ${OPENSPACE_OPTIMIZATION_ENABLE_OTHER_OPTIMIZATIONS} CACHE BOOL "" FORCE)
|
||||
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")
|
||||
endif ()
|
||||
|
||||
include(src/CMakeLists.txt)
|
||||
add_subdirectory(ext)
|
||||
|
||||
##########################################################################################
|
||||
# Add external dependencies #
|
||||
##########################################################################################
|
||||
# System libraries
|
||||
if (APPLE)
|
||||
begin_dependency("Core Libraries")
|
||||
target_include_directories(openspace-core PUBLIC "/Developer/Headers/FlatCarbon")
|
||||
find_library(COREFOUNDATION_LIBRARY CoreFoundation)
|
||||
find_library(CARBON_LIBRARY Carbon)
|
||||
find_library(COCOA_LIBRARY Carbon)
|
||||
find_library(APP_SERVICES_LIBRARY ApplicationServices)
|
||||
mark_as_advanced(CARBON_LIBRARY COCOA_LIBRARY APP_SERVICES_LIBRARY)
|
||||
target_link_libraries(openspace-core PUBLIC ${CARBON_LIBRARY} ${COREFOUNDATION_LIBRARY}
|
||||
${COCOA_LIBRARY} ${APP_SERVICES_LIBRARY})
|
||||
end_dependency()
|
||||
endif ()
|
||||
add_subdirectory(src)
|
||||
|
||||
# Ghoul
|
||||
add_subdirectory(${OPENSPACE_EXT_DIR}/ghoul)
|
||||
target_link_libraries(openspace-core PUBLIC Ghoul)
|
||||
set_openspace_compile_settings(Ghoul)
|
||||
set_folder_location(Lua "External")
|
||||
set_folder_location(lz4 "External")
|
||||
set_folder_location(GhoulTest "Unit Tests")
|
||||
link_directories("${GHOUL_LIBRARY_DIRS}")
|
||||
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")
|
||||
|
||||
# Spice
|
||||
begin_dependency("Spice")
|
||||
add_subdirectory(${OPENSPACE_EXT_DIR}/spice)
|
||||
target_link_libraries(openspace-core PUBLIC Spice)
|
||||
set_folder_location(Spice "External")
|
||||
end_dependency()
|
||||
|
||||
# Curl
|
||||
begin_dependency("CURL")
|
||||
if (WIN32)
|
||||
set(CURL_ROOT_DIR "${OPENSPACE_EXT_DIR}/curl")
|
||||
target_include_directories(openspace-core SYSTEM PUBLIC ${CURL_ROOT_DIR}/include)
|
||||
target_link_libraries(openspace-core PUBLIC ${CURL_ROOT_DIR}/lib/libcurl.lib)
|
||||
target_compile_definitions(openspace-core PUBLIC "OPENSPACE_CURL_ENABLED" "CURL_STATICLIB")
|
||||
else ()
|
||||
find_package(CURL)
|
||||
if (CURL_FOUND)
|
||||
target_include_directories(openspace-core SYSTEM PUBLIC ${CURL_INCLUDE_DIRS})
|
||||
target_link_libraries(openspace-core PUBLIC ${CURL_LIBRARIES})
|
||||
target_compile_definitions(openspace-core PUBLIC "OPENSPACE_CURL_ENABLED")
|
||||
endif ()
|
||||
endif ()
|
||||
end_dependency()
|
||||
|
||||
# Qt
|
||||
# Unfortunately, we have to set this value manually; sigh
|
||||
@@ -202,6 +174,7 @@ if (APPLE)
|
||||
"~/Qt/5.10/clang_64/lib/cmake"
|
||||
"~/Qt/5.11/clang_64/lib/cmake"
|
||||
"~/Qt/5.12/clang_64/lib/cmake"
|
||||
"~/Qt/5.15.1/clang_64/lib/cmake"
|
||||
)
|
||||
endif ()
|
||||
|
||||
@@ -217,20 +190,23 @@ if (MSVC)
|
||||
endif ()
|
||||
|
||||
begin_header("Configuring Modules")
|
||||
set(OPENSPACE_EXTERNAL_MODULES_PATHS "" CACHE STRING "List of external modules")
|
||||
handle_modules("${OPENSPACE_BASE_DIR}/modules" "${OPENSPACE_EXTERNAL_MODULES_PATHS}")
|
||||
add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/modules")
|
||||
end_header("End: Configuring Modules")
|
||||
message(STATUS "")
|
||||
|
||||
|
||||
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")
|
||||
handle_applications()
|
||||
add_subdirectory("${OPENSPACE_APPS_DIR}")
|
||||
end_header("End: Configuring Applications")
|
||||
message(STATUS "")
|
||||
|
||||
option(OPENSPACE_HAVE_TESTS "Activate the OpenSpace unit tests" ON)
|
||||
if (OPENSPACE_HAVE_TESTS)
|
||||
begin_header("Generating OpenSpace unit test")
|
||||
add_subdirectory("${OPENSPACE_BASE_DIR}/tests")
|
||||
add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/tests")
|
||||
end_header()
|
||||
endif (OPENSPACE_HAVE_TESTS)
|
||||
|
||||
@@ -252,29 +228,13 @@ if (OPENSPACE_MODULE_WEBBROWSER AND CEF_ROOT)
|
||||
# find CEF to initialize it properly.
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${WEBBROWSER_MODULE_PATH}/cmake")
|
||||
include(webbrowser_helpers)
|
||||
elseif (OPENSPACE_MODULE_WEBBROWSER)
|
||||
message(WARNING "Web configured to be included, but no CEF_ROOT was found, please try configuring CMake again.")
|
||||
elseif ()
|
||||
message(WARNING "Web configured to be included, but no CEF_ROOT was found, please try configuring CMake again")
|
||||
endif ()
|
||||
|
||||
##########################################################################################
|
||||
# Misc settings #
|
||||
##########################################################################################
|
||||
option(OPENSPACE_WITH_ABUFFER_RENDERER "Compile ABuffer Renderer" OFF)
|
||||
if (OPENSPACE_WITH_ABUFFER_RENDERER)
|
||||
target_compile_definitions(openspace-core PUBLIC "OPENSPACE_WITH_ABUFFER_RENDERER")
|
||||
endif ()
|
||||
|
||||
option(OPENSPACE_WITH_INSTRUMENTATION "Add instrumentation options" OFF)
|
||||
if (OPENSPACE_WITH_INSTRUMENTATION)
|
||||
target_compile_definitions(openspace-core PUBLIC "OPENSPACE_WITH_INSTRUMENTATION")
|
||||
endif ()
|
||||
|
||||
|
||||
# Just in case, create the bin directory
|
||||
add_custom_command(
|
||||
TARGET openspace-core
|
||||
PRE_BUILD COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
|
||||
)
|
||||
|
||||
# Manage the CPack packaging
|
||||
include(${OPENSPACE_CMAKE_EXT_DIR}/packaging.cmake)
|
||||
|
||||
+14
-3
@@ -3,29 +3,38 @@ Alexander Bock
|
||||
Emil Axelsson
|
||||
Kalle Bladin
|
||||
Jonathas Costa
|
||||
Gene Payne
|
||||
Jonas Strandstedt
|
||||
Michal Marcinkowski
|
||||
Joakim Kilby
|
||||
Gene Payne
|
||||
Elon Olsson
|
||||
Emma Broman
|
||||
Micah Acinapura
|
||||
Joakim Kilby
|
||||
Lovisa Hassler
|
||||
Mikael Petterson
|
||||
Erik Sundén
|
||||
Stefan Lindblad
|
||||
Malin Ejdbo
|
||||
Corrie Roe
|
||||
Eric Myers
|
||||
|
||||
Sebastian Piwell
|
||||
Erik Broberg
|
||||
Jonathan Bosson
|
||||
Michael Nilsson
|
||||
Elon Olsson
|
||||
Jonathan Franzen
|
||||
Karin Reidarman
|
||||
Hans-Christian Helltegen
|
||||
Anton Arbring
|
||||
Oskar Carlbaum
|
||||
Matthew Territo
|
||||
Jonathan Grangien
|
||||
Klas Eskilson
|
||||
Aniisa Bihi
|
||||
Tomas Forsyth Rosin
|
||||
Niclas Hultberg
|
||||
Rickard Lindtstedt
|
||||
Ingela Rossing
|
||||
Michael Sjöström
|
||||
Michael Novén
|
||||
Christoffer Särevall
|
||||
@@ -35,8 +44,10 @@ Christoffer Särevall
|
||||
Anteige
|
||||
arfon
|
||||
DavidLaidlaw
|
||||
johnriedel
|
||||
mik3caprio
|
||||
mingenuity
|
||||
nbartzokas
|
||||
nealmcb
|
||||
noahdasanaike
|
||||
sa5bke
|
||||
|
||||
Vendored
+151
-80
@@ -92,100 +92,171 @@ parallel tools: {
|
||||
)
|
||||
recordIssues(
|
||||
id: 'tools-cppcheck',
|
||||
tool: cppCheck()
|
||||
tool: cppCheck(pattern: 'build/cppcheck.xml')
|
||||
)
|
||||
}
|
||||
cleanWs()
|
||||
} // node('tools')
|
||||
},
|
||||
linux_gcc: {
|
||||
node('linux' && 'gcc') {
|
||||
stage('linux-gcc/scm') {
|
||||
deleteDir();
|
||||
gitHelper.checkoutGit(url, branch);
|
||||
}
|
||||
stage('linux-gcc/build(make)') {
|
||||
def cmakeCompileOptions = moduleCMakeFlags();
|
||||
cmakeCompileOptions += ' -DMAKE_BUILD_TYPE=Release';
|
||||
// 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/build(ninja)') {
|
||||
def cmakeCompileOptions = moduleCMakeFlags();
|
||||
cmakeCompileOptions += '-DMAKE_BUILD_TYPE=Release';
|
||||
// Not sure why the linking of OpenSpaceTest takes so long
|
||||
compileHelper.build(compileHelper.Ninja(), compileHelper.Gcc(), cmakeCompileOptions, 'OpenSpace', 'build-ninja');
|
||||
}
|
||||
stage('linux-gcc/test') {
|
||||
// testHelper.runUnitTests('build/OpenSpaceTest');
|
||||
}
|
||||
cleanWs()
|
||||
} // node('linux')
|
||||
},
|
||||
linux_clang: {
|
||||
node('linux' && 'clang') {
|
||||
stage('linux-clang/scm') {
|
||||
deleteDir()
|
||||
gitHelper.checkoutGit(url, branch);
|
||||
}
|
||||
stage('linux-clang/build(make)') {
|
||||
def cmakeCompileOptions = moduleCMakeFlags()
|
||||
cmakeCompileOptions += ' -DMAKE_BUILD_TYPE=Release'
|
||||
// Not sure why the linking of OpenSpaceTest takes so long
|
||||
compileHelper.build(compileHelper.Make(), compileHelper.Clang(), cmakeCompileOptions, 'OpenSpace', 'build-make');
|
||||
compileHelper.recordCompileIssues(compileHelper.Clang());
|
||||
}
|
||||
stage('linux-clang/build(ninja)') {
|
||||
def cmakeCompileOptions = moduleCMakeFlags()
|
||||
cmakeCompileOptions += '-DMAKE_BUILD_TYPE=Release'
|
||||
// Not sure why the linking of OpenSpaceTest takes so long
|
||||
compileHelper.build(compileHelper.Ninja(), compileHelper.Clang(), cmakeCompileOptions, 'OpenSpace', 'build-ninja');
|
||||
}
|
||||
stage('linux-clang/test') {
|
||||
// testHelper.runUnitTests('build/OpenSpaceTest');
|
||||
}
|
||||
cleanWs()
|
||||
} // node('linux')
|
||||
},
|
||||
windows: {
|
||||
node('windows') {
|
||||
ws("${env.JENKINS_BASE}/O/${env.BRANCH_NAME}/${env.BUILD_ID}") {
|
||||
stage('windows/scm') {
|
||||
linux_gcc_make: {
|
||||
if (env.USE_BUILD_OS_LINUX == 'true') {
|
||||
node('linux' && 'gcc') {
|
||||
stage('linux-gcc-make/scm') {
|
||||
deleteDir();
|
||||
gitHelper.checkoutGit(url, branch);
|
||||
}
|
||||
stage('windows/build(msvc)') {
|
||||
stage('linux-gcc-make/build') {
|
||||
def cmakeCompileOptions = moduleCMakeFlags();
|
||||
cmakeCompileOptions += ' -DMAKE_BUILD_TYPE=Release';
|
||||
// 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')
|
||||
}
|
||||
},
|
||||
linux_gcc_ninja: {
|
||||
if (env.USE_BUILD_OS_LINUX == 'true') {
|
||||
node('linux' && 'gcc') {
|
||||
stage('linux-gcc-ninja/scm') {
|
||||
deleteDir();
|
||||
gitHelper.checkoutGit(url, branch);
|
||||
}
|
||||
stage('linux-gcc-ninja/build') {
|
||||
def cmakeCompileOptions = moduleCMakeFlags();
|
||||
cmakeCompileOptions += '-DMAKE_BUILD_TYPE=Release';
|
||||
// Not sure why the linking of OpenSpaceTest takes so long
|
||||
compileHelper.build(compileHelper.Ninja(), compileHelper.Gcc(), cmakeCompileOptions, 'OpenSpace', 'build-ninja');
|
||||
}
|
||||
stage('linux-gcc-ninja/test') {
|
||||
// testHelper.runUnitTests('build/OpenSpaceTest');
|
||||
// testHelper.runUnitTests('bin/codegentest')
|
||||
}
|
||||
cleanWs()
|
||||
} // node('linux')
|
||||
}
|
||||
},
|
||||
linux_clang_make: {
|
||||
if (env.USE_BUILD_OS_LINUX == 'true') {
|
||||
node('linux' && 'clang') {
|
||||
stage('linux-clang-make/scm') {
|
||||
deleteDir()
|
||||
gitHelper.checkoutGit(url, branch);
|
||||
}
|
||||
stage('linux-clang-make/build') {
|
||||
def cmakeCompileOptions = moduleCMakeFlags()
|
||||
cmakeCompileOptions += ' -DMAKE_BUILD_TYPE=Release'
|
||||
// Not sure why the linking of OpenSpaceTest takes so long
|
||||
compileHelper.build(compileHelper.Make(), compileHelper.Clang(), cmakeCompileOptions, 'OpenSpace', 'build-make');
|
||||
compileHelper.recordCompileIssues(compileHelper.Clang());
|
||||
}
|
||||
stage('linux-clang-make/test') {
|
||||
// testHelper.runUnitTests('build/OpenSpaceTest');
|
||||
// testHelper.runUnitTests('bin/codegentest')
|
||||
}
|
||||
cleanWs()
|
||||
} // node('linux')
|
||||
}
|
||||
},
|
||||
linux_clang_ninja: {
|
||||
if (env.USE_BUILD_OS_LINUX == 'true') {
|
||||
node('linux' && 'clang') {
|
||||
stage('linux-clang-ninja/scm') {
|
||||
deleteDir()
|
||||
gitHelper.checkoutGit(url, branch);
|
||||
}
|
||||
stage('linux-clang-ninja/build') {
|
||||
def cmakeCompileOptions = moduleCMakeFlags()
|
||||
cmakeCompileOptions += '-DMAKE_BUILD_TYPE=Release'
|
||||
// Not sure why the linking of OpenSpaceTest takes so long
|
||||
compileHelper.build(compileHelper.Ninja(), compileHelper.Clang(), cmakeCompileOptions, 'OpenSpace', 'build-ninja');
|
||||
}
|
||||
stage('linux-clang-ninja/test') {
|
||||
// testHelper.runUnitTests('build/OpenSpaceTest');
|
||||
// testHelper.runUnitTests('bin/codegentest')
|
||||
}
|
||||
cleanWs()
|
||||
} // node('linux')
|
||||
}
|
||||
},
|
||||
windows_msvc: {
|
||||
if (env.USE_BUILD_OS_WINDOWS == 'true') {
|
||||
node('windows') {
|
||||
stage('windows-msvc/scm') {
|
||||
deleteDir();
|
||||
gitHelper.checkoutGit(url, branch);
|
||||
}
|
||||
stage('windows-msvc/build') {
|
||||
compileHelper.build(compileHelper.VisualStudio(), compileHelper.VisualStudio(), moduleCMakeFlags(), '', 'build-msvc');
|
||||
compileHelper.recordCompileIssues(compileHelper.VisualStudio());
|
||||
}
|
||||
stage('windows/build(ninja)') {
|
||||
compileHelper.build(compileHelper.Ninja(), compileHelper.VisualStudio(), moduleCMakeFlags(), '', 'build-ninja');
|
||||
}
|
||||
stage('windows/test') {
|
||||
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')
|
||||
cleanWs()
|
||||
} // node('windows')
|
||||
}
|
||||
},
|
||||
macos: {
|
||||
node('macos') {
|
||||
stage('macos/scm') {
|
||||
deleteDir();
|
||||
gitHelper.checkoutGit(url, branch);
|
||||
}
|
||||
stage('macos/build(make)') {
|
||||
compileHelper.build(compileHelper.Make(), compileHelper.Clang(), moduleCMakeFlags(), '', 'build-make');
|
||||
}
|
||||
stage('macos/build(xcode)') {
|
||||
compileHelper.build(compileHelper.Xcode(), compileHelper.Xcode(), moduleCMakeFlags(), '', 'build-xcode');
|
||||
}
|
||||
stage('macos/test') {
|
||||
// Currently, the unit tests are crashing on OS X
|
||||
// testHelper.runUnitTests('build/Debug/OpenSpaceTest')
|
||||
}
|
||||
cleanWs()
|
||||
} // node('macos')
|
||||
// windows_ninja: {
|
||||
// if (env.USE_BUILD_OS_WINDOWS == 'true') {
|
||||
// node('windows') {
|
||||
// ws("${env.JENKINS_BASE}/O/${env.BRANCH_NAME}/${env.BUILD_ID}") {
|
||||
// stage('windows-ninja/scm') {
|
||||
// deleteDir();
|
||||
// gitHelper.checkoutGit(url, branch);
|
||||
// }
|
||||
// stage('windows-ninja/build') {
|
||||
// compileHelper.build(compileHelper.Ninja(), compileHelper.VisualStudio(), moduleCMakeFlags(), '', 'build-ninja');
|
||||
// }
|
||||
// stage('windows-ninja/test') {
|
||||
// // Currently, the unit tests are failing on Windows
|
||||
// // testHelper.runUnitTests('bin\\Debug\\OpenSpaceTest')
|
||||
// }
|
||||
// } // node('windows')
|
||||
// cleanWs()
|
||||
// } // node('windows')
|
||||
// }
|
||||
// },
|
||||
macos_make: {
|
||||
if (env.USE_BUILD_OS_MACOS == 'true') {
|
||||
node('macos') {
|
||||
stage('macos-make/scm') {
|
||||
deleteDir();
|
||||
gitHelper.checkoutGit(url, branch);
|
||||
}
|
||||
stage('macos-make/build') {
|
||||
compileHelper.build(compileHelper.Make(), compileHelper.Clang(), moduleCMakeFlags(), '', 'build-make');
|
||||
}
|
||||
stage('macos-make/test') {
|
||||
// Currently, the unit tests are crashing on OS X
|
||||
// testHelper.runUnitTests('build/Debug/OpenSpaceTest')
|
||||
}
|
||||
cleanWs()
|
||||
} // node('macos')
|
||||
}
|
||||
},
|
||||
macos_xcode: {
|
||||
if (env.USE_BUILD_OS_MACOS == 'true') {
|
||||
node('macos') {
|
||||
stage('macos-xcode/scm') {
|
||||
deleteDir();
|
||||
gitHelper.checkoutGit(url, branch);
|
||||
}
|
||||
stage('macos-xcode/build') {
|
||||
compileHelper.build(compileHelper.Xcode(), compileHelper.Xcode(), moduleCMakeFlags(), '', 'build-xcode');
|
||||
}
|
||||
stage('macos-xcode/test') {
|
||||
// Currently, the unit tests are crashing on OS X
|
||||
// testHelper.runUnitTests('build/Debug/OpenSpaceTest')
|
||||
}
|
||||
cleanWs()
|
||||
} // node('macos')
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
Copyright (c) 2014-2020
|
||||
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
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
[OpenSpace](http://openspaceproject.com) is an open source, non-commercial, and freely available interactive data visualization software designed to visualize the entire known universe and portray our ongoing efforts to investigate the cosmos. Bringing the latest techniques from data visualization research to the general public, OpenSpace supports interactive presentation of dynamic data from observations, simulations, and space mission planning and operations. The software works on multiple operating systems (Windows, Linux, MacOS) with an extensible architecture powering high resolution tiled displays and planetarium domes, making use of the latest graphic card technologies for rapid data throughput. In addition, OpenSpace enables simultaneous connections across the globe creating opportunity for shared experiences among audiences worldwide.
|
||||
[OpenSpace](http://openspaceproject.com) is an open source, non-commercial, and freely available interactive data visualization software designed to visualize the entire known universe and portray our ongoing efforts to investigate the cosmos. Bringing the latest techniques from data visualization research to the general public, OpenSpace supports interactive presentation of dynamic data from observations, simulations, and space mission planning and operations. The software works on multiple operating systems (Windows, Linux, MacOS) with an extensible architecture powering high resolution tiled displays and planetarium domes, making use of the latest graphic card technologies for rapid data throughput. In addition, OpenSpace enables simultaneous connections across the globe creating opportunity for shared experiences among audiences worldwide.
|
||||
|
||||
The project stems from the same academic collaboration between Sweden’s [Linköping University](https://www.liu.se) (LiU) and the [American Museum of Natural History](https://www.amnh.org) (AMNH) that led to the creation of Uniview and its parent company [SCISS](http://sciss.se). Development of the software began several years ago through a close collaboration with NASA Goddard’s [Community Coordinated Modeling Center](https://ccmc.gsfc.nasa.gov) (CCMC) to model space weather forecasting and continued with visualizations of NASA’s New Horizons mission to Pluto and ESA’s Rosetta mission. This promising set of preliminary work provided a foundation for recent NASA funding, which has extended the collaboration to include the University of Utah’s [Scientific Computing and Imaging](https://www.sci.utah.edu) (SCI) Institute, [New York University](https://www.nyu.edu)’s Tandon School of Engineering, multiple informal science institutions across the United States, and multiple, international vendors. Current areas of focus within OpenSpace include:
|
||||
The project stems from the same academic collaboration between Sweden’s [Linköping University](https://www.liu.se) (LiU) and the [American Museum of Natural History](https://www.amnh.org) (AMNH) that led to the creation of Uniview and its parent company [SCISS](http://sciss.se). Development of the software began several years ago through a close collaboration with NASA Goddard’s [Community Coordinated Modeling Center](https://ccmc.gsfc.nasa.gov) (CCMC) to model space weather forecasting and continued with visualizations of NASA’s New Horizons mission to Pluto and ESA’s Rosetta mission. This promising set of preliminary work provided a foundation for recent NASA funding, which has extended the collaboration to include the University of Utah’s [Scientific Computing and Imaging](https://www.sci.utah.edu) (SCI) Institute, [New York University](https://www.nyu.edu)’s Tandon School of Engineering, multiple informal science institutions across the United States, and multiple, international vendors. Current areas of focus within OpenSpace include:
|
||||
|
||||
- Visualization of dynamic simulations via interactive volumetric rendering, as a priority for communicating research in astrophysics.
|
||||
- Utilization of NASA’s SPICE observational geometry system with its Planetary Data Service (PDS) to enable space mission visualization that reveal how missions are designed to gather science.
|
||||
- Utilization of NASA’s SPICE observational geometry system with its Planetary Data Service (PDS) to enable space mission visualizations that reveal how missions are designed to gather science.
|
||||
- Globe browsing techniques across spatial and temporal scales to examine scientific campaigns on multiple planets, including close up surface exploration.
|
||||
|
||||
OpenSpace requires graphics support for [OpenGL](https://www.opengl.org/) version 3.3.
|
||||
|
||||
This repository contains the source code and example scenes for OpenSpace, but does not contain any data. To build and install the client, we refer to the [OpenSpace Wiki](http://wiki.openspaceproject.com/), specifically [building](http://wiki.openspaceproject.com/docs/developers/compiling/general) for [Windows](http://wiki.openspaceproject.com/docs/developers/compiling/windows), [Linux (Ubuntu)](http://wiki.openspaceproject.com/docs/developers/compiling/ubuntu), and [MacOS](http://wiki.openspaceproject.com/docs/developers/compiling/macos). Required preexisting dependencies are: [Boost](http://www.boost.org/) and [Qt](http://www.qt.io/download). Feel free to create issues for missing features, bug reports, or compile problems or contact us via [email](mailto:alexander.bock@me.com?subject=OpenSpace:).
|
||||
This repository contains the source code and example scenes for OpenSpace, but does not contain any data. To build and install the client, we refer to the [OpenSpace Wiki](http://wiki.openspaceproject.com/), specifically [building](http://wiki.openspaceproject.com/docs/developers/compiling/general) for [Windows](http://wiki.openspaceproject.com/docs/developers/compiling/windows), [Linux (Ubuntu)](http://wiki.openspaceproject.com/docs/developers/compiling/ubuntu), and [MacOS](http://wiki.openspaceproject.com/docs/developers/compiling/macos). Required preexisting dependencies are: [Boost](http://www.boost.org/) and [Qt](http://www.qt.io/download). Feel free to create issues for missing features, bug reports, or compile problems or contact us via [email](mailto:alexander.bock@me.com?subject=OpenSpace:).
|
||||
|
||||
Regarding any issues, you are very welcome on our [Slack support channel](https://openspacesupport.slack.com) to which you can freely [sign-up](https://join.slack.com/t/openspacesupport/shared_invite/zt-37niq6y9-T0JaCIk4UoFLI4VF5U9Vsw).
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
# #
|
||||
# OpenSpace #
|
||||
# #
|
||||
# Copyright (c) 2014-2020 #
|
||||
# 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 #
|
||||
@@ -22,63 +22,51 @@
|
||||
# OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #
|
||||
##########################################################################################
|
||||
|
||||
|
||||
function (handle_applications)
|
||||
# Get a list of all of the application directories
|
||||
file(GLOB appDirs RELATIVE ${OPENSPACE_APPS_DIR} ${OPENSPACE_APPS_DIR}/*)
|
||||
# Remove the .DS_Store present on Mac
|
||||
list(REMOVE_ITEM appDirs ".DS_Store")
|
||||
|
||||
# Print all the enabled modules
|
||||
# message(STATUS "Enabled modules:")
|
||||
# list(LENGTH enabled_module_names enabled_module_count)
|
||||
# math(EXPR enabled_module_count "${enabled_module_count} - 1")
|
||||
# foreach (val RANGE ${enabled_module_count})
|
||||
# list(GET enabled_module_names ${val} name)
|
||||
# list(GET enabled_module_paths ${val} path)
|
||||
|
||||
# message(STATUS "\t${name} (${path})")
|
||||
# endforeach ()
|
||||
|
||||
message(STATUS "Enabled applications:")
|
||||
foreach (app ${appDirs})
|
||||
string(TOUPPER ${app} upper_app)
|
||||
if (OPENSPACE_APPLICATION_${upper_app})
|
||||
message(STATUS "\t${app} (${OPENSPACE_APPS_DIR}/${app})")
|
||||
endif ()
|
||||
endforeach ()
|
||||
|
||||
|
||||
# First create all of the options for the applications. In case that one of the
|
||||
# applications fail to include later, we still want all of them listed
|
||||
foreach (app ${appDirs})
|
||||
set(app_dir "${OPENSPACE_APPS_DIR}/${app}")
|
||||
string(TOUPPER ${app} upper_app)
|
||||
|
||||
get_application_attribute_default(${app_dir} is_default_application)
|
||||
option(OPENSPACE_APPLICATION_${upper_app} "Build ${app} application" ${is_default_application})
|
||||
endforeach ()
|
||||
|
||||
foreach (app ${appDirs})
|
||||
set(app_dir "${OPENSPACE_APPS_DIR}/${app}")
|
||||
string(TOUPPER ${app} upper_app)
|
||||
if (OPENSPACE_APPLICATION_${upper_app})
|
||||
begin_header("Application: ${app}")
|
||||
add_subdirectory(${app_dir})
|
||||
end_header("End: Application: ${app}")
|
||||
endif ()
|
||||
endforeach ()
|
||||
endfunction()
|
||||
|
||||
|
||||
# Returns whether the application located at 'path' is a default application or not
|
||||
function (get_application_attribute_default path result)
|
||||
set(${result} OFF PARENT_SCOPE)
|
||||
if (EXISTS "${path}/include.cmake")
|
||||
unset(DEFAULT_APPLICATION)
|
||||
include(${path}/include.cmake)
|
||||
if (DEFINED DEFAULT_APPLICATION)
|
||||
set(${result} ${DEFAULT_APPLICATION} PARENT_SCOPE)
|
||||
endif ()
|
||||
set(${result} OFF PARENT_SCOPE)
|
||||
if (EXISTS "${path}/include.cmake")
|
||||
unset(DEFAULT_APPLICATION)
|
||||
include(${path}/include.cmake)
|
||||
if (DEFINED DEFAULT_APPLICATION)
|
||||
set(${result} ${DEFAULT_APPLICATION} PARENT_SCOPE)
|
||||
endif ()
|
||||
endif ()
|
||||
endfunction()
|
||||
|
||||
# Get a list of all of the application directories
|
||||
file(GLOB app_dirs RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/*)
|
||||
# Remove the .DS_Store present on Mac
|
||||
list(REMOVE_ITEM app_dirs ".DS_Store")
|
||||
list(REMOVE_ITEM app_dirs "CMakeLists.txt")
|
||||
|
||||
|
||||
|
||||
|
||||
message(STATUS "Enabled applications:")
|
||||
foreach (app ${app_dirs})
|
||||
string(TOUPPER ${app} upper_app)
|
||||
if (OPENSPACE_APPLICATION_${upper_app})
|
||||
message(STATUS "\t${app} (${CMAKE_CURRENT_SOURCE_DIR}/${app})")
|
||||
endif ()
|
||||
endforeach ()
|
||||
|
||||
# First create all of the options for the applications. In case that one of the
|
||||
# applications fail to include later, we still want all of them listed
|
||||
foreach (app ${app_dirs})
|
||||
set(app_dir "${CMAKE_CURRENT_SOURCE_DIR}/${app}")
|
||||
string(TOUPPER ${app} upper_app)
|
||||
|
||||
get_application_attribute_default(${app_dir} is_default_application)
|
||||
option(OPENSPACE_APPLICATION_${upper_app} "Build ${app} application" ${is_default_application})
|
||||
endforeach ()
|
||||
|
||||
foreach (app ${app_dirs})
|
||||
set(app_dir "${CMAKE_CURRENT_SOURCE_DIR}/${app}")
|
||||
string(TOUPPER ${app} upper_app)
|
||||
if (OPENSPACE_APPLICATION_${upper_app})
|
||||
begin_header("Application: ${app}")
|
||||
add_subdirectory(${app_dir})
|
||||
end_header("End: Application: ${app}")
|
||||
endif ()
|
||||
endforeach ()
|
||||
@@ -2,7 +2,7 @@
|
||||
# #
|
||||
# OpenSpace #
|
||||
# #
|
||||
# Copyright (c) 2014-2020 #
|
||||
# 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 #
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* *
|
||||
* OpenSpace *
|
||||
* *
|
||||
* Copyright (c) 2014-2020 *
|
||||
* 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 *
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
# #
|
||||
# OpenSpace #
|
||||
# #
|
||||
# Copyright (c) 2014-2020 #
|
||||
# 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 #
|
||||
@@ -27,6 +27,9 @@ include(${GHOUL_BASE_DIR}/support/cmake/message_macros.cmake)
|
||||
include(${OPENSPACE_CMAKE_EXT_DIR}/application_definition.cmake)
|
||||
include(${OPENSPACE_CMAKE_EXT_DIR}/global_variables.cmake)
|
||||
|
||||
# We are getting all_enabled_modules from the handle_applications.cmake file which gets
|
||||
# it from the main CMakeLists file
|
||||
|
||||
#####
|
||||
# OpenVR
|
||||
#####
|
||||
@@ -34,8 +37,6 @@ option(OPENSPACE_OPENVR_SUPPORT "Build OpenSpace application with OpenVR support
|
||||
|
||||
if (OPENSPACE_OPENVR_SUPPORT)
|
||||
begin_header("Dependency: OpenVR")
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${OPENSPACE_EXT_DIR}/sgct/cmake/modules/")
|
||||
|
||||
find_package(OpenVR REQUIRED)
|
||||
|
||||
set(SGCT_OPENVR_DEFINITIONS OPENVR_SUPPORT)
|
||||
@@ -43,14 +44,14 @@ if (OPENSPACE_OPENVR_SUPPORT)
|
||||
if (WIN32)
|
||||
find_path(SGCT_OPENVR_INCLUDE_DIRECTORY
|
||||
NAMES SGCTOpenVR.h
|
||||
PATHS ${OPENSPACE_EXT_DIR}/sgct/additional_includes/openvr NO_DEFAULT_PATH
|
||||
PATHS ${OPENSPACE_BASE_DIR}/ext/sgct/additional_includes/openvr NO_DEFAULT_PATH
|
||||
REQUIRED
|
||||
)
|
||||
else ()
|
||||
find_path(SGCT_OPENVR_INCLUDE_DIRECTORY
|
||||
NAMES SGCTOpenVR.h
|
||||
PATH_SUFFIXES SGCTOpenVR
|
||||
PATHS ${OPENSPACE_EXT_DIR}/sgct/additional_includes/openvr
|
||||
PATHS ${OPENSPACE_BASE_DIR}/ext/sgct/additional_includes/openvr
|
||||
REQUIRED
|
||||
)
|
||||
endif ()
|
||||
@@ -89,10 +90,7 @@ create_new_application(OpenSpace
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/openspace.icns
|
||||
)
|
||||
|
||||
set_source_files_properties(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/openspace.icns
|
||||
PROPERTIES MACOSX_PACKAGE_LOCATION "Resources"
|
||||
)
|
||||
set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/openspace.icns PROPERTIES MACOSX_PACKAGE_LOCATION "Resources")
|
||||
|
||||
target_include_directories(
|
||||
OpenSpace PRIVATE
|
||||
@@ -101,7 +99,7 @@ target_include_directories(
|
||||
${SPOUT_INCLUDE_DIRS}
|
||||
)
|
||||
|
||||
target_link_libraries(OpenSpace PUBLIC openspace-core ${OPENVR_LIBRARY} ${SPOUT_LIBRARY})
|
||||
target_link_libraries(OpenSpace PRIVATE openspace-core openspace-module-collection ${OPENVR_LIBRARY} ${SPOUT_LIBRARY})
|
||||
|
||||
target_compile_definitions(OpenSpace PRIVATE
|
||||
${SGCT_OPENVR_DEFINITIONS}
|
||||
@@ -115,8 +113,7 @@ set(SGCT_DEP_INCLUDE_FREETYPE OFF CACHE BOOL "" FORCE)
|
||||
set(SGCT_DEP_INCLUDE_FMT OFF CACHE BOOL "" FORCE)
|
||||
|
||||
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/ext/sgct)
|
||||
target_include_directories(OpenSpace SYSTEM PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/ext/sgct/include)
|
||||
target_link_libraries(OpenSpace PUBLIC sgct)
|
||||
target_link_libraries(OpenSpace PRIVATE sgct)
|
||||
|
||||
set_folder_location(sgct "External")
|
||||
set_folder_location(glfw "External/SGCT")
|
||||
@@ -128,15 +125,14 @@ set_folder_location(vrpn "External/SGCT")
|
||||
set_folder_location(zlibstatic "External/SGCT")
|
||||
|
||||
if (UNIX AND (NOT APPLE))
|
||||
target_link_libraries(OpenSpace PUBLIC Xcursor Xinerama X11)
|
||||
target_link_libraries(OpenSpace PRIVATE Xcursor Xinerama X11)
|
||||
endif ()
|
||||
|
||||
end_header("Dependency: SGCT")
|
||||
|
||||
begin_header("Dependency: Profile Editor")
|
||||
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/ext/launcher)
|
||||
# target_include_directories(OpenSpace SYSTEM PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/ext/launcher/include)
|
||||
target_link_libraries(OpenSpace PUBLIC openspace-ui-launcher)
|
||||
target_link_libraries(OpenSpace PRIVATE openspace-ui-launcher)
|
||||
end_header("Dependency: Profile Editor")
|
||||
|
||||
|
||||
@@ -158,17 +154,17 @@ if (OPENSPACE_MODULE_WEBBROWSER AND CEF_ROOT)
|
||||
|
||||
set_cef_targets("${CEF_ROOT}" OpenSpace)
|
||||
run_cef_platform_config("${CEF_ROOT}" "${CEF_TARGET}" "${WEBBROWSER_MODULE_PATH}")
|
||||
elseif (OPENSPACE_MODULE_WEBBROWSER)
|
||||
elseif ()
|
||||
message(WARNING "Web configured to be included, but no CEF_ROOT was found, please try configuring CMake again.")
|
||||
endif ()
|
||||
|
||||
if (MSVC)
|
||||
begin_header("Dependency: Dbghelp")
|
||||
# This library is used for being able to output the callstack if an exception escapes
|
||||
target_link_libraries(OpenSpace PUBLIC Dbghelp.lib)
|
||||
target_link_libraries(OpenSpace PRIVATE Dbghelp.lib)
|
||||
end_header()
|
||||
endif ()
|
||||
|
||||
if (OPENSPACE_NVTOOLS_ENABLED)
|
||||
target_link_libraries(OpenSpace "${OPENSPACE_NVTOOLS_PATH}/lib/x64/nvToolsExt64_1.lib")
|
||||
target_link_libraries(OpenSpace PRIVATE "${OPENSPACE_NVTOOLS_PATH}/lib/x64/nvToolsExt64_1.lib")
|
||||
endif ()
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
# #
|
||||
# OpenSpace #
|
||||
# #
|
||||
# Copyright (c) 2014-2020 #
|
||||
# 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 #
|
||||
@@ -90,3 +90,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::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 ()
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* *
|
||||
* OpenSpace *
|
||||
* *
|
||||
* Copyright (c) 2014-2020 *
|
||||
* 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 *
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* *
|
||||
* OpenSpace *
|
||||
* *
|
||||
* Copyright (c) 2014-2020 *
|
||||
* 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 *
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* *
|
||||
* OpenSpace *
|
||||
* *
|
||||
* Copyright (c) 2014-2020 *
|
||||
* 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 *
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* *
|
||||
* OpenSpace *
|
||||
* *
|
||||
* Copyright (c) 2014-2020 *
|
||||
* 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 *
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* *
|
||||
* OpenSpace *
|
||||
* *
|
||||
* Copyright (c) 2014-2020 *
|
||||
* 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 *
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* *
|
||||
* OpenSpace *
|
||||
* *
|
||||
* Copyright (c) 2014-2020 *
|
||||
* 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 *
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* *
|
||||
* OpenSpace *
|
||||
* *
|
||||
* Copyright (c) 2014-2020 *
|
||||
* 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 *
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* *
|
||||
* OpenSpace *
|
||||
* *
|
||||
* Copyright (c) 2014-2020 *
|
||||
* 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 *
|
||||
@@ -61,7 +61,7 @@ public:
|
||||
*
|
||||
* \param evt #QKeyEvent object for the key press event
|
||||
*/
|
||||
void keyPressEvent(QKeyEvent* evt);
|
||||
virtual void keyPressEvent(QKeyEvent* evt) override;
|
||||
|
||||
|
||||
private slots:
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* *
|
||||
* OpenSpace *
|
||||
* *
|
||||
* Copyright (c) 2014-2020 *
|
||||
* 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 *
|
||||
@@ -56,7 +56,7 @@ public:
|
||||
*
|
||||
* \param evt #QKeyEvent object for the key press event
|
||||
*/
|
||||
void keyPressEvent(QKeyEvent* evt);
|
||||
virtual void keyPressEvent(QKeyEvent* evt) override;
|
||||
|
||||
private slots:
|
||||
void listItemSelected();
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* *
|
||||
* OpenSpace *
|
||||
* *
|
||||
* Copyright (c) 2014-2020 *
|
||||
* 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 *
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* *
|
||||
* OpenSpace *
|
||||
* *
|
||||
* Copyright (c) 2014-2020 *
|
||||
* 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 *
|
||||
@@ -51,7 +51,7 @@ public:
|
||||
*
|
||||
* \param evt #QKeyEvent object for the key press event
|
||||
*/
|
||||
void keyPressEvent(QKeyEvent* evt);
|
||||
void keyPressEvent(QKeyEvent* evt) override;
|
||||
|
||||
private slots:
|
||||
void listItemSelected();
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* *
|
||||
* OpenSpace *
|
||||
* *
|
||||
* Copyright (c) 2014-2020 *
|
||||
* 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 *
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* *
|
||||
* OpenSpace *
|
||||
* *
|
||||
* Copyright (c) 2014-2020 *
|
||||
* 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 *
|
||||
@@ -52,7 +52,7 @@ public:
|
||||
*
|
||||
* \param evt #QKeyEvent object for the key press event
|
||||
*/
|
||||
void keyPressEvent(QKeyEvent* evt);
|
||||
virtual void keyPressEvent(QKeyEvent* evt) override;
|
||||
|
||||
private slots:
|
||||
void listItemSelected();
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* *
|
||||
* OpenSpace *
|
||||
* *
|
||||
* Copyright (c) 2014-2020 *
|
||||
* 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 *
|
||||
@@ -75,7 +75,7 @@ public:
|
||||
*
|
||||
* \param evt #QKeyEvent object for the key press event
|
||||
*/
|
||||
void keyPressEvent(QKeyEvent* evt);
|
||||
virtual void keyPressEvent(QKeyEvent* evt) override;
|
||||
|
||||
private slots:
|
||||
void duplicateProfile();
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* *
|
||||
* OpenSpace *
|
||||
* *
|
||||
* Copyright (c) 2014-2020 *
|
||||
* 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 *
|
||||
@@ -53,7 +53,7 @@ public:
|
||||
*
|
||||
* \param evt #QKeyEvent object for the key press event
|
||||
*/
|
||||
void keyPressEvent(QKeyEvent* evt);
|
||||
virtual void keyPressEvent(QKeyEvent* evt) override;
|
||||
|
||||
private slots:
|
||||
void listItemSelected();
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* *
|
||||
* OpenSpace *
|
||||
* *
|
||||
* Copyright (c) 2014-2020 *
|
||||
* 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 *
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* *
|
||||
* OpenSpace *
|
||||
* *
|
||||
* Copyright (c) 2014-2020 *
|
||||
* 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 *
|
||||
@@ -56,14 +56,13 @@ void FileSystemAccess::parseChildDirElements(QFileInfo fileInfo, std::string spa
|
||||
|
||||
QFileInfoList fileList = dir.entryInfoList(_fileFilterOptions);
|
||||
for (int i = 0; i < fileList.size(); i++) {
|
||||
QFileInfo fileInfo = fileList[i];
|
||||
std::string res = space + fileInfo.fileName().toStdString();
|
||||
QFileInfo fi = fileList[i];
|
||||
std::string res = space + fi.fileName().toStdString();
|
||||
|
||||
if (fileInfo.isDir()) {
|
||||
if (fi.isDir()) {
|
||||
if (level != 0 || (level == 0 && isApprovedPath(res))) {
|
||||
dirNames.push_back(res);
|
||||
parseChildDirElements(fileInfo, (space + " "), level + 1, dirNames,
|
||||
output);
|
||||
parseChildDirElements(fi, (space + " "), level + 1, dirNames, output);
|
||||
}
|
||||
}
|
||||
else {
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* *
|
||||
* OpenSpace *
|
||||
* *
|
||||
* Copyright (c) 2014-2020 *
|
||||
* 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 *
|
||||
@@ -28,6 +28,7 @@
|
||||
|
||||
#include <openspace/engine/configuration.h>
|
||||
#include <ghoul/filesystem/filesystem.h>
|
||||
#include <ghoul/logging/logmanager.h>
|
||||
#include <QComboBox>
|
||||
#include <QFile>
|
||||
#include <QLabel>
|
||||
@@ -220,8 +221,17 @@ QWidget* LauncherWindow::createCentralWidget() {
|
||||
connect(
|
||||
startButton, &QPushButton::released,
|
||||
[this]() {
|
||||
_shouldLaunch = true;
|
||||
close();
|
||||
if (_profileBox->currentText().isEmpty()) {
|
||||
QMessageBox::critical(
|
||||
this,
|
||||
"Empty Profile",
|
||||
"Cannot launch with an empty profile"
|
||||
);
|
||||
}
|
||||
else {
|
||||
_shouldLaunch = true;
|
||||
close();
|
||||
}
|
||||
}
|
||||
);
|
||||
startButton->setObjectName("large");
|
||||
@@ -301,6 +311,13 @@ void LauncherWindow::populateProfilesList(std::string preset) {
|
||||
|
||||
_profileBox->clear();
|
||||
|
||||
if (!std::filesystem::exists(_profilePath)) {
|
||||
LINFOC(
|
||||
"LauncherWindow",
|
||||
fmt::format("Could not find profile folder '{}'", _profilePath)
|
||||
);
|
||||
return;
|
||||
}
|
||||
// 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") {
|
||||
@@ -321,12 +338,20 @@ void LauncherWindow::populateWindowConfigsList(std::string preset) {
|
||||
namespace fs = std::filesystem;
|
||||
|
||||
_windowConfigBox->clear();
|
||||
// Add all the files with the .xml extension to the dropdown
|
||||
for (const fs::directory_entry& p : fs::directory_iterator(_configPath)) {
|
||||
if (p.path().extension() != ".xml") {
|
||||
continue;
|
||||
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)) {
|
||||
if (p.path().extension() != ".xml") {
|
||||
continue;
|
||||
}
|
||||
_windowConfigBox->addItem(QString::fromStdString(p.path().stem().string()));
|
||||
}
|
||||
_windowConfigBox->addItem(QString::fromStdString(p.path().stem().string()));
|
||||
}
|
||||
else {
|
||||
LINFOC(
|
||||
"LauncherWindow",
|
||||
fmt::format("Could not find config folder '{}'", _configPath)
|
||||
);
|
||||
}
|
||||
|
||||
// Try to find the requested configuration file and set it as the current one. As we
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* *
|
||||
* OpenSpace *
|
||||
* *
|
||||
* Copyright (c) 2014-2020 *
|
||||
* 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 *
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* *
|
||||
* OpenSpace *
|
||||
* *
|
||||
* Copyright (c) 2014-2020 *
|
||||
* 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 *
|
||||
@@ -207,12 +207,9 @@ QString AssetsDialog::createTextSummary() {
|
||||
return "";
|
||||
}
|
||||
QString summary;
|
||||
for (int i = 0; i < summaryItems.size(); ++i) {
|
||||
for (size_t i = 0; i < summaryItems.size(); ++i) {
|
||||
bool existsInFilesystem = summaryItems.at(i)->doesExistInFilesystem();
|
||||
|
||||
constexpr const char* ExistsFormat = "{}<br>";
|
||||
constexpr const char* NotExistsFormat = "<font color='{}'>{}</font><br>";
|
||||
|
||||
std::string s = existsInFilesystem ?
|
||||
fmt::format("{}<br>", summaryPaths.at(i)) :
|
||||
fmt::format("<font color='red'>{}</font><br>", summaryPaths.at(i));
|
||||
@@ -233,6 +230,6 @@ void AssetsDialog::parseSelections() {
|
||||
accept();
|
||||
}
|
||||
|
||||
void AssetsDialog::selected(const QModelIndex& sel) {
|
||||
void AssetsDialog::selected(const QModelIndex&) {
|
||||
_summary->setText(createTextSummary());
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* *
|
||||
* OpenSpace *
|
||||
* *
|
||||
* Copyright (c) 2014-2020 *
|
||||
* 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 *
|
||||
@@ -55,7 +55,7 @@ int AssetTreeItem::row() const {
|
||||
_parentItem->_childItems.cend(),
|
||||
this
|
||||
);
|
||||
return std::distance(_parentItem->_childItems.cbegin(), it);
|
||||
return static_cast<int>(std::distance(_parentItem->_childItems.cbegin(), it));
|
||||
}
|
||||
else {
|
||||
return 0;
|
||||
@@ -63,11 +63,11 @@ int AssetTreeItem::row() const {
|
||||
}
|
||||
|
||||
int AssetTreeItem::columnCount() const {
|
||||
return _itemData.size();
|
||||
return static_cast<int>(_itemData.size());
|
||||
}
|
||||
|
||||
QVariant AssetTreeItem::data(int column) const {
|
||||
if (column < 0 || column >= _itemData.size()) {
|
||||
if (column < 0 || column >= static_cast<int>(_itemData.size())) {
|
||||
return QVariant();
|
||||
}
|
||||
else {
|
||||
@@ -76,7 +76,7 @@ QVariant AssetTreeItem::data(int column) const {
|
||||
}
|
||||
|
||||
bool AssetTreeItem::setData(int column, const QVariant& value) {
|
||||
if (column < 0 || column >= _itemData.size()) {
|
||||
if (column < 0 || column >= static_cast<int>(_itemData.size())) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -112,11 +112,11 @@ bool AssetTreeItem::doesExistInFilesystem() const {
|
||||
}
|
||||
|
||||
QString AssetTreeItem::name() const {
|
||||
return QString(data(0).toString());
|
||||
return data(0).toString();
|
||||
}
|
||||
|
||||
bool AssetTreeItem::insertChildren(int position, int count, int columns) {
|
||||
if (position < 0 || position > _childItems.size()) {
|
||||
if (position < 0 || position > static_cast<int>(_childItems.size())) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -130,7 +130,7 @@ bool AssetTreeItem::insertChildren(int position, int count, int columns) {
|
||||
}
|
||||
|
||||
bool AssetTreeItem::removeChildren(int position, int count) {
|
||||
if (position < 0 || position + count > _childItems.size()) {
|
||||
if (position < 0 || position + count > static_cast<int>(_childItems.size())) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -143,7 +143,7 @@ bool AssetTreeItem::removeChildren(int position, int count) {
|
||||
}
|
||||
|
||||
bool AssetTreeItem::insertColumns(int position, int columns) {
|
||||
if (position < 0 || position > _itemData.size()) {
|
||||
if (position < 0 || position > static_cast<int>(_itemData.size())) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* *
|
||||
* OpenSpace *
|
||||
* *
|
||||
* Copyright (c) 2014-2020 *
|
||||
* 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 *
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* *
|
||||
* OpenSpace *
|
||||
* *
|
||||
* Copyright (c) 2014-2020 *
|
||||
* 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 *
|
||||
@@ -191,22 +191,22 @@ QWidget* CameraDialog::createNavStateWidget() {
|
||||
QWidget* posBox = new QWidget;
|
||||
QBoxLayout* posLayout = new QHBoxLayout(posBox);
|
||||
posLayout->setContentsMargins(0, 0, 0, 0);
|
||||
posLayout->addWidget(new QLabel("X"));
|
||||
posLayout->addWidget(new QLabel("X [m]"));
|
||||
_navState.positionX = new QLineEdit;
|
||||
_navState.positionX->setValidator(new QDoubleValidator);
|
||||
_navState.positionX->setToolTip("Camera position vector (x)");
|
||||
_navState.positionX->setToolTip("Camera position vector (x) [m]");
|
||||
posLayout->addWidget(_navState.positionX);
|
||||
|
||||
posLayout->addWidget(new QLabel("Y"));
|
||||
posLayout->addWidget(new QLabel("Y [m]"));
|
||||
_navState.positionY = new QLineEdit;
|
||||
_navState.positionY->setValidator(new QDoubleValidator);
|
||||
_navState.positionY->setToolTip("Camera position vector (y)");
|
||||
_navState.positionY->setToolTip("Camera position vector (y) [m]");
|
||||
posLayout->addWidget(_navState.positionY);
|
||||
|
||||
posLayout->addWidget(new QLabel("Z"));
|
||||
posLayout->addWidget(new QLabel("Z [m]"));
|
||||
_navState.positionZ = new QLineEdit;
|
||||
_navState.positionZ->setValidator(new QDoubleValidator);
|
||||
_navState.positionZ->setToolTip("Camera position vector (z)");
|
||||
_navState.positionZ->setToolTip("Camera position vector (z) [m]");
|
||||
posLayout->addWidget(_navState.positionZ);
|
||||
layout->addWidget(posBox, 3, 1);
|
||||
}
|
||||
@@ -277,7 +277,7 @@ QWidget* CameraDialog::createGeoWidget() {
|
||||
_geoState.longitude->setToolTip("Longitude of camera focus point (+/- 180 degrees)");
|
||||
layout->addWidget(_geoState.longitude, 2, 1);
|
||||
|
||||
layout->addWidget(new QLabel("Altitude"), 3, 0);
|
||||
layout->addWidget(new QLabel("Altitude [m]"), 3, 0);
|
||||
_geoState.altitude = new QLineEdit;
|
||||
_geoState.altitude->setValidator(new QDoubleValidator);
|
||||
_geoState.altitude->setToolTip("Altitude of camera (meters)");
|
||||
@@ -308,7 +308,7 @@ bool CameraDialog::areRequiredFormsFilledAndValid() {
|
||||
allFormsOk = false;
|
||||
addErrorMsg("Position Z is empty");
|
||||
}
|
||||
int upVectorCount = 0;
|
||||
|
||||
const bool hasUpX = !_navState.upX->text().isEmpty();
|
||||
const bool hasUpY = !_navState.upY->text().isEmpty();
|
||||
const bool hasUpZ = !_navState.upZ->text().isEmpty();
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* *
|
||||
* OpenSpace *
|
||||
* *
|
||||
* Copyright (c) 2014-2020 *
|
||||
* 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 *
|
||||
@@ -75,7 +75,7 @@ namespace {
|
||||
break;
|
||||
}
|
||||
}
|
||||
return checkForTimeDescription(i, value);
|
||||
return checkForTimeDescription(static_cast<int>(i), value);
|
||||
}
|
||||
} // namespace
|
||||
|
||||
@@ -230,8 +230,8 @@ void DeltaTimesDialog::listItemSelected() {
|
||||
|
||||
void DeltaTimesDialog::setLabelForKey(int index, bool editMode, std::string color) {
|
||||
std::string labelS = "Set Simulation Time Increment for key";
|
||||
if (index >= _data.size()) {
|
||||
index = _data.size() - 1;
|
||||
if (index >= static_cast<int>(_data.size())) {
|
||||
index = static_cast<int>(_data.size()) - 1;
|
||||
}
|
||||
if (editMode) {
|
||||
labelS += " '" + createSummaryForDeltaTime(index, false) + "':";
|
||||
@@ -242,14 +242,14 @@ void DeltaTimesDialog::setLabelForKey(int index, bool editMode, std::string colo
|
||||
}
|
||||
|
||||
void DeltaTimesDialog::valueChanged(const QString& text) {
|
||||
if (_seconds->text().isEmpty()) {
|
||||
if (text.isEmpty()) {
|
||||
_errorMsg->setText("");
|
||||
}
|
||||
else {
|
||||
int value = _seconds->text().toDouble();
|
||||
int value = text.toDouble();
|
||||
if (value != 0) {
|
||||
_value->setText(QString::fromStdString(
|
||||
timeDescription(_seconds->text().toDouble()))
|
||||
timeDescription(text.toDouble()))
|
||||
);
|
||||
_errorMsg->setText("");
|
||||
}
|
||||
@@ -358,14 +358,14 @@ void DeltaTimesDialog::parseSelections() {
|
||||
if ((_data.size() == 1) && (_data.at(0) == 0)) {
|
||||
_data.clear();
|
||||
}
|
||||
int finalNonzeroIndex = _data.size() - 1;
|
||||
int finalNonzeroIndex = static_cast<int>(_data.size()) - 1;
|
||||
for (; finalNonzeroIndex >= 0; --finalNonzeroIndex) {
|
||||
if (_data.at(finalNonzeroIndex) != 0) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
std::vector<double> tempDt;
|
||||
for (size_t i = 0; i < (finalNonzeroIndex + 1); ++i) {
|
||||
for (int i = 0; i < (finalNonzeroIndex + 1); ++i) {
|
||||
tempDt.push_back(_data[i]);
|
||||
}
|
||||
_profile.setDeltaTimes(tempDt);
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* *
|
||||
* OpenSpace *
|
||||
* *
|
||||
* Copyright (c) 2014-2020 *
|
||||
* 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 *
|
||||
@@ -323,7 +323,7 @@ void KeybindingsDialog::keySelected(int index) {
|
||||
|
||||
int KeybindingsDialog::indexInKeyMapping(std::vector<int>& mapVector, int keyInt) {
|
||||
const auto it = std::find(mapVector.cbegin(), mapVector.cend(), keyInt);
|
||||
return std::distance(mapVector.cbegin(), it);
|
||||
return static_cast<int>(std::distance(mapVector.cbegin(), it));
|
||||
}
|
||||
|
||||
bool KeybindingsDialog::isLineEmpty(int index) {
|
||||
@@ -338,8 +338,6 @@ bool KeybindingsDialog::isLineEmpty(int index) {
|
||||
}
|
||||
|
||||
void KeybindingsDialog::listItemAdded() {
|
||||
int currentListSize = _list->count();
|
||||
|
||||
_data.push_back(BlankKey);
|
||||
_list->addItem(new QListWidgetItem(" (Enter details below & click 'Save')"));
|
||||
// Scroll down to that blank line highlighted
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* *
|
||||
* OpenSpace *
|
||||
* *
|
||||
* Copyright (c) 2014-2020 *
|
||||
* 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 *
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* *
|
||||
* OpenSpace *
|
||||
* *
|
||||
* Copyright (c) 2014-2020 *
|
||||
* 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 *
|
||||
@@ -112,7 +112,7 @@ void MarkNodesDialog::listItemAdded() {
|
||||
std::string itemToAdd = _newNode->text().toStdString();
|
||||
const auto it = std::find(_data.cbegin(), _data.cend(), itemToAdd);
|
||||
if (it != _data.end()) {
|
||||
_list->setCurrentRow(std::distance(_data.cbegin(), it));
|
||||
_list->setCurrentRow(static_cast<int>(std::distance(_data.cbegin(), it)));
|
||||
}
|
||||
else {
|
||||
_data.push_back(itemToAdd);
|
||||
@@ -131,7 +131,7 @@ void MarkNodesDialog::listItemRemove() {
|
||||
QListWidgetItem* item = _list->currentItem();
|
||||
int index = _list->row(item);
|
||||
|
||||
if (index < 0 || index >= _markedNodesListItems.size()) {
|
||||
if (index < 0 || index >= static_cast<int>(_markedNodesListItems.size())) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* *
|
||||
* OpenSpace *
|
||||
* *
|
||||
* Copyright (c) 2014-2020 *
|
||||
* 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 *
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* *
|
||||
* OpenSpace *
|
||||
* *
|
||||
* Copyright (c) 2014-2020 *
|
||||
* 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 *
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* *
|
||||
* OpenSpace *
|
||||
* *
|
||||
* Copyright (c) 2014-2020 *
|
||||
* 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 *
|
||||
@@ -50,7 +50,7 @@
|
||||
using namespace openspace;
|
||||
|
||||
namespace {
|
||||
QString labelText(int size, QString title) {
|
||||
QString labelText(size_t size, QString title) {
|
||||
QString label;
|
||||
if (size > 0) {
|
||||
label = title + " (" + QString::number(size) + ")";
|
||||
@@ -98,9 +98,9 @@ ProfileEdit::ProfileEdit(Profile& profile, const std::string& profileName,
|
||||
const std::vector<std::string>& readOnlyProfiles,
|
||||
QWidget* parent)
|
||||
: QDialog(parent)
|
||||
, _profile(profile)
|
||||
, _assetBasePath(std::move(assetBasePath))
|
||||
, _profileBasePath(std::move(profileBasePath))
|
||||
, _profile(profile)
|
||||
, _readOnlyProfiles(readOnlyProfiles)
|
||||
{
|
||||
setWindowTitle("Profile Editor");
|
||||
@@ -373,7 +373,7 @@ void ProfileEdit::duplicateProfile() {
|
||||
// will remove the suffix here first
|
||||
profile = profile.substr(0, it);
|
||||
}
|
||||
catch (const std::invalid_argument& e) {
|
||||
catch (const std::invalid_argument&) {
|
||||
// If this exception is thrown, we did find a separator character but the
|
||||
// substring afterwards was not a number, so the user just added a separator
|
||||
// by themselves. In this case we don't do anything
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* *
|
||||
* OpenSpace *
|
||||
* *
|
||||
* Copyright (c) 2014-2020 *
|
||||
* 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 *
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* *
|
||||
* OpenSpace *
|
||||
* *
|
||||
* Copyright (c) 2014-2020 *
|
||||
* 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 *
|
||||
|
||||
+1
-1
Submodule apps/OpenSpace/ext/sgct updated: f3094de5ba...fed1f55a0b
+45
-17
@@ -2,7 +2,7 @@
|
||||
* *
|
||||
* OpenSpace *
|
||||
* *
|
||||
* Copyright (c) 2014-2020 *
|
||||
* 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 *
|
||||
@@ -41,13 +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>
|
||||
#ifdef _WIN32
|
||||
#include <ghoul/opengl/ghoul_gl.h>
|
||||
#ifdef WIN32
|
||||
#define GLFW_EXPOSE_NATIVE_WIN32
|
||||
#else
|
||||
#define GLFW_INCLUDE_NONE
|
||||
#endif
|
||||
#include <GLFW/glfw3.h>
|
||||
#include <GLFW/glfw3native.h>
|
||||
#include <sgct/clustermanager.h>
|
||||
#include <sgct/commandline.h>
|
||||
@@ -224,6 +222,8 @@ void mainInitFunc(GLFWwindow*) {
|
||||
global::openSpaceEngine->initialize();
|
||||
LDEBUG("Initializing OpenSpace Engine finished");
|
||||
|
||||
#ifndef __APPLE__
|
||||
// Apparently: "Cocoa: Regular windows do not have icons on macOS"
|
||||
{
|
||||
std::string path = absPath("${DATA}/openspace-icon.png");
|
||||
int x;
|
||||
@@ -242,6 +242,7 @@ void mainInitFunc(GLFWwindow*) {
|
||||
|
||||
stbi_image_free(icons[0].pixels);
|
||||
}
|
||||
#endif // __APPLE__
|
||||
|
||||
currentWindow = Engine::instance().windows().front().get();
|
||||
currentViewport = currentWindow->viewports().front().get();
|
||||
@@ -575,18 +576,18 @@ 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
|
||||
);
|
||||
}
|
||||
|
||||
if (w.right.initialized) {
|
||||
const GLuint texId = window.frameBufferTexture(Window::TextureIndex::RightEye);
|
||||
glBindTexture(GL_TEXTURE_2D, texId);
|
||||
const GLuint tId = window.frameBufferTexture(Window::TextureIndex::RightEye);
|
||||
glBindTexture(GL_TEXTURE_2D, tId);
|
||||
w.right.handle->SendTexture(
|
||||
texId,
|
||||
GL_TEXTURE_2D,
|
||||
tId,
|
||||
GLuint(GL_TEXTURE_2D),
|
||||
window.framebufferResolution().x,
|
||||
window.framebufferResolution().y
|
||||
);
|
||||
@@ -925,6 +926,9 @@ void setSgctDelegateFunctions() {
|
||||
|
||||
return currentWindow->swapGroupFrameNumber();
|
||||
};
|
||||
sgctDelegate.setScreenshotFolder = [](std::string path) {
|
||||
Settings::instance().setCapturePath(std::move(path));
|
||||
};
|
||||
}
|
||||
|
||||
void checkCommandLineForSettings(int& argc, char** argv, bool& hasSGCT, bool& hasProfile,
|
||||
@@ -1008,9 +1012,7 @@ std::string selectedSgctProfileFromLauncher(LauncherWindow& lw, bool hasCliSGCTC
|
||||
return config;
|
||||
}
|
||||
|
||||
int main(int argc, char** argv) {
|
||||
glfwInit();
|
||||
|
||||
int main(int argc, char* argv[]) {
|
||||
#ifdef WIN32
|
||||
SetUnhandledExceptionFilter(generateMiniDump);
|
||||
#endif // WIN32
|
||||
@@ -1166,19 +1168,38 @@ int main(int argc, char** argv) {
|
||||
sgctFunctionName
|
||||
);
|
||||
|
||||
// (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
|
||||
// QApplication object around until the end of the program. Even though the Qt
|
||||
// keyboard handler gets called, it doesn't do anything so everything still works.
|
||||
#ifdef __APPLE__
|
||||
int qac = 0;
|
||||
QApplication app(qac, nullptr);
|
||||
#endif // __APPLE__
|
||||
|
||||
bool skipLauncher =
|
||||
(hasProfile && hasSGCTConfig) || global::configuration->bypassLauncher;
|
||||
if (!skipLauncher) {
|
||||
#ifndef __APPLE__
|
||||
int qac = 0;
|
||||
QApplication app(qac, nullptr);
|
||||
LauncherWindow win(!hasProfile,
|
||||
*global::configuration, !hasSGCTConfig, windowCfgPreset, nullptr);
|
||||
#endif // __APPLE__
|
||||
|
||||
LauncherWindow win(
|
||||
!hasProfile,
|
||||
*global::configuration,
|
||||
!hasSGCTConfig,
|
||||
windowCfgPreset,
|
||||
nullptr
|
||||
);
|
||||
win.show();
|
||||
app.exec();
|
||||
|
||||
if (!win.wasLaunchSelected()) {
|
||||
exit(EXIT_SUCCESS);
|
||||
}
|
||||
glfwInit();
|
||||
|
||||
global::configuration->profile = win.selectedProfile();
|
||||
windowConfiguration = selectedSgctProfileFromLauncher(
|
||||
@@ -1188,7 +1209,14 @@ int main(int argc, char** argv) {
|
||||
labelFromCfgFile,
|
||||
xmlExt
|
||||
);
|
||||
} else {
|
||||
glfwInit();
|
||||
}
|
||||
if (global::configuration->profile.empty()) {
|
||||
LFATAL("Cannot launch with an empty profile");
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
|
||||
// Prepend the outgoing sgctArguments with the program name
|
||||
// as well as the configuration file that sgct is supposed to use
|
||||
@@ -1197,7 +1225,7 @@ int main(int argc, char** argv) {
|
||||
arguments.insert(arguments.begin() + 2, absPath(windowConfiguration));
|
||||
|
||||
// Need to set this before the creation of the sgct::Engine
|
||||
|
||||
|
||||
Log::instance().setLogToConsole(false);
|
||||
Log::instance().setShowTime(false);
|
||||
Log::instance().setShowLogLevel(false);
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
# #
|
||||
# OpenSpace #
|
||||
# #
|
||||
# Copyright (c) 2014-2020 #
|
||||
# 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 #
|
||||
@@ -37,7 +37,7 @@ create_new_application(Sync MACOSX_BUNDLE
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/openspace.icns
|
||||
)
|
||||
|
||||
target_link_libraries(Sync PUBLIC openspace-core)
|
||||
target_link_libraries(Sync PRIVATE openspace-core openspace-module-collection)
|
||||
|
||||
# Web Browser and Web gui
|
||||
# Why not put these in the module's path? Because they do not have access to the
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
* *
|
||||
* OpenSpace *
|
||||
* *
|
||||
* Copyright (c) 2014-2020 *
|
||||
* 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 *
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
# #
|
||||
# OpenSpace #
|
||||
# #
|
||||
# Copyright (c) 2014-2020 #
|
||||
# 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 #
|
||||
@@ -37,7 +37,7 @@ create_new_application(TaskRunner MACOSX_BUNDLE
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/openspace.icns
|
||||
)
|
||||
|
||||
target_link_libraries(TaskRunner PUBLIC openspace-core)
|
||||
target_link_libraries(TaskRunner PRIVATE openspace-core openspace-module-collection)
|
||||
|
||||
# Web Browser and Web gui
|
||||
# Why not put these in the module's path? Because they do not have access to the
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* *
|
||||
* OpenSpace *
|
||||
* *
|
||||
* Copyright (c) 2014-2020 *
|
||||
* 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 *
|
||||
@@ -107,6 +107,7 @@ int main(int argc, char** argv) {
|
||||
using namespace openspace;
|
||||
|
||||
ghoul::initialize();
|
||||
global::create();
|
||||
|
||||
// Register the path of the executable,
|
||||
// to make it possible to find other files in the same directory.
|
||||
@@ -117,9 +118,9 @@ int main(int argc, char** argv) {
|
||||
);
|
||||
|
||||
std::string configFile = configuration::findConfiguration();
|
||||
global::configuration = configuration::loadConfigurationFromFile(configFile);
|
||||
openspace::global::openSpaceEngine.registerPathTokens();
|
||||
global::openSpaceEngine.initialize();
|
||||
*global::configuration = configuration::loadConfigurationFromFile(configFile);
|
||||
openspace::global::openSpaceEngine->registerPathTokens();
|
||||
global::openSpaceEngine->initialize();
|
||||
|
||||
ghoul::cmdparser::CommandlineParser commandlineParser(
|
||||
"OpenSpace TaskRunner",
|
||||
@@ -157,5 +158,7 @@ int main(int argc, char** argv) {
|
||||
std::cout << "TASK > ";
|
||||
}
|
||||
|
||||
global::destroy();
|
||||
ghoul::deinitialize();
|
||||
return 0;
|
||||
};
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
# #
|
||||
# OpenSpace #
|
||||
# #
|
||||
# Copyright (c) 2014-2020 #
|
||||
# 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 #
|
||||
@@ -38,7 +38,7 @@ create_new_application(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/openspace.icns
|
||||
)
|
||||
|
||||
target_link_libraries(Wormhole PUBLIC openspace-core)
|
||||
target_link_libraries(Wormhole PRIVATE openspace-core openspace-module-collection)
|
||||
|
||||
# Web Browser and Web gui
|
||||
# Why not put these in the module's path? Because they do not have access to the
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* *
|
||||
* OpenSpace *
|
||||
* *
|
||||
* Copyright (c) 2014-2020 *
|
||||
* 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 *
|
||||
|
||||
+44
-4
@@ -7,22 +7,62 @@ 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')
|
||||
asset.require('scene/milkyway/milkyway/volume')
|
||||
asset.require('scene/milkyway/constellations/constellation_art')
|
||||
asset.require('scene/milkyway/constellations/constellation_keybinds')
|
||||
asset.require('scene/milkyway/objects/orionnebula/orionnebula')
|
||||
asset.require('util/launcher_images')
|
||||
|
||||
-- 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')
|
||||
assetHelper.requireAll(asset, 'scene/milkyway/exoplanets')
|
||||
assetHelper.requireAll(asset, 'scene/digitaluniverse')
|
||||
asset.require('scene/digitaluniverse/2dF')
|
||||
asset.require('scene/digitaluniverse/2mass')
|
||||
asset.require('scene/digitaluniverse/6dF')
|
||||
asset.require('scene/digitaluniverse/abell')
|
||||
asset.require('scene/digitaluniverse/alternatestarlabels')
|
||||
asset.require('scene/digitaluniverse/backgroundradiation')
|
||||
-- asset.require('scene/digitaluniverse/backgroundradiation_multiverse')
|
||||
asset.require('scene/digitaluniverse/clusters')
|
||||
asset.require('scene/digitaluniverse/constellationbounds')
|
||||
asset.require('scene/digitaluniverse/constellations')
|
||||
asset.require('scene/digitaluniverse/deepsky')
|
||||
asset.require('scene/digitaluniverse/dwarfs')
|
||||
asset.require('scene/digitaluniverse/exoplanets')
|
||||
asset.require('scene/digitaluniverse/globularclusters')
|
||||
asset.require('scene/digitaluniverse/grids')
|
||||
asset.require('scene/digitaluniverse/groups')
|
||||
asset.require('scene/digitaluniverse/h2regions')
|
||||
asset.require('scene/digitaluniverse/kepler')
|
||||
asset.require('scene/digitaluniverse/localdwarfs')
|
||||
asset.require('scene/digitaluniverse/milkyway')
|
||||
asset.require('scene/digitaluniverse/milkyway_arm_labels')
|
||||
asset.require('scene/digitaluniverse/milkyway_data')
|
||||
asset.require('scene/digitaluniverse/milkyway_label')
|
||||
asset.require('scene/digitaluniverse/milkyway_sphere')
|
||||
asset.require('scene/digitaluniverse/obassociations')
|
||||
asset.require('scene/digitaluniverse/openclusters')
|
||||
asset.require('scene/digitaluniverse/planetarynebulae')
|
||||
asset.require('scene/digitaluniverse/pulsars')
|
||||
asset.require('scene/digitaluniverse/quasars')
|
||||
asset.require('scene/digitaluniverse/sdss')
|
||||
asset.require('scene/digitaluniverse/starlabels')
|
||||
asset.require('scene/digitaluniverse/starorbits')
|
||||
asset.require('scene/digitaluniverse/stars')
|
||||
asset.require('scene/digitaluniverse/superclusters')
|
||||
asset.require('scene/digitaluniverse/supernovaremnants')
|
||||
asset.require('scene/digitaluniverse/tully')
|
||||
asset.require('scene/digitaluniverse/voids')
|
||||
|
||||
|
||||
asset.require('customization/globebrowsing')
|
||||
|
||||
|
||||
@@ -1,10 +1,13 @@
|
||||
-- Add require statements for assets exporting the neccessary globes
|
||||
-- here we add Mars, Moon and Mercury:
|
||||
asset.require('../scene/solarsystem/planets/mars/mars')
|
||||
asset.require('../scene/solarsystem/planets/earth/moon/moon')
|
||||
asset.require('../scene/solarsystem/planets/mercury/mercury')
|
||||
|
||||
----------------------------------------
|
||||
-- Configuration options for this asset
|
||||
local CreateFocusNodes = false
|
||||
local AddMarsLayers = true
|
||||
local AddMoonLayers = true
|
||||
local AddMercuryLayers = true
|
||||
----------------------------------------
|
||||
|
||||
-- If you add layers for different planets than listed here, be sure to add an
|
||||
-- asset.require(...) statement in here similar to the ones that are used below
|
||||
|
||||
-- Add folders to this list that contain .info files describing patches
|
||||
-- OBS: Even on Windows, you have to use forward slashes (/) or double backslashes (\\)
|
||||
@@ -51,6 +54,24 @@ local vrt_folders = {
|
||||
}
|
||||
}
|
||||
|
||||
-- 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')
|
||||
else
|
||||
vrt_folders['Mars'] = nil
|
||||
end
|
||||
if AddMoonLayers then
|
||||
asset.require('../scene/solarsystem/planets/earth/moon/moon')
|
||||
else
|
||||
vrt_folders['Moon'] = nil
|
||||
end
|
||||
if AddMercuryLayers then
|
||||
asset.require('../scene/solarsystem/planets/mercury/mercury')
|
||||
else
|
||||
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
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
|
||||
local color = {0.0, 1.0, 1.0}
|
||||
|
||||
-- @TODO (emmbr 2020-02-03) Potential threading issue later on? This will run on the main thread
|
||||
local singeColorTexturePath = openspace.createSingeColorImage("example_ring_color", color)
|
||||
|
||||
local BasicDisc = {
|
||||
Identifier = "BasicDisc",
|
||||
Parent = "Root",
|
||||
Renderable = {
|
||||
Type = "RenderableDisc",
|
||||
Texture = singeColorTexturePath,
|
||||
Size = 1e10,
|
||||
Width = 0.5
|
||||
},
|
||||
GUI = {
|
||||
Name = "Basic Disc",
|
||||
Path = "/Examples/Discs"
|
||||
}
|
||||
}
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, {
|
||||
BasicDisc
|
||||
})
|
||||
@@ -1,6 +1,6 @@
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
|
||||
local scale = 3E11
|
||||
local scale = 149597870700 -- 1 AU
|
||||
|
||||
local radialGrid = {
|
||||
Identifier = "ExampleRadialGrid",
|
||||
@@ -14,9 +14,10 @@ local radialGrid = {
|
||||
Renderable = {
|
||||
Type = "RenderableRadialGrid",
|
||||
Opacity = 0.8,
|
||||
GridColor = {0.6, 1.0, 0.7},
|
||||
Color = { 0.6, 1.0, 0.7 },
|
||||
LineWidth = 3.0,
|
||||
GridSegments = {3, 4},
|
||||
GridSegments = { 3, 4 },
|
||||
OuterSize = 1.0,
|
||||
InnerRadius = 0.2,
|
||||
Enabled = false
|
||||
},
|
||||
@@ -36,10 +37,10 @@ local planarGrid = {
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderableGrid",
|
||||
GridColor = {0.0, 1.0, 0.8},
|
||||
Color = { 0.0, 1.0, 0.8 },
|
||||
LineWidth = 2.0,
|
||||
Segments = {5, 10},
|
||||
Size = {1, 2},
|
||||
Segments = { 5, 10 },
|
||||
Size = { 1, 2 },
|
||||
Enabled = false
|
||||
},
|
||||
GUI = {
|
||||
@@ -48,7 +49,51 @@ local planarGrid = {
|
||||
}
|
||||
}
|
||||
|
||||
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
|
||||
})
|
||||
|
||||
@@ -30,7 +30,7 @@ local object = {
|
||||
ColorRange = { { 0.0, 0.075 }, { 1.0, 10.0 } },
|
||||
Unit = "Mpc",
|
||||
ScaleFactor = 534.0,
|
||||
BillboardMaxSize = 7.0,
|
||||
BillboardMaxSize = 9.0,
|
||||
EnablePixelSizeControl = true,
|
||||
},
|
||||
GUI = {
|
||||
|
||||
@@ -1,13 +1,5 @@
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
|
||||
|
||||
|
||||
local textures = asset.syncedResource({
|
||||
Name = "Background Radiation Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_backgroundradiation_textures",
|
||||
Version = 2
|
||||
})
|
||||
local textures = asset.require('./backgroundradiation_textures').textures
|
||||
|
||||
local speck = asset.syncedResource({
|
||||
Name = "Background Radiation Speck Files",
|
||||
@@ -94,126 +86,6 @@ local planck = {
|
||||
}
|
||||
}
|
||||
|
||||
local multiverse_planck_1 = {
|
||||
Identifier = "PlanckMultiverse1",
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "StaticTranslation",
|
||||
Position = { 0.0, 0.0, 2000E23}
|
||||
},
|
||||
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 }
|
||||
}
|
||||
},
|
||||
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 }
|
||||
}
|
||||
},
|
||||
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 }
|
||||
}
|
||||
},
|
||||
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"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
local Halpha = {
|
||||
Identifier = "HAlpha",
|
||||
@@ -244,8 +116,7 @@ local Halpha = {
|
||||
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, {
|
||||
wmap, cbe, planck, multiverse_planck_1, multiverse_planck_2, multiverse_planck_3,
|
||||
multiverse_planck_4, Halpha
|
||||
wmap, cbe, planck, Halpha
|
||||
})
|
||||
|
||||
|
||||
@@ -254,12 +125,11 @@ asset.meta = {
|
||||
Version = "2.0",
|
||||
Description = [[Various AllSky images for the Milky Way and observable Universe.
|
||||
Included: Wilkinson Microwave Anisotropy Probe (WMAP), Cosmic Background Explorer,
|
||||
Planck, Planck Multiverse 1-4, and H Alpha <br><br> Data Reference: Planck/ESA and
|
||||
the Planck Collaboration, Wilkinson Microwave Anisotropy Probe/NASA, Doug
|
||||
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", "PlanckMultiverse1", "PlanckMultiverse2",
|
||||
"PlanckMultiverse3", "PlanckMultiverse4", "HAlpha"}
|
||||
Identifiers = {"WMAP", "CBE", "Planck", "HAlpha"}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,141 @@
|
||||
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 }
|
||||
}
|
||||
},
|
||||
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 }
|
||||
}
|
||||
},
|
||||
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 }
|
||||
}
|
||||
},
|
||||
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 }
|
||||
}
|
||||
},
|
||||
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
|
||||
})
|
||||
|
||||
|
||||
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" }
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
local textures = asset.syncedResource({
|
||||
Name = "Background Radiation Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_backgroundradiation_textures",
|
||||
Version = 2
|
||||
})
|
||||
|
||||
asset.export('textures', textures)
|
||||
@@ -33,7 +33,7 @@ local deepSkyPoints = {
|
||||
TextColor = { 0.1, 0.4, 0.6 },
|
||||
TextSize = 20.50,
|
||||
TextMinSize = 16.0,
|
||||
Unit = "Mpc",
|
||||
Unit = "pc",
|
||||
-- Fade in value in the same unit as "Unit"
|
||||
--FadeInDistances = { 0.05, 1.0 },
|
||||
-- Max size in pixels
|
||||
@@ -68,7 +68,7 @@ local deepSkyImages = {
|
||||
TexturePath = textures,
|
||||
Luminosity = "radius",
|
||||
ScaleLuminosity = 0.001,
|
||||
Unit = "Mpc",
|
||||
Unit = "pc",
|
||||
-- Fade in value in the same unit as "Unit"
|
||||
--FadeInDistances = {0.001, 0.05010},
|
||||
PlaneMinSize = 5.0
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
asset.require('./2dF')
|
||||
asset.require('./2mass')
|
||||
asset.require('./6dF')
|
||||
asset.require('./abell')
|
||||
asset.require('./alternatestarlabels')
|
||||
asset.require('./backgroundradiation')
|
||||
asset.require('./backgroundradiation_multiverse')
|
||||
asset.require('./clusters')
|
||||
asset.require('./constellationbounds')
|
||||
asset.require('./constellations')
|
||||
asset.require('./deepsky')
|
||||
asset.require('./dwarfs')
|
||||
asset.require('./exoplanets')
|
||||
asset.require('./globularclusters')
|
||||
asset.require('./grids')
|
||||
asset.require('./groups')
|
||||
asset.require('./h2regions')
|
||||
asset.require('./kepler')
|
||||
asset.require('./localdwarfs')
|
||||
asset.require('./milkyway')
|
||||
asset.require('./milkyway_arm_labels')
|
||||
asset.require('./milkyway_data')
|
||||
asset.require('./milkyway_label')
|
||||
asset.require('./milkyway_sphere')
|
||||
asset.require('./obassociations')
|
||||
asset.require('./openclusters')
|
||||
asset.require('./planetarynebulae')
|
||||
asset.require('./pulsars')
|
||||
asset.require('./quasars')
|
||||
asset.require('./sdss')
|
||||
asset.require('./starlabels')
|
||||
asset.require('./starorbits')
|
||||
asset.require('./stars')
|
||||
asset.require('./superclusters')
|
||||
asset.require('./supernovaremnants')
|
||||
asset.require('./tully')
|
||||
asset.require('./voids')
|
||||
@@ -32,10 +32,10 @@ local object = {
|
||||
TextColor = { 0.5, 0.1, 0.2 },
|
||||
TextSize = 14.6,
|
||||
TextMinSize = 10.0,
|
||||
ScaleFactor = 370,
|
||||
ScaleFactor = 372.1,
|
||||
--CorrectionSizeEndDistance = 16.1,
|
||||
--CorrectionSizeFactor = 7.75,
|
||||
BillboardMaxSize = 18.0,
|
||||
BillboardMaxSize = 20.0,
|
||||
EnablePixelSizeControl = true,
|
||||
Unit = "pc"
|
||||
},
|
||||
|
||||
@@ -13,7 +13,7 @@ local speck = asset.syncedResource({
|
||||
Name = "Exoplanets Speck Files",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "digitaluniverse_exoplanets_speck",
|
||||
Version = 1
|
||||
Version = 2
|
||||
})
|
||||
|
||||
local object = {
|
||||
@@ -27,7 +27,7 @@ local object = {
|
||||
Texture = textures .. "/target-blue.png",
|
||||
File = speck .. "/expl.speck",
|
||||
LabelFile = speck .. "/expl.label",
|
||||
ScaleFactor = 392.5,
|
||||
ScaleFactor = 388.67923,
|
||||
TextColor = { 0.3, 0.3, 0.8 },
|
||||
TextSize = 14.8,
|
||||
TextMaxSize = 200.0,
|
||||
@@ -35,7 +35,7 @@ local object = {
|
||||
CorrectionSizeEndDistance = 15.23,
|
||||
CorrectionSizeFactor = 13.3,
|
||||
Unit = "pc",
|
||||
BillboardMaxSize = 52.0,
|
||||
BillboardMaxSize = 75.0,
|
||||
EnablePixelSizeControl = true,
|
||||
},
|
||||
GUI = {
|
||||
|
||||
@@ -40,7 +40,7 @@ local radio = {
|
||||
Type = "RenderableSphericalGrid",
|
||||
Enabled = false,
|
||||
Opacity = 1.0,
|
||||
GridColor = { 0.3, 0.84, 1.0 },
|
||||
Color = { 0.3, 0.84, 1.0 },
|
||||
LineWidth = 2.0
|
||||
},
|
||||
GUI = {
|
||||
@@ -66,7 +66,7 @@ local oort = {
|
||||
Type = "RenderableSphericalGrid",
|
||||
Enabled = false,
|
||||
Opacity = 0.8,
|
||||
GridColor = { 0.8, 0.4, 0.4 },
|
||||
Color = { 0.8, 0.4, 0.4 },
|
||||
LineWidth = 2.0
|
||||
},
|
||||
GUI = {
|
||||
@@ -92,7 +92,7 @@ local ecliptic = {
|
||||
Type = "RenderableSphericalGrid",
|
||||
Enabled = false,
|
||||
Opacity = 1.0,
|
||||
GridColor = { 0.74, 0.26, 0.26 },
|
||||
Color = { 0.74, 0.26, 0.26 },
|
||||
LineWidth = 2.0
|
||||
},
|
||||
GUI = {
|
||||
@@ -146,7 +146,7 @@ local equatorial = {
|
||||
Type = "RenderableSphericalGrid",
|
||||
Enabled = false,
|
||||
Opacity = 0.8,
|
||||
GridColor = { 0.69, 0.68, 0.29 },
|
||||
Color = { 0.69, 0.68, 0.29 },
|
||||
LineWidth = 2.0
|
||||
},
|
||||
GUI = {
|
||||
@@ -197,7 +197,7 @@ local galactic = {
|
||||
Enabled = false,
|
||||
LineWidth = 2.0,
|
||||
Opacity = 1.0,
|
||||
GridColor = { 0.0, 0.6, 0.6 }
|
||||
Color = { 0.0, 0.6, 0.6 }
|
||||
},
|
||||
GUI = {
|
||||
Name = "Galactic Sphere",
|
||||
@@ -550,6 +550,6 @@ asset.meta = {
|
||||
License = "AMNH Digital Universe",
|
||||
Identifiers = {"RadioSphere", "OortSphere", "EclipticSphere", "EclipticSphereLabels",
|
||||
"Equatorial", "EquatorialSphereLabels", "GalacticSphere", "GalacticSphereLabels",
|
||||
"1ldGrid", "1lmGrid", "1lyGrid", "10lyGrid", "100lyGrid", "1klyGrid" "10klyGrid",
|
||||
"1ldGrid", "1lmGrid", "1lyGrid", "10lyGrid", "100lyGrid", "1klyGrid", "10klyGrid",
|
||||
"100klyGrid", "1MlyGrid", "10MlyGrid", "100MlyGrid", "20GlyGrid"}
|
||||
}
|
||||
|
||||
@@ -29,7 +29,7 @@ local object = {
|
||||
CorrectionSizeEndDistance = 15.86,
|
||||
CorrectionSizeFactor = 8.59,
|
||||
Unit = "pc",
|
||||
BillboardMaxSize = 23.0,
|
||||
BillboardMaxSize = 30.0,
|
||||
EnablePixelSizeControl = true
|
||||
},
|
||||
GUI = {
|
||||
|
||||
@@ -66,7 +66,8 @@ local sunstar = {
|
||||
MagnitudeExponent = 6.2,
|
||||
SizeComposition = "Distance Modulus",
|
||||
RenderMethod = "Texture Based", -- or PSF
|
||||
FadeInDistances = { 0.0001, 0.1 }
|
||||
FadeInDistances = { 0.0001, 0.1 },
|
||||
RenderableType = "PostDeferredTransparent"
|
||||
},
|
||||
GUI = {
|
||||
Name = "Sun",
|
||||
|
||||
@@ -23,7 +23,7 @@ local tullyPoints = {
|
||||
Enabled = true,
|
||||
Color = { 1.0, 0.4, 0.2 },
|
||||
Opacity = 0.99,
|
||||
ScaleFactor = 500.0,
|
||||
ScaleFactor = 504.0,
|
||||
File = speck .. "/tully.speck",
|
||||
Texture = textures .. "/point3A.png",
|
||||
--ColorMap = speck .. "/tully.cmap",
|
||||
@@ -46,7 +46,7 @@ local tullyPoints = {
|
||||
-- Fade in value in the same unit as "Unit"
|
||||
FadeInDistances = { 0.001, 1.0 },
|
||||
-- Max size in pixels
|
||||
BillboardMaxSize = 5,
|
||||
BillboardMaxSize = 7,
|
||||
BillboardMinSize = 0,
|
||||
--CorrectionSizeEndDistance = 22.0,
|
||||
--CorrectionSizeFactor = 10.45
|
||||
|
||||
@@ -2,6 +2,17 @@ local DataPath = asset.syncedResource({
|
||||
Name = "Exoplanet Data Files",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "exoplanets_data",
|
||||
Version = 1
|
||||
Version = 2
|
||||
})
|
||||
asset.export("DataPath", DataPath)
|
||||
|
||||
asset.meta = {
|
||||
Name = "Exoplanet Data",
|
||||
Version = "2.0",
|
||||
Description = [[ The data that is used for the exoplanet systems. The data has been
|
||||
derived from the 'Planetary Systems Composite Data' dataset from the NASA Exoplanet
|
||||
Archive]],
|
||||
Author = "OpenSpace Team",
|
||||
URL = "https://exoplanetarchive.ipac.caltech.edu/docs/data.html",
|
||||
License = "MIT license",
|
||||
}
|
||||
|
||||
@@ -1,7 +1,19 @@
|
||||
asset.require('./../habitable_zones/habitable_zone_textures')
|
||||
|
||||
local TexturesPath = asset.syncedResource({
|
||||
Name = "Exoplanet Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "exoplanets_textures",
|
||||
Version = 1
|
||||
Version = 2
|
||||
})
|
||||
asset.export("TexturesPath", TexturesPath)
|
||||
|
||||
asset.meta = {
|
||||
Name = "Exoplanet Textures",
|
||||
Version = "2.0",
|
||||
Description = [[ Adds all textures that are required for the exoplanet system
|
||||
visualizations]],
|
||||
Author = "OpenSpace Team",
|
||||
URL = "http://openspaceproject.com",
|
||||
License = "MIT license",
|
||||
}
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
local TexturesPath = asset.syncedResource({
|
||||
Name = "Habitable Zone Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "habitable_zone_textures",
|
||||
Version = 1
|
||||
})
|
||||
asset.export("TexturesPath", TexturesPath)
|
||||
|
||||
asset.meta = {
|
||||
Name = "Habitable Zone Textures",
|
||||
Version = "1.0",
|
||||
Description = [[ Default textures that can be used for the habitable zone
|
||||
rendering]],
|
||||
Author = "OpenSpace Team",
|
||||
URL = "http://openspaceproject.com",
|
||||
License = "MIT license",
|
||||
}
|
||||
@@ -16,25 +16,16 @@ local OrionClusterStars = {
|
||||
Type = "RenderableStars",
|
||||
File = sync .. "/oricluster.speck",
|
||||
Texture = sync .. "/halo.png",
|
||||
Texture = sync .. "/colorbv.cmap",
|
||||
ColorMap = sync .. "/colorbv.cmap",
|
||||
MagnitudeExponent = 5.02,
|
||||
SizeComposition = "Distance Modulus",
|
||||
RenderMethod = "Texture Based"
|
||||
},
|
||||
GUI = {
|
||||
Name = "Orion Nebula Star Cluster",
|
||||
Path = "/Milky Way/Stars"
|
||||
}
|
||||
}
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, { OrionClusterStars })
|
||||
|
||||
|
||||
asset.meta = {
|
||||
Name = "Orion Nebula Star Cluster",
|
||||
Version = "1.0",
|
||||
Description = [[ In order to have an accurate depiction of the Orion nebula, we need
|
||||
to include the star cluster that was birthed from it. We turned to a study of the
|
||||
Path = "/Milky Way/Orion",
|
||||
Description = [[ In order to have an accurate depiction of the Orion nebula, we
|
||||
need to include the star cluster that was birthed from it. We turned to a study of the
|
||||
cluster's stellar population by Lynne Hillenbrand, who was working at the University of
|
||||
California, Berkeley at the time. The catalog from her paper contains more than 1500
|
||||
stars, about half the stars in the actual cluster. The cluster is very crowded, with a
|
||||
@@ -45,7 +36,18 @@ Knowing the size of the cluster and approximating the shape to be roughly spheri
|
||||
placed each star along a line of sight through this imaginary sphere centered on the
|
||||
cluster. In this sense, these data are observed data and the view from Earth is accurate.
|
||||
But the distance of each star has been derived from this educated-guess approach for the
|
||||
cluster distribution. ]],
|
||||
cluster distribution. ]]
|
||||
}
|
||||
}
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, { OrionClusterStars })
|
||||
|
||||
|
||||
asset.meta = {
|
||||
Name = "Orion Nebula Star Cluster",
|
||||
Version = "1.0",
|
||||
Description = [[ Digital Universe asset for the Orion star cluster. To be used in
|
||||
conjunction with nebula model. Use orionnebula.asset to include both.]],
|
||||
Author = "AMNH Digital Universe",
|
||||
URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
|
||||
License = "AMNH Digital Universe",
|
||||
|
||||
@@ -31,7 +31,20 @@ local NebulaHolder = {
|
||||
},
|
||||
GUI = {
|
||||
Name = "Orion Nebula",
|
||||
Path = "/Milky Way/Objects",
|
||||
Path = "/Milky Way/Orion",
|
||||
Description = [[ In the Digital Universe model of the Orion Nebula, we depict the
|
||||
ionization front effectively as a terrain, with a flat Hubble image of the nebula mapped
|
||||
on the undulating surface. In reality, the ionization front has a slight thickness to
|
||||
it - about a third of a light year - but is quite thin compared to the overall size of
|
||||
the nebula, which stretches about ten light years from side to side.<br><br>Close into
|
||||
the center, we see small teardrop-shaped structures with their narrow ends pointing away
|
||||
from the bright star: these are protoplanetary disks, or proplyds, of dense gas and dust
|
||||
surrounding young stars. The larger formations that one sees farther away from the center
|
||||
of the nebula take on a cup-like shape, with the narrow end pointing away from the
|
||||
nebulas center. These enormous structures are bow shocks that delineate the region where
|
||||
highspeed winds from the central star slow from supersonic to subsonic speeds. You can
|
||||
think of an HII region as a sort of tremendous explosion, taking place over millennia,
|
||||
and the bow shocks are part of the outward rush of material. ]]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -54,15 +67,17 @@ local OrionNebulaModel = {
|
||||
Opacity = 1.0,
|
||||
DisableFaceCulling = false,
|
||||
SpecularIntensity = 0.0,
|
||||
AmbientIntensity = 0.45,
|
||||
DiffuseIntensity = 0.0,
|
||||
AmbientIntensity = 0.0,
|
||||
DiffuseIntensity = 1.0,
|
||||
--PerformShading = false,
|
||||
RotationVector = { 0.000000, 22.300000, 0.000000 },
|
||||
LightSources = LIGHTS;
|
||||
},
|
||||
GUI = {
|
||||
Name = "Orion Nebula Model",
|
||||
Path = "/Milky Way/Objects",
|
||||
Hidden = true
|
||||
Path = "/Milky Way/Orion",
|
||||
Hidden = true,
|
||||
Description = "Orion Nebula 3D model. See Orion Nebula for description."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -85,15 +100,17 @@ local OrionNebulaShocksModel = {
|
||||
Opacity = 1.0,
|
||||
DisableFaceCulling = false,
|
||||
SpecularIntensity = 0.0,
|
||||
AmbientIntensity = 0.19,
|
||||
DiffuseIntensity = 0.4,
|
||||
AmbientIntensity = 0.0,
|
||||
DiffuseIntensity = 1.0,
|
||||
--PerformShading = false,
|
||||
RotationVector = { 0.000000, 22.300000, 0.000000 },
|
||||
LightSources = LIGHTS;
|
||||
},
|
||||
GUI = {
|
||||
Name = "Orion Nebula Shocks",
|
||||
Path = "/Milky Way/Objects",
|
||||
Hidden = false
|
||||
Path = "/Milky Way/Orion",
|
||||
Hidden = false,
|
||||
Description = "Orion Nebula Shocks 3D model. See Orion Nebula for description."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -116,15 +133,17 @@ local OrionNebulaProplydsModel = {
|
||||
Opacity = 1.0,
|
||||
DisableFaceCulling = false,
|
||||
SpecularIntensity = 0.0,
|
||||
AmbientIntensity = 1.0,
|
||||
AmbientIntensity = 0.0,
|
||||
DiffuseIntensity = 1.0,
|
||||
--PerformShading = false,
|
||||
RotationVector = { 0.000000, 22.300000, 0.000000 },
|
||||
LightSources = LIGHTS;
|
||||
},
|
||||
GUI = {
|
||||
Name = "Orion Nebula Proplyds",
|
||||
Path = "/Milky Way/Objects",
|
||||
Hidden = false
|
||||
Path = "/Milky Way/Orion",
|
||||
Hidden = false,
|
||||
Description = "Orion Nebula Proplyds 3D model. See Orion Nebula for description."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -139,22 +158,12 @@ assetHelper.registerSceneGraphNodesAndExport(asset, {
|
||||
asset.meta = {
|
||||
Name = "Orion Nebula Model",
|
||||
Version = "1.0",
|
||||
Description = [[ In the Digital Universe model of the Orion Nebula, we depict the
|
||||
ionization front effectively as a terrain, with a flat Hubble image of the nebula mapped
|
||||
on the undulating surface. In reality, the ionization front has a slight thickness to
|
||||
it - about a third of a light year - but is quite thin compared to the overall size of
|
||||
the nebula, which stretches about ten light years from side to side.<br><br>Close into
|
||||
the center, we see small teardrop-shaped structures with their narrow ends pointing away
|
||||
from the bright star: these are protoplanetary disks, or proplyds, of dense gas and dust
|
||||
surrounding young stars. The larger formations that one sees farther away from the center
|
||||
of the nebula take on a cup-like shape, with the narrow end pointing away from the
|
||||
nebulas center. These enormous structures are bow shocks that delineate the region where
|
||||
highspeed winds from the central star slow from supersonic to subsonic speeds. You can
|
||||
think of an HII region as a sort of tremendous explosion, taking place over millennia,
|
||||
and the bow shocks are part of the outward rush of material. ]],
|
||||
Description = [[ Digital Universe asset for the Orion nebula 3D model. This asset
|
||||
contains seperate models for the nebula, proplyds and shocks. To be used in
|
||||
conjunction with orion star cluster. Use orionnebula.asset to include both.]],
|
||||
Author = "AMNH Digital Universe",
|
||||
URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
|
||||
License = "AMNH Digital Universe",
|
||||
Identifiers = {"OrionNebulaModel", "OrionNebulaModel", "OrionNebulaProplydsModel",
|
||||
Identifiers = {"OrionNebulaHolder", "OrionNebulaModel", "OrionNebulaProplydsModel",
|
||||
"OrionNebulaShocksModel"}
|
||||
}
|
||||
|
||||
@@ -18,8 +18,9 @@ local NebulaPosition = {
|
||||
},
|
||||
GUI = {
|
||||
Name = "Orion Nebula Position",
|
||||
Path = "/Milky Way/Objects",
|
||||
Hidden = true
|
||||
Path = "/Milky Way/Orion",
|
||||
Hidden = true,
|
||||
Description = "Static position for Orion Nebula"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -31,16 +31,17 @@ local Charon = {
|
||||
Enable = false,
|
||||
FileName = labelsPath .. "/charon.labels",
|
||||
LabelAlignmentOption = "Horizontally", -- or Circularly
|
||||
LabelsFontSize = 14.0,
|
||||
LabelsFontSize = 40.0,
|
||||
LabelsSize = 8.0,
|
||||
LabelsMinSize = 1.0,
|
||||
LabelsMaxSize = 1500.0,
|
||||
ProximityEnabled = false,
|
||||
LabelsFadeInEnabled = true,
|
||||
FadeInStartingDistance = 500000.0,
|
||||
FadeOutStartingDistance = 1000000.0,
|
||||
LabelsFadeOutEnabled = true,
|
||||
FadeInStartingDistance = 2000000.0,
|
||||
FadeOutStartingDistance = 800000.0,
|
||||
LabelsForceDomeRendering = true,
|
||||
LabelsDistanceEPS = 1350000.0,
|
||||
LabelsDistanceEPS = 250000.0,
|
||||
LabelsColor = { 1.0, 1.0, 0.0 }
|
||||
}
|
||||
},
|
||||
|
||||
@@ -31,16 +31,17 @@ local Pluto = {
|
||||
Enable = false,
|
||||
FileName = labelsPath .. "/pluto.labels",
|
||||
LabelAlignmentOption = "Horizontally", -- or Circularly
|
||||
LabelsFontSize = 14.0,
|
||||
LabelsFontSize = 28.0,
|
||||
LabelsSize = 8.0,
|
||||
LabelsMinSize = 1.0,
|
||||
LabelsMaxSize = 1500.0,
|
||||
ProximityEnabled = false,
|
||||
LabelsFadeInEnabled = true,
|
||||
FadeInStartingDistance = 500000.0,
|
||||
FadeOutStartingDistance = 1000000.0,
|
||||
LabelsFadeOutEnabled = true,
|
||||
FadeInStartingDistance = 4000000.0,
|
||||
FadeOutStartingDistance = 650000.0,
|
||||
LabelsForceDomeRendering = true,
|
||||
LabelsDistanceEPS = 1350000.0,
|
||||
LabelsDistanceEPS = 500000.0,
|
||||
LabelsColor = { 1.0, 1.0, 0.0 }
|
||||
}
|
||||
},
|
||||
|
||||
@@ -15,7 +15,7 @@ local kernelsList = {kernelsFolder .. '/p10-a.bsp'}
|
||||
local Pioneer10NAIF = "-23"
|
||||
|
||||
local Pioneer10 = {
|
||||
Identifier = "Pioneer10",
|
||||
Identifier = "Pioneer_10",
|
||||
Parent = sunTransforms.SolarSystemBarycenter.Identifier,
|
||||
Transform = {
|
||||
Translation = {
|
||||
@@ -27,13 +27,15 @@ local Pioneer10 = {
|
||||
},
|
||||
Renderable = model.PioneerModel,
|
||||
GUI = {
|
||||
Name = "Pioneer 10",
|
||||
Path = "/Solar System/Missions/Pioneer/10"
|
||||
Name = "Pioneer 10 Spacecraft",
|
||||
Path = "/Solar System/Missions/Pioneer",
|
||||
Description = [[Pioneer 10 Spacecraft. Positioned by SPICE data.]]
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
local Pioneer10Trail = {
|
||||
Identifier = "Pioneer10Trail",
|
||||
Identifier = "Pioneer_10Trail",
|
||||
Parent = sunTransforms.SolarSystemBarycenter.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableTrailTrajectory",
|
||||
@@ -51,8 +53,10 @@ local Pioneer10Trail = {
|
||||
-- 6545 is the number of days between the Start and End time (aka sample every 2d)
|
||||
},
|
||||
GUI = {
|
||||
Name = "Pioneer 10 Trail",
|
||||
Path = "/Solar System/Missions/Pioneer/10"
|
||||
Name = "Pioneer 10 Trail (SPICE)",
|
||||
Path = "/Solar System/Missions/Pioneer",
|
||||
Description = [[Pioneer 10 Trail, spanning March 3rd, 1972 to January 2nd, 1990.
|
||||
Data from SPICE]]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -60,3 +64,15 @@ assetHelper.registerSceneGraphNodesAndExport(asset, {
|
||||
Pioneer10,
|
||||
Pioneer10Trail,
|
||||
})
|
||||
|
||||
|
||||
asset.meta = {
|
||||
Name = "Pioneer 10",
|
||||
Version = "1.0",
|
||||
Description = [[ Pioneer 10 Model and Trail. Driven by SPICE data for high accuracy
|
||||
from March 3rd, 1972 to January 2nd, 1990.]],
|
||||
Author = "OpenSpace Team",
|
||||
URL = "http://openspaceproject.com",
|
||||
License = "MIT license",
|
||||
Identifiers = {"Pioneer_10", "Pioneer_10Trail"}
|
||||
}
|
||||
|
||||
@@ -30,13 +30,14 @@ local Pioneer11 = {
|
||||
},
|
||||
Renderable = model.PioneerModel,
|
||||
GUI = {
|
||||
Name = "Pioneer 11",
|
||||
Path = "/Solar System/Missions/Pioneer/11"
|
||||
Name = "Pioneer 11 Spacecraft",
|
||||
Path = "/Solar System/Missions/Pioneer",
|
||||
Description = [[Pioneer 11 Spacecraft. Positioned by SPICE data.]]
|
||||
}
|
||||
}
|
||||
|
||||
local Pioneer11Trail = {
|
||||
Identifier = "Pioneer11Trail",
|
||||
Identifier = "Pioneer_11Trail",
|
||||
Parent = sunTransforms.SolarSystemBarycenter.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableTrailTrajectory",
|
||||
@@ -54,8 +55,10 @@ local Pioneer11Trail = {
|
||||
--6087 is the number of days between the Start and End time (so sample every 2d)
|
||||
},
|
||||
GUI = {
|
||||
Name = "Pioneer 11 Trail",
|
||||
Path = "/Solar System/Missions/Pioneer/11"
|
||||
Name = "Pioneer 11 Trail (SPICE)",
|
||||
Path = "/Solar System/Missions/Pioneer",
|
||||
Description = [[Pioneer 11 Trail, spanning April 6th, 1973 to January 2nd, 1990.
|
||||
Data from SPICE.]]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -63,3 +66,15 @@ assetHelper.registerSceneGraphNodesAndExport(asset, {
|
||||
Pioneer11,
|
||||
Pioneer11Trail,
|
||||
})
|
||||
|
||||
|
||||
asset.meta = {
|
||||
Name = "Pioneer 11",
|
||||
Version = "1.0",
|
||||
Description = [[ Pioneer 11 Model and Trail. Driven by SPICE data for high accuracy
|
||||
from April 6th, 1973 to January 2nd, 1990.]],
|
||||
Author = "OpenSpace Team",
|
||||
URL = "http://openspaceproject.com",
|
||||
License = "MIT license",
|
||||
Identifiers = {"Pioneer_11", "Pioneer_11Trail"}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
|
||||
local sunTransforms = asset.require('scene/solarsystem/sun/transforms')
|
||||
|
||||
local modelFolder = asset.syncedResource({
|
||||
Name = "Pioneer 10/11 Models",
|
||||
@@ -21,3 +21,13 @@ local ModelRenderable = {
|
||||
}
|
||||
|
||||
asset.export("PioneerModel", ModelRenderable)
|
||||
|
||||
asset.meta = {
|
||||
Name = "Pioneer Model",
|
||||
Version = "1.0",
|
||||
Description = [[ Pioneer model asset. Used by both pioneer 10 and pioneer 11 asset.
|
||||
Untextured version of model from NASA 3D resources.]],
|
||||
Author = "NASA",
|
||||
URL = "https://nasa3d.arc.nasa.gov/detail/eoss-pioneer",
|
||||
License = "NASA"
|
||||
}
|
||||
+29
-8
@@ -20,8 +20,10 @@ local voyager1 = {
|
||||
TimeStampSubsampleFactor = 1
|
||||
},
|
||||
GUI = {
|
||||
Name = "Voyager 1",
|
||||
Path = "/Solar System/Missions"
|
||||
Name = "Voyager 1 Trail",
|
||||
Path = "/Solar System/Missions/Voyager",
|
||||
Description = [[Voyager 1 Trail, spanning September 6th, 1977 to December 31st,
|
||||
2030. Data from JPL Horizons.]]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -43,8 +45,10 @@ local voyager2 = {
|
||||
TimeStampSubsampleFactor = 1
|
||||
},
|
||||
GUI = {
|
||||
Name = "Voyager 2",
|
||||
Path = "/Solar System/Missions"
|
||||
Name = "Voyager 2 Trail",
|
||||
Path = "/Solar System/Missions/Voyager",
|
||||
Description = [[Voyager 2 Trail, spanning August 21st, 1977 to December 31st, 2030.
|
||||
Data from JPL Horizons.]]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,8 +70,10 @@ local pioneer10 = {
|
||||
TimeStampSubsampleFactor = 1
|
||||
},
|
||||
GUI = {
|
||||
Name = "Pioneer 10",
|
||||
Path = "/Solar System/Missions"
|
||||
Name = "Pioneer 10 Trail",
|
||||
Path = "/Solar System/Missions/Pioneer",
|
||||
Description = [[Pioneer 10 Trail, spanning March 4th, 1972 to December 31st, 2030.
|
||||
Data from JPL Horizons.]]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -89,9 +95,24 @@ local pioneer11 ={
|
||||
TimeStampSubsampleFactor = 1
|
||||
},
|
||||
GUI = {
|
||||
Name = "Pioneer 11",
|
||||
Path = "/Solar System/Missions"
|
||||
Name = "Pioneer 11 Trail",
|
||||
Path = "/Solar System/Missions/Pioneer",
|
||||
Description = [[Pioneer 11 Trail, spanning April 7th, 1973 to December 31st, 2030.
|
||||
Data from JPL Horizons.]]
|
||||
}
|
||||
}
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, { voyager1, voyager2, pioneer10, pioneer11 })
|
||||
|
||||
|
||||
asset.meta = {
|
||||
Name = "Pioneer and Voyager Trails",
|
||||
Version = "1.0",
|
||||
Description = [[ Pioneer 10, Pioneer 11, Voyager 1 and Voyager 2 trails. Driven by JPL
|
||||
Horizons data for better performance then spice but lower resolution. Data is from
|
||||
shortly after mission launches until December 31st, 2030.]],
|
||||
Author = "OpenSpace Team",
|
||||
URL = "http://openspaceproject.com",
|
||||
License = "MIT license",
|
||||
Identifiers = {"Pioneer10", "Pioneer11", "Voyager1", "Voyager2"}
|
||||
}
|
||||
@@ -8,6 +8,8 @@ asset.require('./jupiter/ganymede/default_layers')
|
||||
asset.require('./jupiter/io/default_layers')
|
||||
|
||||
asset.require('./mars/default_layers')
|
||||
asset.require('./mars/moons/layers/colorlayers/deimos_viking')
|
||||
asset.require('./mars/moons/layers/colorlayers/phobos_viking')
|
||||
|
||||
asset.require('./mercury/default_layers')
|
||||
|
||||
|
||||
@@ -6,110 +6,98 @@ local assetHelper = asset.require('util/asset_helper')
|
||||
-- local earthEllipsoid = { 6378137.0, 6378137.0, 6356752.314245 }
|
||||
local earthEllipsoid = { 6378137.0, 6378137.0, 6378137.0 }
|
||||
local Atmosphere = {
|
||||
Identifier = "EarthAtmosphere",
|
||||
Parent = transforms.Earth.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableAtmosphere",
|
||||
Atmosphere = {
|
||||
-- Atmosphere radius in Km
|
||||
AtmosphereRadius = 6447.0,
|
||||
PlanetRadius = 6377.0,
|
||||
PlanetAverageGroundReflectance = 0.1,
|
||||
GroundRadianceEmittion = 0.6,
|
||||
SunIntensity = 6.9,
|
||||
Rayleigh = {
|
||||
Coefficients = {
|
||||
-- Wavelengths are given in 10^-9m
|
||||
Wavelengths = { 680, 550, 440 },
|
||||
-- Reflection coefficients are given in km^-1
|
||||
Scattering = { 5.8E-3, 13.5E-3, 33.1E-3 },
|
||||
-- In Rayleigh scattering, the coefficients of absorption and scattering are the same.
|
||||
},
|
||||
-- Thichkness of atmosphere if its density were uniform, in Km
|
||||
H_R = 8.0
|
||||
},
|
||||
--[[
|
||||
Ozone = {
|
||||
Coefficients = {
|
||||
-- Extinction coefficients
|
||||
Extinction = {3.426, 8.298, 0.356}
|
||||
},
|
||||
H_O = 8.0,
|
||||
},
|
||||
]]
|
||||
-- Default
|
||||
Mie = {
|
||||
Coefficients = {
|
||||
-- Reflection coefficients are given in km^-1
|
||||
Scattering = { 4.0e-3, 4.0e-3, 4.0e-3 },
|
||||
-- Extinction coefficients are a fraction of the Mie coefficients
|
||||
Extinction = { 4.0e-3/0.9, 4.0e-3/0.9, 4.0e-3/0.9 }
|
||||
},
|
||||
-- Height scale (atmosphere thickness for constant density) in Km
|
||||
H_M = 1.2,
|
||||
-- Mie Phase Function Value (G e [-1.0, 1.0]. If G = 1.0, Mie phase function = Rayleigh Phase Function)
|
||||
G = 0.85
|
||||
},
|
||||
-- Clear Sky
|
||||
-- Mie = {
|
||||
-- Coefficients = {
|
||||
-- Scattering = {20e-3, 20e-3, 20e-3},
|
||||
-- Extinction = 1.0/0.9,
|
||||
-- }
|
||||
-- H_M = 1.2,
|
||||
-- G = 0.76,
|
||||
-- },
|
||||
-- Cloudy
|
||||
-- Mie = {
|
||||
-- Coefficients = {
|
||||
-- Scattering = {3e-3, 3e-3, 3e-3},
|
||||
-- Extinction = 1.0/0.9,
|
||||
-- }
|
||||
-- H_M = 3.0,
|
||||
-- G = 0.65,
|
||||
-- },
|
||||
Image = {
|
||||
ToneMapping = jToneMapping,
|
||||
Exposure = 0.4,
|
||||
Background = 1.8,
|
||||
Gamma = 1.85
|
||||
},
|
||||
Debug = {
|
||||
PreCalculatedTextureScale = 1.0,
|
||||
SaveCalculatedTextures = false
|
||||
}
|
||||
Identifier = "EarthAtmosphere",
|
||||
Parent = transforms.Earth.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableAtmosphere",
|
||||
-- Atmosphere radius in Km
|
||||
AtmosphereHeight = 6447.0 - 6377.0,
|
||||
PlanetRadius = 6377.0,
|
||||
PlanetAverageGroundReflectance = 0.1,
|
||||
GroundRadianceEmission = 0.6,
|
||||
SunIntensity = 6.9,
|
||||
Rayleigh = {
|
||||
Coefficients = {
|
||||
-- Wavelengths are given in 10^-9m
|
||||
Wavelengths = { 680, 550, 440 },
|
||||
-- Reflection coefficients are given in km^-1
|
||||
Scattering = { 5.8E-3, 13.5E-3, 33.1E-3 },
|
||||
-- In Rayleigh scattering, the coefficients of absorption and scattering are the same.
|
||||
},
|
||||
ShadowGroup = {
|
||||
Source1 = {
|
||||
Name = "Sun",
|
||||
-- All radius in meters
|
||||
Radius = 696.3E6
|
||||
},
|
||||
--Source2 = { Name = "Monolith", Radius = 0.01E6, },
|
||||
Caster1 = {
|
||||
Name = "Moon",
|
||||
-- All radius in meters
|
||||
Radius = 1.737E6
|
||||
}
|
||||
--Caster2 = { Name = "Independency Day Ship", Radius = 0.0, }
|
||||
}
|
||||
-- Thichkness of atmosphere if its density were uniform, in Km
|
||||
H_R = 8.0
|
||||
},
|
||||
--[[
|
||||
Ozone = {
|
||||
Coefficients = {
|
||||
-- Extinction coefficients
|
||||
Extinction = {3.426, 8.298, 0.356}
|
||||
},
|
||||
H_O = 8.0,
|
||||
},
|
||||
]]
|
||||
-- Default
|
||||
Mie = {
|
||||
Coefficients = {
|
||||
-- Reflection coefficients are given in km^-1
|
||||
Scattering = { 4.0e-3, 4.0e-3, 4.0e-3 },
|
||||
-- Extinction coefficients are a fraction of the Mie coefficients
|
||||
Extinction = { 4.0e-3/0.9, 4.0e-3/0.9, 4.0e-3/0.9 }
|
||||
},
|
||||
-- Height scale (atmosphere thickness for constant density) in Km
|
||||
H_M = 1.2,
|
||||
-- Mie Phase Function Value (G e [-1.0, 1.0]. If G = 1.0, Mie phase function = Rayleigh Phase Function)
|
||||
G = 0.85
|
||||
},
|
||||
-- Clear Sky
|
||||
-- Mie = {
|
||||
-- Coefficients = {
|
||||
-- Scattering = {20e-3, 20e-3, 20e-3},
|
||||
-- Extinction = 1.0/0.9,
|
||||
-- }
|
||||
-- H_M = 1.2,
|
||||
-- G = 0.76,
|
||||
-- },
|
||||
-- Cloudy
|
||||
-- Mie = {
|
||||
-- Coefficients = {
|
||||
-- Scattering = {3e-3, 3e-3, 3e-3},
|
||||
-- Extinction = 1.0/0.9,
|
||||
-- }
|
||||
-- H_M = 3.0,
|
||||
-- G = 0.65,
|
||||
-- },
|
||||
Debug = {
|
||||
PreCalculatedTextureScale = 1.0,
|
||||
SaveCalculatedTextures = false
|
||||
},
|
||||
GUI = {
|
||||
Name = "Earth Atmosphere",
|
||||
Path = "/Solar System/Planets/Earth",
|
||||
Description = [[ Atmosphere of Earth.]]
|
||||
ShadowGroup = {
|
||||
Sources = {
|
||||
{ Name = "Sun", Radius = 696.3E6 },
|
||||
-- { Name = "Monolith", Radius = 0.01E6 }
|
||||
},
|
||||
Casters = {
|
||||
{ Name = "Moon", Radius = 1.737E6 },
|
||||
-- { Name = "Independence Day Ship", Radius = 0.0 }
|
||||
}
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Name = "Earth Atmosphere",
|
||||
Path = "/Solar System/Planets/Earth",
|
||||
Description = [[ Atmosphere of Earth.]]
|
||||
}
|
||||
}
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, { Atmosphere })
|
||||
|
||||
|
||||
asset.meta = {
|
||||
Name = "Earth Atmosphere",
|
||||
Version = "1.0",
|
||||
Description = [[ RenderableAtmosphere for Earth.]],
|
||||
Author = "OpenSpace Team",
|
||||
URL = "http://openspaceproject.com",
|
||||
License = "MIT license",
|
||||
Identifiers = {"EarthAtmosphere"}
|
||||
Name = "Earth Atmosphere",
|
||||
Version = "1.0",
|
||||
Description = [[ RenderableAtmosphere for Earth.]],
|
||||
Author = "OpenSpace Team",
|
||||
URL = "http://openspaceproject.com",
|
||||
License = "MIT license",
|
||||
Identifiers = { "EarthAtmosphere" }
|
||||
}
|
||||
|
||||
@@ -15,30 +15,26 @@ local Earth = {
|
||||
PerformShading = false,
|
||||
Layers = {},
|
||||
ShadowGroup = {
|
||||
Source1 = {
|
||||
Name = "Sun",
|
||||
-- All radius in meters
|
||||
Radius = 696.3E6
|
||||
Sources = {
|
||||
{ Name = "Sun", Radius = 696.3E6 },
|
||||
},
|
||||
Caster1 = {
|
||||
Name = "Moon",
|
||||
-- All radius in meters
|
||||
Radius = 1.737E6
|
||||
Casters = {
|
||||
{ Name = "Moon", Radius = 1.737E6 },
|
||||
}
|
||||
},
|
||||
Labels = {
|
||||
Enable = false,
|
||||
FileName = labelsPath .. "/Earth.labels",
|
||||
LabelAlignmentOption = "Horizontally", -- or Circularly
|
||||
LabelsFontSize = 41.0,
|
||||
LabelsSize = 0.52,
|
||||
LabelsFontSize = 40.0,
|
||||
LabelsSize = 4.0,
|
||||
LabelsMinSize = 1.0,
|
||||
LabelsMaxSize = 1500.0,
|
||||
ProximityEnabled = false,
|
||||
LabelsFadeInEnabled = true,
|
||||
LabelsFadeOutEnabled = false,
|
||||
FadeInStartingDistance = 50000.0,
|
||||
FadeOutStartingDistance = 80000.0,
|
||||
LabelsFadeOutEnabled = true,
|
||||
FadeInStartingDistance = 300000.0,
|
||||
FadeOutStartingDistance = 10000.0,
|
||||
LabelsForceDomeRendering = true,
|
||||
LabelsDistanceEPS = 1500000.0,
|
||||
LabelsColor = { 1.0, 0.0, 0.0 }
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
<GDAL_WMS>
|
||||
<Service name="TMS">
|
||||
<ServerUrl>https://gibs.earthdata.nasa.gov/wmts/epsg4326/best/MODIS_Water_Mask/default/2013-08-21/250m/${z}/${y}/${x}.png</ServerUrl>
|
||||
<ServerUrl>https://gibs.earthdata.nasa.gov/wmts/epsg4326/best/MODIS_Terra_L3_Land_Water_Mask/default/2015-08-21/250m/${z}/${y}/${x}.png</ServerUrl>
|
||||
</Service>
|
||||
<DataWindow>
|
||||
<UpperLeftX>-180.0</UpperLeftX>
|
||||
|
||||
@@ -26,15 +26,13 @@ local Moon = {
|
||||
SegmentsPerPatch = 64,
|
||||
Layers = {},
|
||||
ShadowGroup = {
|
||||
Source1 = {
|
||||
Name = sunAsset.Sun.Name,
|
||||
Radius = 696.3E6
|
||||
Sources = {
|
||||
{ Name = sunAsset.Sun.Identifier, Radius = 696.3E6 },
|
||||
},
|
||||
Caster1 = {
|
||||
Name = earthAsset.Earth.Name,
|
||||
Radius = 6.371E6
|
||||
Casters = {
|
||||
{ Name = earthAsset.Earth.Identifier, Radius = 6.371E6 },
|
||||
}
|
||||
},
|
||||
},
|
||||
Labels = {
|
||||
Enable = false,
|
||||
FileName = labelsPath .. "/moon.labels",
|
||||
@@ -45,8 +43,9 @@ local Moon = {
|
||||
LabelsMaxSize = 1500.0,
|
||||
ProximityEnabled = false,
|
||||
LabelsFadeInEnabled = true,
|
||||
LabelsFadeOutEnabled = true,
|
||||
FadeInStartingDistance = 500000.0,
|
||||
FadeOutStartingDistance = 1000000.0,
|
||||
FadeOutStartingDistance = 100000.0,
|
||||
LabelsForceDomeRendering = true,
|
||||
LabelsDistanceEPS = 1350000.0,
|
||||
LabelsColor = { 1.0, 1.0, 0.0 }
|
||||
|
||||
@@ -3,7 +3,7 @@ local satelliteHelper = asset.require('util/tle_helper')
|
||||
local transforms = asset.require('scene/solarsystem/planets/earth/transforms')
|
||||
local sunTransforms = asset.require('scene/solarsystem/sun/transforms')
|
||||
|
||||
local url = "https://celestrak.com/satcat/tle.php?CATNR=25544"
|
||||
local url = "http://celestrak.com/satcat/tle.php?CATNR=25544"
|
||||
local identifier = "ISS"
|
||||
local filename = "ISS.txt"
|
||||
local nodes = {}
|
||||
|
||||
@@ -3,7 +3,7 @@ local satelliteHelper = asset.require('util/tle_helper')
|
||||
local transforms = asset.require('scene/solarsystem/planets/earth/transforms')
|
||||
local sunTransforms = asset.require('scene/solarsystem/sun/transforms')
|
||||
|
||||
local url = "https://celestrak.com/satcat/tle.php?CATNR=27424"
|
||||
local url = "http://celestrak.com/satcat/tle.php?CATNR=27424"
|
||||
local identifier = "Aqua"
|
||||
local filename = "Aqua.txt"
|
||||
local nodes = {}
|
||||
|
||||
@@ -3,7 +3,7 @@ local satelliteHelper = asset.require('util/tle_helper')
|
||||
local transforms = asset.require('scene/solarsystem/planets/earth/transforms')
|
||||
local sunTransforms = asset.require('scene/solarsystem/sun/transforms')
|
||||
|
||||
local url = "https://celestrak.com/satcat/tle.php?CATNR=37849"
|
||||
local url = "http://celestrak.com/satcat/tle.php?CATNR=37849"
|
||||
local identifier = "SNPP"
|
||||
local filename = "SNPP.txt"
|
||||
local nodes = {}
|
||||
|
||||
@@ -3,7 +3,7 @@ local satelliteHelper = asset.require('util/tle_helper')
|
||||
local transforms = asset.require('scene/solarsystem/planets/earth/transforms')
|
||||
local sunTransforms = asset.require('scene/solarsystem/sun/transforms')
|
||||
|
||||
local url = "https://celestrak.com/satcat/tle.php?CATNR=25994"
|
||||
local url = "http://celestrak.com/satcat/tle.php?CATNR=25994"
|
||||
local identifier = "Terra"
|
||||
local filename = "Terra.txt"
|
||||
local nodes = {}
|
||||
|
||||
@@ -37,8 +37,9 @@ local Callisto = {
|
||||
LabelsMaxSize = 1500.0,
|
||||
ProximityEnabled = false,
|
||||
LabelsFadeInEnabled = true,
|
||||
LabelsFadeOutEnabled = true,
|
||||
FadeInStartingDistance = 15000000.0,
|
||||
FadeOutStartingDistance = 1000000.0,
|
||||
FadeOutStartingDistance = 5000000.0,
|
||||
LabelsForceDomeRendering = true,
|
||||
LabelsDistanceEPS = 1350000.0,
|
||||
LabelsColor = { 1.0, 1.0, 0.0 }
|
||||
|
||||
@@ -32,15 +32,16 @@ local Europa = {
|
||||
FileName = labelsPath .. "/europa.labels",
|
||||
LabelAlignmentOption = "Horizontally", -- or Circularly
|
||||
LabelsFontSize = 40.0,
|
||||
LabelsSize = 10.5,
|
||||
LabelsSize = 10.0,
|
||||
LabelsMinSize = 1.0,
|
||||
LabelsMaxSize = 1500.0,
|
||||
ProximityEnabled = false,
|
||||
LabelsFadeInEnabled = true,
|
||||
FadeInStartingDistance = 15000000.0,
|
||||
FadeOutStartingDistance = 1000000.0,
|
||||
LabelsFadeOutEnabled = true,
|
||||
FadeInStartingDistance = 8000000.0,
|
||||
FadeOutStartingDistance = 5000000.0,
|
||||
LabelsForceDomeRendering = true,
|
||||
LabelsDistanceEPS = 1350000.0,
|
||||
LabelsDistanceEPS = 700000.0,
|
||||
LabelsColor = { 1.0, 1.0, 0.0 }
|
||||
}
|
||||
},
|
||||
|
||||
@@ -37,10 +37,11 @@ local Ganymede = {
|
||||
LabelsMaxSize = 1500.0,
|
||||
ProximityEnabled = false,
|
||||
LabelsFadeInEnabled = true,
|
||||
FadeInStartingDistance = 15000000.0,
|
||||
FadeOutStartingDistance = 1000000.0,
|
||||
LabelsFadeOutEnabled = true,
|
||||
FadeInStartingDistance = 8000000.0,
|
||||
FadeOutStartingDistance = 2250000.0,
|
||||
LabelsForceDomeRendering = true,
|
||||
LabelsDistanceEPS = 1350000.0,
|
||||
LabelsDistanceEPS = 1750000.0,
|
||||
LabelsColor = {1.0, 1.0, 0.0}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -32,15 +32,16 @@ local Io = {
|
||||
FileName = labelsPath .. "/io.labels",
|
||||
LabelAlignmentOption = "Horizontally", -- or Circularly
|
||||
LabelsFontSize = 40.0,
|
||||
LabelsSize = 10.5,
|
||||
LabelsSize = 10.0,
|
||||
LabelsMinSize = 1.0,
|
||||
LabelsMaxSize = 1500.0,
|
||||
ProximityEnabled = false,
|
||||
LabelsFadeInEnabled = true,
|
||||
FadeInStartingDistance = 15000000.0,
|
||||
FadeOutStartingDistance = 1000000.0,
|
||||
LabelsFadeOutEnabled = true,
|
||||
FadeInStartingDistance = 8500000.0,
|
||||
FadeOutStartingDistance = 4000000.0,
|
||||
LabelsForceDomeRendering = true,
|
||||
LabelsDistanceEPS = 1350000.0,
|
||||
LabelsDistanceEPS = 1000000.0,
|
||||
LabelsColor = { 1.0, 1.0, 0.0 }
|
||||
}
|
||||
},
|
||||
|
||||
@@ -17,7 +17,18 @@ local Jupiter = {
|
||||
Type = "RenderableGlobe",
|
||||
Radii = { 71492000.0, 71492000.0, 66854000.0 },
|
||||
SegmentsPerPatch = 64,
|
||||
Layers = {}
|
||||
Layers = {},
|
||||
ShadowGroup = {
|
||||
Sources = {
|
||||
{ Name = "Sun", Radius = 696.3E6 },
|
||||
},
|
||||
Casters = {
|
||||
{ Name = "Ganymede", Radius = 2631000 },
|
||||
{ Name = "Io", Radius = 1821600 },
|
||||
{ Name = "Europa", Radius = 1560800 },
|
||||
{ Name = "Callisto", Radius = 2410000 }
|
||||
}
|
||||
}
|
||||
},
|
||||
Tag = { "planet_solarSystem", "planet_giants" },
|
||||
GUI = {
|
||||
|
||||
@@ -8,53 +8,43 @@ local Atmosphere = {
|
||||
Parent = transforms.Mars.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableAtmosphere",
|
||||
Atmosphere = {
|
||||
-- Atmosphere radius in Km
|
||||
AtmosphereRadius = 3463.17495,
|
||||
--PlanetRadius = 3396.19,
|
||||
--PlanetRadius = 3393.0,
|
||||
PlanetRadius = 3386.190,
|
||||
PlanetAverageGroundReflectance = 0.1,
|
||||
GroundRadianceEmittion = 0.37,
|
||||
SunIntensity = 13.1,
|
||||
MieScatteringExtinctionPropCoefficient = 0.23862,
|
||||
Rayleigh = {
|
||||
Coefficients = {
|
||||
-- Wavelengths are given in 10^-9m
|
||||
Wavelengths = { 680, 550, 440 },
|
||||
-- Reflection coefficients are given in km^-1
|
||||
Scattering = { 19.918E-3, 13.57E-3, 5.75E-3 }
|
||||
-- In Rayleigh scattering, the coefficients of
|
||||
-- absorption and scattering are the same.
|
||||
},
|
||||
-- Thichkness of atmosphere if its density were uniform, in Km
|
||||
H_R = 10.43979
|
||||
-- Atmosphere radius in Km
|
||||
AtmosphereHeight = 3463.17495 - 3386.190,
|
||||
PlanetRadius = 3386.190,
|
||||
PlanetAverageGroundReflectance = 0.1,
|
||||
GroundRadianceEmission = 0.37,
|
||||
SunIntensity = 13.1,
|
||||
MieScatteringExtinctionPropCoefficient = 0.23862,
|
||||
Rayleigh = {
|
||||
Coefficients = {
|
||||
-- Wavelengths are given in 10^-9m
|
||||
Wavelengths = { 680, 550, 440 },
|
||||
-- Reflection coefficients are given in km^-1
|
||||
Scattering = { 19.918E-3, 13.57E-3, 5.75E-3 }
|
||||
-- In Rayleigh scattering, the coefficients of
|
||||
-- absorption and scattering are the same.
|
||||
},
|
||||
-- Default
|
||||
Mie = {
|
||||
Coefficients = {
|
||||
-- Reflection coefficients are given in km^-1
|
||||
Scattering = { 53.61771e-3, 53.61771e-3, 53.61771e-3 },
|
||||
-- Extinction coefficients are a fraction of the Scattering coefficients
|
||||
Extinction = { 53.61771e-3/0.98979, 53.61771e-3/0.98979, 53.61771e-3/0.98979 }
|
||||
},
|
||||
-- Mie Height scale (atmosphere thickness for constant density) in Km
|
||||
H_M = 3.09526,
|
||||
-- Mie Phase Function Value (G e [-1.0, 1.0].
|
||||
-- If G = 1.0, Mie phase function = Rayleigh Phase Function)
|
||||
G = 0.85
|
||||
-- Thichkness of atmosphere if its density were uniform, in Km
|
||||
H_R = 10.43979
|
||||
},
|
||||
-- Default
|
||||
Mie = {
|
||||
Coefficients = {
|
||||
-- Reflection coefficients are given in km^-1
|
||||
Scattering = { 53.61771e-3, 53.61771e-3, 53.61771e-3 },
|
||||
-- Extinction coefficients are a fraction of the Scattering coefficients
|
||||
Extinction = { 53.61771e-3/0.98979, 53.61771e-3/0.98979, 53.61771e-3/0.98979 }
|
||||
},
|
||||
Image = {
|
||||
ToneMapping = jToneMapping,
|
||||
Exposure = 0.4,
|
||||
Background = 1.8,
|
||||
Gamma = 1.85
|
||||
},
|
||||
Debug = {
|
||||
-- PreCalculatedTextureScale is a float from 1.0 to N, with N > 0.0 and N in Naturals (i.e., 1, 2, 3, 4, 5....)
|
||||
PreCalculatedTextureScale = 1.0,
|
||||
SaveCalculatedTextures = false
|
||||
}
|
||||
-- Mie Height scale (atmosphere thickness for constant density) in Km
|
||||
H_M = 3.09526,
|
||||
-- Mie Phase Function Value (G e [-1.0, 1.0].
|
||||
-- If G = 1.0, Mie phase function = Rayleigh Phase Function)
|
||||
G = 0.85
|
||||
},
|
||||
Debug = {
|
||||
-- PreCalculatedTextureScale is a float from 1.0 to N, with N > 0.0 and N in Naturals (i.e., 1, 2, 3, 4, 5....)
|
||||
PreCalculatedTextureScale = 1.0,
|
||||
SaveCalculatedTextures = false
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
|
||||
@@ -4,7 +4,7 @@ local globeIdentifier = asset.require("./../../mars").Mars.Identifier
|
||||
local layer = {
|
||||
Identifier = "HiRISE-LS-DEM",
|
||||
Name = "HiRISE Local Set DEM",
|
||||
FilePath = mapServiceConfigs .. "/ESRI/HiRISE/HiRISE_DEM.wms",
|
||||
FilePath = mapServiceConfigs .. "/ESRI/HiRISE/HiRISE_DEM.dem",
|
||||
Description = [[ HiRISE (High Resolution Imaging Science Experiment) is the most
|
||||
powerful camera ever sent to another planet, one of six instruments onboard the
|
||||
Mars Reconnaissance Orbiter. We launched in 2005, arrived at Mars in 2006 and have
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
<GDAL_WMS>
|
||||
<Service name="TMS">
|
||||
<ServerUrl>http://astro.arcgis.com/arcgis/rest/services/OnMars/HiRISE_DEM/ImageServer/tile/${z}/${y}/${x}</ServerUrl>
|
||||
<ServerUrl>http://astro.arcgis.com/arcgis/rest/services/OnMars/HiRISE_DEM/raw/tile/${z}/${y}/${x}</ServerUrl>
|
||||
</Service>
|
||||
<DataWindow>
|
||||
<UpperLeftX>-180</UpperLeftX> <UpperLeftY>90</UpperLeftY>
|
||||
@@ -11,7 +11,7 @@
|
||||
<Projection>GEOGCS["GCS_Mars_2000_Sphere",DATUM["D_Mars_2000_Sphere",SPHEROID["Mars_2000_Sphere_IAU_IAG",3396190,0]],PRIMEM["Reference_Meridian",0],UNIT["Degree",0.0174532925199433]]</Projection>
|
||||
<BlockSizeX>512</BlockSizeX> <BlockSizeY>512</BlockSizeY>
|
||||
<BandsCount>1</BandsCount> <DataType>Int16</DataType>
|
||||
<DataValues NoData="-32768" Min="-8528" Max="21226"/>
|
||||
<DataValues NoData="0" Min="-8528" Max="21226"/>
|
||||
<MaxConnections>5</MaxConnections>
|
||||
<ZeroBlockHttpCodes>404,400</ZeroBlockHttpCodes>
|
||||
</GDAL_WMS>
|
||||
-17
@@ -1,17 +0,0 @@
|
||||
<GDAL_WMS>
|
||||
<Service name="TMS">
|
||||
<ServerUrl>http://astro.arcgis.com/arcgis/rest/services/OnMars/HiRISE_DEM/ImageServer/tile/${z}/${y}/${x}</ServerUrl>
|
||||
</Service>
|
||||
<DataWindow>
|
||||
<UpperLeftX>-180</UpperLeftX> <UpperLeftY>90</UpperLeftY>
|
||||
<LowerRightX>180</LowerRightX> <LowerRightY>-90</LowerRightY>
|
||||
<SizeX>20971520</SizeX> <SizeY>10485760</SizeY>
|
||||
<TileLevel>15</TileLevel> <YOrigin>top</YOrigin>
|
||||
</DataWindow>
|
||||
<Projection>GEOGCS["GCS_Mars_2000_Sphere",DATUM["D_Mars_2000_Sphere",SPHEROID["Mars_2000_Sphere_IAU_IAG",3396190,0]],PRIMEM["Reference_Meridian",0],UNIT["Degree",0.0174532925199433]]</Projection>
|
||||
<BlockSizeX>512</BlockSizeX> <BlockSizeY>512</BlockSizeY>
|
||||
<BandsCount>1</BandsCount> <DataType>Int16</DataType>
|
||||
<DataValues NoData="0" Min="-10000" Max="10000"></DataValues>
|
||||
<MaxConnections>5</MaxConnections>
|
||||
<ZeroBlockHttpCodes>404,400</ZeroBlockHttpCodes>
|
||||
</GDAL_WMS>
|
||||
@@ -27,15 +27,16 @@ local Mars = {
|
||||
FileName = labelsPath .. "/mars.labels",
|
||||
LabelAlignmentOption = "Horizontally", -- or Circularly
|
||||
LabelsFontSize = 14.0,
|
||||
LabelsSize = 8.0,
|
||||
LabelsSize = 9.0,
|
||||
LabelsMinSize = 1.0,
|
||||
LabelsMaxSize = 1500.0,
|
||||
ProximityEnabled = false,
|
||||
LabelsFadeInEnabled = true,
|
||||
FadeInStartingDistance = 500000.0,
|
||||
FadeOutStartingDistance = 1000000.0,
|
||||
LabelsFadeOutEnabled = true,
|
||||
FadeInStartingDistance = 2000000.0,
|
||||
FadeOutStartingDistance = 750000.0,
|
||||
LabelsForceDomeRendering = true,
|
||||
LabelsDistanceEPS = 1350000.0,
|
||||
LabelsDistanceEPS = 2500000.0,
|
||||
LabelsColor = { 1.0, 1.0, 0.0 }
|
||||
}
|
||||
},
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user