44 lines
980 B
C++
44 lines
980 B
C++
#pragma once
|
|
#include "veloslam/veloscan.h"
|
|
#include "veloslam/kalmanfilter.h"
|
|
#include <deque>
|
|
|
|
using namespace std;
|
|
|
|
struct MoveState
|
|
{
|
|
ObjectState targetState;
|
|
int frameNo;
|
|
};
|
|
|
|
class Tracker
|
|
{
|
|
public:
|
|
Tracker(void);
|
|
Tracker(clusterFeature &glu,double rollAngle);//added by yuanjun
|
|
Tracker(const Tracker ©Tracker);//added by yuanjun
|
|
~Tracker(void);
|
|
void TrackerReset();//added by yuanjun
|
|
|
|
// for log all the cluster for tracking
|
|
deque<clusterFeature> statusList;
|
|
deque<cluster> dataList;
|
|
// log the tracker is or not Matched.
|
|
|
|
// bool Matched or not;
|
|
bool missMatch;
|
|
//for log Cluster ID in lastScan.
|
|
int matchClusterID;
|
|
//show different color.
|
|
int colorIdx;
|
|
// for log the lift length trackerID
|
|
int trackerID;
|
|
|
|
int missedTime;//added by yuanjun
|
|
KalmanFilter kalmanFilter;//added by yuanjun
|
|
vector<MoveState> moveStateList;//added by yuanjun
|
|
|
|
//feature for movement
|
|
float moving_distance;
|
|
};
|
|
|