diff c/Motion.cpp @ 138:c1b260b48d2a

corrected initialization bugs and feature shortening before saving
author Nicolas Saunier <nicolas.saunier@polymtl.ca>
date Fri, 19 Aug 2011 12:15:23 -0400
parents 445e773c9be3
children 47329bd16cc0
line wrap: on
line diff
--- a/c/Motion.cpp	Fri Aug 19 01:35:45 2011 -0400
+++ b/c/Motion.cpp	Fri Aug 19 12:15:23 2011 -0400
@@ -12,14 +12,14 @@
   addPoint(frameNum, p);
 }
 
-bool FeatureTrajectory::largeDisplacement(const unsigned int& nDisplacements, const float& minTotalFeatureDisplacement) const {
-  bool result = true;
+bool FeatureTrajectory::smallDisplacement(const unsigned int& nDisplacements, const float& minTotalFeatureDisplacement) const {
+  bool result = false;
   unsigned int nPositions = positions.size();
   if (nPositions > nDisplacements) {
     float disp = 0;
     for (unsigned int i=0; i<nDisplacements; i++)
       disp += displacementDistances[nPositions-2-i];
-    result = disp > minTotalFeatureDisplacement;
+    result = disp < minTotalFeatureDisplacement;
   }
   return result;
 }
@@ -29,6 +29,12 @@
   computeMotionData(frameNum);
 }
 
+void FeatureTrajectory::shorten(void) { 
+  positions.pop_back(); 
+  velocities.pop_back(); 
+  displacementDistances.pop_back();
+}
+
 void FeatureTrajectory::write(TrajectoryDBAccess<Point2f>& trajectoryDB) const {
   /// \todo save velocities
   trajectoryDB.write(positions);