This commit is contained in:
2026-07-27 18:28:21 +08:00
parent c04caf2f1f
commit 8835607ccd
6 changed files with 1662 additions and 4 deletions
+8
View File
@@ -368,6 +368,9 @@ void Cesium_Graphics_Config::from_base_json(const Psc::JSON* that_json) {
terrain_limit_maximum_level = read_optional_bool_field(that_json, "terrain_limit_maximum_level", terrain_limit_maximum_level);
terrain_maximum_level = std::clamp(read_optional_uint32_field(that_json, "terrain_maximum_level", terrain_maximum_level), 0u, 24u);
terrain_cache_tiles = std::clamp(read_optional_uint32_field(that_json, "terrain_cache_tiles", terrain_cache_tiles), 16u, 2048u);
terrain_occlusion_enabled = read_optional_bool_field(that_json, "terrain_occlusion_enabled", terrain_occlusion_enabled);
occlusion_sample_spacing_meters = std::clamp(read_optional_double_field(that_json, "occlusion_sample_spacing_meters", occlusion_sample_spacing_meters), 10.0, 5000.0);
occlusion_clearance_margin_meters = read_optional_double_field(that_json, "occlusion_clearance_margin_meters", occlusion_clearance_margin_meters);
}
Psc::JSON Cesium_Graphics_Config::to_base_json() const {
auto ret = Psc::JSON::object();
@@ -387,6 +390,9 @@ Psc::JSON Cesium_Graphics_Config::to_base_json() const {
ret.append({"terrain_limit_maximum_level", terrain_limit_maximum_level});
ret.append({"terrain_maximum_level", terrain_maximum_level});
ret.append({"terrain_cache_tiles", terrain_cache_tiles});
ret.append({"terrain_occlusion_enabled", terrain_occlusion_enabled});
ret.append({"occlusion_sample_spacing_meters", occlusion_sample_spacing_meters});
ret.append({"occlusion_clearance_margin_meters", occlusion_clearance_margin_meters});
return ret;
}
Map_Model_Item_Config::Map_Model_Item_Config(std::string url)
@@ -424,12 +430,14 @@ void Map_Model_Config::from_base_json(const Psc::JSON* that_json) {
aircraft_model.from_base_json(that_json->get("aircraft_model"));
aircraft_models = read_optional_model_object_field(that_json, "aircraft_models", make_default_aircraft_models());
base_station_model.from_base_json(that_json->get("base_station_model"));
device_model.from_base_json(that_json->get("device_model"));
}
Psc::JSON Map_Model_Config::to_base_json() const {
auto ret = Psc::JSON::object();
ret.append({"aircraft_model", aircraft_model.to_base_json()});
ret.append(write_model_object("aircraft_models", aircraft_models));
ret.append({"base_station_model", base_station_model.to_base_json()});
ret.append({"device_model", device_model.to_base_json()});
return ret;
}