GLWidgetPrivate.hh
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2015-2016 Open Source Robotics Foundation
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  *
16 */
17 #ifndef _GAZEBO_GUI_GLWIDGET_PRIVATE_HH_
18 #define _GAZEBO_GUI_GLWIDGET_PRIVATE_HH_
19 
20 #include <mutex>
21 #include <string>
22 #include <vector>
23 
27 #include "gazebo/gui/qt.h"
28 #include "gazebo/gui/GLWidget.hh"
29 #include "gazebo/gui/LightMaker.hh"
30 #include "gazebo/gui/ModelMaker.hh"
31 #include "gazebo/msgs/msgs.hh"
34 
35 namespace gazebo
36 {
37  namespace gui
38  {
42  {
44  public: int windowId;
45 
48 
51 
53  public: QFrame *renderFrame;
54 
57 
60 
62  public: std::vector<event::ConnectionPtr> connections;
63 
66 
69 
72 
75 
78 
81 
83  public: std::vector<rendering::VisualPtr> selectedVisuals;
84 
87 
90 
93 
96 
98  public: std::string keyText;
99 
101  public: Qt::KeyboardModifiers keyModifiers;
102 
104  public: std::string state;
105 
107  public: std::string copyEntityName;
108 
110  public: bool modelEditorEnabled;
111 
113  public: std::mutex selectedVisMutex;
114  };
115  }
116 }
117 #endif
std::vector< event::ConnectionPtr > connections
Store multiple connections.
Definition: GLWidgetPrivate.hh:62
common::MouseEvent mouseEvent
The mouse event.
Definition: GLWidgetPrivate.hh:56
Generic description of a mouse event.
Definition: MouseEvent.hh:35
std::string state
Gazebo mode state (select, translate, scale, ...).
Definition: GLWidgetPrivate.hh:104
GLWidget::SelectionLevels selectionLevel
Indicates how deep into the model to select.
Definition: GLWidgetPrivate.hh:86
transport::PublisherPtr selectionPub
Publishes information about user selections.
Definition: GLWidgetPrivate.hh:92
Used to insert a new light into the scene.
Definition: LightMaker.hh:33
boost::shared_ptr< Subscriber > SubscriberPtr
Definition: TransportTypes.hh:53
Used to insert a new spot light into the scene.
Definition: LightMaker.hh:72
Used to insert new models into the scene.
Definition: ModelMaker.hh:34
std::vector< rendering::VisualPtr > selectedVisuals
A list of selected visuals.
Definition: GLWidgetPrivate.hh:83
Generic description of a keyboard event.
Definition: KeyEvent.hh:32
Forward declarations for transport.
rendering::ScenePtr scene
Scene pointer.
Definition: GLWidgetPrivate.hh:50
DirectionalLightMaker directionalLightMaker
Directional light maker.
Definition: GLWidgetPrivate.hh:77
transport::NodePtr node
The transport node.
Definition: GLWidgetPrivate.hh:89
std::string copyEntityName
Name of entity that is being copied.
Definition: GLWidgetPrivate.hh:107
EntityMaker * entityMaker
Pointer to the current maker.
Definition: GLWidgetPrivate.hh:65
int windowId
Window identifier.
Definition: GLWidgetPrivate.hh:44
SpotLightMaker spotLightMaker
Spot light maker.
Definition: GLWidgetPrivate.hh:74
Used to insert a new point light into the scene.
Definition: LightMaker.hh:65
ModelMaker modelMaker
Model maker.
Definition: GLWidgetPrivate.hh:68
To make an entity, base class.
Definition: EntityMaker.hh:37
common::KeyEvent keyEvent
The most recent keyboard event.
Definition: GLWidgetPrivate.hh:59
std::mutex selectedVisMutex
Mutex to protect selectedVisuals array.
Definition: GLWidgetPrivate.hh:113
PointLightMaker pointLightMaker
Point light maker.
Definition: GLWidgetPrivate.hh:71
Used to insert a new directional light into the scene.
Definition: LightMaker.hh:79
transport::SubscriberPtr requestSub
Susbcribes to the requests.
Definition: GLWidgetPrivate.hh:95
boost::shared_ptr< Node > NodePtr
Definition: TransportTypes.hh:57
bool modelEditorEnabled
True if the model editor is up, false otherwise.
Definition: GLWidgetPrivate.hh:110
boost::shared_ptr< Scene > ScenePtr
Definition: RenderTypes.hh:80
Qt::KeyboardModifiers keyModifiers
Key modifiers.
Definition: GLWidgetPrivate.hh:101
SelectionLevels
Unique identifiers for all selection levels supported.
Definition: GLWidget.hh:46
rendering::UserCameraPtr userCamera
Pointer to the user camera.
Definition: GLWidgetPrivate.hh:47
boost::shared_ptr< UserCamera > UserCameraPtr
Definition: RenderTypes.hh:92
LightMaker lightMaker
Light maker.
Definition: GLWidgetPrivate.hh:80
boost::shared_ptr< Publisher > PublisherPtr
Definition: TransportTypes.hh:49
Private data for the GLWidget class.
Definition: GLWidgetPrivate.hh:41
QFrame * renderFrame
Render frame widget.
Definition: GLWidgetPrivate.hh:53
std::string keyText
Text key.
Definition: GLWidgetPrivate.hh:98