00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00018
00019
00020
00021 #ifndef __MX_ISUPPORTSPTZCONTROL_H__
00022 #define __MX_ISUPPORTSPTZCONTROL_H__
00023
00024
00025
00026 #define MX_ISUPPORTSPTZCONTROL_ID "ISupportsPTZControl"
00027
00028 #include "IInterface.h"
00029 #include "../mx_types.h"
00030 #include "../mx_error_codes.h"
00031 #include "../mx_enum_config.h"
00032
00033 #include <mxm/core/mxmString.h>
00034 #include <mxm/core/mxmList.h>
00035
00036 #include <vector>
00037
00038 namespace mx {
00039
00040
00042
00045 class ISupportsPTZControl : virtual IInterface {
00046
00047 public:
00048
00050
00051 virtual bool isPTZSupported() = 0;
00053
00055
00056 virtual EModesPTZ mode() = 0;
00057 virtual EErrorCode setMode(EModesPTZ mode) = 0;
00058 virtual u32 supportedModes() = 0;
00060
00062
00063 virtual void stop() = 0;
00064 virtual void up( float velocity ) = 0;
00065 virtual void down( float velocity ) = 0;
00066 virtual void right( float velocity ) = 0;
00067 virtual void left( float velocity ) = 0;
00068 virtual void upleft( float velocity ) = 0;
00069 virtual void upright( float velocity ) = 0;
00070 virtual void downleft( float velocity ) = 0;
00071 virtual void downright( float velocity ) = 0;
00072 virtual void zoom( float velocity ) = 0;
00073
00074
00076
00077 virtual void pos(int &phi, int &theta ) = 0;
00078 virtual EErrorCode gotoPos(int phi, int theta ) = 0;
00079 virtual void setReferencePoint() = 0;
00081
00082
00083
00084
00085
00086 };
00087
00088
00089 };
00090
00091
00092
00093 #endif // __MX_ISUPPORTSPTZCONTROL_H__