diff --git a/include/core/processor/track_matrix.h b/include/core/processor/track_matrix.h index 2615ad411adbe9c32efea2bf543cb24657e5ed97..1d8bfb343d851a7c5890a8442d844d3bc7b44e9e 100644 --- a/include/core/processor/track_matrix.h +++ b/include/core/processor/track_matrix.h @@ -84,23 +84,23 @@ class TrackMatrix void remove (FeatureBasePtr _ftr); void remove (const SizeStd& _track_id); void remove (CaptureBasePtr _cap); - SizeStd numTracks (); - SizeStd trackSize (const SizeStd& _track_id); - Track track (const SizeStd& _track_id); - Snapshot snapshot (CaptureBasePtr _capture); + SizeStd numTracks () const; + SizeStd trackSize (const SizeStd& _track_id) const; + Track track (const SizeStd& _track_id) const; + Snapshot snapshot (CaptureBasePtr _capture) const; vector<FeatureBasePtr> - trackAsVector(const SizeStd& _track_id); + trackAsVector(const SizeStd& _track_id) const; list<FeatureBasePtr> - snapshotAsList(CaptureBasePtr _cap); - TrackMatches matches (CaptureBasePtr _cap_1, CaptureBasePtr _cap_2); - FeatureBasePtr firstFeature(const SizeStd& _track_id); - FeatureBasePtr lastFeature (const SizeStd& _track_id); - FeatureBasePtr feature (const SizeStd& _track_id, CaptureBasePtr _cap); - CaptureBasePtr firstCapture(const SizeStd& _track_id); + snapshotAsList(CaptureBasePtr _cap) const; + TrackMatches matches (CaptureBasePtr _cap_1, CaptureBasePtr _cap_2) const; + FeatureBasePtr firstFeature(const SizeStd& _track_id) const; + FeatureBasePtr lastFeature (const SizeStd& _track_id) const; + FeatureBasePtr feature (const SizeStd& _track_id, CaptureBasePtr _cap) const; + CaptureBasePtr firstCapture(const SizeStd& _track_id) const; // tracks across captures that belong to keyframe // SizeStd numKeyframeTracks(); - Track trackAtKeyframes(size_t _track_id); + Track trackAtKeyframes(size_t _track_id) const; // bool markKeyframe(CaptureBasePtr _capture); // bool unmarkKeyframe(CaptureBasePtr _capture); diff --git a/src/processor/track_matrix.cpp b/src/processor/track_matrix.cpp index 67c0b74964537f3824f13ef6d8b52050535527b9..6d7dd0f50da30dc79e3c5c9cca980bc3364a0349 100644 --- a/src/processor/track_matrix.cpp +++ b/src/processor/track_matrix.cpp @@ -22,7 +22,7 @@ TrackMatrix::~TrackMatrix() // } -Track TrackMatrix::track(const SizeStd& _track_id) +Track TrackMatrix::track(const SizeStd& _track_id) const { if (tracks_.count(_track_id) > 0) return tracks_.at(_track_id); @@ -30,7 +30,7 @@ Track TrackMatrix::track(const SizeStd& _track_id) return Track(); } -Snapshot TrackMatrix::snapshot(CaptureBasePtr _capture) +Snapshot TrackMatrix::snapshot(CaptureBasePtr _capture) const { if (_capture && snapshots_.count(_capture) > 0) return snapshots_.at(_capture); @@ -120,17 +120,17 @@ void TrackMatrix::remove(FeatureBasePtr _ftr) } } -size_t TrackMatrix::numTracks() +size_t TrackMatrix::numTracks() const { return tracks_.size(); } -size_t TrackMatrix::trackSize(const SizeStd& _track_id) +size_t TrackMatrix::trackSize(const SizeStd& _track_id) const { return track(_track_id).size(); } -FeatureBasePtr TrackMatrix::firstFeature(const SizeStd& _track_id) +FeatureBasePtr TrackMatrix::firstFeature(const SizeStd& _track_id) const { if (tracks_.count(_track_id) > 0) return tracks_.at(_track_id).begin()->second; @@ -138,7 +138,7 @@ FeatureBasePtr TrackMatrix::firstFeature(const SizeStd& _track_id) return nullptr; } -FeatureBasePtr TrackMatrix::lastFeature(const SizeStd& _track_id) +FeatureBasePtr TrackMatrix::lastFeature(const SizeStd& _track_id) const { if (tracks_.count(_track_id) > 0) return tracks_.at(_track_id).rbegin()->second; @@ -146,7 +146,7 @@ FeatureBasePtr TrackMatrix::lastFeature(const SizeStd& _track_id) return nullptr; } -vector<FeatureBasePtr> TrackMatrix::trackAsVector(const SizeStd& _track_id) +vector<FeatureBasePtr> TrackMatrix::trackAsVector(const SizeStd& _track_id) const { vector<FeatureBasePtr> vec; if (tracks_.count(_track_id)) @@ -158,7 +158,7 @@ vector<FeatureBasePtr> TrackMatrix::trackAsVector(const SizeStd& _track_id) return vec; } -std::list<FeatureBasePtr> TrackMatrix::snapshotAsList(CaptureBasePtr _cap) +std::list<FeatureBasePtr> TrackMatrix::snapshotAsList(CaptureBasePtr _cap) const { std::list<FeatureBasePtr> lst; if (snapshots_.count(_cap)) @@ -167,7 +167,7 @@ std::list<FeatureBasePtr> TrackMatrix::snapshotAsList(CaptureBasePtr _cap) return lst; } -TrackMatches TrackMatrix::matches(CaptureBasePtr _cap_1, CaptureBasePtr _cap_2) +TrackMatches TrackMatrix::matches(CaptureBasePtr _cap_1, CaptureBasePtr _cap_2) const { TrackMatches pairs; @@ -191,7 +191,7 @@ TrackMatches TrackMatrix::matches(CaptureBasePtr _cap_1, CaptureBasePtr _cap_2) return pairs; } -FeatureBasePtr TrackMatrix::feature(const SizeStd& _track_id, CaptureBasePtr _cap) +FeatureBasePtr TrackMatrix::feature(const SizeStd& _track_id, CaptureBasePtr _cap) const { if (snapshot(_cap).count(_track_id)) return snapshot(_cap).at(_track_id); @@ -199,12 +199,12 @@ FeatureBasePtr TrackMatrix::feature(const SizeStd& _track_id, CaptureBasePtr _ca return nullptr; } -CaptureBasePtr TrackMatrix::firstCapture(const SizeStd& _track_id) +CaptureBasePtr TrackMatrix::firstCapture(const SizeStd& _track_id) const { return firstFeature(_track_id)->getCapture(); } -Track TrackMatrix::trackAtKeyframes(size_t _track_id) +Track TrackMatrix::trackAtKeyframes(size_t _track_id) const { // We assemble a track_kf on the fly by checking each capture's frame. if (tracks_.count(_track_id))