ICAROUS
All Classes Namespaces Files Functions Variables Enumerations Enumerator Macros Modules Pages
Public Member Functions | Private Attributes | Static Private Attributes | List of all members
larcfm::CDPolyIter2D Class Reference

Public Member Functions

std::vector< double > getTimesIn () const
 
std::vector< double > getTimesOut () const
 
int getConflicts () const
 
double getTimeIn (int i) const
 
double getTimeOut (int i) const
 
double getTimeIn () const
 
double getTimeOut () const
 
double poly2D_detection_micro (const MovingPolygon2D &mpi, const Vect2 &so, const Vect2 &vo, double t0, bool t0in, double t1, bool t1in, double minstep) const
 
bool polyIter2D_detection (double T, const MovingPolygon2D &mpi, const Vect2 &so, const Vect2 &vo, double tStep)
 

Private Attributes

int conflicts
 
std::vector< double > timesin
 
std::vector< double > timesout
 

Static Private Attributes

static const double microStepNum = 10.0
 

Member Function Documentation

◆ getTimeOut() [1/2]

double larcfm::CDPolyIter2D::getTimeOut ( ) const

Time to exit from loss of separation in internal units.

Returns
the time to exit out loss of separation. If timeOut is zero then there is no conflict. If timeOut is negative then, timeOut is infinite. Note that this is a relative time.

Time to exit from loss of separation in internal units.

Returns
the time to exit out loss of separation. If timeOut is zero then there is no conflict. If timeOut is negative then, timeOut is infinite.
Note that this is a relative time.

◆ getTimeOut() [2/2]

double larcfm::CDPolyIter2D::getTimeOut ( int  i) const

Time to exit from loss of separation in internal units.

Returns
the time to exit out loss of separation. If timeOut is zero then there is no conflict. If timeOut is negative then, timeOut is infinite. Note that this is a relative time.

Time to exit from loss of separation in internal units.

Returns
the time to exit out loss of separation. If timeOut is zero then there is no conflict. If timeOut is negative then, timeOut is infinite.
Note that this is a relative time.

◆ getTimesIn()

std::vector< double > larcfm::CDPolyIter2D::getTimesIn ( ) const

Time to loss of separation in internal units.

Returns
the time to loss of separation. If time is negative then there is no conflict. Note that this is a relative time.

◆ getTimesOut()

std::vector< double > larcfm::CDPolyIter2D::getTimesOut ( ) const

Time to exit from loss of separation in internal units.

Returns
the time to exit out loss of separation. If timeOut is zero then there is no conflict. If timeOut is negative then, timeOut is infinite. Note that this is a relative time.

Time to exit from loss of separation in internal units.

Returns
the time to exit out loss of separation. If timeOut is zero then there is no conflict. If timeOut is negative then, timeOut is infinite.
Note that this is a relative time.

◆ polyIter2D_detection()

bool larcfm::CDPolyIter2D::polyIter2D_detection ( double  T,
const MovingPolygon2D mpi,
const Vect2 so,
const Vect2 vo,
double  tStep 
)
Parameters
Tlookahead time
pipolygon
vivelocity vector for polygon
soownship position
voownship velocity
Returns
true if ownship will enter loss with polygon pi within lookahead time T

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