3D优化
This commit is contained in:
@@ -7,6 +7,7 @@
|
||||
#include "MLAT.h"
|
||||
#include "Source_Feed_Relation.h"
|
||||
#include <fstream>
|
||||
#include <map>
|
||||
#include <vector>
|
||||
inline bool delete_log = false;
|
||||
extern std::string default_config_path;
|
||||
@@ -56,6 +57,10 @@ struct Mode_ACS_Config_Data {
|
||||
Psc::Copyable_Atomic<std::size_t> mode_other_max_num{};
|
||||
Psc::Copyable_Atomic<std::size_t> report_data_feed_msg_mum{};
|
||||
Psc::Copyable_Atomic<std::size_t> default_min_aircraft_list_num{};
|
||||
Psc::Copyable_Atomic<std::size_t> aircraft_change_list_min_position_points = 2;
|
||||
Psc::Copyable_Atomic<bool> aircraft_change_list_adsb_range_filter = true;
|
||||
Psc::Copyable_Atomic<double> aircraft_change_list_adsb_range_factor = 1.2;
|
||||
Psc::Copyable_Atomic<double> adsb_theoretical_target_altitude_meters = 10000.0;
|
||||
Psc::Copyable_Atomic<bool> ignore_df_11{};
|
||||
Psc::Copyable_Atomic<bool> monitor_msg_live{};
|
||||
PSC_USE_JSON
|
||||
@@ -148,8 +153,18 @@ struct Map_Camera_Config {
|
||||
void from_base_json(const Psc::JSON* that_json);
|
||||
[[nodiscard]] Psc::JSON to_base_json() const;
|
||||
};
|
||||
struct Map_Tile_View_Config {
|
||||
std::string current_imagery_key = "imagery";
|
||||
std::string tile_zoom_mode = "native";
|
||||
std::uint32_t tile_display_maximum_level = 19;
|
||||
void from_base_json(const Psc::JSON* that_json);
|
||||
[[nodiscard]] Psc::JSON to_base_json() const;
|
||||
[[nodiscard]] static bool is_tile_zoom_mode(std::string_view mode);
|
||||
};
|
||||
struct Map_View_Config {
|
||||
std::string scene_mode = "3d";
|
||||
Map_Tile_View_Config map2d;
|
||||
Map_Tile_View_Config map3d;
|
||||
Map_Camera_Config camera;
|
||||
void from_base_json(const Psc::JSON* that_json);
|
||||
[[nodiscard]] Psc::JSON to_base_json() const;
|
||||
@@ -173,6 +188,26 @@ struct Cesium_Graphics_Config {
|
||||
void from_base_json(const Psc::JSON* that_json);
|
||||
[[nodiscard]] Psc::JSON to_base_json() const;
|
||||
};
|
||||
struct Map_Model_Item_Config {
|
||||
std::string url;
|
||||
double built_in_size = 50.0;
|
||||
double heading_offset_degrees = 0.0;
|
||||
double pitch_offset_degrees = 0.0;
|
||||
double roll_offset_degrees = 0.0;
|
||||
Map_Model_Item_Config() = default;
|
||||
explicit Map_Model_Item_Config(std::string url);
|
||||
Map_Model_Item_Config(std::string url, double built_in_size, double heading, double pitch, double roll);
|
||||
void from_base_json(const Psc::JSON* that_json);
|
||||
[[nodiscard]] Psc::JSON to_base_json() const;
|
||||
};
|
||||
struct Map_Model_Config {
|
||||
Map_Model_Item_Config aircraft_model{"/ui/model/aircraft.glb", 50.0, -90.0, 0.0, 0.0};
|
||||
std::map<std::string, Map_Model_Item_Config> aircraft_models;
|
||||
Map_Model_Item_Config base_station_model{"/ui/model/base-station.glb", 100.0, 0.0, 0.0, 0.0};
|
||||
Map_Model_Config();
|
||||
void from_base_json(const Psc::JSON* that_json);
|
||||
[[nodiscard]] Psc::JSON to_base_json() const;
|
||||
};
|
||||
struct Net_Config {
|
||||
std::string key{};
|
||||
std::string ip{};
|
||||
@@ -229,6 +264,7 @@ public:
|
||||
Map_Resources_Config map_resources_config;
|
||||
Map_View_Config map_view_config;
|
||||
Cesium_Graphics_Config cesium_graphics_config;
|
||||
Map_Model_Config map_model_config;
|
||||
Mode_ACS_Config mode_acs;
|
||||
Log_Config log_config;
|
||||
Console_Config console_config{};
|
||||
@@ -261,6 +297,7 @@ public:
|
||||
map_resources_config.from_base_json(that_json->get("map_resources"));
|
||||
map_view_config.from_base_json(that_json->get("map_view"));
|
||||
cesium_graphics_config.from_base_json(that_json->get("cesium_graphics"));
|
||||
map_model_config.from_base_json(that_json->get("map_models"));
|
||||
device_config.init(that_json->get("device"));
|
||||
mode_acs.init(that_json->get("mode_acs"));
|
||||
console_config.from_base_json(that_json->get("console"));
|
||||
@@ -279,6 +316,7 @@ public:
|
||||
{"web_server", web_server_config.to_base_json()},
|
||||
{"map_resources", map_resources_config.to_base_json()},
|
||||
{"map_view", map_view_config.to_base_json()},
|
||||
{"map_models", map_model_config.to_base_json()},
|
||||
{"device", device_config.to_base_json()},
|
||||
{"mode_acs", mode_acs.to_base_json()},
|
||||
//{"ais", ais.to_json()},
|
||||
|
||||
Reference in New Issue
Block a user