Layers maintenance (#2917)

* Separate layers for the Moon and Earth

* One asset each for each server, New York, Utah, and Sweden

* Add the layers asset files for Earth and Moon

* Add new layers structure for Mars and Europa

* Add layers assets for Mercury and Enceladus

* Add more layer assets for all servers

* Add layer assets for each server on the top asset level

* Rename Venus Utah cloud combo layer asset (breaking change)

* Clean up layer asset descriptions

* Update layer asset version name

* Fix base layers error

* Add configuration option to choose layers server

* Add Lua functions to access configuration settings

* Extend configuration Lua function

* Add layer server setting in setting gui + add 'None' as a server option

* Add base layers when server 'None' is used

* Add tests for the new Layer Server setting
This commit is contained in:
Malin E
2023-12-06 16:17:23 +01:00
committed by GitHub
parent a8675abed8
commit 690878bc87
49 changed files with 1355 additions and 217 deletions

View File

@@ -45,6 +45,8 @@ struct Configuration {
Configuration& operator=(const Configuration&) = delete;
Configuration& operator=(Configuration&&) = default;
ghoul::Dictionary createDictionary();
std::string windowConfiguration = "${CONFIG}/single.xml";
std::string asset;
std::string profile;
@@ -112,6 +114,15 @@ struct Configuration {
bool isConsoleDisabled = false;
bool bypassLauncher = false;
enum LayerServer {
All = 0,
NewYork,
Sweden,
Utah,
None
};
LayerServer layerServer = LayerServer::All;
std::map<std::string, ghoul::Dictionary> moduleConfigurations;
struct OpenGLDebugContext {
@@ -151,6 +162,9 @@ Configuration loadConfigurationFromFile(const std::filesystem::path& configurati
const std::filesystem::path& settingsFile,
const glm::ivec2& primaryMonitorResolution);
Configuration::LayerServer stringToLayerServer(std::string_view server);
std::string layerServerToString(Configuration::LayerServer server);
} // namespace openspace
#endif // __OPENSPACE_CORE___CONFIGURATION___H__

View File

@@ -25,6 +25,7 @@
#ifndef __OPENSPACE_CORE___SETTINGS___H__
#define __OPENSPACE_CORE___SETTINGS___H__
#include <openspace/engine/configuration.h>
#include <openspace/properties/property.h>
#include <filesystem>
#include <optional>
@@ -42,6 +43,7 @@ struct Settings {
std::optional<bool> rememberLastProfile;
std::optional<properties::Property::Visibility> visibility;
std::optional<bool> bypassLauncher;
std::optional<Configuration::LayerServer> layerServer;
struct MRF {
auto operator<=>(const MRF&) const = default;