From 197684c36bcb3520f57ad9b169997eed9870dec8 Mon Sep 17 00:00:00 2001 From: Ian Chen Date: Thu, 5 Jan 2023 15:17:04 -0800 Subject: [PATCH 1/2] minor optimization to transform control Signed-off-by: Ian Chen --- .../transform_control/TransformControl.cc | 25 ++++++++++++------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/src/gui/plugins/transform_control/TransformControl.cc b/src/gui/plugins/transform_control/TransformControl.cc index b2cb21bbc4..2e055225a7 100644 --- a/src/gui/plugins/transform_control/TransformControl.cc +++ b/src/gui/plugins/transform_control/TransformControl.cc @@ -54,6 +54,9 @@ namespace ignition::gazebo /// \brief Perform transformations in the render thread. public: void HandleTransform(); + /// \brief Handle mouse events + public: void HandleMouseEvents(); + /// \brief Snaps a point at intervals of a fixed distance. Currently used /// to give a snapping behavior when moving models with a mouse. /// \param[in] _point Input point to snap. @@ -575,9 +578,22 @@ void TransformControlPrivate::HandleTransform() // update gizmo visual this->transformControl.Update(); + this->HandleMouseEvents(); + + ignition::gui::events::BlockOrbit blockOrbitEvent(this->blockOrbit); + ignition::gui::App()->sendEvent( + ignition::gui::App()->findChild(), + &blockOrbitEvent); +} + + +///////////////////////////////////////////////// +void TransformControlPrivate::HandleMouseEvents() +{ // check for mouse events if (!this->mouseDirty) return; + this->mouseDirty = false; // handle mouse movements if (this->mouseEvent.Button() == ignition::common::MouseEvent::LEFT) @@ -615,7 +631,6 @@ void TransformControlPrivate::HandleTransform() // It's ok to get here } } - this->mouseDirty = false; } else { @@ -682,7 +697,6 @@ void TransformControlPrivate::HandleTransform() } this->transformControl.Stop(); - this->mouseDirty = false; } // Select entity else if (!this->mouseEvent.Dragging()) @@ -753,7 +767,6 @@ void TransformControlPrivate::HandleTransform() } } - this->mouseDirty = false; return; } } @@ -912,13 +925,7 @@ void TransformControlPrivate::HandleTransform() } this->transformControl.Scale(scale); } - this->mouseDirty = false; } - - ignition::gui::events::BlockOrbit blockOrbitEvent(this->blockOrbit); - ignition::gui::App()->sendEvent( - ignition::gui::App()->findChild(), - &blockOrbitEvent); } ///////////////////////////////////////////////// From 50422fd1b9d28be817b390ccd4c6fdb8da878d94 Mon Sep 17 00:00:00 2001 From: Ian Chen Date: Thu, 5 Jan 2023 15:18:57 -0800 Subject: [PATCH 2/2] remove line Signed-off-by: Ian Chen --- src/gui/plugins/transform_control/TransformControl.cc | 1 - 1 file changed, 1 deletion(-) diff --git a/src/gui/plugins/transform_control/TransformControl.cc b/src/gui/plugins/transform_control/TransformControl.cc index 2e055225a7..5ad3c39ad6 100644 --- a/src/gui/plugins/transform_control/TransformControl.cc +++ b/src/gui/plugins/transform_control/TransformControl.cc @@ -586,7 +586,6 @@ void TransformControlPrivate::HandleTransform() &blockOrbitEvent); } - ///////////////////////////////////////////////// void TransformControlPrivate::HandleMouseEvents() {