From 4613bfd0724a28f3d1436fb29f79c2adbe325090 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Tue, 14 Jul 2026 02:19:29 +0200 Subject: [PATCH] fixed connector mismatch after breaking it after fixing it last time --- src/connector.cpp | 5 ++++- src/graph-manager.cpp | 7 +++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/connector.cpp b/src/connector.cpp index 075d1ef..9b69584 100644 --- a/src/connector.cpp +++ b/src/connector.cpp @@ -1,6 +1,7 @@ #include "connector.h" #include "helper.h" +#include "node.h" #include "raymath.h" #include "state.h" @@ -50,13 +51,14 @@ namespace VISEQ::GRAPH { position_text = center_position.orbitAlongVector(SCREEN_MOUSE, orbit+10); } if(!partner.expired()) { - position = center_position .orbitAlongVector(partner.lock()->position, orbit); + position = center_position.orbitAlongVector(partner.lock()->position, orbit); position_text = center_position.orbitAlongVector(partner.lock()->position, orbit+10); } if(new_partner) { new_partner = false; state->pushEvent({getPtr(), APP::Interaction::CONNECT}); } + //parent_position = std::dynamic_pointer_cast(parent.lock())->position; } void Connector::draw() { @@ -65,6 +67,7 @@ namespace VISEQ::GRAPH { float rotation = 0.0f; if(partner.expired()) rotation = HELPER::GetRotation(parent_position, SCREEN_MOUSE) + 90.0f; + if(!partner.expired()) { rotation = HELPER::GetRotation(parent_position, partner.lock()->position) + 90.0f; opacity = 1.0f; diff --git a/src/graph-manager.cpp b/src/graph-manager.cpp index bff4b04..1389e56 100644 --- a/src/graph-manager.cpp +++ b/src/graph-manager.cpp @@ -64,6 +64,9 @@ namespace VISEQ::GRAPH{ edges.back()->edgeType = et; edges.back()->start = from; edges.back()->end = to; + + from.lock()->update(); + to.lock()->update(); from.lock()->connectors.back()->partner = to.lock()->getConnector(); to.lock()->connectors.back()->partner = from.lock()->getConnector(); @@ -412,13 +415,13 @@ namespace VISEQ::GRAPH{ c->pass_forward ? TEXTURES::tex_blocker_open : TEXTURES::tex_blocker_closed, c->pass_forward ? TEXTURES::tex_blocker_open_hover : TEXTURES::tex_blocker_closed_hover, c->pass_forward ? TEXTURES::tex_blocker_open_pressed : TEXTURES::tex_blocker_closed_pressed, - ColorLerp(Fade(VS_COLOR_WHITE, .0f), Fade(VS_COLOR_WHITE, 1.0f), opacity_from_normalized))) c->pass_forward = !c->pass_forward; + ColorLerp(Fade(VS_COLOR_WHITE, .0f), Fade(VS_COLOR_WHITE, 1.0f), 1.0))) c->pass_forward = !c->pass_forward; if(ViTexButton(mouse_pos, to_from_handle, HELPER::GetRotation(to_from_handle, from_to_handle) + 90.0f, 8.0f, c->pass_backward ? TEXTURES::tex_blocker_open : TEXTURES::tex_blocker_closed, c->pass_backward ? TEXTURES::tex_blocker_open_hover : TEXTURES::tex_blocker_closed_hover, c->pass_backward ? TEXTURES::tex_blocker_open_pressed : TEXTURES::tex_blocker_closed_pressed, - ColorLerp(Fade(VS_COLOR_WHITE, .0f), Fade(VS_COLOR_WHITE, 1.0f), opacity_to_normalized))) c->pass_backward = !c->pass_backward; + ColorLerp(Fade(VS_COLOR_WHITE, .0f), Fade(VS_COLOR_WHITE, 1.0f), 1.0))) c->pass_backward = !c->pass_backward; if(ViTexButton(mouse_pos, split_position, HELPER::GetRotation(from_to_handle, to_from_handle) + 90.0f, 8.0f, TEXTURES::tex_split, TEXTURES::tex_split_hover, TEXTURES::tex_split_pressed, ColorLerp(Fade(VS_COLOR_WHITE, .0f), Fade(VS_COLOR_WHITE, 1.0f), opacity_normalized) )) splitEdge(c);