]> git.mxchange.org Git - flightgear.git/commitdiff
Some preparatory work for reinstating a missing piece of code in the routing algorith...
authorDurk Talsma <durktals@gmail.com>
Thu, 14 May 2015 16:22:42 +0000 (18:22 +0200)
committerDurk Talsma <durktals@gmail.com>
Thu, 14 May 2015 16:22:42 +0000 (18:22 +0200)
src/AIModel/AIFlightPlanCreate.cxx
src/ATC/trafficcontrol.cxx
src/Airports/groundnetwork.cxx

index 676cb4cc93f31a6c4db6bc14a46a4fa19cc644b1..308f87d000f64e17e7c7eaa8a43aaf09c0e9a88e 100644 (file)
@@ -270,7 +270,7 @@ bool FGAIFlightPlan::createTakeoffTaxi(FGAIAircraft * ac, bool firstFlight,
         if (node == -1) {
             node = park->guid();
         } else if (node == 0) {
-            // HAndle case where parking doens't have a node
+            // Handle case where parking doesn't have a node
             if (firstFlight) {
                 node = park->guid();
             } else {
@@ -311,6 +311,10 @@ bool FGAIFlightPlan::createTakeoffTaxi(FGAIAircraft * ac, bool firstFlight,
     // push each node on the taxi route as a waypoint
   //  int route;
     //cerr << "Building taxi route" << endl;
+    
+    // Note that the line wpt->setRouteIndex was commented out by revision [afcdbd] 2012-01-01,
+    // which breaks the rendering functions. 
+    // These can probably be generated on the fly however. 
     while (taxiRoute.next(&node)) {
         char buffer[10];
         snprintf(buffer, 10, "%lld", (long long int) node);
@@ -319,7 +323,8 @@ bool FGAIFlightPlan::createTakeoffTaxi(FGAIAircraft * ac, bool firstFlight,
         FGAIWaypoint *wpt =
             createOnGround(ac, buffer, tn->geod(), apt->getElevation(),
                            ac->getPerformance()->vTaxi());
-       // wpt->setRouteIndex(route);
+        // TODO: find an alternative way to pass route information to the waypoint.
+        //wpt->setRouteIndex(route);
         //cerr << "Nodes left " << taxiRoute->nodesLeft() << " ";
         if (taxiRoute.nodesLeft() == 1) {
             // Note that we actually have hold points in the ground network, but this is just an initial test.
@@ -416,7 +421,8 @@ bool FGAIFlightPlan::createLandingTaxi(FGAIAircraft * ac, FGAirport * apt,
         FGAIWaypoint *wpt =
             createOnGround(ac, buffer, tn->geod(), apt->getElevation(),
                            ac->getPerformance()->vTaxi());
-       // wpt->setRouteIndex(route);
+        //TODO: find an alternative way to pass route information to the waypoint.
+        //wpt->setRouteIndex(route);
         pushBackWaypoint(wpt);
     }
     return true;
index 907818cfb27422e87ad7e59005b013cb06118468..e25bb0a43e103d19c89ef557d2b1035a0957b5b9 100644 (file)
@@ -1048,7 +1048,7 @@ FGATCInstruction FGTowerController::getInstruction(int id)
 }
 
 void FGTowerController::render(bool visible) {
-    //cerr << "FGTowerController::render function not yet implemented" << endl;
+    //std::cerr << "FGTowerController::render function not yet implemented" << std::endl;
 }
 
 string FGTowerController::getName() {
@@ -1315,7 +1315,7 @@ static void WorldCoordinate(osg::Matrix& obj_pos, double lat,
 
 void FGStartupController::render(bool visible)
 {
-
+    //std::cerr << "Rendering startup controller" << std::endl;
     SGMaterialLib *matlib = globals->get_matlib();
     if (group) {
         //int nr = ;
@@ -1716,7 +1716,7 @@ ActiveRunway *FGApproachController::getRunway(const string& name)
 }
 
 void FGApproachController::render(bool visible) {
-    //cerr << "FGApproachController::render function not yet implemented" << endl;
+    std::cerr << "FGApproachController::render function not yet implemented" << std::endl;
 }
 
 
index 7f82d2da266631c07f482b829b3d3c89954386b2..bb66cfbb148436e3972735045055ff81960fb40e 100644 (file)
@@ -1140,7 +1140,6 @@ static void WorldCoordinate(osg::Matrix& obj_pos, double lat,
 
 void FGGroundNetwork::render(bool visible)
 {
-
     SGMaterialLib *matlib = globals->get_matlib();
     if (group) {
         //int nr = ;
@@ -1163,7 +1162,8 @@ void FGGroundNetwork::render(bool visible)
         //for ( FGTaxiSegmentVectorIterator i = segments.begin(); i != segments.end(); i++) {
         //double dx = 0;
         for   (TrafficVectorIterator i = activeTraffic.begin(); i != activeTraffic.end(); i++) {
-            // Handle start point
+            // Handle start point i.e. the segment that is connected to the aircraft itself on the starting end
+            // and to the the first "real" taxi segment on the other end. 
             int pos = i->getCurrentPosition() - 1;
             if (pos >= 0) {
 
@@ -1178,7 +1178,7 @@ void FGGroundNetwork::render(bool visible)
                 double coveredDistance = length * 0.5;
                 SGGeod center;
                 SGGeodesy::direct(start, heading, coveredDistance, center, az2);
-                //cerr << "Active Aircraft : Centerpoint = (" << center.getLatitudeDeg() << ", " << center.getLongitudeDeg() << "). Heading = " << heading << endl;
+                //std::cerr << "Active Aircraft : Centerpoint = (" << center.getLatitudeDeg() << ", " << center.getLongitudeDeg() << "). Heading = " << heading << std::endl;
                 ///////////////////////////////////////////////////////////////////////////////
                 // Make a helper function out of this
                 osg::Matrix obj_pos;
@@ -1242,8 +1242,9 @@ void FGGroundNetwork::render(bool visible)
                 group->addChild( obj_trans );
                 /////////////////////////////////////////////////////////////////////
             } else {
-                //cerr << "BIG FAT WARNING: current position is here : " << pos << endl;
+                //std::cerr << "BIG FAT WARNING: current position is here : " << pos << std::endl;
             }
+            // Next: Draw the other taxi segments. 
             for (intVecIterator j = (i)->getIntentions().begin(); j != (i)->getIntentions().end(); j++) {
                 osg::Matrix obj_pos;
                 int k = (*j)-1;