JointMakerPrivate.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 
18 #ifndef _GAZEBO_GUI_JOINTMAKER_PRIVATE_HH_
19 #define _GAZEBO_GUI_JOINTMAKER_PRIVATE_HH_
20 
21 #include <map>
22 #include <string>
23 #include <vector>
24 
25 #include <ignition/math/Pose3.hh>
26 #include <sdf/sdf.hh>
27 
29 
30 #include "gazebo/gui/qt.h"
32 
34 
35 namespace gazebo
36 {
37  namespace gui
38  {
39  class JointCreationDialog;
40 
43  {
46 
49 
51  public: std::string inspectName;
52 
54  public: std::map<std::string, JointData *> joints;
55 
57  public: JointData *newJoint;
58 
60  public: std::vector<event::ConnectionPtr> connections;
61 
63  public: sdf::ElementPtr modelSDF;
64 
66  public: int jointCounter;
67 
69  public: QAction *inspectAct;
70 
72  public: std::recursive_mutex updateMutex;
73 
75  public: std::vector<rendering::VisualPtr> selectedJoints;
76 
78  public: std::vector<std::string> scopedLinkedNames;
79 
82  public: std::map<std::string, std::string> linkList;
83 
86 
89  public: ignition::math::Pose3d parentLinkOriginalPose;
90 
93  public: ignition::math::Pose3d childLinkOriginalPose;
94  };
95  }
96 }
97 #endif
std::string inspectName
Name of joint that is currently being inspected.
Definition: JointMakerPrivate.hh:51
std::map< std::string, JointData * > joints
All joints created by joint maker.
Definition: JointMakerPrivate.hh:54
JointData * newJoint
Joint currently being created.
Definition: JointMakerPrivate.hh:57
std::vector< std::string > scopedLinkedNames
A list of scoped link names.
Definition: JointMakerPrivate.hh:78
std::shared_ptr< Visual > VisualPtr
Definition: RenderTypes.hh:112
A class to inspect and modify joints.
Definition: JointCreationDialog.hh:41
QAction * inspectAct
Qt action for opening the joint inspector.
Definition: JointMakerPrivate.hh:69
ignition::math::Pose3d childLinkOriginalPose
Pose of link currently selected to be the child of the joint being created, before being selected...
Definition: JointMakerPrivate.hh:93
Private data for the JointMaker class.
Definition: JointMakerPrivate.hh:42
JointType
Definition: JointMaker.hh:83
std::vector< event::ConnectionPtr > connections
All the event connections.
Definition: JointMakerPrivate.hh:60
JointCreationDialog * jointCreationDialog
Dialog for creating a new joint.
Definition: JointMakerPrivate.hh:85
std::vector< rendering::VisualPtr > selectedJoints
A list of selected link visuals.
Definition: JointMakerPrivate.hh:75
JointMaker::JointType jointType
Type of joint to create.
Definition: JointMakerPrivate.hh:45
std::recursive_mutex updateMutex
Mutex to protect the list of joints.
Definition: JointMakerPrivate.hh:72
int jointCounter
Counter for the number of joints in the model.
Definition: JointMakerPrivate.hh:66
sdf::ElementPtr modelSDF
The SDF element pointer to the model that contains the joints.
Definition: JointMakerPrivate.hh:63
std::map< std::string, std::string > linkList
List of all links currently in the editor.
Definition: JointMakerPrivate.hh:82
ignition::math::Pose3d parentLinkOriginalPose
Pose of link currently selected to be the parent of the joint being created, before being selected...
Definition: JointMakerPrivate.hh:89
rendering::VisualPtr hoverVis
Visual that is currently hovered over by the mouse.
Definition: JointMakerPrivate.hh:48
Helper class to store joint data.
Definition: JointMaker.hh:422