00001
00002
00003 #ifndef _SLAMSEG_SLAM_PREDICTOR_HPP_
00004 #define _SLAMSEG_SLAM_PREDICTOR_HPP_
00005
00006 #include <dseg/StaticPredictor.hpp>
00007
00008 namespace jafar {
00009 namespace slam {
00010 class SlamEkf;
00011 class StereoImagePluckerFeatureObserveModel;
00012 }
00013 namespace slamseg {
00014 template<class _TModel_, class _TFeature_>
00015 class SlamPredictor : public dseg::Predictor {
00016 public:
00017 SlamPredictor( slam::SlamEkf* _slam, _TModel_& _model, unsigned int _robotId = 0, slam::BaseSlam* _mainSlam = 0 );
00018 virtual ~SlamPredictor( );
00019 virtual dseg::SegmentHypothesis* predictionFor( const dseg::SegmentHypothesis* ) const;
00020 void setSlamEkf( slam::SlamEkf* _slam );
00021 private:
00022 slam::SlamEkf* m_slam;
00023 _TModel_& m_obsModel;
00024 unsigned int m_robotId;
00025 slam::BaseSlam* m_mainSlam;
00026 dseg::StaticPredictor m_saticPredictor;
00027 };
00028 }
00029 }
00030
00031 #include "SlamPredictor.tpp"
00032
00033 #endif