29 std::vector<std::string>
id;
32 std::vector<std::vector<std::string>>
state;
78 std::string
uint2hex(uint64_t number);
147 void promote(uint64_t index, uint32_t m, uint32_t n);
152 void remove(uint64_t index);
157 std::string
to_json(uint64_t timestamp);
163 bool save(std::string json, std::string path);
A class to store detection data.
Definition: Detection.h:14
A class to store track data.
Definition: Track.h:26
Track()
Constructor.
Definition: Track.cpp:20
std::vector< std::string > id
Track ID (4 digit alpha-numeric).
Definition: Track.h:29
~Track()
Destructor.
Definition: Track.cpp:25
static const std::string STATE_ASSOCIATED
String for state ASSOCIATED.
Definition: Track.h:63
std::vector< uint64_t > nInactive
Number of updates the track has been tentative/coasting.
Definition: Track.h:45
void promote(uint64_t index, uint32_t m, uint32_t n)
Promote track to state ACTIVE if applicable.
Definition: Track.cpp:115
uint64_t get_n()
Get number of total tracks.
Definition: Track.cpp:70
static const std::string STATE_ACTIVE
String for state ACTIVE.
Definition: Track.h:54
std::vector< double > acceleration
Current acceleration (Hz/s).
Definition: Track.h:38
double get_acceleration(uint64_t index)
Get current acceleration for track index.
Definition: Track.cpp:80
uint64_t get_nState(std::string state)
Get number of tracks with specified state.
Definition: Track.cpp:57
void set_state(uint64_t index, std::string state)
Set the state of the latest tracklet.
Definition: Track.cpp:36
void set_current(uint64_t index, Detection smoothed)
Set the current track position.
Definition: Track.cpp:41
static const std::string STATE_TENTATIVE
String for state TENTATIVE.
Definition: Track.h:57
bool save(std::string json, std::string path)
Append the map to a save file.
void set_acceleration(uint64_t index, double acceleration)
Set the current acceleration.
Definition: Track.cpp:47
uint64_t iNext
Next valid track index.
Definition: Track.h:48
uint64_t get_nInactive(uint64_t index)
Get number of updates track has been tentative/coasting.
Definition: Track.cpp:90
std::string uint2hex(uint64_t number)
Convert an unsigned int to hexadecimal.
Definition: Track.cpp:29
static const uint64_t MAX_INDEX
Maximum integer index to wrap around.
Definition: Track.h:51
void set_nInactive(uint64_t index, uint64_t n)
Set the current inactivity.
Definition: Track.cpp:52
std::vector< Detection > current
Curent track position.
Definition: Track.h:35
std::vector< std::vector< Detection > > associated
Associated detections in track.
Definition: Track.h:41
std::string to_json(uint64_t timestamp)
Generate JSON of the map and metadata.
Definition: Track.cpp:172
std::vector< std::vector< std::string > > state
State history for each track.
Definition: Track.h:32
static const std::string STATE_COASTING
String for state COASTING.
Definition: Track.h:60
Detection get_current(uint64_t index)
Get current track position for track index.
Definition: Track.cpp:75
void update(uint64_t index, Detection update)
Update an associated detection.
std::string get_state(uint64_t index)
Get current state for track index.
Definition: Track.cpp:85
uint64_t add(Detection initial)
Add track to the track set.
Definition: Track.cpp:95
void remove(uint64_t index)
Remove track based on index.
Definition: Track.cpp:137