From aa7ff25decb259acf1c0f233990d9dfddf14a4d9 Mon Sep 17 00:00:00 2001 From: Tim Redfern Date: Sat, 20 Jan 2018 18:01:49 +0000 Subject: transform vectors before masking --- drawing/src/lineSegmenter.h | 3 +++ drawing/src/ofApp.cpp | 31 ++++++++++++++++++++++++++++++- drawing/src/ofApp.h | 2 ++ 3 files changed, 35 insertions(+), 1 deletion(-) diff --git a/drawing/src/lineSegmenter.h b/drawing/src/lineSegmenter.h index 5b2aab3..d858ba2 100644 --- a/drawing/src/lineSegmenter.h +++ b/drawing/src/lineSegmenter.h @@ -11,6 +11,9 @@ class lineSegmenter{ } } const vector &getSegments(int num,float coverage, float phase); + ofPolyline getPoly(){ + return line; + } void draw(); int size(); private: diff --git a/drawing/src/ofApp.cpp b/drawing/src/ofApp.cpp index 28bca20..70a9f00 100644 --- a/drawing/src/ofApp.cpp +++ b/drawing/src/ofApp.cpp @@ -7,7 +7,7 @@ vector cmdnames={"moveTo","lineTo","curveTo","bezierTo","quadBezier //-------------------------------------------------------------- void ofApp::setup(){ ofxSVG svg; - svg.load("haring.svg"); + svg.load("bars.svg"); vector paths= svg.getPaths(); for (int i=0;i shapes; + ofMatrix4x4 rm = ofMatrix4x4::newIdentityMatrix(); + rm.translate(-600,-450,0); + rm.rotateRad(ofGetElapsedTimef(),0,0,1); + rm.translate(600,450,0); + for (auto& segment:segmenters){ + shapes.push_back(polyLineTransform(segment.getPoly(),rm)); + } + clipper.addPolylines(shapes,ClipperLib::ptSubject); + vector clipped = clipper.getClippedLines(ClipperLib::ctIntersection); + for (auto& clip: clipped) + { + clip.draw(); + segmentsdrawn++; + pointsdrawn+=clip.size(); + } + break; + } + case 4:{ int w=ofRandom(1000); segmenters[w%segmenters.size()].draw(); segmentsdrawn=1; diff --git a/drawing/src/ofApp.h b/drawing/src/ofApp.h index ae4c1a3..c63533a 100644 --- a/drawing/src/ofApp.h +++ b/drawing/src/ofApp.h @@ -32,6 +32,8 @@ class ofApp : public ofBaseApp{ void dragEvent(ofDragInfo dragInfo); void gotMessage(ofMessage msg); + ofPolyline polyLineTransform(const ofPolyline& poly, ofMatrix4x4 xform); + vector segmenters; vector mask; -- cgit v1.2.3