17 #ifndef _GL_WIDGET_HH_
18 #define _GL_WIDGET_HH_
25 #include <boost/thread/mutex.hpp>
65 public:
GLWidget(QWidget *_parent = 0);
81 public: std::vector<rendering::VisualPtr> SelectedVisuals()
const;
83 signals:
void clicked();
87 signals:
void selectionMsgReceived(
const QString &_name);
89 protected:
virtual void moveEvent(QMoveEvent *_e);
90 protected:
virtual void paintEvent(QPaintEvent *_e);
91 protected:
virtual void resizeEvent(QResizeEvent *_e);
97 protected:
virtual void showEvent(QShowEvent *_e);
99 protected:
virtual void enterEvent(QEvent * event);
102 protected:
void keyPressEvent(QKeyEvent *_event);
103 protected:
void keyReleaseEvent(QKeyEvent *_event);
104 protected:
void wheelEvent(QWheelEvent *_event);
105 protected:
void mousePressEvent(QMouseEvent *_event);
106 protected:
void mouseDoubleClickEvent(QMouseEvent *_event);
107 protected:
void mouseMoveEvent(QMouseEvent *_event);
108 protected:
void mouseReleaseEvent(QMouseEvent *_event);
113 protected:
virtual QPaintEngine *paintEngine()
const;
115 private: std::string GetOgreHandle()
const;
123 private:
void OnMouseMoveNormal();
126 private:
void OnMouseMoveMakeEntity();
134 private:
void OnMouseReleaseNormal();
137 private:
void OnMouseReleaseMakeEntity();
145 private:
void OnMousePressNormal();
148 private:
void OnMousePressMakeEntity();
155 private:
void OnRequest(ConstRequestPtr &_msg);
156 private:
void OnCreateScene(
const std::string &_name);
157 private:
void OnRemoveScene(
const std::string &_name);
158 private:
void OnMoveMode(
bool _mode);
159 private:
void OnCreateEntity(
const std::string &_type,
160 const std::string &_data);
162 private:
void OnFPS();
163 private:
void OnOrbit();
164 private:
void OnManipMode(
const std::string &_mode);
166 private:
void OnSetSelectedEntity(
const std::string &_name,
167 const std::string &_mode);
169 private:
bool eventFilter(QObject *_obj, QEvent *_event);
171 private:
void ClearSelection();
173 private:
void PushHistory(
const std::string &_visName,
175 private:
void PopHistory();
182 private:
void DeselectAllVisuals();
190 private:
void OnAlignMode(
const std::string &_axis,
191 const std::string &_config,
const std::string &_target,
196 private:
void Copy(
const std::string &_name);
200 private:
void Paste(
const std::string &_name);
203 private slots:
void OnCopy();
206 private slots:
void OnPaste();
210 private slots:
void OnModelEditor(
bool _checked);
213 private slots:
void OnOrtho();
216 private slots:
void OnPerspective();
223 private:
void SetMouseEventButton(
const Qt::MouseButton &_button);
230 private:
void SetMouseEventButtons(
const Qt::MouseButtons &_buttons);
232 private:
int windowId;
236 private: QFrame *renderFrame;
242 private: std::vector<event::ConnectionPtr> connections;
258 private: std::vector<rendering::VisualPtr> selectedVisuals;
261 private: SelectionLevels selectionLevel;
271 private: std::string keyText;
272 private: Qt::KeyboardModifiers keyModifiers;
273 private: QPoint onShiftMousePos;
275 private: std::string copiedObject;
277 private: std::string state;
279 private: std::list<std::pair<std::string, math::Pose> > moveHistory;
282 private: std::string copyEntityName;
285 private:
bool modelEditorEnabled;
288 private: boost::mutex selectedVisMutex;
Generic description of a mouse event.
Definition: MouseEvent.hh:35
Encapsulates a position and rotation in three space.
Definition: Pose.hh:37
Definition: LightMaker.hh:35
boost::shared_ptr< Subscriber > SubscriberPtr
Definition: TransportTypes.hh:53
Definition: LightMaker.hh:80
Definition: ModelMaker.hh:36
Definition: MeshMaker.hh:33
Generic description of a keyboard event.
Definition: KeyEvent.hh:32
Definition: SphereMaker.hh:35
Forward declarations for transport.
to make a box
Definition: BoxMaker.hh:41
to make a cylinder
Definition: CylinderMaker.hh:39
Definition: LightMaker.hh:70
to make an entity base class
Definition: EntityMaker.hh:41
Definition: LightMaker.hh:96
boost::shared_ptr< Node > NodePtr
Definition: TransportTypes.hh:57
boost::shared_ptr< Scene > ScenePtr
Definition: RenderTypes.hh:79
boost::shared_ptr< Visual > VisualPtr
Definition: RenderTypes.hh:107
boost::shared_ptr< UserCamera > UserCameraPtr
Definition: RenderTypes.hh:91
boost::shared_ptr< Publisher > PublisherPtr
Definition: TransportTypes.hh:49
#define GAZEBO_VISIBLE
Use to represent "symbol visible" if supported.
Definition: system.hh:66