-// void Tracker::track() {
- // int e = _nb_locations;
- // for(int t = 0; t <= _nb_time_steps; t++) {
- // for(int l = 0; l < _nb_locations; l++) {
- // edge_lengths[e] = _detection_score[t][l];
- // e++;
- // if(t == _nb_time_steps) {
- // e++;
- // } else {
- // e += _nb_locations;
- // }
- // }
- // }
-// }
-
-// int Tracker::nb_trajectories() {
-// }
-
-// int Tracker::trajectory_start_time(int k) {
-// }
-
-// int Tracker::trajectory_end_time(int k) {
-// }
-
-// int Tracker::trajectory_location(int k, int time) {
-// }
+int Tracker::nb_trajectories() {
+ return _graph->nb_paths;
+}
+
+int Tracker::trajectory_duration(int k) {
+ return (_graph->paths[k]->length - 2) / 2;
+}
+
+int Tracker::trajectory_location(int k, int time) {
+ return (_graph->paths[k]->nodes[2 * time + 1] - 1) % _nb_locations;
+}