Mercurial > hg > nsaunier > traffic-intelligence
comparison include/Motion.hpp @ 654:045d05cef9d0
updating to c++11 capabilities
| author | Nicolas Saunier <nicolas.saunier@polymtl.ca> |
|---|---|
| date | Thu, 07 May 2015 16:09:47 +0200 |
| parents | b6ad86ee7033 |
| children | 17e54690af8a 8ac7f61c6e4f |
comparison
equal
deleted
inserted
replaced
| 653:107f1ad02b69 | 654:045d05cef9d0 |
|---|---|
| 1 #ifndef MOTION_HPP | 1 #ifndef MOTION_HPP |
| 2 #define MOTION_HPP | 2 #define MOTION_HPP |
| 3 | 3 |
| 4 #include "src/Trajectory.h" | 4 #include "src/Trajectory.h" |
| 5 #include <boost/shared_ptr.hpp> | |
| 6 #include <boost/graph/adjacency_list.hpp> | 5 #include <boost/graph/adjacency_list.hpp> |
| 7 | 6 |
| 8 | 7 |
| 9 template<typename T> class TrajectoryDBAccess; | 8 template<typename T> class TrajectoryDBAccess; |
| 10 template<typename T> class TrajectoryDBAccessList; | |
| 11 | 9 |
| 12 typedef boost::shared_ptr<TrajectoryPoint2f> TrajectoryPoint2fPtr; | 10 typedef std::shared_ptr<TrajectoryPoint2f> TrajectoryPoint2fPtr; |
| 13 | 11 |
| 14 /** Class for feature data | 12 /** Class for feature data |
| 15 positions, velocities and other statistics to evaluate their quality | 13 positions, velocities and other statistics to evaluate their quality |
| 16 before saving. */ | 14 before saving. */ |
| 17 class FeatureTrajectory | 15 class FeatureTrajectory |
| 21 | 19 |
| 22 FeatureTrajectory(TrajectoryPoint2fPtr& _positions, TrajectoryPoint2fPtr& _velocities); | 20 FeatureTrajectory(TrajectoryPoint2fPtr& _positions, TrajectoryPoint2fPtr& _velocities); |
| 23 | 21 |
| 24 /** loads from database | 22 /** loads from database |
| 25 can be made generic for different list and blob */ | 23 can be made generic for different list and blob */ |
| 26 FeatureTrajectory(const int& id, TrajectoryDBAccessList<cv::Point2f>& trajectoryDB, const std::string& positionsTableName, const std::string& velocitiesTableName); | 24 FeatureTrajectory(const int& id, TrajectoryDBAccess<cv::Point2f>& trajectoryDB, const std::string& positionsTableName, const std::string& velocitiesTableName); |
| 27 | 25 |
| 28 unsigned int length(void) const { return positions->size();} // cautious if not continuous: max-min+1 | 26 unsigned int length(void) const { return positions->size();} // cautious if not continuous: max-min+1 |
| 29 | 27 |
| 30 unsigned int getId(void) const { return positions->getId();} | 28 unsigned int getId(void) const { return positions->getId();} |
| 31 void setId(const unsigned int& id) { positions->setId(id);velocities->setId(id);} | 29 void setId(const unsigned int& id) { positions->setId(id);velocities->setId(id);} |
| 74 std::vector<float> displacementDistances; | 72 std::vector<float> displacementDistances; |
| 75 | 73 |
| 76 void computeMotionData(const int& frameNum); | 74 void computeMotionData(const int& frameNum); |
| 77 }; | 75 }; |
| 78 | 76 |
| 79 typedef boost::shared_ptr<FeatureTrajectory> FeatureTrajectoryPtr; | 77 typedef std::shared_ptr<FeatureTrajectory> FeatureTrajectoryPtr; |
| 80 | 78 |
| 81 // inlined | 79 // inlined |
| 82 inline std::ostream& operator<<(std::ostream& out, const FeatureTrajectory& ft) | 80 inline std::ostream& operator<<(std::ostream& out, const FeatureTrajectory& ft) |
| 83 { | 81 { |
| 84 out << *(ft.positions); | 82 out << *(ft.positions); |
