17#ifndef GAZEBO_GUI_APPLYWRENCHDIALOG_HH_
18#define GAZEBO_GUI_APPLYWRENCHDIALOG_HH_
22#include <ignition/math/Vector3.hh>
31 class ApplyWrenchDialogPrivate;
66 public:
void Init(
const std::string &_modelName,
67 const std::string &_linkName);
79 private:
bool SetModel(
const std::string &_modelName);
84 private:
bool SetLink(
const std::string &_linkName);
88 private slots:
void SetLink(
const QString _linkName);
91 private slots:
void OnApplyAll();
94 private slots:
void OnApplyForce();
97 private slots:
void OnApplyTorque();
100 private slots:
void OnCancel();
104 private slots:
void ToggleComRadio(
bool _checked);
108 private slots:
void OnForcePosChanged(
double _value);
112 private slots:
void OnForceMagChanged(
double _magnitude);
116 private slots:
void OnForceChanged(
double _value);
119 private slots:
void OnForceClear();
123 private slots:
void OnTorqueMagChanged(
double _magnitude);
127 private slots:
void OnTorqueChanged(
double _value);
130 private slots:
void OnTorqueClear();
133 private slots:
void OnManipulation();
139 private slots:
bool eventFilter(QObject *_object, QEvent *_event);
143 private slots:
void changeEvent(QEvent *_event);
149 private:
void SetSpinValue(QDoubleSpinBox *_spin,
const double _value);
153 private:
void SetForcePos(
const ignition::math::Vector3d &_forcePos);
158 private:
void SetForce(
const ignition::math::Vector3d &_force,
159 const bool _rotatedByMouse =
false);
164 private:
void SetTorque(
const ignition::math::Vector3d &_torque,
165 const bool _rotatedByMouse =
false);
169 private:
void OnPreRender();
172 private:
void AttachVisuals();
176 private:
void SetCoM(
const ignition::math::Vector3d &_com);
195 private:
void SetMode(
Mode _mode);
200 private:
void NewForceDirection(
const ignition::math::Vector3d &_dir);
205 private:
void NewTorqueDirection(
const ignition::math::Vector3d &_dir);
210 private:
void SetActive(
bool _active);
213 private:
void ActivateWindow();
217 private: std::unique_ptr<ApplyWrenchDialogPrivate> dataPtr;
gui
Definition KeyEventHandler.hh:29
Generic description of a mouse event.
Definition MouseEvent.hh:36
Dialog for applying force and torque to a model.
Definition ApplyWrenchDialog.hh:39
void Fini()
Finish the dialog.
Mode
Definition ApplyWrenchDialog.hh:45
@ FORCE
Force.
Definition ApplyWrenchDialog.hh:49
@ TORQUE
Torque.
Definition ApplyWrenchDialog.hh:51
@ NONE
None.
Definition ApplyWrenchDialog.hh:47
void Init(const std::string &_modelName, const std::string &_linkName)
Initiate the dialog.
Mode GetMode() const
Get the mode, either force, torque or none.
ApplyWrenchDialog(QWidget *_parent=0)
Constructor.
~ApplyWrenchDialog()
Destructor.
Forward declarations for the common classes.
Definition Animation.hh:27