wangzhengquan
2020-09-17 f6d7dbd2ac6938526b1023d1bc571d562b4625cf
algorithm/IndirectAlg.c
@@ -1,6 +1,7 @@
#include "usg_common.h"
#include "IndirectAlg.h"
#include "graph.h"
 
#define PI 3.14159265
 
@@ -32,15 +33,15 @@
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;
@@ -151,7 +152,8 @@
        status->lastCoordinate = record.coordinate;
    }
    if (currentDirection.x == 0 && currentDirection.y == 0) {
    if (getVecor2Len(currentDirection) <= minDistance) {
        //没动
        printRecord(3, record);
        return false;