ICAROUS
|
#include <GenericBands.h>
Public Member Functions | |
virtual bool | isLatLon () const =0 |
virtual void | setLookaheadTime (double t, const std::string &unit)=0 |
virtual double | getLookaheadTime (const std::string &unit) const =0 |
virtual void | setMaxGroundSpeed (double gs, const std::string &unit)=0 |
virtual double | getMaxGroundSpeed (const std::string &unit) const =0 |
virtual void | setMaxVerticalSpeed (double vs, const std::string &unit)=0 |
virtual double | getMaxVerticalSpeed (const std::string &unit) const =0 |
virtual void | clear ()=0 |
virtual int | trackLength ()=0 |
virtual Interval | track (int i, const std::string &unit)=0 |
virtual BandsRegion::Region | trackRegion (int i)=0 |
virtual BandsRegion::Region | regionOfTrack (double trk, const std::string &unit)=0 |
virtual int | groundSpeedLength ()=0 |
virtual Interval | groundSpeed (int i, const std::string &unit)=0 |
virtual BandsRegion::Region | groundSpeedRegion (int i)=0 |
virtual BandsRegion::Region | regionOfGroundSpeed (double gs, const std::string &unit)=0 |
virtual int | verticalSpeedLength ()=0 |
virtual Interval | verticalSpeed (int i, const std::string &unit)=0 |
virtual BandsRegion::Region | verticalSpeedRegion (int i)=0 |
virtual BandsRegion::Region | regionOfVerticalSpeed (double vs, const std::string &unit)=0 |
virtual std::string | toString () const =0 |
This provides an interface to classes for various conflict prevention bands. The input to these objects is the position and velocity of the ownship, the output is ranges of guidance maneuvers: track angles, ground speeds, and vertical speeds.
|
pure virtual |
Clear all bands information.
Implemented in larcfm::Bands, larcfm::ConflictBandsTwoTimes, larcfm::Daidalus, larcfm::IntentBands, larcfm::KinematicMultiBands, and larcfm::TripleBands.
|
pure virtual |
Returns the lookahead time [s]. If there are more than one lookahead times, this gets the nearest time.
Implemented in larcfm::Daidalus, larcfm::KinematicMultiBands, larcfm::Bands, larcfm::ConflictBandsTwoTimes, larcfm::IntentBands, and larcfm::TripleBands.
|
pure virtual |
Returns the maximum ground speed that is output by Bands in knots.
Implemented in larcfm::Bands, and larcfm::Daidalus.
|
pure virtual |
Returns the range of vertical speeds output by Bands [fpm]. Any existing bands information is cleared.
Implemented in larcfm::Daidalus, and larcfm::Bands.
|
pure virtual |
Return i-th interval of the ground speed bands in the given unit.
Implemented in larcfm::KinematicMultiBands, larcfm::Bands, larcfm::ConflictBandsTwoTimes, larcfm::Daidalus, larcfm::IntentBands, and larcfm::TripleBands.
|
pure virtual |
Return the number of bands of ground speeds
Implemented in larcfm::Bands, larcfm::ConflictBandsTwoTimes, larcfm::Daidalus, larcfm::IntentBands, larcfm::KinematicMultiBands, and larcfm::TripleBands.
|
pure virtual |
Return the region type of the i-th ground speed band. If a single time version of bands is used, then [NEAR|NONE] is returned. If a version of bands with two times is used, then [NEAR|MID|NONE] is returned.
Implemented in larcfm::Bands, larcfm::ConflictBandsTwoTimes, larcfm::Daidalus, larcfm::IntentBands, larcfm::KinematicMultiBands, and larcfm::TripleBands.
|
pure virtual |
Returns whether the aircraft positions are specified in latitude/longitude or Euclidean coordinates. If the ownship has not been set, then this value is undefined.
Implemented in larcfm::Bands, larcfm::ConflictBandsTwoTimes, larcfm::Daidalus, larcfm::IntentBands, larcfm::KinematicMultiBands, and larcfm::TripleBands.
|
pure virtual |
Return the region type of the given ground speed in knots, out of range speeds are returned as NEAR. If a single time version of bands is used, then [NEAR|NONE] is returned. If a version of bands with two times is used, then [NEAR|MID|NONE] is returned.
Implemented in larcfm::KinematicMultiBands, larcfm::Bands, larcfm::ConflictBandsTwoTimes, larcfm::Daidalus, larcfm::IntentBands, and larcfm::TripleBands.
|
pure virtual |
Return the region type of the given track angle [degrees, clockwise from true north]. An angle outside of a 0..360 degree range returns NEAR. If a single time version of bands is used, then [NEAR|NONE] is returned. If a version of bands with two times is used, then [NEAR|MID|NONE] is returned.
Implemented in larcfm::KinematicMultiBands, larcfm::Bands, larcfm::ConflictBandsTwoTimes, larcfm::Daidalus, larcfm::IntentBands, and larcfm::TripleBands.
|
pure virtual |
Return the region type of the given vertical speed [feet/min], out of range speeds are returned as red. If a single time version of bands is used, then [NEAR|NONE] is returned. If a version of bands with two times is used, then [NEAR|MID|NONE] is returned.
Implemented in larcfm::Daidalus, larcfm::KinematicMultiBands, larcfm::Bands, larcfm::ConflictBandsTwoTimes, larcfm::IntentBands, and larcfm::TripleBands.
|
pure virtual |
Set the lookahead time [s]. Any existing bands information is cleared. If there are more than one lookahead times, this sets the nearest time.
Implemented in larcfm::Daidalus, larcfm::KinematicMultiBands, larcfm::Bands, larcfm::ConflictBandsTwoTimes, larcfm::IntentBands, and larcfm::TripleBands.
|
pure virtual |
Sets the maximum ground speed that is output by Bands, the minimum is 0 [knots]. When this parameter is set any existing band information is cleared.
Implemented in larcfm::Bands, larcfm::ConflictBandsTwoTimes, larcfm::Daidalus, larcfm::IntentBands, larcfm::TripleBands, and larcfm::KinematicMultiBands.
|
pure virtual |
Sets the range of vertical speeds output by Bands, -max_vs to max_vs [fpm]. When this parameter is set any existing band information is cleared.
Implemented in larcfm::Daidalus, larcfm::KinematicMultiBands, larcfm::Bands, larcfm::ConflictBandsTwoTimes, larcfm::IntentBands, and larcfm::TripleBands.
|
pure virtual |
Return a string representing this object.
Implemented in larcfm::Bands, larcfm::ConflictBandsTwoTimes, larcfm::Daidalus, larcfm::IntentBands, larcfm::KinematicMultiBands, and larcfm::TripleBands.
|
pure virtual |
Return the i-th interval of the track bands in the given unit.
Implemented in larcfm::KinematicMultiBands, larcfm::Bands, larcfm::ConflictBandsTwoTimes, larcfm::Daidalus, larcfm::IntentBands, and larcfm::TripleBands.
|
pure virtual |
Return the number of bands of track angles
Implemented in larcfm::Bands, larcfm::ConflictBandsTwoTimes, larcfm::Daidalus, larcfm::IntentBands, larcfm::KinematicMultiBands, and larcfm::TripleBands.
|
pure virtual |
Return the region type of the i-th track band. If a single time version of bands is used, then [NEAR|NONE] is returned. If a version of bands with two times is used, then [NEAR|MID|NONE] is returned.
Implemented in larcfm::Bands, larcfm::ConflictBandsTwoTimes, larcfm::Daidalus, larcfm::IntentBands, larcfm::KinematicMultiBands, and larcfm::TripleBands.
|
pure virtual |
Return the i-th interval of the vertical speed band in the given unit.
Implemented in larcfm::KinematicMultiBands, larcfm::Bands, larcfm::ConflictBandsTwoTimes, larcfm::Daidalus, larcfm::IntentBands, and larcfm::TripleBands.
|
pure virtual |
Return the number of bands of vertical speeds
Implemented in larcfm::Bands, larcfm::ConflictBandsTwoTimes, larcfm::Daidalus, larcfm::IntentBands, larcfm::KinematicMultiBands, and larcfm::TripleBands.
|
pure virtual |
Return the region type of the i-th vertical speed band. If a single time version of bands is used, then [NEAR|NONE] is returned. If a version of bands with two times is used, then [NEAR|MID|NONE] is returned.
Implemented in larcfm::Bands, larcfm::ConflictBandsTwoTimes, larcfm::Daidalus, larcfm::IntentBands, larcfm::KinematicMultiBands, and larcfm::TripleBands.