Home || Visual Search || Applications || Architecture || Important Messages || OGL || Src

Quids.h

Go to the documentation of this file.
00001 #ifndef Impala_Basis_Quids_h
00002 #define Impala_Basis_Quids_h
00003 
00004 #include "Basis/String.h"
00005 #include "Basis/Quid.h"
00006 
00007 namespace Impala
00008 {
00009 
00010 
00011 static const int QUID_CLASS_UNKNOWN  = 0;
00012 static const int QUID_CLASS_SHOT     = 1;
00013 static const int QUID_CLASS_KEYFRAME = 2;
00014 static const int QUID_CLASS_FRAME    = 3;
00015 static const int QUID_CLASS_LABEL    = 4;
00016 static const int QUID_CLASS_IMAGE    = 5;
00017 static const int QUID_CLASS_VIDEO    = 6;
00018 static const int QUID_CLASS_CODEBOOK = 7;
00019 static const int QUID_CLASS_BOX      = 8;
00020 
00021 
00022 inline int
00023 StringToQuidClass(CString s)
00024 {
00025     if (s == "Shot")
00026         return QUID_CLASS_SHOT;
00027     if (s == "Keyframe")
00028         return QUID_CLASS_KEYFRAME;
00029     if (s == "Frame")
00030         return QUID_CLASS_FRAME;
00031     if (s == "Label")
00032         return QUID_CLASS_LABEL;
00033     if (s == "Image")
00034         return QUID_CLASS_IMAGE;
00035     if (s == "Video")
00036         return QUID_CLASS_VIDEO;
00037     if (s == "Codebook")
00038         return QUID_CLASS_CODEBOOK;
00039     if (s == "Box")
00040         return QUID_CLASS_BOX;
00041     return QUID_CLASS_UNKNOWN;
00042 }
00043 
00044 inline String
00045 QuidClassToString(int c)
00046 {
00047     switch (c)
00048     {
00049     case QUID_CLASS_SHOT:     return "Shot";
00050     case QUID_CLASS_KEYFRAME: return "Keyframe";
00051     case QUID_CLASS_FRAME:    return "Frame";
00052     case QUID_CLASS_LABEL:    return "Label";
00053     case QUID_CLASS_IMAGE:    return "Image";
00054     case QUID_CLASS_VIDEO:    return "Video";
00055     case QUID_CLASS_CODEBOOK: return "Codebook";
00056     case QUID_CLASS_BOX:      return "Box";
00057     }
00058     return "unknown";
00059 }
00060 
00061 inline String
00062 QuidClassToString(Quid q)
00063 {
00064     int c = QuidClass(q);
00065     return QuidClassToString(c);
00066 }
00067 
00068 inline Quid
00069 MakeQuidShot(int qSet, int qObject, int id)
00070 {
00071     return (((Quid) QUID_CLASS_SHOT) << QUID_CLASS_SHIFT) |
00072         (((Quid) qSet) << QUID_SET_SHIFT) |
00073         (((Quid) qObject) << QUID_OBJECT_SHIFT) |
00074         (((Quid) id) << QUID_ID_SHIFT);
00075 }
00076 
00077 inline Quid
00078 MakeQuidKeyframe(int qSet, int qObject, int id)
00079 {
00080     return (((Quid) QUID_CLASS_KEYFRAME) << QUID_CLASS_SHIFT) |
00081         (((Quid) qSet) << QUID_SET_SHIFT) |
00082         (((Quid) qObject) << QUID_OBJECT_SHIFT) |
00083         (((Quid) id) << QUID_ID_SHIFT);
00084 }
00085 
00086 inline Quid
00087 MakeQuidFrame(int qSet, int qObject, int id)
00088 {
00089     return (((Quid) QUID_CLASS_FRAME) << QUID_CLASS_SHIFT) |
00090         (((Quid) qSet) << QUID_SET_SHIFT) |
00091         (((Quid) qObject) << QUID_OBJECT_SHIFT) |
00092         (((Quid) id) << QUID_ID_SHIFT);
00093 }
00094 
00095 inline Quid
00096 MakeQuidLabel(int id)
00097 {
00098     return (((Quid) QUID_CLASS_LABEL) << QUID_CLASS_SHIFT) |
00099         (((Quid) id) << QUID_ID_SHIFT);
00100 }
00101 
00102 inline Quid
00103 MakeQuidImage(int qSet, int id)
00104 {
00105     return (((Quid) QUID_CLASS_IMAGE) << QUID_CLASS_SHIFT) |
00106         (((Quid) qSet) << QUID_SET_SHIFT) |
00107         (((Quid) id) << QUID_ID_SHIFT);
00108 }
00109 
00110 inline Quid
00111 MakeQuidVideo(int qSet, int id)
00112 {
00113     return (((Quid) QUID_CLASS_VIDEO) << QUID_CLASS_SHIFT) |
00114         (((Quid) qSet) << QUID_SET_SHIFT) |
00115         (((Quid) id) << QUID_ID_SHIFT);
00116 }
00117 
00118 inline Quid
00119 MakeQuidCodebook(int qDataClass, int qSet, int id)
00120 {
00121     return (((Quid) QUID_CLASS_CODEBOOK) << QUID_CLASS_SHIFT) |
00122         (((Quid) qDataClass) << QUID_SET_SHIFT) |
00123         (((Quid) qSet) << QUID_OBJECT_SHIFT) |
00124         (((Quid) id) << QUID_ID_SHIFT);
00125 }
00126 
00127 } // namespace Impala
00128 
00129 #endif

Generated on Thu Jan 13 09:03:59 2011 for ImpalaSrc by  doxygen 1.5.1