SemanticObject.h
Go to the documentation of this file.
00001 /*
00002  * ObjectTest.h
00003  *
00004  *  Created on: Apr 27, 2011
00005  *      Author: sdries
00006  */
00007 
00008 #ifndef MHT_SEMANTICOBJECT_H_
00009 #define MHT_SEMANTICOBJECT_H_
00010 
00011 #include "wire/core/PropertySet.h"
00012 #include <list>
00013 
00014 namespace mhf {
00015 
00016 class ClassModel;
00017 class Evidence;
00018 class Assignment;
00019 class Hypothesis;
00020 
00021 class SemanticObject : public PropertySet {
00022 
00023 public:
00024 
00025     static int N_SEMANTICOBJECT;
00026 
00027     std::list<SemanticObject*>::iterator it_obj_storage_;
00028 
00029     SemanticObject(long ID);
00030 
00031     SemanticObject(const SemanticObject& orig);
00032 
00033     virtual ~SemanticObject();
00034 
00035     void init(const Evidence& z);
00036 
00037     void update(const Evidence& z);
00038 
00039     SemanticObject* clone() const;
00040 
00041     double getLastUpdateTime() const;
00042 
00043     double getTimestamp() const;
00044 
00045     const ClassModel& getExpectedObjectModel() const;
00046 
00047     double getLikelihood(const PropertySet& ev) const;
00048 
00049     void addPotentialAssignment(const Evidence& ev, double probability);
00050 
00051     ObjectID getID() const;
00052 
00053     void addToHypothesis(Hypothesis* hyp);
00054 
00055     void removeFromHypothesis(Hypothesis* hyp);
00056 
00057     unsigned int getNumParentHypotheses() const;
00058 
00059 protected:
00060 
00061     ObjectID ID_;
00062 
00063     std::string expected_class_;
00064 
00065     std::set<Hypothesis*> parent_hypotheses_;
00066 
00067 };
00068 
00069 }
00070 
00071 #endif /* SEMANTICOBJECT_H_ */


wire_core
Author(s): Sjoerd van den Dries, Jos Elfring
autogenerated on Tue Jan 7 2014 11:43:19