From 073d4053b32f63ff6f422283a807966a2bd23cf2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20=C5=A0toura=C4=8D?= <525032@mail.muni.cz> Date: Sat, 18 May 2024 14:28:46 +0200 Subject: [PATCH] fix mutual orientation to be the same as rofi-tool --- src/edit/src/editor.cpp | 6 ++---- src/rofi/src/connector.cpp | 5 +---- 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/src/edit/src/editor.cpp b/src/edit/src/editor.cpp index 3eb5925..9388074 100644 --- a/src/edit/src/editor.cpp +++ b/src/edit/src/editor.cpp @@ -2680,11 +2680,9 @@ void Editor::teleportModulesByConnectors(const connector_ptr source_connector, c const auto oriented_angle = glm::orientedAngle(source_north, destination_north, destination_facing); source_parent->rotateRotationQuat(glm::angleAxis(oriented_angle, destination_facing)); + // Rotate to selected cardinality - // Have to use -radians because cardinality is from destination to source and this needs to rotate the source to the destination - auto orientation = source_is_head || destination_is_head - ? glm::radians(rofi::cardinal_to_degree(selected_cardinality)) - : -glm::radians(rofi::cardinal_to_degree(selected_cardinality)); + auto orientation = glm::radians(rofi::cardinal_to_degree(selected_cardinality)); source_parent->rotateRotationQuat(glm::angleAxis(orientation, destination_facing)); diff --git a/src/rofi/src/connector.cpp b/src/rofi/src/connector.cpp index cf6d6c3..b863f9f 100644 --- a/src/rofi/src/connector.cpp +++ b/src/rofi/src/connector.cpp @@ -94,10 +94,7 @@ cardinal Connector::get_mutual_orientation(connector_ptr source_connector, conne auto oriented_angle = glm::degrees(glm::orientedAngle(destination_north, source_north, - source_connector->getNode()->getRotationAxisZWorld())); - - if (source_is_head || destination_is_head) - oriented_angle = -oriented_angle; + destination_connector->getNode()->getRotationAxisZWorld())); return degree_to_cardinal(oriented_angle); } -- GitLab