Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008 #ifndef REALCAMERA_HPP_
00009 #define REALCAMERA_HPP_
00010
00011 #include <list>
00012 #include <boost/shared_ptr.hpp>
00013 #include <opencv2/core/core.hpp>
00014 #include <sensor_msgs/Image.h>
00015
00016 #include "common_defs.hpp"
00017 #include "Camera.hpp"
00018
00019
00020 namespace virtual_camera {
00021
00022
00030 class RealCamera: public Camera {
00031 public:
00036 static const int NOT_VISIBLE = -1;
00037
00038
00039 virtual ~RealCamera() { }
00040
00041
00046 virtual bool isReady() = 0;
00047
00048
00053 virtual void setCameraInfo(const sensor_msgs::CameraInfoConstPtr & camInfo) = 0;
00054
00055
00059 virtual sensor_msgs::CameraInfoConstPtr getCameraInfo() = 0;
00060
00061
00066 virtual void updateImage(const sensor_msgs::ImageConstPtr & image) = 0;
00067
00068
00076 virtual void setPointsCache(std::string frame, const TableV3Ptr & points) = 0;
00077
00078
00083 virtual bool validateCache() = 0;
00084
00085
00089 virtual sensor_msgs::ImageConstPtr getImage() = 0;
00090
00091
00099 virtual TableP2ConstPtr getCachedPositions() = 0;
00100
00101
00109 virtual float getWeight(int row, int col) = 0;
00110 };
00111
00112
00113 typedef boost::shared_ptr<RealCamera> RealCameraPtr;
00114 typedef boost::shared_ptr<std::list<RealCameraPtr> > RealCameraPtrListPtr;
00115 }
00116
00117
00118 #endif