From 155a5d240f4440dd877f40ce64ecb7c6f112700c Mon Sep 17 00:00:00 2001 From: fly Date: Sat, 23 Dec 2023 03:32:05 +0100 Subject: [PATCH] Fix missing v1300 surface codes for rwy and twy Signed-off-by: fly --- src/Airports/GenAirports/runway.cxx | 35 ++++++++++++++++++++++++---- src/Airports/GenAirports/taxiway.cxx | 4 ++-- 2 files changed, 33 insertions(+), 6 deletions(-) diff --git a/src/Airports/GenAirports/runway.cxx b/src/Airports/GenAirports/runway.cxx index 63c80cb3..a951ab52 100644 --- a/src/Airports/GenAirports/runway.cxx +++ b/src/Airports/GenAirports/runway.cxx @@ -135,9 +135,9 @@ tgContour WaterRunway::GetBuoys() int Runway::BuildBtg(tgpolygon_list& rwy_polys, tglightcontour_list& rwy_lights, tgcontour_list& slivers, tgAccumulator& accum, std::string& shapefile_name) { - if (rwy.surface == 1 /* Asphalt */) { + if (rwy.surface == 1 || (rwy.surface >= 20 && rwy.surface <= 38)/* Asphalt */) { material_prefix = "pa_"; - } else if (rwy.surface == 2 /* Concrete */) { + } else if (rwy.surface == 2 || (rwy.surface >= 50 && rwy.surface <= 57) /* Concrete */) { material_prefix = "pc_"; } else if (rwy.surface == 3 /* Turf/Grass */) { material_prefix = "grass_rwy"; @@ -158,8 +158,35 @@ int Runway::BuildBtg(tgpolygon_list& rwy_polys, tglightcontour_list& rwy_lights, // first, check the surface type - anything but concrete and asphalt are easy switch (rwy.surface) { - case 1: // asphalt: - case 2: // concrete + case 1: // asphalt: + case 2: // concrete + case 20: // Light colored asphalt + case 21: + case 22: + case 23: + case 24: // Asphalt + case 25: + case 26: + case 27: // Darker colored asphalt + case 28: + case 29: + case 30: + case 31: // Very dark colored asphalt + case 32: + case 33: + case 34: + case 35: // Near black, ‘new’ looking asphalt + case 36: + case 37: + case 38: + case 50: // Light “new” looking concrete + case 51: + case 52: + case 53: // Concrete + case 54: + case 55: // Dark concrete + case 56: + case 57: TG_LOG(SG_GENERAL, SG_DEBUG, "Build Runway: asphalt or concrete " << rwy.surface); gen_rwy(rwy_polys, slivers, accum, shapefile_name); gen_runway_lights(rwy_lights); diff --git a/src/Airports/GenAirports/taxiway.cxx b/src/Airports/GenAirports/taxiway.cxx index 54dd7d21..42880d75 100644 --- a/src/Airports/GenAirports/taxiway.cxx +++ b/src/Airports/GenAirports/taxiway.cxx @@ -103,7 +103,7 @@ int Taxiway::BuildBtg(tgpolygon_list& rwy_polys, tglightcontour_list& rwy_lights std::string material; - if (surface == 1 /* Asphalt */) { + if (surface == 1 || (surface >= 20 && surface <= 38)/* Asphalt */) { if ((width <= 50) && (lighting[1] == '6')) { material = "pa_taxiway"s; GenLights(rwy_lights); @@ -111,7 +111,7 @@ int Taxiway::BuildBtg(tgpolygon_list& rwy_polys, tglightcontour_list& rwy_lights material = "pa_tiedown"s; } - } else if (surface == 2 /* Concrete */) { + } else if (surface == 2 || (surface >= 50 && surface <= 57)/* Concrete */) { if ((width <= 50) && (lighting[1] == '6')) { material = "pc_taxiway"s; GenLights(rwy_lights);