SonyVID30.hh
Go to the documentation of this file.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 #ifndef SONYVID30_HH
00028 #define SONYVID30_HH
00029
00030 #include "Body.hh"
00031 #include "Model.hh"
00032
00033
00034 class Camera;
00035 class FrustrumGeom;
00036 class HingeJoint;
00037
00038
00039 class SonyVID30 : public Model
00040 {
00041
00042 public: SonyVID30( World *world );
00043 public: virtual ~SonyVID30();
00044
00045
00046 public: virtual int Load( WorldFile *file, WorldFileNode *node );
00047
00048
00049 public: virtual int Init( WorldFile *file, WorldFileNode *node );
00050
00051
00052 public: virtual int Fini();
00053
00054
00055 public: virtual void Update( double step );
00056
00057
00058 private: int OdeLoad( WorldFile *file, WorldFileNode *node );
00059
00060
00061 private: void PutPtzData();
00062 private: void PutCameraData();
00063 private: void GetPtzCmd();
00064
00065
00066 private: Body *body;
00067 private: Body *middle;
00068 private: Body *head;
00069 private: Geom *bodyGeoms[8];
00070 private: Geom *lensGeom;
00071 private: HingeJoint *panJoint;
00072 private: HingeJoint *tiltJoint;
00073
00074
00075 private: FrustrumGeom *frustrum;
00076
00077
00078 private: gz_camera_t *cameraIface;
00079 private: gz_ptz_t *ptzIface;
00080
00081
00082 private: double hfov;
00083
00084
00085 private: double zoomMin, zoomMax;
00086
00087
00088 private: double motionGain, zoomGain;
00089
00090
00091 private: double cmdPan, cmdTilt, cmdZoom;
00092
00093
00094 private: double zoom;
00095
00096
00097 private: Camera *camera;
00098
00099
00100 private: double ptzUpdatePeriod;
00101 private: double ptzUpdateTime;
00102
00103
00104 private: double cameraUpdatePeriod;
00105 private: double cameraUpdateTime;
00106 };
00107
00108 #endif
00109
Last updated 12 September 2005 21:38:45
|