projects
/
mtp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Update, seems to work!
[mtp.git]
/
tracker.cc
diff --git
a/tracker.cc
b/tracker.cc
index
4b7375f
..
c90ed44
100644
(file)
--- a/
tracker.cc
+++ b/
tracker.cc
@@
-35,13
+35,11
@@
Tracker::Tracker(int nb_time_steps, int nb_locations) {
_edge_lengths = 0;
_graph = 0;
_edge_lengths = 0;
_graph = 0;
- _edge_occupation = 0;
}
Tracker::~Tracker() {
delete[] _edge_lengths;
delete _graph;
}
Tracker::~Tracker() {
delete[] _edge_lengths;
delete _graph;
- delete[] _edge_occupation;
deallocate_array<scalar_t>(_detection_score);
deallocate_array<int>(_allowed_motion);
}
deallocate_array<scalar_t>(_detection_score);
deallocate_array<int>(_allowed_motion);
}
@@
-58,8
+56,7
@@
void Tracker::build_graph() {
// Delete existing graph
delete[] _edge_lengths;
// Delete existing graph
delete[] _edge_lengths;
- delete[] _graph;
- delete[] _edge_occupation;
+ delete _graph;
int nb_motions = 0;
for(int l = 0; l < _nb_locations; l++) {
int nb_motions = 0;
for(int l = 0; l < _nb_locations; l++) {
@@
-79,7
+76,6
@@
void Tracker::build_graph() {
int e = 0;
_edge_lengths = new scalar_t[nb_edges];
int e = 0;
_edge_lengths = new scalar_t[nb_edges];
- _edge_occupation = new int[nb_edges];
// We put the in-node edges first, since these are the ones whose
// lengths we will have to change according to the detection score
// We put the in-node edges first, since these are the ones whose
// lengths we will have to change according to the detection score
@@
-138,8
+134,8
@@
void Tracker::track() {
}
}
}
}
- _graph->find_best_paths(_edge_lengths
, _edge_occupation
);
- _graph->retrieve_paths();
+ _graph->find_best_paths(_edge_lengths);
+ _graph->retrieve_
disjoint_
paths();
for(int p = 0; p < _graph->nb_paths; p++) {
Path *path = _graph->paths[p];
for(int p = 0; p < _graph->nb_paths; p++) {
Path *path = _graph->paths[p];
@@
-152,17
+148,14
@@
void Tracker::track() {
// _graph->print_dot();
}
// _graph->print_dot();
}
-// void Tracker::track() {
-// }
-
-// int Tracker::nb_trajectories() {
-// }
-
-// int Tracker::trajectory_start_time(int k) {
-// }
+int Tracker::nb_trajectories() {
+ return _graph->nb_paths;
+}
-// int Tracker::trajectory_end_time(int k) {
-// }
+int Tracker::trajectory_duration(int k) {
+ return (_graph->paths[k]->length - 2) / 2;
+}
-// int Tracker::trajectory_location(int k, int time) {
-// }
+int Tracker::trajectory_location(int k, int time) {
+ return (_graph->paths[k]->nodes[2 * time + 1] - 1) % _nb_locations;
+}