|
| CDPolycarp (double b, double f, bool check) |
|
bool | isNicePolygon (const Poly3D &mp) const |
|
bool | isNicePolygon (const MovingPolygon3D &mp) const |
|
double | getBuff () const |
|
void | setBuff (double x) |
|
double | getFac () const |
|
void | setFac (double x) |
|
void | setCheckNice (bool b) |
|
bool | isCheckNice () |
|
bool | definitelyInside (const Vect3 &so, const Poly3D &si) const |
|
bool | definitelyOutside (const Vect3 &so, const Poly3D &si) const |
|
bool | nearEdge (const Vect3 &so, const Poly3D &si, double h, double v) const |
|
ParameterData | getParameters () const |
|
void | updateParameterData (ParameterData &p) const |
|
void | setParameters (const ParameterData &p) |
|
bool | violation (const Vect3 &so, const Velocity &vo, const Poly3D &si) const |
|
bool | conflict (const Vect3 &so, const Velocity &vo, const MovingPolygon3D &si, double B, double T) const |
|
bool | conflictDetection (const Vect3 &so, const Velocity &vo, const MovingPolygon3D &si, double B, double T) |
|
std::vector< double > | getTimesIn () const |
|
std::vector< double > | getTimesOut () const |
|
std::vector< double > | getCriticalTimesOfConflict () const |
|
std::vector< double > | getDistancesAtCriticalTimes () const |
|
DetectionPolygon * | make () const |
|
DetectionPolygon * | copy () const |
|
std::string | toString () const |
|
std::string | getClassName () const |
|
std::string | getIdentifier () const |
|
void | setIdentifier (const std::string &s) |
|
bool | equals (DetectionPolygon *d) const |
|
bool | instanceof (const std::string &classname) const |
|
|
std::vector< double > | tin |
|
std::vector< double > | tout |
|
std::vector< double > | tca |
|
std::vector< double > | tdist |
|
double | buff |
|
double | fac |
|
std::string | id |
|
bool | checkNice |
|
◆ conflict()
◆ conflictDetection()
◆ copy()
◆ definitelyInside()
bool larcfm::CDPolycarp::definitelyInside |
( |
const Vect3 & |
so, |
|
|
const Poly3D & |
si |
|
) |
| const |
Return true if ownship is definitely inside a polygon (fence)
- Parameters
-
so | ownship position |
si | polygon |
- Returns
- true if definitely inside
◆ definitelyOutside()
bool larcfm::CDPolycarp::definitelyOutside |
( |
const Vect3 & |
so, |
|
|
const Poly3D & |
si |
|
) |
| const |
Return true if ownship is definitely outside a polygon (fence)
- Parameters
-
so | ownship position |
si | polygon |
- Returns
- true if definitely outside
◆ equals()
Return true if two instances have identical parameters (including identifiers). Use address equality (&x == &y) to distinguish instances.
Implements larcfm::DetectionPolygon.
◆ getClassName()
std::string larcfm::CDPolycarp::getClassName |
( |
| ) |
const |
|
virtual |
◆ getCriticalTimesOfConflict()
std::vector< double > larcfm::CDPolycarp::getCriticalTimesOfConflict |
( |
| ) |
const |
|
virtual |
◆ getDistancesAtCriticalTimes()
std::vector< double > larcfm::CDPolycarp::getDistancesAtCriticalTimes |
( |
| ) |
const |
|
virtual |
◆ getIdentifier()
std::string larcfm::CDPolycarp::getIdentifier |
( |
| ) |
const |
|
virtual |
◆ getParameters()
◆ getTimesIn()
std::vector< double > larcfm::CDPolycarp::getTimesIn |
( |
| ) |
const |
|
virtual |
◆ getTimesOut()
std::vector< double > larcfm::CDPolycarp::getTimesOut |
( |
| ) |
const |
|
virtual |
◆ isNicePolygon()
Polycarp only produces valid answers for "nice" polygons. These are simple polygons that have vertices in a counterclockwise ordering. If all polygons are assured to be "nice" before input, setCheckNice() can be set to FALSE, increasing performance.
- Parameters
-
mp | static polygon to check |
- Returns
- true if the polygon is "nice", false otherwise.
◆ make()
◆ nearEdge()
bool larcfm::CDPolycarp::nearEdge |
( |
const Vect3 & |
so, |
|
|
const Poly3D & |
si, |
|
|
double |
h, |
|
|
double |
v |
|
) |
| const |
Return true if ownship is near an edge
- Parameters
-
so | ownship position |
si | polygon |
h | approximate horizontal buffer distance from edge |
v | approximate vertical buffer distance from edge |
- Returns
- true if ownship is within d of an edge (including top and bottom)
◆ setCheckNice()
void larcfm::CDPolycarp::setCheckNice |
( |
bool |
b | ) |
|
Set the flag for Polycarp to check that polygons are "nice" as part of the detection step. A non-nice polygon is considered bad input to the algorithm. This check is really only needed once for each polygon, so it may be redundant if detection is called repeatedly on an unchanging polygon. If on, this check will also attempt to automatically reverse the order of clockwise polygons.
- Parameters
-
◆ setIdentifier()
void larcfm::CDPolycarp::setIdentifier |
( |
const std::string & |
s | ) |
|
|
virtual |
◆ setParameters()
void larcfm::CDPolycarp::setParameters |
( |
const ParameterData & |
p | ) |
|
|
virtual |
◆ toString()
std::string larcfm::CDPolycarp::toString |
( |
| ) |
const |
|
virtual |
◆ updateParameterData()
void larcfm::CDPolycarp::updateParameterData |
( |
ParameterData & |
p | ) |
const |
|
virtual |
◆ violation()
bool larcfm::CDPolycarp::violation |
( |
const Vect3 & |
so, |
|
|
const Velocity & |
vo, |
|
|
const Poly3D & |
si |
|
) |
| const |
|
virtual |
The documentation for this class was generated from the following files:
- Modules/ACCoRD/inc/CDPolycarp.h
- Modules/ACCoRD/src/CDPolycarp.cpp