3dpcp/include/veloslam/tracker.h

45 lines
980 B
C
Raw Normal View History

2012-09-16 12:33:11 +00:00
#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 &copyTracker);//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;
};