-
- SGGeod climb1 = rwy->pointOnCenterline(10*SG_NM_TO_METER);
- wpt = createInAir(ac, "10000ft climb", climb1, speed, 10000);
- wpt->gear_down = true;
- wpt->flaps_down= true;
- waypoints.push_back(wpt);
-
- SGGeod climb2 = rwy->pointOnCenterline(20*SG_NM_TO_METER);
- wpt = cloneWithPos(ac, wpt, "18000ft climb", climb2);
- wpt->altitude = 18000;
- waypoints.push_back(wpt);
+ if (sid) {
+ for (wpt_vector_iterator i = sid->getFirstWayPoint();
+ i != sid->getLastWayPoint();
+ i++) {
+ waypoints.push_back(clone(*(i)));
+ //cerr << " Cloning waypoint " << endl;
+ }
+ } else {
+ SGGeod climb1 = rwy->pointOnCenterline(10*SG_NM_TO_METER);
+ wpt = createInAir(ac, "10000ft climb", climb1, vClimb, 10000);
+ wpt->gear_down = true;
+ wpt->flaps_down= true;
+ waypoints.push_back(wpt);
+
+ SGGeod climb2 = rwy->pointOnCenterline(20*SG_NM_TO_METER);
+ wpt = cloneWithPos(ac, wpt, "18000ft climb", climb2);
+ wpt->altitude = 18000;
+ waypoints.push_back(wpt);
+ }