00001
00002
00003 #ifndef _JAFAR_SLAMSEG_IMAGE_SEGMENT_MANAGER_HPP_
00004 #define _JAFAR_SLAMSEG_IMAGE_SEGMENT_MANAGER_HPP_
00005
00006 #include <jafarConfig.h>
00007
00008 #include <slam/segmentFeature.hpp>
00009
00010 namespace jafar {
00011 namespace datareader {
00012 class StereoReader;
00013 }
00014 namespace dseg3d {
00015 class DirectSegments3DTracker;
00016 }
00017 namespace slam {
00018 class BaseSlam;
00019 }
00020 namespace slamseg {
00026 #ifdef HAVE_STEREOPIXEL
00027 class ImageSegmentManager {
00028 public:
00029 ImageSegmentManager( slam::BaseSlam& _slam, dseg3d::DirectSegments3DTracker* _tracker, jafar::datareader::StereoReader* _stereoReader,
00030 slam::Observation::ObservationType type_ = slam::Observation::SEGMENT_IMAGE );
00031 ~ImageSegmentManager();
00032 void processFrame(unsigned int frameIndex_,unsigned int robotId_ = 0, unsigned int stereoSensorId_ = 0, unsigned int leftSensorId_ = 1, unsigned int rightSensorId_ = 2);
00033 private:
00034 slam::BaseSlam& m_slam;
00035 dseg3d::DirectSegments3DTracker* m_tracker;
00036 jafar::datareader::StereoReader* m_stereoReader;
00037 slam::Observation::ObservationType m_observationType;
00038 };
00039 #endif
00040 }
00041 }
00042
00043 #endif