Jafar
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
descriptorAbstract.hpp
Go to the documentation of this file.
00001 
00009 #ifndef DESCRIPTORABSTRACT_H_
00010 #define DESCRIPTORABSTRACT_H_
00011 
00012 #include <boost/smart_ptr.hpp>
00013 
00014 #include "jmath/jblas.hpp"
00015 #include "image/oimstream.hpp"
00016 
00017 #include "rtslam/rtSlam.hpp"
00018 //#include "rtslam/appearanceAbstract.hpp"
00019 #include "rtslam/appearanceImage.hpp"
00020 
00021 namespace jafar {
00022 
00023   namespace rtslam {
00024 
00025     class DescriptorAbstract {
00026       
00027       
00028       public:
00029 
00030         DescriptorAbstract();
00031         virtual ~DescriptorAbstract();
00032 
00036         virtual bool addObservation(const observation_ptr_t & obsPtr) = 0;
00040         virtual bool predictAppearance(const observation_ptr_t & obsPtr) = 0;
00046         virtual bool isPredictionValid(const observation_ptr_t & obsPtr) = 0;
00047         
00048         virtual std::string categoryName() const {
00049           return "DESCRIPTOR";
00050         }
00051 
00052         virtual void desc_text(std::ostream& os) const {}
00053         virtual void desc_image(image::oimstream& os) const {}
00054 
00055     };
00056 
00057     
00058     std::ostream& operator <<(std::ostream & s, DescriptorAbstract const & desc);
00059     image::oimstream& operator <<(image::oimstream & s, DescriptorAbstract const & desc);
00060     
00061     
00062     class DescriptorFactoryAbstract
00063     {
00064       public:
00065         virtual DescriptorAbstract *createDescriptor() = 0;
00066     };
00067     
00068   }
00069 }
00070 
00071 #endif /* DESCRIPTORABSTRACT_H_ */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on Wed Oct 15 2014 00:37:26 for Jafar by doxygen 1.7.6.1
LAAS-CNRS