#include "lineClipper.h" vector lineClipper::mask( vector shapes, ofRectangle frame, bool invert ) { vector output; ofx::Clipper clipper; clipper.Clear(); clipper.addRectangle(frame, ClipperLib::ptClip, true); vector polys; //TODO make clipper clip colourpolylines for (auto& shape: shapes) polys.push_back(shape); clipper.addPolylines(polys,ClipperLib::ptSubject); vector 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; }