CameraManager.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 #ifndef CAMERAMANAGER_HH
00028 #define CAMERAMANAGER_HH
00029
00030 #include <deque>
00031
00032 namespace gazebo
00033 {
00034
00035 class CameraSensor;
00036
00038 class CameraManager
00039 {
00041 private: CameraManager();
00042
00044 public: ~CameraManager();
00045
00047 public: static CameraManager *Instance();
00048
00050 public: void AddCamera( CameraSensor *camera );
00051
00053 public: unsigned int GetNumCameras() const;
00054
00058 public: CameraSensor *GetCamera(int index);
00059
00061 public: void SetActiveCamera( unsigned int index );
00062
00065 public: CameraSensor *GetActiveCamera();
00066
00068 public: void IncActiveCamera();
00069
00071 public: void DecActiveCamera();
00072
00074 private: static CameraManager *myself;
00075
00077 private: std::deque< CameraSensor* > cameras;
00078
00080 private: unsigned int activeCamera;
00081 };
00082
00083 }
00084 #endif