diff include/Motion.hpp @ 192:38974d27dd2d

connected_components is working with listS for vertex list
author Nicolas Saunier <nicolas.saunier@polymtl.ca>
date Mon, 12 Dec 2011 02:05:26 -0500
parents 0e60a306d324
children 09c7881073f3
line wrap: on
line diff
--- a/include/Motion.hpp	Thu Dec 08 18:32:35 2011 -0500
+++ b/include/Motion.hpp	Mon Dec 12 02:05:26 2011 -0500
@@ -45,7 +45,7 @@
   bool isMotionSmooth(const int& accelerationBound, const int& deviationBound) const;
 
   /// computes the distance according to the Beymer et al. algorithm
-  bool minMaxSimilarity(const FeatureTrajectory& ft, const int& firstInstant, const int& lastInstant, float connectionDistance, float segmentationDistance);
+  bool minMaxSimilarity(const FeatureTrajectory& ft, const int& firstInstant, const int& lastInstant, const float& connectionDistance, const float& segmentationDistance);
 
   void addPoint(const int& frameNum, const cv::Point2f& p, const cv::Mat& homography);
 
@@ -101,14 +101,14 @@
   
   struct VertexInformation {
     FeatureTrajectoryPtr feature;
+    int index;
   };
 
-  typedef boost::adjacency_list<boost::listS, boost::vecS, boost::undirectedS, VertexInformation, FeatureConnection> UndirectedGraph;
+  typedef boost::adjacency_list<boost::listS, boost::listS, boost::undirectedS, VertexInformation, FeatureConnection> UndirectedGraph;
 
 public:
   typedef UndirectedGraph::vertex_descriptor vertex_descriptor;
 
-  //FeatureGraph(float _minDistance, float _maxDistance) : minDistance (_minDistance), maxDistance(_maxDistance) {}
   FeatureGraph(float _connectionDistance, float _segmentationDistance, unsigned int _minFeatureTime, float _minNFeaturesPerGroup) : connectionDistance (_connectionDistance), segmentationDistance(_segmentationDistance), minFeatureTime(_minFeatureTime), minNFeaturesPerGroup(_minNFeaturesPerGroup) {}
 
   void addFeature(const FeatureTrajectoryPtr& ft);
@@ -135,6 +135,8 @@
   // float maxDistance;
 
   UndirectedGraph graph;
+  
+  void computeVertexIndex(void);
 
   //std::vector<UndirectedGraph::vertex_descriptor> currentVertices, lostVertices;
 };