#include <competitionLogic.hpp>
|
| | CompetitionLogic (std::shared_ptr< Logger > logger, Track &track, MainConfig config) |
| |
| bool | evaluateOffCourse (Track &track, double time, Eigen::Vector3d &position, Eigen::Vector3d &orientation) |
| |
| void | evaluateConeHit (Track &track, double time, Eigen::Vector3d &position, Eigen::Vector3d &orientation) |
| |
| int | timeKeepingStatus (Eigen::Vector3d lm1, Eigen::Vector3d lm2, Eigen::Vector3d &position, Eigen::Vector3d &orientation) |
| |
| void | evaluateTimeKeepings (Track &track, Eigen::Vector3d &position, Eigen::Vector3d &orientation, double time) |
| |
| bool | checkFinishConditionsMet (double time) |
| |
| bool | checkUSS (Track track, double time, Eigen::Vector3d position) |
| |
| bool | checkDNF (Track track, double time, Eigen::Vector3d position) |
| |
| bool | performAllChecks (Track &track, double time, Eigen::Vector3d &position, Eigen::Vector3d &orientation) |
| |
| void | setFinish (bool val) |
| |
| void | fillReport (Report &report, double time) |
| |
|
| bool | pointInTriangle (Eigen::Vector2d a, Eigen::Vector2d b, Eigen::Vector2d c, Eigen::Vector2d point) |
| |
| std::vector< bool > | pointsInTrackConnected (Track &track, std::vector< Eigen::Vector2d > points) |
| |
| bool | pointInPolygon (std::vector< Eigen::Vector2d > polyPoints, Eigen::Vector2d point) |
| |
| std::pair< bool, bool > | rayIntersectLineSegment (Eigen::Vector2d a, Eigen::Vector2d b, Eigen::Vector2d rayOrigin, Eigen::Vector2d rayDirection) |
| |
| double | cross2d (Eigen::Vector2d a, Eigen::Vector2d b) |
| |
| std::vector< bool > | pointsInTrackNotConnected (Track &track, std::vector< Eigen::Vector2d > points) |
| |
| bool | carConePolyIntersect (std::vector< Eigen::Vector2d > carPoly, std::vector< Eigen::Vector2d > conePoly) |
| |
| double | determinantLinePoint (Eigen::Vector2d a, Eigen::Vector2d b, Eigen::Vector2d c) |
| |
| bool | inLineSegement (Eigen::Vector2d a, Eigen::Vector2d b, Eigen::Vector2d position) |
| |
| void | evaluateTimeKeepingGateTrigger (Track track, double time, int index) |
| |
| std::string | discipline2str (Discipline d) |
| |
| std::string | penalty2str (PENALTY_TYPE p) |
| |
| bool | checkTimeout (double time) |
| |
Definition at line 9 of file competitionLogic.hpp.
◆ PENALTY_TYPE
◆ CompetitionLogic()
| CompetitionLogic::CompetitionLogic |
( |
std::shared_ptr< Logger > |
logger, |
|
|
Track & |
track, |
|
|
MainConfig |
config |
|
) |
| |
◆ carConePolyIntersect()
| bool CompetitionLogic::carConePolyIntersect |
( |
std::vector< Eigen::Vector2d > |
carPoly, |
|
|
std::vector< Eigen::Vector2d > |
conePoly |
|
) |
| |
|
private |
◆ checkDNF()
| bool CompetitionLogic::checkDNF |
( |
Track |
track, |
|
|
double |
time, |
|
|
Eigen::Vector3d |
position |
|
) |
| |
◆ checkFinishConditionsMet()
| bool CompetitionLogic::checkFinishConditionsMet |
( |
double |
time | ) |
|
◆ checkTimeout()
| bool CompetitionLogic::checkTimeout |
( |
double |
time | ) |
|
|
private |
◆ checkUSS()
| bool CompetitionLogic::checkUSS |
( |
Track |
track, |
|
|
double |
time, |
|
|
Eigen::Vector3d |
position |
|
) |
| |
◆ cross2d()
| double CompetitionLogic::cross2d |
( |
Eigen::Vector2d |
a, |
|
|
Eigen::Vector2d |
b |
|
) |
| |
|
private |
◆ determinantLinePoint()
| double CompetitionLogic::determinantLinePoint |
( |
Eigen::Vector2d |
a, |
|
|
Eigen::Vector2d |
b, |
|
|
Eigen::Vector2d |
c |
|
) |
| |
|
private |
◆ discipline2str()
| std::string CompetitionLogic::discipline2str |
( |
Discipline |
d | ) |
|
|
private |
◆ evaluateConeHit()
| void CompetitionLogic::evaluateConeHit |
( |
Track & |
track, |
|
|
double |
time, |
|
|
Eigen::Vector3d & |
position, |
|
|
Eigen::Vector3d & |
orientation |
|
) |
| |
◆ evaluateOffCourse()
| bool CompetitionLogic::evaluateOffCourse |
( |
Track & |
track, |
|
|
double |
time, |
|
|
Eigen::Vector3d & |
position, |
|
|
Eigen::Vector3d & |
orientation |
|
) |
| |
◆ evaluateTimeKeepingGateTrigger()
| void CompetitionLogic::evaluateTimeKeepingGateTrigger |
( |
Track |
track, |
|
|
double |
time, |
|
|
int |
index |
|
) |
| |
|
private |
◆ evaluateTimeKeepings()
| void CompetitionLogic::evaluateTimeKeepings |
( |
Track & |
track, |
|
|
Eigen::Vector3d & |
position, |
|
|
Eigen::Vector3d & |
orientation, |
|
|
double |
time |
|
) |
| |
◆ fillReport()
| void CompetitionLogic::fillReport |
( |
Report & |
report, |
|
|
double |
time |
|
) |
| |
◆ inLineSegement()
| bool CompetitionLogic::inLineSegement |
( |
Eigen::Vector2d |
a, |
|
|
Eigen::Vector2d |
b, |
|
|
Eigen::Vector2d |
position |
|
) |
| |
|
private |
◆ penalty2str()
◆ performAllChecks()
| bool CompetitionLogic::performAllChecks |
( |
Track & |
track, |
|
|
double |
time, |
|
|
Eigen::Vector3d & |
position, |
|
|
Eigen::Vector3d & |
orientation |
|
) |
| |
◆ pointInPolygon()
| bool CompetitionLogic::pointInPolygon |
( |
std::vector< Eigen::Vector2d > |
polyPoints, |
|
|
Eigen::Vector2d |
point |
|
) |
| |
|
private |
◆ pointInTriangle()
| bool CompetitionLogic::pointInTriangle |
( |
Eigen::Vector2d |
a, |
|
|
Eigen::Vector2d |
b, |
|
|
Eigen::Vector2d |
c, |
|
|
Eigen::Vector2d |
point |
|
) |
| |
|
private |
◆ pointsInTrackConnected()
| std::vector< bool > CompetitionLogic::pointsInTrackConnected |
( |
Track & |
track, |
|
|
std::vector< Eigen::Vector2d > |
points |
|
) |
| |
|
private |
◆ pointsInTrackNotConnected()
| std::vector< bool > CompetitionLogic::pointsInTrackNotConnected |
( |
Track & |
track, |
|
|
std::vector< Eigen::Vector2d > |
points |
|
) |
| |
|
private |
◆ rayIntersectLineSegment()
| std::pair< bool, bool > CompetitionLogic::rayIntersectLineSegment |
( |
Eigen::Vector2d |
a, |
|
|
Eigen::Vector2d |
b, |
|
|
Eigen::Vector2d |
rayOrigin, |
|
|
Eigen::Vector2d |
rayDirection |
|
) |
| |
|
private |
◆ setFinish()
| void CompetitionLogic::setFinish |
( |
bool |
val | ) |
|
◆ timeKeepingStatus()
| int CompetitionLogic::timeKeepingStatus |
( |
Eigen::Vector3d |
lm1, |
|
|
Eigen::Vector3d |
lm2, |
|
|
Eigen::Vector3d & |
position, |
|
|
Eigen::Vector3d & |
orientation |
|
) |
| |
◆ alreadyOC
| bool CompetitionLogic::alreadyOC |
|
private |
◆ currentSectorTimes
| std::vector<double> CompetitionLogic::currentSectorTimes |
|
private |
◆ discipline
◆ dnf_reason
| std::string CompetitionLogic::dnf_reason = "" |
|
private |
◆ finishConditionsMet
| bool CompetitionLogic::finishConditionsMet |
|
private |
◆ finishConditionsMetFirstTime
| double CompetitionLogic::finishConditionsMetFirstTime |
|
private |
◆ finishSignal
| bool CompetitionLogic::finishSignal |
|
private |
◆ isDNF
| bool CompetitionLogic::isDNF |
|
private |
◆ lapCount
| int CompetitionLogic::lapCount |
|
private |
◆ lapTimes
| std::vector<double> CompetitionLogic::lapTimes |
|
private |
◆ lastTriggerTime
| double CompetitionLogic::lastTriggerTime |
|
private |
◆ Off_Course_Start
| double CompetitionLogic::Off_Course_Start |
|
private |
◆ penalties
| std::vector<Penalty> CompetitionLogic::penalties |
|
private |
◆ properTrack
| bool CompetitionLogic::properTrack |
|
private |
◆ sectorTimes
| std::vector<std::vector<double> > CompetitionLogic::sectorTimes |
|
private |
◆ started
| bool CompetitionLogic::started |
|
private |
◆ startedTime
| double CompetitionLogic::startedTime |
|
private |
◆ timeKeepingFirstTriggerStatuses
| std::vector<int> CompetitionLogic::timeKeepingFirstTriggerStatuses |
|
private |
◆ timeKeepingStatuses
| std::vector<int> CompetitionLogic::timeKeepingStatuses |
|
private |
◆ timeout_acceleration
| double CompetitionLogic::timeout_acceleration |
|
private |
◆ timeout_autocross
| double CompetitionLogic::timeout_autocross |
|
private |
◆ timeout_skidpad
| double CompetitionLogic::timeout_skidpad |
|
private |
◆ timeout_start
| double CompetitionLogic::timeout_start |
|
private |
◆ timeout_trackdrive_first
| double CompetitionLogic::timeout_trackdrive_first |
|
private |
◆ timeout_trackdrive_total
| double CompetitionLogic::timeout_trackdrive_total |
|
private |
◆ triggerTimes
| std::vector<std::vector<double> > CompetitionLogic::triggerTimes |
|
private |
◆ ussTriggered
| bool CompetitionLogic::ussTriggered |
|
private |
The documentation for this class was generated from the following files: