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);
74 public: Mode GetMode()
const;
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;
Generic description of a mouse event.
Definition: MouseEvent.hh:35
Mode
Definition: ApplyWrenchDialog.hh:44
Dialog for applying force and torque to a model.
Definition: ApplyWrenchDialog.hh:38
GAZEBO_VISIBLE void Init(google::protobuf::Message &_message, const std::string &_id="")
Initialize a message.