| | |
| | | #include "usg_common.h" |
| | | #include "IndirectAlg.h" |
| | | #include "graph.h" |
| | | |
| | | |
| | | #define PI 3.14159265 |
| | | |
| | |
| | | |
| | | IndirectAlg::IndirectAlg() {} |
| | | |
| | | IndirectAlg::IndirectAlg(const initializer_list<Edge> & edges, const time_t & _keepTime, const Vector2 & _direction): |
| | | frame(edges), keepTime(_keepTime), direction(_direction), mterminate(false) { |
| | | IndirectAlg::IndirectAlg(const initializer_list<Edge> & edges,const Vector2 & _direction, const time_t & _keepTime, const double _minDistance): |
| | | frame(edges), keepTime(_keepTime), minDistance(_minDistance), direction(_direction), mterminate(false) { |
| | | |
| | | mthread = std::thread(std::bind(&IndirectAlg::threadRoutine, this)); |
| | | |
| | | } |
| | | |
| | | IndirectAlg::IndirectAlg(const initializer_list<Point> & points, const time_t & _keepTime, const Vector2 & _direction): |
| | | keepTime(_keepTime), direction(_direction), mterminate(false) { |
| | | IndirectAlg::IndirectAlg(const initializer_list<Point> & points, const Vector2 & _direction, const time_t & _keepTime, const double _minDistance): |
| | | keepTime(_keepTime), minDistance(_minDistance), direction(_direction), mterminate(false) { |
| | | if (points.size() > 0) { |
| | | std::vector<Edge> edges; |
| | | initializer_list<Point>::iterator iter; |
| | |
| | | status->lastCoordinate = record.coordinate; |
| | | } |
| | | |
| | | if (currentDirection.x == 0 && currentDirection.y == 0) { |
| | | |
| | | if (getVecor2Len(currentDirection) <= minDistance) { |
| | | //没动 |
| | | printRecord(3, record); |
| | | return false; |