diff --git a/src/AIModel/AIFlightPlanCreate.cxx b/src/AIModel/AIFlightPlanCreate.cxx index 86fd88821..4ce650170 100644 --- a/src/AIModel/AIFlightPlanCreate.cxx +++ b/src/AIModel/AIFlightPlanCreate.cxx @@ -252,7 +252,7 @@ bool FGAIFlightPlan::createTakeoffTaxi(FGAIAircraft * ac, bool firstFlight, assert( rwy != NULL ); SGGeod runwayTakeoff = rwy->pointOnCenterline(5.0); - FGGroundNetwork *gn = apt->getDynamics()->getGroundNetwork(); + FGGroundNetwork *gn = apt->groundNetwork(); if (!gn->exists()) { createDefaultTakeoffTaxi(ac, apt, rwy); return true; @@ -389,7 +389,7 @@ bool FGAIFlightPlan::createLandingTaxi(FGAIAircraft * ac, FGAirport * apt, acType, airline); SGGeod lastWptPos = waypoints.back()->getPos(); - FGGroundNetwork *gn = apt->getDynamics()->getGroundNetwork(); + FGGroundNetwork *gn = apt->groundNetwork(); // Find a route from runway end to parking/gate. if (!gn->exists()) { @@ -647,8 +647,8 @@ bool FGAIFlightPlan::createDescent(FGAIAircraft * ac, FGAirport * apt, double dAlt = 0; // = alt - (apt->getElevation() + 2000); FGTaxiNodeRef tn; - if (apt->getDynamics()->getGroundNetwork()) { - tn = apt->getDynamics()->getGroundNetwork()->findNearestNode(refPoint); + if (apt->groundNetwork()) { + tn = apt->groundNetwork()->findNearestNode(refPoint); } if (tn) { @@ -969,7 +969,7 @@ bool FGAIFlightPlan::createLanding(FGAIAircraft * ac, FGAirport * apt, wpt->setSpeed(vTaxi); double mindist = (1.1 * rolloutDistance) + touchdownDistance; - FGGroundNetwork *gn = apt->getDynamics()->getGroundNetwork(); + FGGroundNetwork *gn = apt->groundNetwork(); if (!gn) { return true; } diff --git a/src/AIModel/AIFlightPlanCreatePushBack.cxx b/src/AIModel/AIFlightPlanCreatePushBack.cxx index 9e11a724d..d06e57e2a 100644 --- a/src/AIModel/AIFlightPlanCreatePushBack.cxx +++ b/src/AIModel/AIFlightPlanCreatePushBack.cxx @@ -91,7 +91,7 @@ bool FGAIFlightPlan::createPushBack(FGAIAircraft *ac, } - FGGroundNetwork* groundNet = dep->getDynamics()->getGroundNetwork(); + FGGroundNetwork* groundNet = dep->groundNetwork(); FGParking *parking = gate.parking(); if (parking && parking->getPushBackPoint() > 0) { FGTaxiRoute route = groundNet->findShortestRoute(parking, parking->getPushBackPoint(), false); @@ -134,7 +134,7 @@ bool FGAIFlightPlan::createPushBack(FGAIAircraft *ac, ac->setTaxiClearanceRequest(false); double az2 = 0.0; - FGTaxiSegment* pushForwardSegment = dep->getDynamics()->getGroundNetwork()->findSegment(parking, 0); + FGTaxiSegment* pushForwardSegment = dep->groundNetwork()->findSegment(parking, 0); // there aren't any routes for this parking. if (!pushForwardSegment) { SG_LOG(SG_AI, SG_ALERT, "Gate " << parking->ident() << "doesn't seem to have routes associated with it."); diff --git a/src/ATC/GroundController.cxx b/src/ATC/GroundController.cxx index 60699ebc7..5d98244bf 100644 --- a/src/ATC/GroundController.cxx +++ b/src/ATC/GroundController.cxx @@ -455,7 +455,7 @@ void FGGroundController::checkHoldPosition(int id, double lat, double lon, double heading, double speed, double alt) { - FGGroundNetwork* network = dynamics->getGroundNetwork(); + FGGroundNetwork* network = dynamics->parent()->groundNetwork(); TrafficVectorIterator current; TrafficVectorIterator i = activeTraffic.begin(); if (activeTraffic.size()) { @@ -762,7 +762,7 @@ static void WorldCoordinate(osg::Matrix& obj_pos, double lat, void FGGroundController::render(bool visible) { SGMaterialLib *matlib = globals->get_matlib(); - FGGroundNetwork* network = dynamics->getGroundNetwork(); + FGGroundNetwork* network = dynamics->parent()->groundNetwork(); if (group) { //int nr = ; @@ -956,7 +956,7 @@ string FGGroundController::getName() { void FGGroundController::update(double dt) { time_t now = globals->get_time_params()->get_cur_time(); - FGGroundNetwork* network = dynamics->getGroundNetwork(); + FGGroundNetwork* network = dynamics->parent()->groundNetwork(); network->unblockAllSegments(now); int priority = 1; @@ -1000,7 +1000,7 @@ void FGGroundController::updateStartupTraffic(TrafficVectorIterator i, return; } - FGGroundNetwork* network = dynamics->getGroundNetwork(); + FGGroundNetwork* network = dynamics->parent()->groundNetwork(); if (!network) { SG_LOG(SG_ATC, SG_ALERT, "updateStartupTraffic: missing ground network"); @@ -1068,7 +1068,7 @@ bool FGGroundController::updateActiveTraffic(TrafficVectorIterator i, double length = 0; double vTaxi = (i->getAircraft()->getPerformance()->vTaxi() * SG_NM_TO_METER) / 3600; - FGGroundNetwork* network = dynamics->getGroundNetwork(); + FGGroundNetwork* network = dynamics->parent()->groundNetwork(); if (!network) { SG_LOG(SG_ATC, SG_ALERT, "updateActiveTraffic: missing ground network"); diff --git a/src/ATC/trafficcontrol.cxx b/src/ATC/trafficcontrol.cxx index dda040118..768a1ce11 100644 --- a/src/ATC/trafficcontrol.cxx +++ b/src/ATC/trafficcontrol.cxx @@ -1416,6 +1416,7 @@ void FGStartupController::render(bool visible) //double elevation_meters = 0.0; //double elevation_feet = 0.0; + FGGroundNetwork* groundNet = parent->parent()->groundNetwork(); //for ( FGTaxiSegmentVectorIterator i = segments.begin(); i != segments.end(); i++) { double dx = 0; @@ -1427,7 +1428,7 @@ void FGStartupController::render(bool visible) int pos = i->getCurrentPosition(); //cerr << "rendering for " << i->getAircraft()->getCallSign() << "pos = " << pos << endl; if (pos > 0) { - FGTaxiSegment *segment = parent->getGroundNetwork()->findSegment(pos); + FGTaxiSegment *segment = groundNet->findSegment(pos); SGGeod start(SGGeod::fromDeg((i->getLongitude()), (i->getLatitude()))); SGGeod end (segment->getEnd()->geod()); @@ -1512,7 +1513,7 @@ void FGStartupController::render(bool visible) //cerr << "rendering for " << i->getAircraft()->getCallSign() << "intention = " << k << endl; osg::MatrixTransform *obj_trans = new osg::MatrixTransform; obj_trans->setDataVariance(osg::Object::STATIC); - FGTaxiSegment *segment = parent->getGroundNetwork()->findSegment(k); + FGTaxiSegment *segment = groundNet->findSegment(k); double elevationStart = segment->getStart()->getElevationM(); double elevationEnd = segment->getEnd ()->getElevationM(); diff --git a/src/Airports/dynamics.cxx b/src/Airports/dynamics.cxx index a74987f88..8b6aed9c6 100644 --- a/src/Airports/dynamics.cxx +++ b/src/Airports/dynamics.cxx @@ -182,7 +182,7 @@ FGParking* FGAirportDynamics::innerGetAvailableParking(double radius, const stri const string & airline, bool skipEmptyAirlineCode) { - const FGParkingList& parkings(getGroundNetwork()->allParkings()); + const FGParkingList& parkings(parent()->groundNetwork()->allParkings()); FGParkingList::const_iterator it; for (it = parkings.begin(); it != parkings.end(); ++it) { FGParkingRef parking = *it; @@ -209,7 +209,7 @@ FGParking* FGAirportDynamics::innerGetAvailableParking(double radius, const stri bool FGAirportDynamics::hasParkings() const { - return !getGroundNetwork()->allParkings().empty(); + return !parent()->groundNetwork()->allParkings().empty(); } ParkingAssignment FGAirportDynamics::getAvailableParking(double radius, const string & flType, @@ -237,7 +237,7 @@ ParkingAssignment FGAirportDynamics::getAvailableParking(double radius, const st ParkingAssignment FGAirportDynamics::getParkingByName(const std::string& name) const { - const FGParkingList& parkings(getGroundNetwork()->allParkings()); + const FGParkingList& parkings(parent()->groundNetwork()->allParkings()); FGParkingList::const_iterator it; for (it = parkings.begin(); it != parkings.end(); ++it) { if ((*it)->name() == name) { @@ -248,11 +248,6 @@ ParkingAssignment FGAirportDynamics::getParkingByName(const std::string& name) c return ParkingAssignment(); } -FGGroundNetwork *FGAirportDynamics::getGroundNetwork() const -{ - return _ap->groundNetwork(); -} - void FGAirportDynamics::setParkingAvailable(FGParking* park, bool available) { if (available) { @@ -304,7 +299,7 @@ public: FGParkingList FGAirportDynamics::getParkings(bool onlyAvailable, const std::string &type) const { - FGParkingList result(getGroundNetwork()->allParkings()); + FGParkingList result(parent()->groundNetwork()->allParkings()); GetParkingsPredicate pred(onlyAvailable, type, this); FGParkingList::iterator it = std::remove_if(result.begin(), result.end(), pred); @@ -777,7 +772,7 @@ int FGAirportDynamics::getGroundFrequency(unsigned leg) "Leg value is smaller than one at " << SG_ORIGIN); } - const intVec& freqGround(getGroundNetwork()->getGroundFrequencies()); + const intVec& freqGround(parent()->groundNetwork()->getGroundFrequencies()); if (freqGround.size() == 0) { return 0; @@ -803,7 +798,7 @@ int FGAirportDynamics::getTowerFrequency(unsigned nr) "Leg value is smaller than two at " << SG_ORIGIN); } - const intVec& freqTower(getGroundNetwork()->getTowerFrequencies()); + const intVec& freqTower(parent()->groundNetwork()->getTowerFrequencies()); if (freqTower.size() == 0) { return 0; diff --git a/src/Airports/dynamics.hxx b/src/Airports/dynamics.hxx index fe9f68f6a..26ea77525 100644 --- a/src/Airports/dynamics.hxx +++ b/src/Airports/dynamics.hxx @@ -154,8 +154,6 @@ public: return &approachController; }; - FGGroundNetwork* getGroundNetwork() const; - int getGroundFrequency(unsigned leg); int getTowerFrequency (unsigned nr);