ICAROUS
All Classes Namespaces Files Functions Variables Enumerations Enumerator Macros Modules Pages
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
larcfm::WCV_tvar Class Referenceabstract
Inheritance diagram for larcfm::WCV_tvar:
larcfm::Detection3D larcfm::ParameterAcceptor larcfm::ParameterProvider larcfm::WCV_TAUMOD larcfm::WCV_TCPA larcfm::WCV_TEP larcfm::WCV_HZ larcfm::WCV_TAUMOD_SUM

Public Member Functions

WCV_tvaroperator= (const WCV_tvar &core)
 
void setWCVTable (const WCVTable &tables)
 
double getDTHR () const
 
double getDTHR (const std::string &u) const
 
double getZTHR () const
 
double getZTHR (const std::string &u) const
 
double getTTHR () const
 
double getTTHR (const std::string &u) const
 
double getTCOA () const
 
double getTCOA (const std::string &u) const
 
void setDTHR (double val)
 
void setDTHR (double val, const std::string &u)
 
void setZTHR (double val)
 
void setZTHR (double val, const std::string &u)
 
void setTTHR (double val)
 
void setTTHR (double val, const std::string &u)
 
void setTCOA (double val)
 
void setTCOA (double val, const std::string &u)
 
virtual double horizontal_tvar (const Vect2 &s, const Vect2 &v) const =0
 
virtual LossData horizontal_WCV_interval (double T, const Vect2 &s, const Vect2 &v) const =0
 
bool horizontal_WCV (const Vect2 &s, const Vect2 &v) const
 
virtual ConflictData conflictDetection (const Vect3 &so, const Velocity &vo, const Vect3 &si, const Velocity &vi, double B, double T) const
 
LossData WCV3D (const Vect3 &so, const Velocity &vo, const Vect3 &si, const Velocity &vi, double B, double T) const
 
LossData WCV_interval (const Vect3 &so, const Velocity &vo, const Vect3 &si, const Velocity &vi, double B, double T) const
 
bool containsTable (WCV_tvar *wcv) const
 
virtual std::string toString () const
 
virtual std::string toPVS () const
 
ParameterData getParameters () const
 
void updateParameterData (ParameterData &p) const
 
void setParameters (const ParameterData &p)
 
virtual Detection3Dcopy () const =0
 
virtual Detection3Dmake () const =0
 
virtual std::string getSimpleClassName () const =0
 
virtual std::string getSimpleSuperClassName () const
 
virtual std::string getIdentifier () const
 
virtual void setIdentifier (const std::string &s)
 
virtual void horizontalHazardZone (std::vector< Position > &haz, const TrafficState &ownship, const TrafficState &intruder, double T) const
 
virtual void hazard_zone_far_end (std::vector< Position > &haz, const Position &po, const Velocity &v, const Vect3 &pu, double T) const
 
virtual bool equals (Detection3D *o) const
 
- Public Member Functions inherited from larcfm::Detection3D
bool violation (const Vect3 &so, const Velocity &vo, const Vect3 &si, const Velocity &vi) const
 
bool conflict (const Vect3 &so, const Velocity &vo, const Vect3 &si, const Velocity &vi, double B, double T) const
 
bool violationAtWithTrafficState (const TrafficState &ownship, const TrafficState &intruder, double t) const
 
bool conflictWithTrafficState (const TrafficState &ownship, const TrafficState &intruder, double B, double T) const
 
virtual ConflictData conflictDetectionWithTrafficState (const TrafficState &ownship, const TrafficState &intruder, double B, double T) const
 
std::string getCanonicalClassName () const
 
std::string getCanonicalSuperClassName () const
 
virtual bool contains (const Detection3D *cd) const =0
 
bool instanceOf (const std::string &classname) const
 
void horizontalContours (std::vector< std::vector< Position > > &blobs, const TrafficState &ownship, const TrafficState &intruder, double thr, double T) const
 

Protected Member Functions

void copyFrom (const WCV_tvar &core)
 

Protected Attributes

WCVTable table
 
WCV_Verticalwcv_vertical
 
