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

#include <GenericStateBands.h>

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

Public Member Functions

virtual void setOwnship (const std::string &id, const Position &s, const Velocity &v)=0
 
virtual void addTraffic (const std::string &id, const Position &si, const Velocity &vi)=0
 
- Public Member Functions inherited from larcfm::GenericBands
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

◆ addTraffic()

virtual void larcfm::GenericStateBands::addTraffic ( const std::string &  id,
const Position si,
const Velocity vi 
)
pure virtual

Add a traffic aircraft to this set of the conflict prevention bands. No traffic aircraft can be added until the ownship is set (see setOwnship()). The coordinate frame of the traffic position must be the same as that of the object.

Parameters
siposition of the traffic
vivelocity of the traffic

Implemented in larcfm::ConflictBandsTwoTimes, larcfm::TripleBands, larcfm::Bands, larcfm::KinematicMultiBands, and larcfm::Daidalus.

◆ setOwnship()

virtual void larcfm::GenericStateBands::setOwnship ( const std::string &  id,
const Position s,
const Velocity v 
)
pure virtual

Specify the ownship's position and velocity. Once the ownship is set, any existing 'band' information is cleared. This also sets the coordinate frame for this object.

Parameters
sownship position
vownship velocity

Implemented in larcfm::Bands, larcfm::KinematicMultiBands, larcfm::Daidalus, larcfm::ConflictBandsTwoTimes, and larcfm::TripleBands.


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