Merge branch 'master' into feature/getting-started-tour

# Conflicts:
#	modules/skybrowser/skybrowsermodule.cpp
This commit is contained in:
Ylva Selling
2022-06-29 05:21:45 -04:00
216 changed files with 1007 additions and 547 deletions

5
.gitignore vendored
View File

@@ -1,8 +1,5 @@
# Build and editor thing
/build/
/build-ninja/
/build-xcode/
/build-make/
/build*/
*~
*.dir
*.idea/

View File

@@ -158,7 +158,6 @@ if (UNIX)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_GNU_SOURCE" CACHE STRING "" FORCE)
endif()
endif ()
set(ASSIMP_BUILD_MINIZIP ON CACHE BOOL "Set to have assimp build minizip" FORCE)
endif ()
add_subdirectory(ext)
@@ -197,6 +196,7 @@ if (APPLE)
"~/Qt/5.11/clang_64/lib/cmake"
"~/Qt/5.12/clang_64/lib/cmake"
"~/Qt/5.15.1/clang_64/lib/cmake"
"~/Qt/6.2.3/macos/lib/cmake"
)
endif ()

221
Jenkinsfile vendored
View File

@@ -73,6 +73,7 @@ linux_gcc_make: {
deleteDir();
gitHelper.checkoutGit(url, branch);
}
stage('linux-gcc-make/build') {
def cmakeCompileOptions = moduleCMakeFlags();
cmakeCompileOptions += ' -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS:STRING="-DGLM_ENABLE_EXPERIMENTAL"';
@@ -81,11 +82,31 @@ linux_gcc_make: {
compileHelper.build(compileHelper.Make(), compileHelper.Gcc(), cmakeCompileOptions, '', 'build-make');
compileHelper.recordCompileIssues(compileHelper.Gcc());
}
stage('linux-gcc-make/test') {
testHelper.runUnitTests('bin/codegentest');
testHelper.runUnitTests('bin/SGCTTest');
testHelper.runUnitTests('bin/GhoulTest');
testHelper.runUnitTests('bin/OpenSpaceTest');
if (env.RUN_UNIT_TESTS == 'true') {
stage('linux-gcc-make/test-codegen') {
timeout(time: 2, unit: 'MINUTES') {
testHelper.runUnitTests('bin/codegentest');
}
}
stage('linux-gcc-make/test-sgct') {
timeout(time: 2, unit: 'MINUTES') {
testHelper.runUnitTests('bin/SGCTTest');
}
}
stage('linux-gcc-make/test-ghoul') {
timeout(time: 2, unit: 'MINUTES') {
testHelper.runUnitTests('bin/GhoulTest');
}
}
stage('linux-gcc-make/test-openspace') {
timeout(time: 2, unit: 'MINUTES') {
testHelper.runUnitTests('bin/OpenSpaceTest');
}
}
}
cleanWs()
} // node('linux')
@@ -98,17 +119,38 @@ linux_gcc_ninja: {
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, '', 'build-ninja');
}
stage('linux-gcc-ninja/test') {
testHelper.runUnitTests('bin/codegentest');
testHelper.runUnitTests('bin/SGCTTest');
testHelper.runUnitTests('bin/GhoulTest');
testHelper.runUnitTests('bin/OpenSpaceTest');
if (env.RUN_UNIT_TESTS == 'true') {
stage('linux-gcc-ninja/test-codegen') {
timeout(time: 2, unit: 'MINUTES') {
testHelper.runUnitTests('bin/codegentest');
}
}
stage('linux-gcc-ninja/test-sgct') {
timeout(time: 2, unit: 'MINUTES') {
testHelper.runUnitTests('bin/SGCTTest');
}
}
stage('linux-gcc-ninja/test-ghoul') {
timeout(time: 2, unit: 'MINUTES') {
testHelper.runUnitTests('bin/GhoulTest');
}
}
stage('linux-gcc-ninja/test-openspace') {
timeout(time: 2, unit: 'MINUTES') {
testHelper.runUnitTests('bin/OpenSpaceTest');
}
}
}
cleanWs()
} // node('linux')
@@ -121,6 +163,7 @@ linux_clang_make: {
deleteDir()
gitHelper.checkoutGit(url, branch);
}
stage('linux-clang-make/build') {
def cmakeCompileOptions = moduleCMakeFlags()
cmakeCompileOptions += ' -DMAKE_BUILD_TYPE=Release'
@@ -128,11 +171,31 @@ linux_clang_make: {
compileHelper.build(compileHelper.Make(), compileHelper.Clang(), cmakeCompileOptions, '', 'build-make');
compileHelper.recordCompileIssues(compileHelper.Clang());
}
stage('linux-clang-make/test') {
testHelper.runUnitTests('bin/codegentest');
testHelper.runUnitTests('bin/SGCTTest');
testHelper.runUnitTests('bin/GhoulTest');
testHelper.runUnitTests('bin/OpenSpaceTest');
if (env.RUN_UNIT_TESTS == 'true') {
stage('linux-clang-make/test-codegen') {
timeout(time: 2, unit: 'MINUTES') {
testHelper.runUnitTests('bin/codegentest');
}
}
stage('linux-clang-make/test-sgct') {
timeout(time: 2, unit: 'MINUTES') {
testHelper.runUnitTests('bin/SGCTTest');
}
}
stage('linux-clang-make/test-ghoul') {
timeout(time: 2, unit: 'MINUTES') {
testHelper.runUnitTests('bin/GhoulTest');
}
}
stage('linux-clang-make/test-openspace') {
timeout(time: 2, unit: 'MINUTES') {
testHelper.runUnitTests('bin/OpenSpaceTest');
}
}
}
cleanWs()
} // node('linux')
@@ -145,17 +208,38 @@ linux_clang_ninja: {
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, '', 'build-ninja');
}
stage('linux-clang-ninja/test') {
testHelper.runUnitTests('bin/codegentest');
testHelper.runUnitTests('bin/SGCTTest');
testHelper.runUnitTests('bin/GhoulTest');
testHelper.runUnitTests('bin/OpenSpaceTest');
if (env.RUN_UNIT_TESTS == 'true') {
stage('linux-clang-ninja/test-codegen') {
timeout(time: 2, unit: 'MINUTES') {
testHelper.runUnitTests('bin/codegentest');
}
}
stage('linux-clang-ninja/test-sgct') {
timeout(time: 2, unit: 'MINUTES') {
testHelper.runUnitTests('bin/SGCTTest');
}
}
stage('linux-clang-ninja/test-ghoul') {
timeout(time: 2, unit: 'MINUTES') {
testHelper.runUnitTests('bin/GhoulTest');
}
}
stage('linux-clang-ninja/test-openspace') {
timeout(time: 2, unit: 'MINUTES') {
testHelper.runUnitTests('bin/OpenSpaceTest');
}
}
}
cleanWs()
} // node('linux')
@@ -168,16 +252,37 @@ windows_msvc: {
deleteDir();
gitHelper.checkoutGit(url, branch);
}
stage('windows-msvc/build') {
compileHelper.build(compileHelper.VisualStudio(), compileHelper.VisualStudio(), moduleCMakeFlags(), '', 'build-msvc');
compileHelper.recordCompileIssues(compileHelper.VisualStudio());
}
stage('windows-msvc/test') {
testHelper.runUnitTests('bin\\Debug\\codegentest');
testHelper.runUnitTests('bin\\Debug\\SGCTTest');
testHelper.runUnitTests('bin\\Debug\\GhoulTest');
testHelper.runUnitTests('bin\\Debug\\OpenSpaceTest');
}
if (env.RUN_UNIT_TESTS == 'true') {
stage('windows-msvc/test-codegen') {
timeout(time: 2, unit: 'MINUTES') {
testHelper.runUnitTests('bin\\Debug\\codegentest');
}
}
stage('windows-msvc/test-sgct') {
timeout(time: 2, unit: 'MINUTES') {
testHelper.runUnitTests('bin\\Debug\\SGCTTest');
}
}
stage('windows-msvc/test-ghoul') {
timeout(time: 2, unit: 'MINUTES') {
testHelper.runUnitTests('bin\\Debug\\GhoulTest');
}
}
stage('windows-msvc/test-openspace') {
timeout(time: 2, unit: 'MINUTES') {
testHelper.runUnitTests('bin\\Debug\\OpenSpaceTest');
}
}
}
cleanWs()
} // node('windows')
}
@@ -209,13 +314,36 @@ macos_make: {
deleteDir();
gitHelper.checkoutGit(url, branch);
}
stage('macos-make/build') {
compileHelper.build(compileHelper.Make(), compileHelper.Clang(), moduleCMakeFlags(), '', 'build-make');
}
stage('macos-make/test') {
testHelper.runUnitTests('bin/Debug/OpenSpaceTest')
testHelper.runUnitTests('bin/Debug/codegentest')
}
if (env.RUN_UNIT_TESTS == 'true') {
stage('macos-make/test-codegen') {
timeout(time: 2, unit: 'MINUTES') {
testHelper.runUnitTests('bin/Debug/codegentest');\
}
}
stage('macos-make/test-sgct') {
timeout(time: 2, unit: 'MINUTES') {
testHelper.runUnitTests('bin/Debug\\SGCTTest');
}
}
stage('macos-make/test-ghoul') {
timeout(time: 2, unit: 'MINUTES') {
testHelper.runUnitTests('bin/Debug\\GhoulTest');
}
}
stage('macos-make/test-openspace') {
timeout(time: 2, unit: 'MINUTES') {
testHelper.runUnitTests('bin/Debug/OpenSpaceTest');
}
}
}
cleanWs()
} // node('macos')
}
@@ -227,14 +355,37 @@ macos_xcode: {
deleteDir();
gitHelper.checkoutGit(url, branch);
}
stage('macos-xcode/build') {
compileHelper.build(compileHelper.Xcode(), compileHelper.Xcode(), moduleCMakeFlags(), '', 'build-xcode');
}
stage('macos-xcode/test') {
testHelper.runUnitTests('bin/Debug/OpenSpaceTest')
testHelper.runUnitTests('bin/Debug/codegentest')
}
cleanWs()
if (env.RUN_UNIT_TESTS == 'true') {
stage('macos-xcode/test-codegen') {
timeout(time: 2, unit: 'MINUTES') {
testHelper.runUnitTests('bin/Debug/codegentest');
}
}
stage('macos-xcode/test-sgct') {
timeout(time: 2, unit: 'MINUTES') {
testHelper.runUnitTests('bin/Debug\\SGCTTest');
}
}
stage('macos-xcode/test-ghoul') {
timeout(time: 2, unit: 'MINUTES') {
testHelper.runUnitTests('bin/Debug\\GhoulTest');
}
}
stage('macos-xcode/test-openspace') {
timeout(time: 2, unit: 'MINUTES') {
testHelper.runUnitTests('bin/Debug/OpenSpaceTest');
}
}
}
cleanWs()
} // node('macos')
}
}

View File

@@ -106,8 +106,8 @@ namespace {
for (int r = 0; r < nRows; r++) {
QModelIndex idx = model.index(r, 0, parent);
std::string assetName = model.name(idx).toStdString();
if (path == assetName) {
// Need to check if it actually is an asset to prevent issue #2154
if (model.isAsset(idx) && path == assetName) {
foundFileMatch = true;
model.setChecked(idx, true);
break;

View File

@@ -48,8 +48,8 @@ void DisplayWindowUnion::createWidgets(int nMaxWindows,
std::array<QColor, 4> windowColors)
{
// Add all window controls (some will be hidden from GUI initially)
for (unsigned int i = 0; i < nMaxWindows; ++i) {
const unsigned int monitorNumForThisWindow = (nMaxWindows > 3 && i >= 2) ? 1 : 0;
for (int i = 0; i < nMaxWindows; ++i) {
const int monitorNumForThisWindow = (nMaxWindows > 3 && i >= 2) ? 1 : 0;
WindowControl* ctrl = new WindowControl(
monitorNumForThisWindow,

View File

@@ -183,7 +183,7 @@ void SgctEdit::save() {
"window 2 has to be bigger than window 3 (if it exists), and window 3 has to "
"be bigger than window 4.\nOtherwise, rendering errors might occur.\n\nAre "
"you sure you want to continue?",
QMessageBox::StandardButtons(QMessageBox::Yes || QMessageBox::No)
QMessageBox::StandardButtons(QMessageBox::Yes | QMessageBox::No)
);
if (ret == QMessageBox::No) {
return;

View File

@@ -63,6 +63,7 @@ namespace {
constexpr float DefaultFovV = 50.534f;
constexpr float DefaultHeightOffset = 0.f;
constexpr int MaxWindowSizePixels = 10000;
constexpr double FovEpsilon = 0.00001;
QList<QString> monitorNames(const std::vector<QRect>& resolutions) {
QList<QString> monitorNames;
@@ -355,8 +356,8 @@ QWidget* WindowControl::createPlanarWidget() {
layout->addWidget(fovH, 1, 0);
_planar.fovH = new QDoubleSpinBox;
_planar.fovH->setMinimum(0.0);
_planar.fovH->setMaximum(180.0);
_planar.fovH->setMinimum(FovEpsilon);
_planar.fovH->setMaximum(180.0 - FovEpsilon);
_planar.fovH->setValue(DefaultFovH);
_planar.fovH->setEnabled(false);
_planar.fovH->setToolTip(hfovTip);
@@ -373,12 +374,12 @@ QWidget* WindowControl::createPlanarWidget() {
layout->addWidget(fovV, 2, 0);
_planar.fovV = new QDoubleSpinBox;
_planar.fovH->setMinimum(0.0);
_planar.fovH->setMaximum(90.0);
_planar.fovH->setValue(DefaultFovV);
_planar.fovV->setMinimum(FovEpsilon);
_planar.fovV->setMaximum(180.0 - FovEpsilon);
_planar.fovV->setValue(DefaultFovV);
_planar.fovV->setEnabled(false);
_planar.fovV->setToolTip(vfovTip);
_planar.fovH->setSizePolicy(
_planar.fovV->setSizePolicy(
QSizePolicy::MinimumExpanding,
QSizePolicy::MinimumExpanding
);
@@ -685,11 +686,17 @@ sgct::config::Projections WindowControl::generateProjectionInformation() const {
}
case ProjectionIndices::Planar:
{
double fovH = _planar.fovH->text().toFloat();
fovH = std::clamp(fovH, FovEpsilon, 180.0 - FovEpsilon);
double fovV = _planar.fovV->text().toFloat();
fovV = std::clamp(fovV, FovEpsilon, 180.0 - FovEpsilon);
// The negative values for left & down are due to SGCT's convention
PlanarProjection projection;
projection.fov.right = _planar.fovH->text().toFloat() / 2.0;
projection.fov.right = fovH / 2.0;
projection.fov.left = -projection.fov.right;
projection.fov.up = _planar.fovV->text().toFloat() / 2.0;
projection.fov.up = fovV / 2.0;
projection.fov.down = -projection.fov.up;
return projection;
}

View File

@@ -5,7 +5,7 @@ local images = asset.syncedResource({
Name = "Constellation Images",
Type = "HttpSynchronization",
Identifier = "constellation_images",
Version = 3
Version = 4
})
--function that reads the file

View File

@@ -14,5 +14,5 @@ asset.onInitialize(function ()
end)
asset.onDeinitialize(function ()
openspace.asction.removeAction(resetLoopAction)
openspace.action.removeAction(resetLoopAction)
end)

View File

@@ -48,7 +48,7 @@ asset.export(earthMagnetosphere)
asset.meta = {
Name = "Static generic magnetosphere of fieldlines",
Version = "1.1",
Description = "Magnetic fieldlines for the bastille day CME event",
Description = "Generic static magnetosphere fieldlines. Actual timestep 2012-07-14T00-00-00-000. Defaultly colored by speed; 50-300 km/s",
Author = "CCMC",
URL = "",
License = "CC-BY"

View File

@@ -2,11 +2,12 @@ local shared = asset.require("util/tle_helper")
local group = {
Title = "Amateur Radio",
Url = "http://www.celestrak.com/NORAD/elements/amateur.txt",
Filename = "amateur.txt",
Url = "https://www.celestrak.com/NORAD/elements/gp.php?GROUP=amateur&FORMAT=TLE",
TrailColor = { 0.75, 0.75, 0.35 }
}
local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
local tle = shared.downloadTLEFile(asset, group.Url, group.Title, group.Filename)
shared.registerSatelliteGroupObjects(asset, group, tle, true)

View File

@@ -2,11 +2,12 @@ local shared = asset.require("util/tle_helper")
local group = {
Title = "Experimental",
Url = "http://www.celestrak.com/NORAD/elements/x-comm.txt",
Filename = "x-comm.txt",
Url = "https://www.celestrak.com/NORAD/elements/gp.php?GROUP=x-comm&FORMAT=TLE",
TrailColor = { 0.75, 0.75, 0.35 }
}
local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
local tle = shared.downloadTLEFile(asset, group.Url, group.Title, group.Filename)
shared.registerSatelliteGroupObjects(asset, group, tle, true)

View File

@@ -2,13 +2,14 @@ local shared = asset.require("util/tle_helper")
local group = {
Title = "Geostationary",
Url = "http://celestrak.com/NORAD/elements/geo.txt",
Filename = "geo.txt",
Url = "https://celestrak.com/NORAD/elements/gp.php?GROUP=geo&FORMAT=TLE",
TrailColor = { 0.9, 0.9, 0.0 },
Description = [[Satellites that are currently active and in a Geosynchronous orbit, meaning
their orbital period matches Earth's rotation.]]
}
local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
local tle = shared.downloadTLEFile(asset, group.Url, group.Title, group.Filename)
shared.registerSatelliteGroupObjects(asset, group, tle, true)

View File

@@ -2,11 +2,12 @@ local shared = asset.require("util/tle_helper")
local group = {
Title = "GlobalStar",
Url = "http://www.celestrak.com/NORAD/elements/globalstar.txt",
Filename = "globalstar.txt",
Url = "https://www.celestrak.com/NORAD/elements/gp.php?GROUP=globalstar&FORMAT=TLE",
TrailColor = { 0.75, 0.75, 0.35 }
}
local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
local tle = shared.downloadTLEFile(asset, group.Url, group.Title, group.Filename)
shared.registerSatelliteGroupObjects(asset, group, tle, true)

View File

@@ -2,11 +2,12 @@ local shared = asset.require("util/tle_helper")
local group = {
Title = "Gorizont",
Url = "http://www.celestrak.com/NORAD/elements/gorizont.txt",
Filename = "gorizont.txt",
Url = "https://www.celestrak.com/NORAD/elements/gp.php?GROUP=gorizont&FORMAT=TLE",
TrailColor = { 0.75, 0.75, 0.35 }
}
local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
local tle = shared.downloadTLEFile(asset, group.Url, group.Title, group.Filename)
shared.registerSatelliteGroupObjects(asset, group, tle, true)

View File

@@ -2,11 +2,12 @@ local shared = asset.require("util/tle_helper")
local group = {
Title = "Intelsat",
Url = "http://www.celestrak.com/NORAD/elements/intelsat.txt",
Filename = "intelsat.txt",
Url = "https://www.celestrak.com/NORAD/elements/gp.php?GROUP=intelsat&FORMAT=TLE",
TrailColor = { 0.75, 0.75, 0.35 }
}
local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
local tle = shared.downloadTLEFile(asset, group.Url, group.Title, group.Filename)
shared.registerSatelliteGroupObjects(asset, group, tle, true)

View File

@@ -2,11 +2,12 @@ local shared = asset.require("util/tle_helper")
local group = {
Title = "Iridium",
Url = "http://www.celestrak.com/NORAD/elements/iridium.txt",
Filename = "iridium.txt",
Url = "https://www.celestrak.com/NORAD/elements/gp.php?GROUP=iridium&FORMAT=TLE",
TrailColor = { 0.75, 0.75, 0.35 }
}
local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
local tle = shared.downloadTLEFile(asset, group.Url, group.Title, group.Filename)
shared.registerSatelliteGroupObjects(asset, group, tle, true)

View File

@@ -2,11 +2,12 @@ local shared = asset.require("util/tle_helper")
local group = {
Title = "Iridium NEXT",
Url = "http://www.celestrak.com/NORAD/elements/iridium-NEXT.txt",
Filename = "iridium-NEXT.txt",
Url = "https://www.celestrak.com/NORAD/elements/gp.php?GROUP=iridium-NEXT&FORMAT=TLE",
TrailColor = { 0.75, 0.75, 0.35 }
}
local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
local tle = shared.downloadTLEFile(asset, group.Url, group.Title, group.Filename)
shared.registerSatelliteGroupObjects(asset, group, tle, true)

View File

@@ -2,11 +2,12 @@ local shared = asset.require("util/tle_helper")
local group = {
Title = "Molniya",
Url = "http://www.celestrak.com/NORAD/elements/molniya.txt",
Filename = "molniya.txt",
Url = "https://www.celestrak.com/NORAD/elements/gp.php?GROUP=molniya&FORMAT=TLE",
TrailColor = { 0.75, 0.75, 0.35 }
}
local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
local tle = shared.downloadTLEFile(asset, group.Url, group.Title, group.Filename)
shared.registerSatelliteGroupObjects(asset, group, tle, true)

View File

@@ -2,11 +2,12 @@ local shared = asset.require("util/tle_helper")
local group = {
Title = "Orbcomm",
Url = "http://www.celestrak.com/NORAD/elements/orbcomm.txt",
Filename = "orbcomm.txt",
Url = "https://www.celestrak.com/NORAD/elements/gp.php?GROUP=orbcomm&FORMAT=TLE",
TrailColor = { 0.75, 0.75, 0.35 }
}
local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
local tle = shared.downloadTLEFile(asset, group.Url, group.Title, group.Filename)
shared.registerSatelliteGroupObjects(asset, group, tle, true)

View File

@@ -2,11 +2,12 @@ local shared = asset.require("util/tle_helper")
local group = {
Title = "Other comm",
Url = "http://www.celestrak.com/NORAD/elements/other-comm.txt",
Filename = "other-comm.txt",
Url = "https://www.celestrak.com/NORAD/elements/gp.php?GROUP=other-comm&FORMAT=TLE",
TrailColor = { 0.75, 0.75, 0.35 }
}
local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
local tle = shared.downloadTLEFile(asset, group.Url, group.Title, group.Filename)
shared.registerSatelliteGroupObjects(asset, group, tle, true)

View File

@@ -2,11 +2,12 @@ local shared = asset.require("util/tle_helper")
local group = {
Title = "Raduga",
Url = "http://www.celestrak.com/NORAD/elements/raduga.txt",
Filename = "raduga.txt",
Url = "https://www.celestrak.com/NORAD/elements/gp.php?GROUP=raduga&FORMAT=TLE",
TrailColor = { 0.75, 0.75, 0.35 }
}
local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
local tle = shared.downloadTLEFile(asset, group.Url, group.Title, group.Filename)
shared.registerSatelliteGroupObjects(asset, group, tle, true)

View File

@@ -2,11 +2,12 @@ local shared = asset.require("util/tle_helper")
local group = {
Title = "SES",
Url = "http://www.celestrak.com/NORAD/elements/ses.txt",
Filename = "ses.txt",
Url = "https://www.celestrak.com/NORAD/elements/gp.php?GROUP=ses&FORMAT=TLE",
TrailColor = { 0.75, 0.75, 0.35 }
}
local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
local tle = shared.downloadTLEFile(asset, group.Url, group.Title, group.Filename)
shared.registerSatelliteGroupObjects(asset, group, tle, true)

View File

@@ -2,13 +2,14 @@ local shared = asset.require("util/tle_helper")
local group = {
Title = "Starlink",
Url = "http://www.celestrak.com/NORAD/elements/starlink.txt",
Filename = "starlink.txt",
Url = "https://www.celestrak.com/NORAD/elements/gp.php?GROUP=starlink&FORMAT=TLE",
TrailColor = { 0.65, 0.55, 0.55 },
Description = [[LEO satellite constellation launched by SpaceX to provide
broadband internet access.]]
}
local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
local tle = shared.downloadTLEFile(asset, group.Url, group.Title, group.Filename)
shared.registerSatelliteGroupObjects(asset, group, tle, true)

View File

@@ -2,11 +2,12 @@ local shared = asset.require("util/tle_helper")
local group = {
Title = "Indian ASAT test Debris",
Url = "http://www.celestrak.com/NORAD/elements/2019-006.txt",
Filename = "2019-006.txt",
Url = "https://www.celestrak.com/NORAD/elements/gp.php?INTDES=2019-006&FORMAT=TLE",
TrailColor = { 0.25, 0.35, 0.45 }
}
local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
local tle = shared.downloadTLEFile(asset, group.Url, group.Title, group.Filename)
shared.registerSatelliteGroupObjects(asset, group, tle, true)

View File

@@ -2,11 +2,12 @@ local shared = asset.require("util/tle_helper")
local group = {
Title = "Breeze-M Breakup",
Url = "http://www.celestrak.com/NORAD/elements/2012-044.txt",
Filename = "2021-044.txt",
Url = "https://www.celestrak.com/NORAD/elements/gp.php?INTDES=2012-044&FORMAT=TLE",
TrailColor = { 0.25, 0.35, 0.45 }
}
local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
local tle = shared.downloadTLEFile(asset, group.Url, group.Title, group.Filename)
shared.registerSatelliteGroupObjects(asset, group, tle, true)

View File

@@ -2,11 +2,12 @@ local shared = asset.require("util/tle_helper")
local group = {
Title = "Fengyun Debris",
Url = "http://www.celestrak.com/NORAD/elements/1999-025.txt",
Filename = "1999-025.txt",
Url = "https://www.celestrak.com/NORAD/elements/gp.php?INTDES=1999-025&FORMAT=TLE",
TrailColor = { 0.784, 1.0, 0.737 }
}
local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
local tle = shared.downloadTLEFile(asset, group.Url, group.Title, group.Filename)
shared.registerSatelliteGroupObjects(asset, group, tle, true)

View File

@@ -2,11 +2,12 @@ local shared = asset.require("util/tle_helper")
local group = {
Title = "Iridium 33 Debris",
Url = "http://www.celestrak.com/NORAD/elements/iridium-33-debris.txt",
Filename = "iridium-33-debris.txt",
Url = "https://www.celestrak.com/NORAD/elements/gp.php?GROUP=iridium-33-debris&FORMAT=TLE",
TrailColor = { 0.8, 0.0, 0.3 }
}
local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
local tle = shared.downloadTLEFile(asset, group.Url, group.Title, group.Filename)
shared.registerSatelliteGroupObjects(asset, group, tle, true)

View File

@@ -2,11 +2,12 @@ local shared = asset.require("util/tle_helper")
local group = {
Title = "Kosmos 2251 Debris",
Url = "http://www.celestrak.com/NORAD/elements/cosmos-2251-debris.txt",
Filename = "cosmos-2251-debris.txt",
Url = "https://www.celestrak.com/NORAD/elements/gp.php?GROUP=cosmos-2251-debris&FORMAT=TLE",
TrailColor = { 0.66, 0.8, 0.5 }
}
local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
local tle = shared.downloadTLEFile(asset, group.Url, group.Title, group.Filename)
shared.registerSatelliteGroupObjects(asset, group, tle, true)

View File

@@ -2,12 +2,13 @@ local shared = asset.require("util/tle_helper")
local group = {
Title = "Active",
Url = "http://www.celestrak.com/NORAD/elements/active.txt",
Filename = "active.txt",
Url = "https://www.celestrak.com/NORAD/elements/gp.php?GROUP=active&FORMAT=TLE",
TrailColor = { 0.45, 0.25, 0.45 },
Description = [[Satellites that employ active communication.]]
}
local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
local tle = shared.downloadTLEFile(asset, group.Url, group.Title, group.Filename)
shared.registerSatelliteGroupObjects(asset, group, tle, true)

View File

@@ -2,13 +2,14 @@ local shared = asset.require("util/tle_helper")
local group = {
Title = "100 Brightest",
Url = "http://www.celestrak.com/NORAD/elements/visual.txt",
Filename = "visual.txt",
Url = "https://www.celestrak.com/NORAD/elements/gp.php?GROUP=visual&FORMAT=TLE",
TrailColor = { 0.55, 0.25, 0.65 },
Description = [[The 100 (or so) satellites that will appear brightest when viewed
from Earth.]]
}
local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
local tle = shared.downloadTLEFile(asset, group.Url, group.Title, group.Filename)
shared.registerSatelliteGroupObjects(asset, group, tle, true)

View File

@@ -2,11 +2,12 @@ local shared = asset.require("util/tle_helper")
local group = {
Title = "CubeSat",
Url = "http://www.celestrak.com/NORAD/elements/cubesat.txt",
Filename = "cubesat.txt",
Url = "https://www.celestrak.com/NORAD/elements/gp.php?GROUP=cubesat&FORMAT=TLE",
TrailColor = { 0.75, 0.75, 0.35 }
}
local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
local tle = shared.downloadTLEFile(asset, group.Url, group.Title, group.Filename)
shared.registerSatelliteGroupObjects(asset, group, tle, true)

View File

@@ -1,7 +1,7 @@
local transforms = asset.require('scene/solarsystem/planets/earth/transforms')
local satelliteHelper = asset.require('util/tle_helper')
local url = "https://celestrak.com/satcat/tle.php?CATNR=20580"
local url = "https://celestrak.com/NORAD/elements/gp.php?CATNR=20580"
local identifier = "HST"
local filename = "HST.txt"
local nodes = {}

View File

@@ -2,7 +2,7 @@ local satelliteHelper = asset.require("util/tle_helper")
local transforms = asset.require("scene/solarsystem/planets/earth/transforms")
local sun = asset.require("scene/solarsystem/sun/sun")
local url = "http://celestrak.com/satcat/tle.php?CATNR=25544"
local url = "http://celestrak.com/NORAD/elements/gp.php?CATNR=25544"
local identifier = "ISS"
local filename = "ISS.txt"
local nodes = {}

View File

@@ -2,11 +2,12 @@ local shared = asset.require("util/tle_helper")
local group = {
Title = "Military",
Url = "http://www.celestrak.com/NORAD/elements/military.txt",
Filename = "military.txt",
Url = "https://www.celestrak.com/NORAD/elements/gp.php?GROUP=military&FORMAT=TLE",
TrailColor = { 0.75, 0.75, 0.35 }
}
local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
local tle = shared.downloadTLEFile(asset, group.Url, group.Title, group.Filename)
shared.registerSatelliteGroupObjects(asset, group, tle, true)

View File

@@ -2,11 +2,12 @@ local shared = asset.require("util/tle_helper")
local group = {
Title = "Other",
Url = "http://www.celestrak.com/NORAD/elements/other.txt",
Filename = "other.txt",
Url = "https://www.celestrak.com/NORAD/elements/gp.php?GROUP=other&FORMAT=TLE",
TrailColor = { 0.75, 0.75, 0.35 }
}
local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
local tle = shared.downloadTLEFile(asset, group.Url, group.Title, group.Filename)
shared.registerSatelliteGroupObjects(asset, group, tle, true)

View File

@@ -2,11 +2,12 @@ local shared = asset.require("util/tle_helper")
local group = {
Title = "Radar Calibration",
Url = "http://www.celestrak.com/NORAD/elements/radar.txt",
Filename = "radar.txt",
Url = "https://www.celestrak.com/NORAD/elements/gp.php?GROUP=radar&FORMAT=TLE",
TrailColor = { 0.75, 0.75, 0.35 }
}
local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
local tle = shared.downloadTLEFile(asset, group.Url, group.Title, group.Filename)
shared.registerSatelliteGroupObjects(asset, group, tle, true)

View File

@@ -2,14 +2,15 @@ local shared = asset.require("util/tle_helper")
local group = {
Title = "SpaceStations",
Url = "http://celestrak.com/NORAD/elements/stations.txt",
Filename = "stations.txt",
Url = "https://celestrak.com/NORAD/elements/gp.php?GROUP=stations&FORMAT=TLE",
TrailColor = { 0.9, 0.1, 0.0 },
Description = [[A collection of space stations (including the ISS and China's
Tiangong), along with certain cubesats and satellite constellations from space
agencies.]]
}
local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
local tle = shared.downloadTLEFile(asset, group.Url, group.Title, group.Filename)
shared.registerSatelliteGroupObjects(asset, group, tle, true)

View File

@@ -2,12 +2,13 @@ local shared = asset.require("util/tle_helper")
local group = {
Title = "Last 30 Days",
Url = "http://www.celestrak.com/NORAD/elements/tle-new.txt",
Filename = "tle-new.txt",
Url = "https://www.celestrak.com/NORAD/elements/gp.php?GROUP=last-30-days&FORMAT=TLE",
TrailColor = { 0.65, 0.25, 0.45 },
Description = [[All the satellites that have been launched in the last 30 days.]]
}
local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
local tle = shared.downloadTLEFile(asset, group.Url, group.Title, group.Filename)
shared.registerSatelliteGroupObjects(asset, group, tle, true)

View File

@@ -2,11 +2,12 @@ local shared = asset.require("util/tle_helper")
local group = {
Title = "Beidou",
Url = "http://www.celestrak.com/NORAD/elements/beidou.txt",
Filename = "beidou.txt",
Url = "https://www.celestrak.com/NORAD/elements/gp.php?GROUP=beidou&FORMAT=TLE",
TrailColor = { 0.75, 0.75, 0.35 }
}
local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
local tle = shared.downloadTLEFile(asset, group.Url, group.Title, group.Filename)
shared.registerSatelliteGroupObjects(asset, group, tle, true)

View File

@@ -2,11 +2,12 @@ local shared = asset.require("util/tle_helper")
local group = {
Title = "Galileo",
Url = "http://www.celestrak.com/NORAD/elements/galileo.txt",
Filename = "galileo.txt",
Url = "https://www.celestrak.com/NORAD/elements/gp.php?GROUP=galileo&FORMAT=TLE",
TrailColor = { 0.75, 0.75, 0.35 }
}
local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
local tle = shared.downloadTLEFile(asset, group.Url, group.Title, group.Filename)
shared.registerSatelliteGroupObjects(asset, group, tle, true)

View File

@@ -2,11 +2,12 @@ local shared = asset.require("util/tle_helper")
local group = {
Title = "Glosnass",
Url = "http://www.celestrak.com/NORAD/elements/glo-ops.txt",
Filename = "glo-ops.txt",
Url = "https://www.celestrak.com/NORAD/elements/gp.php?GROUP=glo-ops&FORMAT=TLE",
TrailColor = { 0.75, 0.75, 0.35 }
}
local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
local tle = shared.downloadTLEFile(asset, group.Url, group.Title, group.Filename)
shared.registerSatelliteGroupObjects(asset, group, tle, true)

View File

@@ -2,13 +2,14 @@ local shared = asset.require("util/tle_helper")
local group = {
Title = "GPS",
Url = "http://celestrak.com/NORAD/elements/gps-ops.txt",
Filename = "gps-ops.txt",
Url = "https://celestrak.com/NORAD/elements/gp.php?GROUP=gps-ops&FORMAT=TLE",
TrailColor = { 0.9, 0.5, 0.0 },
Description = [[The GPS satellites that give us our precise locations back here
on Earth.]]
}
local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
local tle = shared.downloadTLEFile(asset, group.Url, group.Title, group.Filename)
shared.registerSatelliteGroupObjects(asset, group, tle, true)

View File

@@ -2,11 +2,12 @@ local shared = asset.require("util/tle_helper")
local group = {
Title = "Russian LEO Navigation",
Url = "http://www.celestrak.com/NORAD/elements/musson.txt",
Filename = "musson.txt",
Url = "https://www.celestrak.com/NORAD/elements/gp.php?GROUP=musson&FORMAT=TLE",
TrailColor = { 0.75, 0.75, 0.35 }
}
local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
local tle = shared.downloadTLEFile(asset, group.Url, group.Title, group.Filename)
shared.registerSatelliteGroupObjects(asset, group, tle, true)

View File

@@ -2,11 +2,12 @@ local shared = asset.require("util/tle_helper")
local group = {
Title = "Navy Navigation Satellite System",
Url = "http://www.celestrak.com/NORAD/elements/nnss.txt",
Filename = "nnss.txt",
Url = "https://www.celestrak.com/NORAD/elements/gp.php?GROUP=nnss&FORMAT=TLE",
TrailColor = { 0.75, 0.75, 0.35 }
}
local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
local tle = shared.downloadTLEFile(asset, group.Url, group.Title, group.Filename)
shared.registerSatelliteGroupObjects(asset, group, tle, true)

View File

@@ -2,11 +2,12 @@ local shared = asset.require("util/tle_helper")
local group = {
Title = "Satellite Based Augmentation System",
Url = "http://www.celestrak.com/NORAD/elements/sbas.txt",
Filename = "sbas.txt",
Url = "https://www.celestrak.com/NORAD/elements/gp.php?GROUP=sbas&FORMAT=TLE",
TrailColor = { 0.75, 0.75, 0.35 }
}
local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
local tle = shared.downloadTLEFile(asset, group.Url, group.Title, group.Filename)
shared.registerSatelliteGroupObjects(asset, group, tle, true)

View File

@@ -2,11 +2,12 @@ local shared = asset.require("util/tle_helper")
local group = {
Title = "Education",
Url = "http://www.celestrak.com/NORAD/elements/education.txt",
Filename = "education.txt",
Url = "https://www.celestrak.com/NORAD/elements/gp.php?GROUP=education&FORMAT=TLE",
TrailColor = { 0.75, 0.75, 0.35 }
}
local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
local tle = shared.downloadTLEFile(asset, group.Url, group.Title, group.Filename)
shared.registerSatelliteGroupObjects(asset, group, tle, true)

View File

@@ -2,11 +2,12 @@ local shared = asset.require("util/tle_helper")
local group = {
Title = "Engineering",
Url = "http://www.celestrak.com/NORAD/elements/engineering.txt",
Filename = "engineering.txt",
Url = "https://www.celestrak.com/NORAD/elements/gp.php?GROUP=engineering&FORMAT=TLE",
TrailColor = { 0.75, 0.75, 0.35 }
}
local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
local tle = shared.downloadTLEFile(asset, group.Url, group.Title, group.Filename)
shared.registerSatelliteGroupObjects(asset, group, tle, true)

View File

@@ -2,11 +2,12 @@ local shared = asset.require("util/tle_helper")
local group = {
Title = "Geodect",
Url = "http://www.celestrak.com/NORAD/elements/geodetic.txt",
Filename = "geodetic.txt",
Url = "https://www.celestrak.com/NORAD/elements/gp.php?GROUP=geodetic&FORMAT=TLE",
TrailColor = { 0.75, 0.75, 0.35 }
}
local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
local tle = shared.downloadTLEFile(asset, group.Url, group.Title, group.Filename)
shared.registerSatelliteGroupObjects(asset, group, tle, true)

View File

@@ -2,11 +2,12 @@ local shared = asset.require("util/tle_helper")
local group = {
Title = "Space & Earth Science",
Url = "http://www.celestrak.com/NORAD/elements/science.txt",
Filename = "science.txt",
Url = "https://www.celestrak.com/NORAD/elements/gp.php?GROUP=science&FORMAT=TLE",
TrailColor = { 0.75, 0.75, 0.35 }
}
local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
local tle = shared.downloadTLEFile(asset, group.Url, group.Title, group.Filename)
shared.registerSatelliteGroupObjects(asset, group, tle, true)

View File

@@ -2,7 +2,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 = "http://celestrak.com/satcat/tle.php?CATNR=27424"
local url = "http://celestrak.com/NORAD/elements/gp.php?CATNR=27424"
local identifier = "Aqua"
local filename = "Aqua.txt"
local nodes = {}
@@ -49,8 +49,8 @@ asset.onInitialize(function ()
Observer = transforms.EarthInertial.Identifier,
File = path,
LineNumber = 1,
RenderBinMode = "PostDeferredTransparent"
},
RenderBinMode = "PostDeferredTransparent"
Color = { 0.9, 0.6715, 0.0 },
Fade = 1.5,
Period = period,

View File

@@ -2,11 +2,12 @@ local shared = asset.require("util/tle_helper")
local group = {
Title = "ARGOS",
Url = "http://www.celestrak.com/NORAD/elements/argos.txt",
Filename = "argos.txt",
Url = "https://www.celestrak.com/NORAD/elements/gp.php?GROUP=argos&FORMAT=TLE",
TrailColor = { 0.75, 0.75, 0.35 }
}
local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
local tle = shared.downloadTLEFile(asset, group.Url, group.Title, group.Filename)
shared.registerSatelliteGroupObjects(asset, group, tle, true)

View File

@@ -2,11 +2,12 @@ local shared = asset.require("util/tle_helper")
local group = {
Title = "Disaster Monitoring",
Url = "http://www.celestrak.com/NORAD/elements/dmc.txt",
Filename = "dmc.txt",
Url = "https://www.celestrak.com/NORAD/elements/gp.php?GROUP=dmc&FORMAT=TLE",
TrailColor = { 0.75, 0.75, 0.35 }
}
local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
local tle = shared.downloadTLEFile(asset, group.Url, group.Title, group.Filename)
shared.registerSatelliteGroupObjects(asset, group, tle, true)

View File

@@ -2,11 +2,12 @@ local shared = asset.require("util/tle_helper")
local group = {
Title = "Earth Resources",
Url = "http://www.celestrak.com/NORAD/elements/resource.txt",
Filename = "resource.txt",
Url = "https://www.celestrak.com/NORAD/elements/gp.php?GROUP=resource&FORMAT=TLE",
TrailColor = { 0.75, 0.75, 0.35 }
}
local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
local tle = shared.downloadTLEFile(asset, group.Url, group.Title, group.Filename)
shared.registerSatelliteGroupObjects(asset, group, tle, true)

View File

@@ -2,11 +2,12 @@ local shared = asset.require("util/tle_helper")
local group = {
Title = "GOES",
Url = "http://www.celestrak.com/NORAD/elements/goes.txt",
Filename = "goes.txt",
Url = "https://www.celestrak.com/NORAD/elements/gp.php?GROUP=goes&FORMAT=TLE",
TrailColor = { 0.75, 0.75, 0.35 }
}
local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
local tle = shared.downloadTLEFile(asset, group.Url, group.Title, group.Filename)
shared.registerSatelliteGroupObjects(asset, group, tle, true)

View File

@@ -2,11 +2,12 @@ local shared = asset.require("util/tle_helper")
local group = {
Title = "NOAA",
Url = "http://www.celestrak.com/NORAD/elements/noaa.txt",
Filename = "noaa.txt",
Url = "https://www.celestrak.com/NORAD/elements/gp.php?GROUP=noaa&FORMAT=TLE",
TrailColor = { 0.75, 0.75, 0.35 }
}
local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
local tle = shared.downloadTLEFile(asset, group.Url, group.Title, group.Filename)
shared.registerSatelliteGroupObjects(asset, group, tle, true)

View File

@@ -2,11 +2,12 @@ local shared = asset.require("util/tle_helper")
local group = {
Title = "Planet",
Url = "http://www.celestrak.com/NORAD/elements/planet.txt",
Filename = "planet.txt",
Url = "https://www.celestrak.com/NORAD/elements/gp.php?GROUP=planet&FORMAT=TLE",
TrailColor = { 0.75, 0.75, 0.35 }
}
local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
local tle = shared.downloadTLEFile(asset, group.Url, group.Title, group.Filename)
shared.registerSatelliteGroupObjects(asset, group, tle, true)

View File

@@ -2,11 +2,12 @@ local shared = asset.require("util/tle_helper")
local group = {
Title = "Search & Rescue (SARSAT)",
Url = "http://www.celestrak.com/NORAD/elements/sarsat.txt",
Filename = "sarsat.txt",
Url = "https://www.celestrak.com/NORAD/elements/gp.php?GROUP=sarsat&FORMAT=TLE",
TrailColor = { 0.75, 0.75, 0.35 }
}
local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
local tle = shared.downloadTLEFile(asset, group.Url, group.Title, group.Filename)
shared.registerSatelliteGroupObjects(asset, group, tle, true)

View File

@@ -2,7 +2,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 = "http://celestrak.com/satcat/tle.php?CATNR=37849"
local url = "http://celestrak.com/NORAD/elements/gp.php?CATNR=37849"
local identifier = "SNPP"
local filename = "SNPP.txt"
local nodes = {}
@@ -10,7 +10,6 @@ local tle = satelliteHelper.downloadTLEFile(asset, url, identifier, filename)
asset.onInitialize(function ()
local lineElement = satelliteHelper.makeSingleLineElement(tle, filename)
local period = satelliteHelper.getPeriodFromElement(lineElement)
local path = tle .. "/" .. filename

View File

@@ -2,11 +2,12 @@ local shared = asset.require("util/tle_helper")
local group = {
Title = "Spire",
Url = "http://www.celestrak.com/NORAD/elements/spire.txt",
Filename = "spire.txt",
Url = "https://www.celestrak.com/NORAD/elements/gp.php?GROUP=spire&FORMAT=TLE",
TrailColor = { 0.75, 0.75, 0.35 }
}
local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
local tle = shared.downloadTLEFile(asset, group.Url, group.Title, group.Filename)
shared.registerSatelliteGroupObjects(asset, group, tle, true)

View File

@@ -2,11 +2,12 @@ local shared = asset.require("util/tle_helper")
local group = {
Title = "Tracking and Data Relay Satellite System (TDRSS)",
Url = "http://www.celestrak.com/NORAD/elements/tdrss.txt",
Filename = "tdrss.txt",
Url = "https://www.celestrak.com/NORAD/elements/gp.php?GROUP=tdrss&FORMAT=TLE",
TrailColor = { 0.75, 0.75, 0.35 }
}
local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
local tle = shared.downloadTLEFile(asset, group.Url, group.Title, group.Filename)
shared.registerSatelliteGroupObjects(asset, group, tle, true)

View File

@@ -2,7 +2,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 = "http://celestrak.com/satcat/tle.php?CATNR=25994"
local url = "http://celestrak.com/NORAD/elements/gp.php?CATNR=25994"
local identifier = "Terra"
local filename = "Terra.txt"
local nodes = {}
@@ -10,7 +10,6 @@ local tle = satelliteHelper.downloadTLEFile(asset, url, identifier, filename)
asset.onInitialize(function ()
local lineElement = satelliteHelper.makeSingleLineElement(tle, filename)
local period = satelliteHelper.getPeriodFromElement(lineElement)
local path = tle .. "/" .. filename
@@ -51,8 +50,8 @@ asset.onInitialize(function ()
Observer = transforms.EarthInertial.Identifier,
File = path,
LineNumber = 1,
RenderBinMode = "PostDeferredTransparent"
},
RenderBinMode = "PostDeferredTransparent"
Color = { 0.9, 0.6715, 0.0 },
Fade = 1.5,
Period = period,

View File

@@ -2,11 +2,12 @@ local shared = asset.require("util/tle_helper")
local group = {
Title = "Weather",
Url = "http://www.celestrak.com/NORAD/elements/weather.txt",
Filename = "weather.txt",
Url = "https://www.celestrak.com/NORAD/elements/gp.php?GROUP=weather&FORMAT=TLE",
TrailColor = { 0.75, 0.75, 0.35 }
}
local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
local tle = shared.downloadTLEFile(asset, group.Url, group.Title, group.Filename)
shared.registerSatelliteGroupObjects(asset, group, tle, true)

View File

@@ -98,7 +98,7 @@ function satellites(title, file, color, group)
end
local registerSatelliteGroupObjects = function(containingAsset, group, tleFolder, shouldAddDuplicates)
local filename = group.Url:match("([^/]+)$")
local filename = group.Filename
local filenameSansExt = filename:gsub(filename:match("(%.%w+)$"), "")
local path = tleFolder .. "/" .. filename

View File

@@ -27,6 +27,7 @@
#include <openspace/properties/propertyowner.h>
#include <openspace/properties/list/stringlistproperty.h>
#include <map>
#include <memory>
#include <vector>
@@ -123,7 +124,10 @@ public:
static scripting::LuaLibrary luaLibrary();
private:
/// The list of all registered OpenSpaceModule%s
/// The list of all names of all registered OpenSpaceModules
properties::StringListProperty _allModules;
/// The list of all registered OpenSpaceModules
std::vector<std::unique_ptr<OpenSpaceModule>> _modules;
};

View File

@@ -35,6 +35,7 @@ namespace openspace {
class Camera;
class Layer;
class Profile;
class Renderable;
class SceneGraphNode;
class ScreenSpaceRenderable;
class Time;
@@ -74,6 +75,8 @@ struct Event {
LayerRemoved,
SessionRecordingPlayback,
PointSpacecraft,
RenderableEnabled,
RenderableDisabled,
Custom
};
constexpr explicit Event(Type type_) : type(type_) {}
@@ -108,12 +111,17 @@ void logAllEvents(const Event* e);
* This event is created whenever a new scene graph node is added to the system. By the
* time this event is signalled, the scene graph node has already been created and added
* to the scene.
*
* \param Node The identifier of the node that was added
*/
struct EventSceneGraphNodeAdded : public Event {
static const Type Type = Event::Type::SceneGraphNodeAdded;
/**
* Creates an instance of an EventSceneGraphNodeAdded event.
*
* \param Node The identifier of the node that was added
*
* \pre node_ must not be nullptr
*/
explicit EventSceneGraphNodeAdded(const SceneGraphNode* node_);
const tstring node;
};
@@ -121,12 +129,17 @@ struct EventSceneGraphNodeAdded : public Event {
/**
* This event is created whenever a scene graph node was removed. By the time this event
* is signalled, the scene graph node has already been removed.
*
* \param Node The identifier of that node that was removed
*/
struct EventSceneGraphNodeRemoved : public Event {
static const Type Type = Event::Type::SceneGraphNodeRemoved;
/**
* Creates an instance of an EventSceneGraphNodeRemoved event.
*
* \param Node The identifier of the node that was removed
*
* \pre node_ must not be nullptr
*/
explicit EventSceneGraphNodeRemoved(const SceneGraphNode* node_);
const tstring node;
};
@@ -134,9 +147,6 @@ struct EventSceneGraphNodeRemoved : public Event {
/**
* This event is created whenever something in the parallel connection subsystem changes.
* The new state is sent as an argument with this event.
*
* \param State The new state of the parallel connection system; is one of `Established`,
* `Lost`, `HostshipGained`, or `HostshipLost`
*/
struct EventParallelConnection : public Event {
static const Type Type = Event::Type::ParallelConnection;
@@ -147,6 +157,13 @@ struct EventParallelConnection : public Event {
HostshipGained,
HostshipLost
};
/**
* Creates an instance of an EventParallelConnection event.
*
* \param State The new state of the parallel connection system; is one of
* `Established`, `Lost`, `HostshipGained`, or `HostshipLost`
*/
explicit EventParallelConnection(State state_);
State state;
};
@@ -158,6 +175,9 @@ struct EventParallelConnection : public Event {
struct EventProfileLoadingFinished : public Event {
static const Type Type = Event::Type::ProfileLoadingFinished;
/**
* Creates an instance of an EventProfileLoadingFinished event.
*/
EventProfileLoadingFinished();
};
@@ -165,9 +185,6 @@ struct EventProfileLoadingFinished : public Event {
* This event is created whenever some information about the application shutdown sequence
* changes. This can either be that the seqeuence started, was aborted, or is finished,
* which means that OpenSpace is just about the shutdown.
*
* \param State The next state of the application shutdown sequence; is one of `Started`,
* `Aborted`, or `Finished`
*/
struct EventApplicationShutdown : public Event {
static const Type Type = Event::Type::ApplicationShutdown;
@@ -178,6 +195,12 @@ struct EventApplicationShutdown : public Event {
Finished
};
/**
* Creates an instance of an EventApplicationShutdown event.
*
* \param State The next state of the application shutdown sequence; is one of
* `Started`, `Aborted`, or `Finished`
*/
explicit EventApplicationShutdown(State state_);
const State state;
};
@@ -185,13 +208,17 @@ struct EventApplicationShutdown : public Event {
/**
* This event is created when a new screenspace renderable has been created. By the time
* this event is craeted, the screenspace renderable is already registered and available.
*
* \param Renderable The identifier of the new screenspace renderable that was just added
* to the system
*/
struct EventScreenSpaceRenderableAdded : public Event {
static const Type Type = Event::Type::ScreenSpaceRenderableAdded;
/**
* Creates an instance of an EventScreenSpaceRenderableAdded event.
*
* \param renderable_ The the new screenspace renderable that was added to the system
*
* \pre renderable_ must not be nullptr
*/
explicit EventScreenSpaceRenderableAdded(const ScreenSpaceRenderable* renderable_);
const tstring renderable;
};
@@ -200,12 +227,15 @@ struct EventScreenSpaceRenderableAdded : public Event {
* This event is created when a screenspace renderable has been removed from the system.
* When this event is created, the screenspace renderable has already been removed and is
* no longer available
*
* \param Renderable The identifier of the screenspace renderable that was removed
*/
struct EventScreenSpaceRenderableRemoved : public Event {
static const Type Type = Event::Type::ScreenSpaceRenderableRemoved;
/**
* Creates an instance of an EventScreenSpaceRenderableRemoved event.
*
* \param renderable_ The the new screenspace renderable that was removed
*/
explicit EventScreenSpaceRenderableRemoved(const ScreenSpaceRenderable* renderable_);
const tstring renderable;
};
@@ -227,11 +257,6 @@ interaction sphere radius are all taken from the current focus node.
^ ^ ^ ^
Exiting Receding Reaching Approaching
```
*
* \param Node The name of the node the camera is transitioning relative to. Currently is
* always the same as the camera's focus node
* \param Transition The transition type that the camera just finished; is one of
* `Approaching`, `Reaching`, `Receding`, or `Exiting`
*/
struct EventCameraFocusTransition : public Event {
static const Type Type = Event::Type::CameraFocusTransition;
@@ -243,6 +268,18 @@ struct EventCameraFocusTransition : public Event {
Exiting
};
/**
* Creates an instance of an EventCameraFocusTransition event.
*
* \param camera_ The camera object that caused the transition
* \param node_ The name of the node the camera is transitioning relative to.
* Currently is always the same as the camera's focus node
* \param transition_ The transition type that the camera just finished; is one of
* `Approaching`, `Reaching`, `Receding`, or `Exiting`
*
* \pre camera_ must not be nullptr
* \pre node_ must not be nullptr
*/
EventCameraFocusTransition(const Camera* camera_, const SceneGraphNode* node_,
Transition transition_);
@@ -259,7 +296,14 @@ struct EventCameraFocusTransition : public Event {
struct EventTimeOfInterestReached : public Event {
static const Type Type = Event::Type::TimeOfInterestReached;
/**
* Creates an instance of an EventTimeOfInterestReached event.
*
* \param time_ The time of interest that has been reached
* \param camera_ Information about the camera for the specific transition
*/
EventTimeOfInterestReached(const Time* time_, const Camera* camera_);
const Time* time = nullptr;
const Camera* camera = nullptr;
};
@@ -279,16 +323,21 @@ struct EventMissionEventReached : public Event {
/**
* This event is created when a planet is eclipsed by a moon or a different planet. This
* event is currently unused.
*
* \param Eclipsee The identifier of the scene graph node that is eclipsed by another
* object
* \param Eclipser The identifier of the scene graph node that is eclipsing the other
* object
*/
struct EventPlanetEclipsed : public Event {
static const Type Type = Event::Type::PlanetEclipsed;
/**
* Creates an instance of an EventPlanetEclipsed event.
*
* \param eclipsee_ The scene graph node that is eclipsed by another object
* \param eclipser_ The scene graph node that is eclipsing the other object
*
* \pre eclipsee_ must not be nullptr
* \pre eclipser_ must not be nullptr
*/
EventPlanetEclipsed(const SceneGraphNode* eclipsee_, const SceneGraphNode* eclipser_);
const tstring eclipsee;
const tstring eclipser;
};
@@ -296,12 +345,17 @@ struct EventPlanetEclipsed : public Event {
/**
* This event is created when the interpolation of a property value is finished. If the
* interpolation time of a property change is 0s, this event is not fired
*
* \param Property The URI of the property whose interpolation has finished
*/
struct EventInterpolationFinished : public Event {
static const Type Type = Event::Type::InterpolationFinished;
/**
* Creates an instance of an EventInterpolationFinished event.
*
* \param Property The property whose interpolation has finished
*
* \pre property_ must not be nullptr
*/
EventInterpolationFinished(const properties::Property* property_);
const tstring property;
};
@@ -310,30 +364,45 @@ struct EventInterpolationFinished : public Event {
* This event is created when the camera changes focus nodes. Even if the camera position
* is interpolated, the node change happens instantaneously and the event is fired at the
* same time.
*
* \param OldNode The identifier of the scene graph node which was the old focus node
* \param NewNode The identifier of the scene graph node that is the new focus node
*/
struct EventFocusNodeChanged : public Event {
static const Type Type = Event::Type::FocusNodeChanged;
/**
* Creates an instance of an EventFocusNodeChanged event.
*
* \param oldNode_ The scene graph node which was the old focus node
* \param newNode_ The scene graph node that is the new focus node
*
* \pre oldNode_ must not be nullptr
* \pre newNode_ must not be nullptr
*/
EventFocusNodeChanged(const SceneGraphNode* oldNode_, const SceneGraphNode* newNode_);
const tstring oldNode;
const tstring newNode;
};
/**
* This event is created when a layer is added to to a globe.
*
* \param Globe The identifier of the globe to which the layer is added
* \param Group The identifier of the layer group to which the layer is added
* \param Layer The identifier of the layer that was added
*/
struct EventLayerAdded : public Event {
static const Type Type = Event::Type::LayerAdded;
/**
* Creates an instance of an EventLayerAdded event.
*
* \param node_ The identifier of the globe to which the layer is added
* \param layerGroup_ The identifier of the layer group to which the layer is added
* \param layer_ The identifier of the layer that was added
*
* \pre node_ must not be empty
* \pre layerGroup_ must not be empty
* \pre layer_ must not be empty
*/
explicit EventLayerAdded(std::string_view node_, std::string_view layerGroup_,
std::string_view layer_);
const tstring node;
const tstring layerGroup;
const tstring layer;
@@ -341,16 +410,24 @@ struct EventLayerAdded : public Event {
/**
* This event is created when a layer is removed from a globe.
*
* \param Globe The identifier of the globe from which the layer is removed
* \param Group The identifier of the layer group from which the layer is removed
* \param Layer The identifier of the layer that was removed
*/
struct EventLayerRemoved : public Event {
static const Type Type = Event::Type::LayerRemoved;
/**
* Creates an instance of an EventLayerRemoved event.
*
* \param node_ The identifier of the globe to which the layer is removed
* \param layerGroup_ The identifier of the layer group to which the layer is removed
* \param layer_ The identifier of the layer that was removed
*
* \pre node_ must not be empty
* \pre layerGroup_ must not be empty
* \pre layer_ must not be empty
*/
explicit EventLayerRemoved(std::string_view node_, std::string_view layerGroup_,
std::string_view layer_);
const tstring node;
const tstring layerGroup;
const tstring layer;
@@ -359,9 +436,6 @@ struct EventLayerRemoved : public Event {
/**
* This event is created when something regarding a session recording playback changes.
* The event contains information about the new state of the session recording subsystem.
*
* \param State The new state of the session recording; one of `Started`, `Paused`,
* `Resumed`, `Finished`
*/
struct EventSessionRecordingPlayback : public Event {
static const Type Type = Event::Type::SessionRecordingPlayback;
@@ -373,7 +447,14 @@ struct EventSessionRecordingPlayback : public Event {
Finished
};
/**
* Creates an instance of an EventSessionRecordingPlayback event.
*
* \param state_ The new state of the session recording; one of `Started`, `Paused`,
* `Resumed`, `Finished`
*/
EventSessionRecordingPlayback(State state_);
const State state;
};
@@ -382,21 +463,63 @@ struct EventSessionRecordingPlayback : public Event {
* coordinate in the sky is issued. The event contains information about the sky
* coordinate to point the spacecraft towards, and an optional argument for the duration
* it should do the pointing.
*
* \param Ra The Ra part of the sky coordinate in decimal degrees to point towards
* \param Dec The Dec part of the sky coordinate in decimal degrees to point towards
* \param Duration The duration of time in seconds that the spacecraft should redirect
* itself to the coordinate. Default is 3 seconds
*/
struct EventPointSpacecraft : public Event {
static const Type Type = Event::Type::PointSpacecraft;
/**
* Creates an instance of an EventSessionRecordingPlayback event.
*
* \param ra_ The Ra part of the sky coordinate in decimal degrees to point towards
* \param dec_ The Dec part of the sky coordinate in decimal degrees to point towards
* \param duration_ The duration of time in seconds that the spacecraft should
* redirect itself to the coordinate. Default is 3 seconds
*/
EventPointSpacecraft(double ra_, double dec_, double duration_ = 3.0);
const double ra;
const double dec;
const double duration;
};
/**
* This event is created whenever a renderable is enabled. By the time this event is
* signalled, the renderable has already been enabled.
*/
struct EventRenderableEnabled : public Event {
static const Type Type = Event::Type::RenderableEnabled;
/**
* Creates an instance of an EventRenderableEnabled event.
*
* \param node_ The identifier of the node that contains the renderable
*
* \pre node_ must not be nullptr
*/
explicit EventRenderableEnabled(const SceneGraphNode* node_);
const tstring node;
};
/**
* This event is created whenever a renderable is disabled. By the time this event is
* signalled, the renderable has already been disabled.
*/
struct EventRenderableDisabled : public Event {
static const Type Type = Event::Type::RenderableDisabled;
/**
* Creates an instance of an EventRenderableDisabled event.
*
* \param node_ The identifier of that node that contains the renderable
*
* \pre node_ must not be nullptr
*/
explicit EventRenderableDisabled(const SceneGraphNode* node_);
const tstring node;
};
/**
* A custom event type that can be used in a pinch when no explicit event type is
* available. This should only be used in special circumstances and it should be
@@ -405,6 +528,14 @@ struct EventPointSpacecraft : public Event {
struct CustomEvent : public Event {
static const Type Type = Event::Type::Custom;
/**
* Creates an instance of a CustomEvent event.
*
* \param subtype_ A textual description of the custom subtype that is emitted
* \param payload_ The payload in a string form
*
* \pre subtype_ must not be empty
*/
CustomEvent(std::string_view subtype_, std::string_view payload_);
const tstring subtype;

View File

@@ -101,7 +101,7 @@ public:
SessionRecording();
SessionRecording(bool isGlobal);
~SessionRecording();
~SessionRecording() override;
/**
* Used to de-initialize the session recording feature. Any recording or playback
@@ -604,7 +604,7 @@ protected:
Timestamps t3stamps;
};
double _timestampRecordStarted = 0.0;
Timestamps _timestamps3RecordStarted;
Timestamps _timestamps3RecordStarted{ 0.0, 0.0, 0.0 };
double _timestampPlaybackStarted_application = 0.0;
double _timestampPlaybackStarted_simulation = 0.0;
double _timestampApplicationStarted_simulation = 0.0;
@@ -696,10 +696,12 @@ protected:
std::string& version, DataMode& mode);
void populateListofLoadedSceneGraphNodes();
bool checkIfScriptUsesScenegraphNode(std::string s);
void checkForScenegraphNodeAccess_Scene(std::string& s, std::string& result);
void checkForScenegraphNodeAccess_Nav(std::string& s, std::string& result);
void checkIfScriptUsesScenegraphNode(std::string s);
bool checkForScenegraphNodeAccessScene(std::string& s);
bool checkForScenegraphNodeAccessNav(std::string& navTerm);
std::string extractScenegraphNodeFromScene(std::string& s);
bool checkIfInitialFocusNodeIsLoaded(unsigned int firstCamIndex);
std::string isolateTermFromQuotes(std::string s);
void eraseSpacesFromString(std::string& s);
std::string getNameFromSurroundingQuotes(std::string& s);
@@ -733,11 +735,11 @@ protected:
bool _saveRenderingDuringPlayback = false;
double _saveRenderingDeltaTime = 1.0 / 30.0;
double _saveRenderingCurrentRecordedTime;
double _saveRenderingCurrentRecordedTime = 0.0;
std::chrono::steady_clock::duration _saveRenderingDeltaTime_interpolation_usec;
std::chrono::steady_clock::time_point _saveRenderingCurrentRecordedTime_interpolation;
double _saveRenderingCurrentApplicationTime_interpolation;
long long _saveRenderingClockInterpolation_countsPerSec;
double _saveRenderingCurrentApplicationTime_interpolation = 0.0;
long long _saveRenderingClockInterpolation_countsPerSec = 1;
bool _saveRendering_isFirstFrame = true;
unsigned char _keyframeBuffer[_saveBufferMaxSize_bytes];
@@ -835,7 +837,7 @@ protected:
class SessionRecording_legacy_0085 : public SessionRecording {
public:
SessionRecording_legacy_0085() : SessionRecording() {}
~SessionRecording_legacy_0085() {}
~SessionRecording_legacy_0085() override {}
char FileHeaderVersion[FileHeaderVersionLength+1] = "00.85";
char TargetConvertVersion[FileHeaderVersionLength+1] = "01.00";
std::string fileFormatVersion() override {

View File

@@ -37,7 +37,7 @@ namespace openspace::interaction {
class ConvertRecFileVersionTask : public Task {
public:
ConvertRecFileVersionTask(const ghoul::Dictionary& dictionary);
~ConvertRecFileVersionTask();
~ConvertRecFileVersionTask() override;
std::string description() override;
void perform(const Task::ProgressCallback& progressCallback) override;
static documentation::Documentation documentation();

View File

@@ -41,7 +41,7 @@ public:
ToBinary
};
ConvertRecFormatTask(const ghoul::Dictionary& dictionary);
~ConvertRecFormatTask();
~ConvertRecFormatTask() override;
std::string description() override;
void perform(const Task::ProgressCallback& progressCallback) override;
static documentation::Documentation documentation();

View File

@@ -61,7 +61,7 @@ class PathNavigator;
class NavigationHandler : public properties::PropertyOwner {
public:
NavigationHandler();
~NavigationHandler();
virtual ~NavigationHandler() override;
void initialize();
void deinitialize();

View File

@@ -51,7 +51,7 @@ class Path;
class PathNavigator : public properties::PropertyOwner {
public:
PathNavigator();
~PathNavigator();
virtual ~PathNavigator() override;
// Accessors
Camera* camera() const;

View File

@@ -47,7 +47,7 @@ namespace scripting { struct LuaLibrary; }
class ParallelPeer : public properties::PropertyOwner {
public:
ParallelPeer();
~ParallelPeer();
~ParallelPeer() override;
void connect();
void setPort(std::string port);

View File

@@ -35,7 +35,7 @@ class ListProperty : public TemplateProperty<std::vector<T>> {
public:
ListProperty(Property::PropertyInfo info, std::vector<T> values);
virtual ~ListProperty() = 0;
virtual ~ListProperty() override = 0;
};
} // namespace openspace::properties

View File

@@ -77,7 +77,7 @@ public:
* The destructor will remove all Propertys and PropertyOwners it owns along with
* itself.
*/
virtual ~PropertyOwner();
virtual ~PropertyOwner() override;
/**
* Sets the identifier for this PropertyOwner. If the PropertyOwner does not have an

View File

@@ -41,7 +41,7 @@ namespace scripting { struct LuaLibrary; }
class Dashboard : public properties::PropertyOwner {
public:
Dashboard();
~Dashboard() = default;
virtual ~Dashboard() override = default;
void render(glm::vec2& penPosition);

View File

@@ -58,7 +58,7 @@ class FramebufferRenderer : public RaycasterListener,
public DeferredcasterListener
{
public:
virtual ~FramebufferRenderer() = default;
virtual ~FramebufferRenderer() override final = default;
void initialize();
void deinitialize();

View File

@@ -46,7 +46,7 @@ namespace openspace {
class LuaConsole : public properties::PropertyOwner {
public:
LuaConsole();
~LuaConsole();
~LuaConsole() override;
void initialize();
void deinitialize();

View File

@@ -65,7 +65,7 @@ public:
ghoul::Dictionary dictionary);
Renderable(const ghoul::Dictionary& dictionary);
virtual ~Renderable() = default;
virtual ~Renderable() override = default;
virtual void initialize();
virtual void initializeGL();

View File

@@ -66,7 +66,7 @@ struct ShutdownInformation;
class RenderEngine : public properties::PropertyOwner {
public:
RenderEngine();
~RenderEngine();
virtual ~RenderEngine() override;
void initialize();
void initializeGL();

View File

@@ -58,7 +58,7 @@ public:
static constexpr const char* KeyIdentifier = "Identifier";
ScreenSpaceRenderable(const ghoul::Dictionary& dictionary);
virtual ~ScreenSpaceRenderable();
virtual ~ScreenSpaceRenderable() override;
virtual void render();

View File

@@ -47,7 +47,7 @@ public:
LightSource();
LightSource(const ghoul::Dictionary& dictionary);
virtual ~LightSource() = default;
~LightSource() override = default;
virtual glm::vec3 directionViewSpace(const RenderData& renderData) const = 0;

View File

@@ -45,7 +45,7 @@ public:
const ghoul::Dictionary& dictionary);
Rotation();
virtual ~Rotation() = default;
virtual ~Rotation() override = default;
virtual bool initialize();

View File

@@ -45,7 +45,7 @@ public:
const ghoul::Dictionary& dictionary);
Scale();
virtual ~Scale() = default;
virtual ~Scale() override = default;
virtual bool initialize();

View File

@@ -82,7 +82,7 @@ public:
// constructors & destructor
Scene(std::unique_ptr<SceneInitializer> initializer);
~Scene();
virtual ~Scene() override;
/**
* Clear the scene graph,
@@ -253,6 +253,17 @@ public:
*/
void setPropertiesFromProfile(const Profile& p);
/**
* Searches for any properties that match the regex propertyString, and returns
* the results in a vector.
*
* \param propertyString the regex string that is intended to match one or more
* properties in the currently-available properties
* \return Vector of Property objs containing property names that matched the regex
*/
std::vector<properties::Property*> propertiesMatchingRegex(
std::string propertyString);
private:
/**
* Accepts string version of a property value from a profile, converts it to the

View File

@@ -81,7 +81,7 @@ public:
static constexpr const char* KeyTag = "Tag";
SceneGraphNode();
~SceneGraphNode();
virtual ~SceneGraphNode() override;
static ghoul::mm_unique_ptr<SceneGraphNode> createFromDictionary(
const ghoul::Dictionary& dictionary);

View File

@@ -45,7 +45,7 @@ public:
const ghoul::Dictionary& dictionary);
TimeFrame();
virtual ~TimeFrame() = default;
virtual ~TimeFrame() override = default;
virtual bool initialize();

View File

@@ -47,7 +47,7 @@ public:
const ghoul::Dictionary& dictionary);
Translation();
virtual ~Translation() = default;
virtual ~Translation() override = default;
virtual bool initialize();
virtual void update(const UpdateData& data);

View File

@@ -375,7 +375,7 @@ public:
* This destructor will cancel any ongoing download and wait for its completion, so it
* might not block for a short amount of time.
*/
virtual ~HttpFileDownload() = default;
virtual ~HttpFileDownload() override = default;
/**
* Returns the path where the contents of the URL provided in the constructor will be
@@ -443,7 +443,7 @@ public:
* This destructor will cancel any ongoing download and wait for its completion, so it
* might not block for a short amount of time.
*/
virtual ~HttpMemoryDownload() = default;
virtual ~HttpMemoryDownload() override = default;
/**
* Returns a reference to the buffer that is used to store the contents of the URL

View File

@@ -58,7 +58,7 @@ public:
OpenSpaceModule(std::string name);
/// Default destructor
virtual ~OpenSpaceModule() = default;
virtual ~OpenSpaceModule() override = default;
/**
* Initialization method that will register a token of the form

View File

@@ -82,7 +82,7 @@ public:
/**
* Destructor
*/
~ScreenLog() = default;
~ScreenLog() override = default;
/**
* Overwritten ghoul::loggling::Log method that is called whenever a new log message

View File

@@ -59,7 +59,7 @@ class AtmosphereDeferredcaster : public Deferredcaster {
public:
AtmosphereDeferredcaster(float textureScale,
std::vector<ShadowConfiguration> shadowConfigArray, bool saveCalculatedTextures);
virtual ~AtmosphereDeferredcaster() = default;
~AtmosphereDeferredcaster() override = default;
void initialize();
void deinitialize();

View File

@@ -37,7 +37,7 @@ public:
constexpr static const char* Name = "Base";
BaseModule();
virtual ~BaseModule() = default;
~BaseModule() override = default;
std::vector<documentation::Documentation> documentations() const override;
std::vector<scripting::LuaLibrary> luaLibraries() const override;

View File

@@ -40,7 +40,7 @@ namespace documentation { struct Documentation; }
class DashboardItemAngle : public DashboardTextItem {
public:
DashboardItemAngle(const ghoul::Dictionary& dictionary);
virtual ~DashboardItemAngle() = default;
~DashboardItemAngle() override = default;
void render(glm::vec2& penPosition) override;

View File

@@ -36,7 +36,7 @@ namespace documentation { struct Documentation; }
class DashboardItemDate : public DashboardTextItem {
public:
DashboardItemDate(const ghoul::Dictionary& dictionary);
~DashboardItemDate() = default;
~DashboardItemDate() override = default;
void render(glm::vec2& penPosition) override;

View File

@@ -41,7 +41,7 @@ namespace documentation { struct Documentation; }
class DashboardItemDistance : public DashboardTextItem {
public:
DashboardItemDistance(const ghoul::Dictionary& dictionary);
virtual ~DashboardItemDistance() = default;
~DashboardItemDistance() override = default;
void render(glm::vec2& penPosition) override;

View File

@@ -34,7 +34,7 @@ namespace documentation { struct Documentation; }
class DashboardItemMission : public DashboardTextItem {
public:
DashboardItemMission(const ghoul::Dictionary& dictionary);
virtual ~DashboardItemMission() = default;
~DashboardItemMission() override = default;
void render(glm::vec2& penPosition) override;

Some files were not shown because too many files have changed in this diff Show More