15#include "p6dof_export.h"
23#include "UtLLAPos.hpp"
59 const UtLLAPos& aCurrentPos_lla,
60 const UtVec2d& aCurrentVel_mps,
62 double aTurnRollInMultiplier,
63 double aRouteAllowableAngleError_rad,
66 double aMaxBankAngle_rad,
67 double aMaxBankRate_rad_s,
70 bool& aAchievedWaypoint);
78 const UtLLAPos& aCurrentPos_lla,
79 const UtVec2d& aCurrentVel_mps,
81 double aRouteAllowableAngleError_rad,
86 bool& aAchievedWaypoint);
94 const UtLLAPos& aCurrentPos_lla,
95 const UtVec2d& aCurrentVel_mps,
98 double aTurnRadius_ft,
100 bool& aAchievedWaypoint);
108 static double GetTurnRadius_m(
double aSpeed_mps,
double aBankAngle_rad);
118 const UtLLAPos& aEndLLA,
119 double& aStartHdg_rad,
120 double& aEndHdg_rad);
159 std::vector<P6DofWaypoint*>::const_iterator
Begin()
const;
162 std::vector<P6DofWaypoint*>::const_iterator
End()
const;
182 std::vector<P6DofWaypoint*> mRoute;
187 std::map<P6DofWaypoint*, sRouteSegment*> mSegments;
void AddWaypointToRouteEnd(P6DofWaypoint *aWaypoint)
Definition P6DofRoute.cpp:974
static bool PassedWaypoint(float aDT, const P6DofCommonController::WaypointNavData &aNavData)
Definition P6DofRoute.cpp:821
void AddWaypointToRouteStart(P6DofWaypoint *aWaypoint)
Definition P6DofRoute.cpp:982
void AddSegment(P6DofWaypoint *aWaypoint, sRouteSegment *aSegment)
Definition P6DofRoute.cpp:990
static double GetDistanceBetweenWaypoints_m(const UtLLAPos &aStartLLA, const UtLLAPos &aEndLLA, double &aStartHdg_rad, double &aEndHdg_rad)
Definition P6DofRoute.cpp:898
static bool AchievedWaypoint(float aDT, const P6DofCommonController::WaypointNavData &aNavData, const P6DofWaypoint *aWaypoint, const P6DofWaypoint *aNextWaypoint)
Definition P6DofRoute.cpp:837
static double GetInitialHeading_rad(const UtLLAPos &aLLAStart, const UtLLAPos &aLLAEnd)
Definition P6DofRoute.cpp:861
P6DofRoute()
Definition P6DofRoute.cpp:27
sRouteSegment * GetRouteSegment(const P6DofWaypoint *aWaypoint) const
Definition P6DofRoute.cpp:959
std::vector< P6DofWaypoint * >::const_iterator Begin() const
Definition P6DofRoute.cpp:937
std::vector< P6DofWaypoint * >::const_iterator End() const
Definition P6DofRoute.cpp:932
const P6DofWaypoint * GetWaypointAtIndex(size_t aIndex) const
Definition P6DofRoute.cpp:106
const P6DofWaypoint * GetNextWaypoint(const P6DofWaypoint *aWaypoint) const
Definition P6DofRoute.cpp:62
static void CalcVerticalSpeed(P6DofCommonController::WaypointNavData &aNavData)
Definition P6DofRoute.cpp:805
void ComputeSegmentMap()
Definition P6DofRoute.cpp:942
size_t GetWaypointIndex(const P6DofWaypoint *aWaypoint) const
Definition P6DofRoute.cpp:118
const P6DofWaypoint * GetFirstElement() const
Definition P6DofRoute.cpp:920
static double GetTurnRadius_m(double aSpeed_mps, double aBankAngle_rad)
Definition P6DofRoute.cpp:884
static void CalcAimHeadingAndBankAngle(const P6DofWaypoint *aPrevWpt, const P6DofWaypoint *aCurrWpt, const P6DofWaypoint *aNextWpt, const sRouteSegment *aCurrSegment, const sRouteSegment *aNextSegment, const UtLLAPos &aCurrentPos_lla, const UtVec2d &aCurrentVel_mps, P6DofCommonController::WaypointNavData &aNavData, double aTurnRollInMultiplier, double aRouteAllowableAngleError_rad, double aHeading_rad, double aSpeed_mps, double aMaxBankAngle_rad, double aMaxBankRate_rad_s, double aMaxG_g, double aDeltaT_sec, bool &aAchievedWaypoint)
Definition P6DofRoute.cpp:181
static double GetTurnLeadDistance_m(double aTurnAngle_rad, double aTurnRadius_m)
Definition P6DofRoute.cpp:893
static double GetTurnRadiusFromLateralG_m(double aSpeed_mps, double aLateralG_g)
Definition P6DofRoute.cpp:889
static sRouteSegment * CalcSegmentGeometry(const P6DofWaypoint *aPrevWpt, const P6DofWaypoint *aCurrWpt)
Definition P6DofRoute.cpp:135
P6DofRoute * Clone() const
Definition P6DofRoute.cpp:57
size_t GetNumberOfWaypoints() const
Definition P6DofRoute.cpp:915
static void CalcYawAimHeadingAngle(const P6DofWaypoint *aPrevWpt, const P6DofWaypoint *aCurrWpt, const P6DofWaypoint *aNextWpt, const sRouteSegment *aCurrSegment, const sRouteSegment *aNextSegment, const UtLLAPos &aCurrentPos_lla, const UtVec2d &aCurrentVel_mps, P6DofCommonController::WaypointNavData &aNavData, double aRouteAllowableAngleError_rad, double aHeading_rad, double aSpeed_mps, double aMaxG_g, double aDeltaT_sec, bool &aAchievedWaypoint)
Definition P6DofRoute.cpp:407
static void CalcTaxiAimHeadingAngle(const P6DofWaypoint *aPrevWpt, const P6DofWaypoint *aCurrWpt, const P6DofWaypoint *aNextWpt, const sRouteSegment *aCurrSegment, const sRouteSegment *aNextSegment, const UtLLAPos &aCurrentPos_lla, const UtVec2d &aCurrentVel_mps, P6DofCommonController::WaypointNavData &aNavData, float aHeading_rad, double aTurnRadius_ft, double aDeltaT_sec, bool &aAchievedWaypoint)
Definition P6DofRoute.cpp:612
Definition P6DofWaypoint.hpp:23
Definition P6DofCommonController.hpp:62
Definition P6DofRoute.hpp:40
double rangeTrack_m
Definition P6DofRoute.hpp:46
double trackDistance_m
Definition P6DofRoute.hpp:41
UtVec3d prevWptVector
Definition P6DofRoute.hpp:49
double slantRange_m
Definition P6DofRoute.hpp:44
double slope_rad
Definition P6DofRoute.hpp:45
double trackStartHdg_rad
Definition P6DofRoute.hpp:43
UtVec3d trackVector
Definition P6DofRoute.hpp:50
double trackEndHdg_rad
Definition P6DofRoute.hpp:42
double earthNED[3][3]
Definition P6DofRoute.hpp:47
UtVec3d currWptVector
Definition P6DofRoute.hpp:48