18 #ifndef _JOINTMAKER_HH_
19 #define _JOINTMAKER_HH_
23 #include <boost/unordered/unordered_map.hpp>
42 class recursive_mutex;
93 public:
void EnableEventHandlers();
96 public:
void DisableEventHandlers();
100 public:
void AddJoint(
const std::string &_type);
104 public:
void AddJoint(JointType _type);
115 public:
void CreateHotSpot(
JointData *_joint);
118 public:
void Update();
122 public:
void RemoveJoint(
const std::string &_jointName);
126 public:
void RemoveJointsByPart(
const std::string &_partName);
129 public:
void GenerateSDF();
132 public: sdf::ElementPtr GetSDF()
const;
153 public:
unsigned int GetJointCount();
188 private:
void OpenInspector(
const std::string &_name);
191 Q_SIGNALS:
void JointAdded();
194 private slots:
void OnOpenInspector();
197 private: std::vector<math::Vector3> UnitVectors;
215 private: boost::unordered_map<std::string, JointData *> joints;
221 private: std::vector<event::ConnectionPtr> connections;
224 private:
bool newJointCreated;
227 private: boost::unordered_map<JointMaker::JointType, std::string>
231 private: sdf::ElementPtr modelSDF;
234 private:
int jointCounter;
237 private: QAction *inspectAct;
240 private: boost::recursive_mutex *updateMutex;
282 public:
double lowerLimit[2];
285 public:
double upperLimit[2];
298 private slots:
void OnApply();
math::Pose pose
Joint pose.
Definition: JointMaker.hh:288
Class for drawing lines that can change.
Definition: DynamicLines.hh:43
Generic description of a mouse event.
Definition: MouseEvent.hh:32
Encapsulates a position and rotation in three space.
Definition: Pose.hh:40
The Vector3 class represents the generic vector containing 3 elements.
Definition: Vector3.hh:43
rendering::VisualPtr child
Child visual the joint is connected to.
Definition: JointMaker.hh:267
bool dirty
True if the joint visual needs update.
Definition: JointMaker.hh:291
Generic description of a keyboard event.
Definition: KeyEvent.hh:32
Fixed joint.
Definition: JointMaker.hh:68
std::string name
Name of the joint.
Definition: JointMaker.hh:255
JointMaker::JointType type
Type of joint.
Definition: JointMaker.hh:276
JointInspector * inspector
Inspector for configuring joint properties.
Definition: JointMaker.hh:294
rendering::VisualPtr parent
Parent visual the joint is connected to.
Definition: JointMaker.hh:264
Joint visualization.
Definition: JointMaker.hh:57
JointType
Definition: JointMaker.hh:63
Ogre::BillboardSet * handles
Visual handle used to represent joint parent.
Definition: JointMaker.hh:273
Hinge2 joint.
Definition: JointMaker.hh:74
Screw joint.
Definition: JointMaker.hh:76
A class to inspect and modify joints.
Definition: JointInspector.hh:37
rendering::DynamicLines * line
Visual line used to represent joint connecting parent and child.
Definition: JointMaker.hh:270
Slider joint.
Definition: JointMaker.hh:70
boost::shared_ptr< Visual > VisualPtr
Definition: RenderTypes.hh:102
rendering::VisualPtr visual
Visual of the dynamic line.
Definition: JointMaker.hh:258
Universal joint.
Definition: JointMaker.hh:78
Hinge joint.
Definition: JointMaker.hh:72
#define GAZEBO_VISIBLE
Use to represent "symbol visible" if supported.
Definition: system.hh:48
rendering::VisualPtr hotspot
Visual of the hotspot
Definition: JointMaker.hh:261
Helper class to store joint data.
Definition: JointMaker.hh:250
none
Definition: JointMaker.hh:66