Extend support for more linear features
This commit is contained in:
parent
3e9e87cb8b
commit
8e40cf26b3
3 changed files with 202 additions and 4 deletions
|
@ -392,11 +392,51 @@ int LinearFeature::Finish( bool closed, unsigned int idx )
|
||||||
case LF_NONE:
|
case LF_NONE:
|
||||||
break;
|
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:
|
case LF_SOLID_YELLOW:
|
||||||
material = "lf_sng_solid_yellow";
|
material = "lf_sng_solid_yellow";
|
||||||
width = 0.25f;
|
width = 0.25f;
|
||||||
break;
|
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:
|
case LF_BROKEN_YELLOW:
|
||||||
material = "lf_sng_broken_yellow";
|
material = "lf_sng_broken_yellow";
|
||||||
width = 0.25f;
|
width = 0.25f;
|
||||||
|
@ -412,21 +452,41 @@ int LinearFeature::Finish( bool closed, unsigned int idx )
|
||||||
width = 1.0f;
|
width = 1.0f;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case LF_DOUBLE_HOLD_WIDE:
|
||||||
|
material = "lf_runway_hold";
|
||||||
|
width = 2.0f;
|
||||||
|
break;
|
||||||
|
|
||||||
case LF_OTHER_HOLD:
|
case LF_OTHER_HOLD:
|
||||||
material = "lf_other_hold";
|
material = "lf_other_hold";
|
||||||
width = 0.5f;
|
width = 0.5f;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case LF_OTHER_HOLD_WIDE:
|
||||||
|
material = "lf_other_hold";
|
||||||
|
width = 1.0f;
|
||||||
|
break;
|
||||||
|
|
||||||
case LF_ILS_HOLD:
|
case LF_ILS_HOLD:
|
||||||
material = "lf_ils_hold";
|
material = "lf_ils_hold";
|
||||||
width = 1.0f;
|
width = 1.0f;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case LF_ILS_HOLD_WIDE:
|
||||||
|
material = "lf_ils_hold";
|
||||||
|
width = 2.0f;
|
||||||
|
break;
|
||||||
|
|
||||||
case LF_SAFETYZONE_CENTERLINE:
|
case LF_SAFETYZONE_CENTERLINE:
|
||||||
material = "lf_safetyzone_centerline";
|
material = "lf_safetyzone_centerline";
|
||||||
width = 0.75f;
|
width = 0.75f;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case LF_TAXI_HOLD_WIDE:
|
||||||
|
material = "lf_safetyzone_centerline";
|
||||||
|
width = 1.5f;
|
||||||
|
break;
|
||||||
|
|
||||||
case LF_SINGLE_LANE_QUEUE:
|
case LF_SINGLE_LANE_QUEUE:
|
||||||
material = "lf_sng_lane_queue";
|
material = "lf_sng_lane_queue";
|
||||||
width = 0.25f;
|
width = 0.25f;
|
||||||
|
@ -442,6 +502,11 @@ int LinearFeature::Finish( bool closed, unsigned int idx )
|
||||||
width = 0.25f;
|
width = 0.25f;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case LF_B_SOLID_YELLOW_WIDE:
|
||||||
|
material = "lf_sng_solid_yellow_border";
|
||||||
|
width = 0.5f;
|
||||||
|
break;
|
||||||
|
|
||||||
case LF_B_BROKEN_YELLOW:
|
case LF_B_BROKEN_YELLOW:
|
||||||
material = "lf_sng_broken_yellow_border";
|
material = "lf_sng_broken_yellow_border";
|
||||||
width = 0.25f;
|
width = 0.25f;
|
||||||
|
@ -457,21 +522,41 @@ int LinearFeature::Finish( bool closed, unsigned int idx )
|
||||||
width = 1.0f;
|
width = 1.0f;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case LF_B_RUNWAY_HOLD_WIDE:
|
||||||
|
material = "lf_runway_hold_border";
|
||||||
|
width = 2.0f;
|
||||||
|
break;
|
||||||
|
|
||||||
case LF_B_OTHER_HOLD:
|
case LF_B_OTHER_HOLD:
|
||||||
material = "lf_other_hold_border";
|
material = "lf_other_hold_border";
|
||||||
width = 0.5f;
|
width = 0.5f;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case LF_B_OTHER_HOLD_WIDE:
|
||||||
|
material = "lf_other_hold_border";
|
||||||
|
width = 1.0f;
|
||||||
|
break;
|
||||||
|
|
||||||
case LF_B_ILS_HOLD:
|
case LF_B_ILS_HOLD:
|
||||||
material = "lf_ils_hold_border";
|
material = "lf_ils_hold_border";
|
||||||
width = 1.0f;
|
width = 1.0f;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case LF_B_ILS_HOLD_WIDE:
|
||||||
|
material = "lf_ils_hold_border";
|
||||||
|
width = 2.0f;
|
||||||
|
break;
|
||||||
|
|
||||||
case LF_B_SAFETYZONE_CENTERLINE:
|
case LF_B_SAFETYZONE_CENTERLINE:
|
||||||
material = "lf_safetyzone_centerline_border";
|
material = "lf_safetyzone_centerline_border";
|
||||||
width = 0.75f;
|
width = 0.75f;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case LF_B_TAXI_HOLD_WIDE:
|
||||||
|
material = "lf_safetyzone_centerline_border";
|
||||||
|
width = 1.5f;
|
||||||
|
break;
|
||||||
|
|
||||||
case LF_B_SINGLE_LANE_QUEUE:
|
case LF_B_SINGLE_LANE_QUEUE:
|
||||||
material = "lf_sng_lane_queue_border";
|
material = "lf_sng_lane_queue_border";
|
||||||
width = 0.25f;
|
width = 0.25f;
|
||||||
|
@ -487,6 +572,11 @@ int LinearFeature::Finish( bool closed, unsigned int idx )
|
||||||
width = 0.25f;
|
width = 0.25f;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case LF_SOLID_ROAD_WIDE:
|
||||||
|
material = "lf_sng_solid_white";
|
||||||
|
width = 0.5f;
|
||||||
|
break;
|
||||||
|
|
||||||
case LF_CHECKERBOARD_WHITE:
|
case LF_CHECKERBOARD_WHITE:
|
||||||
material = "lf_checkerboard_white";
|
material = "lf_checkerboard_white";
|
||||||
width = 0.5f;
|
width = 0.5f;
|
||||||
|
@ -497,6 +587,76 @@ int LinearFeature::Finish( bool closed, unsigned int idx )
|
||||||
width = 0.25f;
|
width = 0.25f;
|
||||||
break;
|
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:
|
default:
|
||||||
TG_LOG(SG_GENERAL, SG_ALERT, "LinearFeature::Finish: unknown marking " << marks[i]->type );
|
TG_LOG(SG_GENERAL, SG_ALERT, "LinearFeature::Finish: unknown marking " << marks[i]->type );
|
||||||
exit(1);
|
exit(1);
|
||||||
|
|
|
@ -19,6 +19,27 @@
|
||||||
#define LF_SAFETYZONE_CENTERLINE (7)
|
#define LF_SAFETYZONE_CENTERLINE (7)
|
||||||
#define LF_SINGLE_LANE_QUEUE (8)
|
#define LF_SINGLE_LANE_QUEUE (8)
|
||||||
#define LF_DOUBLE_LANE_QUEUE (9)
|
#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_SOLID_YELLOW (51)
|
||||||
#define LF_B_BROKEN_YELLOW (52)
|
#define LF_B_BROKEN_YELLOW (52)
|
||||||
|
@ -30,9 +51,26 @@
|
||||||
#define LF_B_SINGLE_LANE_QUEUE (58)
|
#define LF_B_SINGLE_LANE_QUEUE (58)
|
||||||
#define LF_B_DOUBLE_LANE_QUEUE (59)
|
#define LF_B_DOUBLE_LANE_QUEUE (59)
|
||||||
|
|
||||||
#define LF_SOLID_WHITE (20)
|
#define LF_B_SOLID_YELLOW_WIDE (60)
|
||||||
#define LF_CHECKERBOARD_WHITE (21)
|
#define LF_B_TAXI_HOLD_WIDE (61)
|
||||||
#define LF_BROKEN_WHITE (22)
|
#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_BIDIR_GREEN (101)
|
||||||
#define LF_OMNIDIR_BLUE (102)
|
#define LF_OMNIDIR_BLUE (102)
|
||||||
|
|
|
@ -314,7 +314,7 @@ int main(int argc, char **argv)
|
||||||
in.getline(line, 20);
|
in.getline(line, 20);
|
||||||
in.close();
|
in.close();
|
||||||
int code = atoi(line);
|
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.");
|
TG_LOG(SG_GENERAL, SG_ALERT, "ERROR: This genapts version does not support apt.data version " << code << " files.");
|
||||||
return EXIT_FAILURE;
|
return EXIT_FAILURE;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue