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
00029 #ifndef DISPLAY_CONTEXT_H
00030 #define DISPLAY_CONTEXT_H
00031
00032 #include <stdint.h>
00033
00034 #include <QObject>
00035 #include <QString>
00036
00037 class QKeyEvent;
00038
00039 namespace Ogre
00040 {
00041 class SceneManager;
00042 }
00043
00044 namespace ros
00045 {
00046 class CallbackQueueInterface;
00047 }
00048
00049 namespace tf
00050 {
00051 class TransformListener;
00052 }
00053
00054 namespace rviz
00055 {
00056
00057 class DisplayFactory;
00058 class FrameManager;
00059 class RenderPanel;
00060 class SelectionManager;
00061 class ViewportMouseEvent;
00062 class WindowManagerInterface;
00063
00071 class DisplayContext: public QObject
00072 {
00073 Q_OBJECT
00074 public:
00076 virtual Ogre::SceneManager* getSceneManager() const = 0;
00077
00079 virtual WindowManagerInterface* getWindowManager() const = 0;
00080
00082 virtual SelectionManager* getSelectionManager() const = 0;
00083
00085 virtual FrameManager* getFrameManager() const = 0;
00086
00088 virtual tf::TransformListener* getTFClient() const = 0;
00089
00091 virtual QString getFixedFrame() const = 0;
00092
00094 virtual QString getTargetFrame() const = 0;
00095
00101 virtual uint64_t getFrameCount() const = 0;
00102
00104 virtual DisplayFactory* getDisplayFactory() const = 0;
00105
00107 virtual ros::CallbackQueueInterface* getUpdateQueue() = 0;
00108
00110 virtual ros::CallbackQueueInterface* getThreadedQueue() = 0;
00111
00113 virtual void handleChar( QKeyEvent* event, RenderPanel* panel ) = 0;
00114
00116 virtual void handleMouseEvent( const ViewportMouseEvent& event ) = 0;
00117
00118 public Q_SLOTS:
00121 virtual void queueRender() = 0;
00122 };
00123
00124 }
00125
00126 #endif // DISPLAY_CONTEXT_H