#ifndef TRACK_H #define TRACK_H #include "../encoder_tools/dataType.h" #include "kalmfilter.h" #include "../encoder_tools/model.h" #include "time.h" #include "stdio.h" #include "stdlib.h" #include #include class Track { enum TrackState {Tentative = 1, Confirmed, Deleted}; public: Track(); ~Track(); Track(KAL_MEAN& mean, KAL_COVA& covariance, int track_id, int n_init, int max_age, const FEATURE& feature); void predit(KalmFilter *kf); void update(KalmFilter * const kf, const DETECTION_ROW &detection); bool mark_missed(); bool is_confirmed(); bool is_deleted(); bool is_tentative(); DETECTBOX to_tlwh(); int time_since_update; int track_id; FEATURESS features; KAL_MEAN mean; KAL_COVA covariance; int hits; int age; int _n_init; int _max_age; TrackState state; private: struct timeval start,stop,diff; double sum_timer; bool init_t; void init_track_time(); void featuresAppendOne(const FEATURE& f); int time_substract(struct timeval *result, struct timeval *begin,struct timeval *end); }; #endif // TRACK_H