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

#include <GenericIntentBands.h>

Inheritance diagram for larcfm::GenericIntentBands:
larcfm::GenericBands larcfm::IntentBands

Public Member Functions

virtual void setOwnship (const Position &s, const Velocity &v, double time, const std::string &tunit)=0
 
virtual void setOwnshipLL (double lat, double lon, const std::string &hunit, double alt, const std::string &vunit, double trk, const std::string &trkunit, double gs, const std::string &gsunit, double vs, const std::string &vsunit, double time, const std::string &tunit)=0
 
virtual void setOwnshipXYZ (double sx, double sy, const std::string &hpunit, double sz, const std::string &vpunit, double vx, double vy, const std::string &hvunit, double vz, const std::string &vvunit, double time, const std::string &tunit)=0
 
virtual bool addTraffic (const Plan &fp)=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 bool larcfm::GenericIntentBands::addTraffic ( const Plan fp)
pure virtual

Add a traffic aircraft to this set of the conflict prevention bands. Whether the position are specified in Latitude/longitude or cartesian and the velocities are specified in track, ground speed, or cartesian depends on the setLatLon() and setTrackVelocity() methods. No traffic aircraft can be added until the ownship is set (see setOwnship()).

Parameters
fpintent plan for traffic. This may be either in nmi or latlong.
Returns
false if no ownship has been set or there is a latlon mismatch

Implemented in larcfm::IntentBands.

◆ setOwnship()

virtual void larcfm::GenericIntentBands::setOwnship ( const Position s,
const Velocity v,
double  time,
const std::string &  tunit 
)
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
timecurrent time

Implemented in larcfm::IntentBands.

◆ setOwnshipLL()

virtual void larcfm::GenericIntentBands::setOwnshipLL ( double  lat,
double  lon,
const std::string &  hunit,
double  alt,
const std::string &  vunit,
double  trk,
const std::string &  trkunit,
double  gs,
const std::string &  gsunit,
double  vs,
const std::string &  vsunit,
double  time,
const std::string &  tunit 
)
pure virtual

Specify the ownship's position and velocity. Once the ownship is set, any existing 'band' information is cleared. This also sets the bands object to the lat/lon coordinate frame.

Parameters
latnorth latitude [deg] of ownship
loneast longitude [deg] of ownship
altaltitude [feet] of ownship
trktrack angle [degrees clockwise from true north] of ownship
gsground speed [knot] of ownship
vsvertical speed [feet/min] of ownship
timecurrent time

Implemented in larcfm::IntentBands.

◆ setOwnshipXYZ()

virtual void larcfm::GenericIntentBands::setOwnshipXYZ ( double  sx,
double  sy,
const std::string &  hpunit,
double  sz,
const std::string &  vpunit,
double  vx,
double  vy,
const std::string &  hvunit,
double  vz,
const std::string &  vvunit,
double  time,
const std::string &  tunit 
)
pure virtual

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

Parameters
sxx position [nmi] of ownship
syy position [nmi] of ownship
szz position [feet] of ownship
vxx speed component [knot] of ownship
vyy speed component [knot] of ownship
vzz speed component [feet/min] of ownship
timecurrent time

Implemented in larcfm::IntentBands.


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