std::string id
 

Member Function Documentation

◆ conflictDetection()

ConflictData larcfm::WCV_tvar::conflictDetection ( const Vect3 so,
const Velocity vo,
const Vect3 si,
const Velocity vi,
double  B,
double  T 
) const
virtual

This functional call returns a ConflictData object detailing the conflict between times B and T from now (relative), if any.

Parameters
soownship position
voownship velocity
siintruder position
viintruder velocity
Dhorizontal separation
Hvertical separation
Bbeginning of detection time (>=0)
Tend of detection time (if T < 0 then use an "infinite" lookahead time)
Returns
a ConflictData object detailing the conflict

Implements larcfm::Detection3D.

◆ copy()

virtual Detection3D * larcfm::WCV_tvar::copy ( ) const
pure virtual

This returns a pointer to a new instance of this type of Detector3D. You are responsible for destroying this instance when it is no longer needed.

Implements larcfm::Detection3D.

Implemented in larcfm::WCV_HZ, larcfm::WCV_TAUMOD, larcfm::WCV_TAUMOD_SUM, larcfm::WCV_TCPA, and larcfm::WCV_TEP.

◆ equals()

bool larcfm::WCV_tvar::equals ( Detection3D o) const
virtual

Return true if two instances have identical parameters (including identifiers). Use address equality (&x == &y) to distinguish instances. A generic implementation, assuming the identifier is included in the ParameterData object, would be virtual bool equals(Detection3D* o) const { if (!larcfmequals(getClassName(), o->getClassName())) return false; if (!getParameterData().equals(o->getParameterData())) return false; return true; }

Implements larcfm::Detection3D.

◆ getIdentifier()

std::string larcfm::WCV_tvar::getIdentifier ( ) const
virtual

Implements larcfm::Detection3D.

◆ getParameters()

ParameterData larcfm::WCV_tvar::getParameters ( ) const
virtual

◆ getSimpleClassName()

virtual std::string larcfm::WCV_tvar::getSimpleClassName ( ) const
pure virtual

Implements larcfm::Detection3D.

◆ getSimpleSuperClassName()

virtual std::string larcfm::WCV_tvar::getSimpleSuperClassName ( ) const
inlinevirtual

Reimplemented from larcfm::Detection3D.

◆ horizontalHazardZone()

void larcfm::WCV_tvar::horizontalHazardZone ( std::vector< Position > &  haz,
const TrafficState ownship,
const TrafficState intruder,
double  T 
) const
virtual

Return a list of points (polygon) that approximates the horizontal hazard zone around the ownship, with respect to a traffic aircraft. A polygon is a list of points in counter-clockwise direction, where the last point is connected to the first one.

Parameters
TThis time represents a time horizon in seconds. When T is 0, the polygon represents the hazard zone. Otherwise, the are represents the hazard zone with time horizon T.

NOTE 1: This polygon should only be used for display purposes since it's merely an approximation of the actual hazard zone defined by the violation and detection methods.

NOTE 2: This method has to be redefined as appropriate for every specific hazard zone.

Reimplemented from larcfm::Detection3D.

◆ make()

virtual Detection3D * larcfm::WCV_tvar::make ( ) const
pure virtual

Implements larcfm::Detection3D.

◆ setIdentifier()

void larcfm::WCV_tvar::setIdentifier ( const std::string &  s)
virtual

Implements larcfm::Detection3D.

◆ setParameters()

void larcfm::WCV_tvar::setParameters ( const ParameterData p)
virtual

◆ setWCVTable()

void larcfm::WCV_tvar::setWCVTable ( const WCVTable tab)

Sets the internal table to be a copy of the supplied one.

◆ toPVS()

std::string larcfm::WCV_tvar::toPVS ( ) const
virtual

Implements larcfm::Detection3D.

◆ toString()

std::string larcfm::WCV_tvar::toString ( ) const
virtual

Implements larcfm::Detection3D.

◆ updateParameterData()

void larcfm::WCV_tvar::updateParameterData ( ParameterData p) const
virtual

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