Go to the documentation of this file.00001 #ifndef _H_TRACKINGSTATES_H_
00002 #define _H_TRACKINGSTATES_H_
00003
00004 #include <ostream>
00005
00006 namespace Tracking{
00007
00008 enum quality_state{
00009 ST_OK,
00010 ST_OCCLUDED,
00011 ST_LOST,
00012 ST_LOCKED,
00013 };
00014
00015 enum confidence_state{
00016 ST_GOOD,
00017 ST_FAIR,
00018 ST_BAD,
00019 };
00020
00021 enum movement_state{
00022 ST_FAST,
00023 ST_SLOW,
00024 ST_STILL,
00025 };
00026
00027
00028 inline std::ostream & operator<<(std::ostream & out, const Tracking::quality_state & st)
00029 {
00030 switch(st)
00031 {
00032 case Tracking::ST_OK:
00033 out << "OK"; break;
00034 case Tracking::ST_OCCLUDED:
00035 out << "OCCLUDED"; break;
00036 case Tracking::ST_LOST:
00037 out << "LOST"; break;
00038 case Tracking::ST_LOCKED:
00039 out << "LOCKED"; break;
00040 default:
00041 out << "UNIMPLEMENTED"; break;
00042 }
00043 return out;
00044 }
00045
00046 inline std::ostream & operator<<(std::ostream & out, const Tracking::confidence_state & st)
00047 {
00048 switch(st)
00049 {
00050 case Tracking::ST_GOOD:
00051 out << "GOOD"; break;
00052 case Tracking::ST_FAIR:
00053 out << "FAIR"; break;
00054 case Tracking::ST_BAD:
00055 out << "BAD"; break;
00056 default:
00057 out << "UNIMPLEMENTED"; break;
00058 }
00059 return out;
00060 }
00061
00062 inline std::ostream & operator<<(std::ostream & out, const Tracking::movement_state & st)
00063 {
00064 switch(st)
00065 {
00066 case Tracking::ST_FAST:
00067 out << "FAST"; break;
00068 case Tracking::ST_SLOW:
00069 out << "SLOW"; break;
00070 case Tracking::ST_STILL:
00071 out << "STILL"; break;
00072 default:
00073 out << "UNIMPLEMENTED"; break;
00074 }
00075 return out;
00076 }
00077
00078 }
00079
00080 #endif