From 4637492e2a31c78f9109941638171d05e4007c4c Mon Sep 17 00:00:00 2001 From: Tim Redfern Date: Thu, 31 Aug 2017 16:27:24 +0100 Subject: link rotation working --- gui/src/chainImage.cpp | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) (limited to 'gui/src/chainImage.cpp') diff --git a/gui/src/chainImage.cpp b/gui/src/chainImage.cpp index 83363db..e2ee598 100644 --- a/gui/src/chainImage.cpp +++ b/gui/src/chainImage.cpp @@ -20,13 +20,20 @@ void chainImage::start(){ setUseTexture(true); scale=linkScale; + //where there is rotation of the link, the path needs to be rotated? + path.clear(); path.addVertex(linkPos); //path.addVertex(linkPos+(link->linkPos*linkScale)); + + ofPoint rotated_destination=ofPoint( + (link->linkPos.x*cos(linkRot*(PI/180)))-(link->linkPos.y*sin(linkRot*(PI/180))), + (link->linkPos.y*cos(linkRot*(PI/180)))+(link->linkPos.x*sin(linkRot*(PI/180))) + ); - ofPoint destination=linkPos+(link->linkPos*linkScale); - ofPoint previous=linkPos+(link->linkPos*linkScale*(1.0f-BEZIER_IN)); + ofPoint destination=linkPos+(rotated_destination*linkScale); + ofPoint previous=linkPos+(rotated_destination*linkScale*(1.0f-BEZIER_IN)); path.bezierTo( linkPos.x*(1.0f+BEZIER_OUT),linkPos.y*(1.0f+BEZIER_OUT), @@ -85,7 +92,7 @@ float chainImage::getRotation(){ //when we switch image, link->linkRot becomes linkRot //linkRot is no longer seen - return linkRot+(transition*link->linkRot); + return linkRot+(transition*link->linkRot); //linkRot+ }; void chainImage::makeThumbnail(){ thumbnail=(const ofImage)*this; //copy the ofImage itself @@ -108,6 +115,10 @@ void chainImage::makeThumbnail(){ void chainImage::drawChain(float fadeIn){ + //printf("Drawing chain transition: %f\n",transition); + //we are correctly geting to 1 + //the transformw don't quite add up? + glPushMatrix(); ofDisableAlphaBlending(); -- cgit v1.2.3