Generic_PTZ.hh
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef GENERIC_PTZ_HH
00029 #define GENERIC_PTZ_HH
00030
00031 #include "Controller.hh"
00032
00033 namespace gazebo
00034 {
00035 class HingeJoint;
00036 class PTZIface;
00037
00040
00059
00060
00061
00062 class Generic_PTZ : public Controller
00063 {
00066 public: Generic_PTZ(Entity *parent);
00067
00069 public: virtual ~Generic_PTZ();
00070
00073 protected: virtual void LoadChild(XMLConfigNode *node);
00074
00076 protected: virtual void InitChild();
00077
00079 protected: virtual void UpdateChild(UpdateParams ¶ms);
00080
00082 protected: virtual void FiniChild();
00083
00085 protected: virtual void ResetChild();
00086
00088 private: void PutPTZData();
00089
00091 private: PTZIface *ptzIface;
00092
00094 private: Model *myParent;
00095
00097 private: HingeJoint *panJoint;
00098
00100 private: HingeJoint *tiltJoint;
00101
00102 private: float motionGain;
00103 private: float force;
00104 private: float cmdTilt;
00105 private: float cmdPan;
00106 };
00107
00109
00110
00111 }
00112
00113 #endif
00114