17 #ifndef GAZEBO_GUI_GLWIDGET_HH_ 
   18 #define GAZEBO_GUI_GLWIDGET_HH_ 
   38     class GLWidgetPrivate;
 
   53       public: 
explicit GLWidget(QWidget *_parent = 0);
 
   75       public: std::vector<rendering::VisualPtr> SelectedVisuals() 
const;
 
   77       signals: 
void clicked();
 
   81       signals: 
void selectionMsgReceived(
const QString &_name);
 
   83       protected: 
virtual void moveEvent(QMoveEvent *_e);
 
   84       protected: 
virtual void paintEvent(QPaintEvent *_e);
 
   85       protected: 
virtual void resizeEvent(QResizeEvent *_e);
 
   91       protected: 
virtual void showEvent(QShowEvent *_e);
 
   93       protected: 
virtual void enterEvent(QEvent *_event);
 
   96       protected: 
void keyPressEvent(QKeyEvent *_event);
 
   97       protected: 
void keyReleaseEvent(QKeyEvent *_event);
 
   98       protected: 
void wheelEvent(QWheelEvent *_event);
 
   99       protected: 
void mousePressEvent(QMouseEvent *_event);
 
  100       protected: 
void mouseDoubleClickEvent(QMouseEvent *_event);
 
  101       protected: 
void mouseMoveEvent(QMouseEvent *_event);
 
  102       protected: 
void mouseReleaseEvent(QMouseEvent *_event);
 
  107       protected: 
virtual QPaintEngine *paintEngine() 
const;
 
  109       private: std::string OgreHandle() 
const;
 
  117       private: 
void OnMouseMoveNormal();
 
  120       private: 
void OnMouseMoveMakeEntity();
 
  128       private: 
void OnMouseReleaseNormal();
 
  131       private: 
void OnMouseReleaseMakeEntity();
 
  139       private: 
void OnMousePressNormal();
 
  142       private: 
void OnMousePressMakeEntity();
 
  149       private: 
void OnRequest(ConstRequestPtr &_msg);
 
  150       private: 
void OnCreateScene(
const std::string &_name);
 
  151       private: 
void OnRemoveScene(
const std::string &_name);
 
  152       private: 
void OnMoveMode(
bool _mode);
 
  153       private: 
void OnCreateEntity(
const std::string &_type,
 
  154                                    const std::string &_data);
 
  156       private: 
void OnFPS();
 
  157       private: 
void OnOrbit();
 
  158       private: 
void OnManipMode(
const std::string &_mode);
 
  160       private: 
void OnSetSelectedEntity(
const std::string &_name,
 
  161                                         const std::string &_mode);
 
  163       private: 
bool eventFilter(QObject *_obj, QEvent *_event);
 
  165       private: 
void ClearSelection();
 
  172       private: 
void DeselectAllVisuals();
 
  181       private: 
void OnAlignMode(
const std::string &_axis,
 
  182           const std::string &_config, 
const std::string &_target,
 
  183           const bool _preview, 
const bool _inverted = 
false);
 
  187       private: 
void Copy(
const std::string &_name);
 
  191       private: 
void Paste(
const std::string &_name);
 
  194       private slots: 
void OnCopy();
 
  197       private slots: 
void OnPaste();
 
  201       private slots: 
void OnModelEditor(
bool _checked);
 
  204       private slots: 
void OnOrtho();
 
  207       private slots: 
void OnPerspective();
 
  214       private: 
void SetMouseEventButton(
const Qt::MouseButton &_button);
 
  221       private: 
void SetMouseEventButtons(
const Qt::MouseButtons &_buttons);
 
  225       private: std::unique_ptr<GLWidgetPrivate> dataPtr;
 
Generic description of a mouse event. 
Definition: MouseEvent.hh:35
boost::shared_ptr< UserCamera > UserCameraPtr
Definition: RenderTypes.hh:94
boost::shared_ptr< Scene > ScenePtr
Definition: RenderTypes.hh:82
std::shared_ptr< Visual > VisualPtr
Definition: RenderTypes.hh:114