diff options
| author | Tim Redfern <tim@getdrop.com> | 2018-02-03 11:41:22 +0000 |
|---|---|---|
| committer | Tim Redfern <tim@getdrop.com> | 2018-02-03 11:41:22 +0000 |
| commit | 4154f89b1ebff83228f51252de6b93a49fc6ed96 (patch) | |
| tree | eb19eadfaa8e3a79feb54b2c3a4995b9eec489e9 /gui/src/ofApp.cpp | |
| parent | 022563c4bdc832b1177ed12ef0bac7f85912db95 (diff) | |
warping positioning interface working
Diffstat (limited to 'gui/src/ofApp.cpp')
| -rw-r--r-- | gui/src/ofApp.cpp | 31 |
1 files changed, 29 insertions, 2 deletions
diff --git a/gui/src/ofApp.cpp b/gui/src/ofApp.cpp index 3b24b43..fb179e9 100644 --- a/gui/src/ofApp.cpp +++ b/gui/src/ofApp.cpp @@ -412,12 +412,39 @@ void ofApp::drawOutput(ofEventArgs & args){ } } + glm::vec2 src[]={ + glm::vec2(0,0), + glm::vec2(ofGetWidth(),0), + glm::vec2(ofGetWidth(),ofGetHeight()), + glm::vec2(0,ofGetHeight()) + }; + + glm::vec2 mp=glm::vec2(outputWindowSize.x/2,outputWindowSize.y/2); + + glm::vec2 scaled_dest[]={ + ((warpframe[0]-mp)*outputScale*outputOffsetScale)+mp, + ((warpframe[1]-mp)*outputScale*outputOffsetScale)+mp, + ((warpframe[2]-mp)*outputScale*outputOffsetScale)+mp, + ((warpframe[3]-mp)*outputScale*outputOffsetScale)+mp + }; + + ofMatrix4x4 scaled_warp =lineTransformer::getPerspectiveTransformMatrix(src,scaled_dest); + ofMatrix4x4 warp =lineTransformer::getPerspectiveTransformMatrix(src,warpframe); + + vector <colourPolyline> warpedOutput; + vector <colourPolyline> scaledWarpedOutput; + + for (auto s:laserOutput){ + warpedOutput.push_back(lineTransformer::polyLineTransform(warp,s)); + scaledWarpedOutput.push_back(lineTransformer::polyLineTransform(scaled_warp,s)); + } + int num = 0; if (laserOutput.size()){ - num=laser.draw(laserOutput); + num=laser.draw(scaledWarpedOutput); - for (auto& shape:laserOutput){ + for (auto& shape:warpedOutput){ shape.draw(); } } |
