diff options
| author | Tim Redfern <redfernt@gmail.com> | 2023-04-20 22:44:47 +0100 |
|---|---|---|
| committer | Tim Redfern <redfernt@gmail.com> | 2023-04-20 22:44:47 +0100 |
| commit | cdb92d8c8532a287b752a92f1cf0cbf88d52c117 (patch) | |
| tree | 778002c5eef99d7d4b1f3f438f0668100985c4ad /nextus/src/lineClipper.cpp | |
| parent | 4c12e758b280388426ca8070b80028031d75d054 (diff) | |
WIP trying to clip
Diffstat (limited to 'nextus/src/lineClipper.cpp')
| -rw-r--r-- | nextus/src/lineClipper.cpp | 41 |
1 files changed, 22 insertions, 19 deletions
diff --git a/nextus/src/lineClipper.cpp b/nextus/src/lineClipper.cpp index bbfa9eb..eb9c480 100644 --- a/nextus/src/lineClipper.cpp +++ b/nextus/src/lineClipper.cpp @@ -2,32 +2,35 @@ vector <colourPolyline> lineClipper::mask( vector <colourPolyline> shapes, - vector <ofPolyline> mask, + ofRectangle frame, bool invert ) { vector <colourPolyline> output; ofx::Clipper clipper; + + clipper.Clear(); + clipper.addRectangle(frame, ClipperLib::ptClip, true); + vector <ofPolyline> polys; //TODO make clipper clip colourpolylines + + for (auto& shape: shapes) polys.push_back(shape); + + clipper.addPolylines(polys,ClipperLib::ptSubject); - for (auto& shape: shapes) - { - clipper.Clear(); - clipper.addPolylines(mask, ClipperLib::ptClip); - vector <ofPolyline> polys; //TODO make clipper clip colourpolylines - shapes.push_back(shape); - clipper.addPolylines(polys,ClipperLib::ptSubject); - vector <ofPolyline> clipped; - if (invert){ - clipped = clipper.getClipped(ClipperLib::ctDifference); - }else { - clipped = clipper.getClipped(ClipperLib::ctIntersection); - } - for (auto& clip: clipped) - { - //clip.simplify(contour_simplify); - output.push_back(colourPolyline(clip,shape.getColourAt(0))); - } + vector <ofPolyline> clipped; + + if (invert){ + clipped = clipper.getClipped(ClipperLib::ctDifference); + }else { + clipped = clipper.getClipped(ClipperLib::ctIntersection); + } + + for (auto& clip: clipped) + { + //clip.simplify(contour_simplify); + output.push_back(colourPolyline(clip,shapes[0].getColourAt(0))); } + return output; }
\ No newline at end of file |
