diff --git a/src/Airports/GenAirports850/linearfeature.cxx b/src/Airports/GenAirports850/linearfeature.cxx index a2c6ca8b..a7fc8d5c 100644 --- a/src/Airports/GenAirports850/linearfeature.cxx +++ b/src/Airports/GenAirports850/linearfeature.cxx @@ -392,11 +392,51 @@ int LinearFeature::Finish( bool closed, unsigned int idx ) case LF_NONE: break; + case LF_SOLID_RED: + material = "lf_sng_solid_red"; + width = 0.25f; + break; + + case LF_BROKEN_RED: + material = "lf_sng_broken_red"; + width = 0.25f; + break; + + case LF_SOLID_RED_WIDE: + material = "lf_sng_solid_red"; + width = 0.5f; + break; + + case LF_SOLID_ORANGE: + material = "lf_sng_solid_orange"; + width = 0.25f; + break; + + case LF_SOLID_BLUE: + material = "lf_sng_solid_blue"; + width = 0.25f; + break; + + case LF_SOLID_GREEN: + material = "lf_sng_solid_green"; + width = 0.25f; + break; + case LF_SOLID_YELLOW: material = "lf_sng_solid_yellow"; width = 0.25f; break; + case LF_SOLID_YELLOW_WIDE: + material = "lf_sng_solid_yellow"; + width = 0.5f; + break; + + case LF_SOLID_YELLOW_HATCH: + material = "lf_sng_solid_yellow"; + width = 1.0f; + break; + case LF_BROKEN_YELLOW: material = "lf_sng_broken_yellow"; width = 0.25f; @@ -412,21 +452,41 @@ int LinearFeature::Finish( bool closed, unsigned int idx ) width = 1.0f; break; + case LF_DOUBLE_HOLD_WIDE: + material = "lf_runway_hold"; + width = 2.0f; + break; + case LF_OTHER_HOLD: material = "lf_other_hold"; width = 0.5f; break; + case LF_OTHER_HOLD_WIDE: + material = "lf_other_hold"; + width = 1.0f; + break; + case LF_ILS_HOLD: material = "lf_ils_hold"; width = 1.0f; break; + case LF_ILS_HOLD_WIDE: + material = "lf_ils_hold"; + width = 2.0f; + break; + case LF_SAFETYZONE_CENTERLINE: material = "lf_safetyzone_centerline"; width = 0.75f; break; + case LF_TAXI_HOLD_WIDE: + material = "lf_safetyzone_centerline"; + width = 1.5f; + break; + case LF_SINGLE_LANE_QUEUE: material = "lf_sng_lane_queue"; width = 0.25f; @@ -442,6 +502,11 @@ int LinearFeature::Finish( bool closed, unsigned int idx ) width = 0.25f; break; + case LF_B_SOLID_YELLOW_WIDE: + material = "lf_sng_solid_yellow_border"; + width = 0.5f; + break; + case LF_B_BROKEN_YELLOW: material = "lf_sng_broken_yellow_border"; width = 0.25f; @@ -457,21 +522,41 @@ int LinearFeature::Finish( bool closed, unsigned int idx ) width = 1.0f; break; + case LF_B_RUNWAY_HOLD_WIDE: + material = "lf_runway_hold_border"; + width = 2.0f; + break; + case LF_B_OTHER_HOLD: material = "lf_other_hold_border"; width = 0.5f; break; + case LF_B_OTHER_HOLD_WIDE: + material = "lf_other_hold_border"; + width = 1.0f; + break; + case LF_B_ILS_HOLD: material = "lf_ils_hold_border"; width = 1.0f; break; + case LF_B_ILS_HOLD_WIDE: + material = "lf_ils_hold_border"; + width = 2.0f; + break; + case LF_B_SAFETYZONE_CENTERLINE: material = "lf_safetyzone_centerline_border"; width = 0.75f; break; + case LF_B_TAXI_HOLD_WIDE: + material = "lf_safetyzone_centerline_border"; + width = 1.5f; + break; + case LF_B_SINGLE_LANE_QUEUE: material = "lf_sng_lane_queue_border"; width = 0.25f; @@ -487,6 +572,11 @@ int LinearFeature::Finish( bool closed, unsigned int idx ) width = 0.25f; break; + case LF_SOLID_ROAD_WIDE: + material = "lf_sng_solid_white"; + width = 0.5f; + break; + case LF_CHECKERBOARD_WHITE: material = "lf_checkerboard_white"; width = 0.5f; @@ -497,6 +587,76 @@ int LinearFeature::Finish( bool closed, unsigned int idx ) width = 0.25f; break; + case LF_BROKEN_ROAD: + material = "lf_broken_white"; + width = 0.25f; + break; + + case LF_BROKEN_ROAD_WIDE: + material = "lf_broken_white"; + width = 0.5f; + break; + + case LF_B_ROAD_EDGE_SOLID: + material = "lf_solid_white_border"; + width = 0.25f; + break; + + case LF_B_ROAD_EDGE_ZIPPER: + material = "lf_broken_white_border"; //TODO + width = 0.5f; + break; + + case LF_B_ROAD_EDGE_DASH: + material = "lf_broken_white_border"; + width = 0.25f; + break; + + case LF_B_ROAD_DASH: + material = "lf_broken_white_border"; + width = 0.25f; + break; + + case LF_B_ROAD_DASH_WIDE: + material = "lf_broken_white_border"; + width = 0.5f; + break; + + case LF_B_ROAD_EDGE_WIDE: + material = "lf_solid_white_border"; + width = 0.5f; + break; + + case LF_B_SOLID_RED: + material = "lf_solid_red_border"; + width = 0.25f; + break; + + case LF_B_BROKEN_RED: + material = "lf_broken_red_border"; + width = 0.25f; + break; + + case LF_B_SOLID_RED_WIDE: + material = "lf_solid_red_border"; + width = 0.5f; + break; + + case LF_B_SOLID_ORANGE: + material = "lf_solid_orange_border"; + width = 0.25f; + break; + + case LF_B_SOLID_BLUE: + material = "lf_solid_blue_border"; + width = 0.25f; + break; + + case LF_B_SOLID_GREEN: + material = "lf_solid_green_border"; + width = 0.25f; + break; + default: TG_LOG(SG_GENERAL, SG_ALERT, "LinearFeature::Finish: unknown marking " << marks[i]->type ); exit(1); diff --git a/src/Airports/GenAirports850/linearfeature.hxx b/src/Airports/GenAirports850/linearfeature.hxx index aa75cc2a..5159b416 100644 --- a/src/Airports/GenAirports850/linearfeature.hxx +++ b/src/Airports/GenAirports850/linearfeature.hxx @@ -19,6 +19,27 @@ #define LF_SAFETYZONE_CENTERLINE (7) #define LF_SINGLE_LANE_QUEUE (8) #define LF_DOUBLE_LANE_QUEUE (9) +#define LF_SOLID_YELLOW_WIDE (10) +#define LF_TAXI_HOLD_WIDE (11) +#define LF_DOUBLE_HOLD_WIDE (12) +#define LF_OTHER_HOLD_WIDE (13) +#define LF_ILS_HOLD_WIDE (14) +#define LF_SOLID_YELLOW_HATCH (19) + +#define LF_SOLID_WHITE (20) +#define LF_CHECKERBOARD_WHITE (21) +#define LF_BROKEN_WHITE (22) +#define LF_BROKEN_ROAD (23) +#define LF_SOLID_ROAD_WIDE (24) +#define LF_BROKEN_ROAD_WIDE (25) + +#define LF_SOLID_RED (30) +#define LF_BROKEN_RED (31) +#define LF_SOLID_RED_WIDE (32) + +#define LF_SOLID_ORANGE (40) +#define LF_SOLID_BLUE (41) +#define LF_SOLID_GREEN (42) #define LF_B_SOLID_YELLOW (51) #define LF_B_BROKEN_YELLOW (52) @@ -30,9 +51,26 @@ #define LF_B_SINGLE_LANE_QUEUE (58) #define LF_B_DOUBLE_LANE_QUEUE (59) -#define LF_SOLID_WHITE (20) -#define LF_CHECKERBOARD_WHITE (21) -#define LF_BROKEN_WHITE (22) +#define LF_B_SOLID_YELLOW_WIDE (60) +#define LF_B_TAXI_HOLD_WIDE (61) +#define LF_B_RUNWAY_HOLD_WIDE (62) +#define LF_B_OTHER_HOLD_WIDE (63) +#define LF_B_ILS_HOLD_WIDE (64) + +#define LF_B_ROAD_EDGE_SOLID (70) +#define LF_B_ROAD_EDGE_ZIPPER (71) +#define LF_B_ROAD_EDGE_DASH (72) +#define LF_B_ROAD_DASH (73) +#define LF_B_ROAD_EDGE_WIDE (74) +#define LF_B_ROAD_DASH_WIDE (75) + +#define LF_B_SOLID_RED (80) +#define LF_B_BROKEN_RED (81) +#define LF_B_SOLID_RED_WIDE (82) + +#define LF_B_SOLID_ORANGE (90) +#define LF_B_SOLID_BLUE (91) +#define LF_B_SOLID_GREEN (92) #define LF_BIDIR_GREEN (101) #define LF_OMNIDIR_BLUE (102) diff --git a/src/Airports/GenAirports850/main.cxx b/src/Airports/GenAirports850/main.cxx index a3c69295..cc57954d 100644 --- a/src/Airports/GenAirports850/main.cxx +++ b/src/Airports/GenAirports850/main.cxx @@ -314,7 +314,7 @@ int main(int argc, char **argv) in.getline(line, 20); in.close(); int code = atoi(line); - if (code == 810 || code > 1100) { + if (code == 810 || code > 1200) { TG_LOG(SG_GENERAL, SG_ALERT, "ERROR: This genapts version does not support apt.data version " << code << " files."); return EXIT_FAILURE; }