sensorfw
|
00001 00027 #ifndef SCREENINTERPRETERFILTER_H 00028 #define SCREENINTERPRETERFILTER_H 00029 00030 #include "filter.h" 00031 #include "posedata.h" 00032 00033 #include <ContextProvider> 00034 00047 class ScreenInterpreterFilter : public QObject, public Filter<PoseData, ScreenInterpreterFilter, PoseData> 00048 { 00049 Q_OBJECT 00050 00051 public: 00052 ScreenInterpreterFilter(ContextProvider::Property* topEdgeProperty, ContextProvider::Property* isCoveredProperty, ContextProvider::Property* isFlatProperty); 00053 00054 private: 00055 ContextProvider::Property* topEdgeProperty; 00056 ContextProvider::Property* isCoveredProperty; 00057 ContextProvider::Property* isFlatProperty; 00058 void interpret(unsigned, const PoseData* data); 00059 void provideScreenData(PoseData::Orientation orientation); 00060 00061 const float threshold; 00062 bool isCovered; 00063 bool isFlat; 00064 PoseData::Orientation lastOrientation; 00065 QString topEdge; 00066 int offset; 00067 static const char* orientationValues[4]; 00068 }; 00069 00070 #endif