ICAROUS
All Classes Namespaces Files Functions Variables Enumerations Enumerator Macros Modules Pages
Public Member Functions | List of all members
larcfm::GenericBands Class Referenceabstract

#include <GenericBands.h>

Inheritance diagram for larcfm::GenericBands:
larcfm::GenericIntentBands larcfm::GenericStateBands larcfm::IntentBands larcfm::Daidalus larcfm::GenericDHStateBands larcfm::KinematicMultiBands larcfm::Bands larcfm::ConflictBandsTwoTimes larcfm::TripleBands larcfm::KinematicBands

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
 

Detailed Description

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.

Member Function Documentation

◆ clear()

virtual void larcfm::GenericBands::clear ( )
pure virtual

◆ getLookaheadTime()

virtual double larcfm::GenericBands::getLookaheadTime ( const std::string &  unit) const
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.

◆ getMaxGroundSpeed()

virtual double larcfm::GenericBands::getMaxGroundSpeed ( const std::string &  unit) const
pure virtual

Returns the maximum ground speed that is output by Bands in knots.

Implemented in larcfm::Bands, and larcfm::Daidalus.

◆ getMaxVerticalSpeed()

virtual double larcfm::GenericBands::getMaxVerticalSpeed ( const std::string &  unit) const
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.

◆ groundSpeed()

virtual Interval larcfm::GenericBands::groundSpeed ( int  i,
const std::string &  unit 
)
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.

◆ groundSpeedLength()

virtual int larcfm::GenericBands::groundSpeedLength ( )
pure virtual

◆ groundSpeedRegion()

virtual BandsRegion::Region larcfm::GenericBands::groundSpeedRegion ( int  i)
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.

◆ isLatLon()

virtual bool larcfm::GenericBands::isLatLon ( ) const
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.

◆ regionOfGroundSpeed()

virtual BandsRegion::Region larcfm::GenericBands::regionOfGroundSpeed ( double  gs,
const std::string &  unit 
)
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.

◆ regionOfTrack()

virtual BandsRegion::Region larcfm::GenericBands::regionOfTrack ( double  trk,
const std::string &  unit 
)
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.

◆ regionOfVerticalSpeed()

virtual BandsRegion::Region larcfm::GenericBands::regionOfVerticalSpeed ( double  vs,
const std::string &  unit 
)
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.

◆ setLookaheadTime()

virtual void larcfm::GenericBands::setLookaheadTime ( double  t,
const std::string &  unit 
)
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.

◆ setMaxGroundSpeed()

virtual void larcfm::GenericBands::setMaxGroundSpeed ( double  gs,
const std::string &  unit 
)
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.

◆ setMaxVerticalSpeed()

virtual void larcfm::GenericBands::setMaxVerticalSpeed ( double  vs,
const std::string &  unit 
)
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.

◆ toString()

virtual std::string larcfm::GenericBands::toString ( ) const
pure virtual

◆ track()

virtual Interval larcfm::GenericBands::track ( int  i,
const std::string &  unit 
)
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.

◆ trackLength()

virtual int larcfm::GenericBands::trackLength ( )
pure virtual

◆ trackRegion()

virtual BandsRegion::Region larcfm::GenericBands::trackRegion ( int  i)
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.

◆ verticalSpeed()

virtual Interval larcfm::GenericBands::verticalSpeed ( int  i,
const std::string &  unit 
)
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.

◆ verticalSpeedLength()

virtual int larcfm::GenericBands::verticalSpeedLength ( )
pure virtual

◆ verticalSpeedRegion()

virtual BandsRegion::Region larcfm::GenericBands::verticalSpeedRegion ( int  i)
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.


The documentation for this class was generated from the following file: