31 #define TIMEOVERLAP (1) 86 if (leavePotential >= 0)
88 trackBack(_current, _next, _collision, leavePotential);
102 if (_freePotential < 0)
112 int32_t collision = -1;
130 if (_collision != collision)
136 int32_t collision = -1;
139 if (vertexFree || collision != -1)
160 else if (collision != -1)
162 if (collision != -1 && collision != _collision)
166 trackBack(current_n, next_n, collision, leavePotential);
uint32_t getSegmentId() const
std::vector< std::vector< std::unique_ptr< Vertex > > > generatedSubgraphs_
std::vector< std::reference_wrapper< Vertex > > resolve(Vertex &_current, Vertex &_next, int32_t _collision)
resolves a found collision between two robots.
void trackBack(Vertex &_current, Vertex &_next, const int32_t _collision, const float _freePotential)
bool checkSegment(const Vertex &_next, const uint32_t _startTime, const int32_t _endTime, const uint32_t _diameterPixel, int32_t &_collisionRobot, bool _ignoreGoal=false) const
calls checkSegment of the routeCoordinator using robot
void resetSession(const RouteCoordinatorWrapper *_route_querry, const PotentialCalculator *_pCalc, const uint32_t _robot_radius)
resets the session (setting the new route querry and potential calculator)
bool avoidStartSuccessorDone_
int32_t findPotentialUntilRobotOnSegment(const uint32_t _robot, const uint32_t _segId) const
calls findPotentialUntilRobotOnSegment of the routeCoordinator using robot
void saveCollision(const uint32_t _coll)
increases the collision count of one robot
void addCollision(const uint32_t robot)
const std::vector< uint32_t > & getRobotCollisions() const
returns amount of robot collisions found in each resolve try after resetSession
const Segment & getSegment() const
const RouteCoordinatorWrapper * route_querry_
bool avoidStartPredecessorDone_
uint32_t resolutionAttemp_
std::vector< uint32_t > encounteredCollisions_
const PotentialCalculator * pCalc_
std::vector< std::reference_wrapper< Vertex > > foundSolutions_