Exemple #1
0
//--------------------------------------------------------------
void ofxClipper::SimplifyPolyline(ofPolyline &in_poly, 
                     ofxPolylines  &out_polys) {
    ClipperLib::Polygon in;
    ClipperLib::Polygons out;
    in = ofPolyline_to_Polygon(in_poly);
    ClipperLib::SimplifyPolygon(in,out);
    polygons_to_ofxPolylines(out,out_polys);
}
Exemple #2
0
//--------------------------------------------------------------
void ofxClipper::SimplifyPolyline(ofPolyline &in_poly, 
                     ofxPolylines  &out_polys,
                     ofPolyWindingMode windingMode) {
    ClipperLib::Polygon in;
    ClipperLib::Polygons out;
    in = ofPolyline_to_Polygon(in_poly);
    ClipperLib::SimplifyPolygon(in,out, convertWindingMode(windingMode));
    polygons_to_ofxPolylines(out,out_polys);
}
Exemple #3
0
//--------------------------------------------------------------
bool ofxClipper::addRectangle(ofRectangle& rectangle, 
                              ofxClipperPolyType clipperType) {
    
    ofPolyline r;
    r.addVertex(ofPoint(rectangle.x,rectangle.y));
    r.addVertex(ofPoint(rectangle.x+rectangle.width,rectangle.y));
    r.addVertex(ofPoint(rectangle.x+rectangle.width,rectangle.y+rectangle.height));
    r.addVertex(ofPoint(rectangle.x,rectangle.y+rectangle.height));
    r.close();

    ClipperLib::Polygon out = ofPolyline_to_Polygon(r);
    AddPolygon(out,(ClipperLib::PolyType)clipperType);
}
Exemple #4
0
//--------------------------------------------------------------
bool ofxClipper::addPolyline(ofPolyline& polyline, 
                             ofxClipperPolyType clipperType) {
    ClipperLib::Polygon out = ofPolyline_to_Polygon(polyline);
    AddPolygon(out,(ClipperLib::PolyType)clipperType);
}
Exemple #5
0
//--------------------------------------------------------------
void ofxClipper::ReversePolyline(ofPolyline& poly) {
    ClipperLib::Polygon in;
    in = ofPolyline_to_Polygon(poly);
    ClipperLib::ReversePoints(in);
    poly = polygon_to_ofPolyline(in);
}
Exemple #6
0
//--------------------------------------------------------------
double ofxClipper::Area(ofPolyline &poly) {
    return ClipperLib::Area(ofPolyline_to_Polygon(poly));
}
Exemple #7
0
// utility functions
//--------------------------------------------------------------
bool ofxClipper::Orientation(ofPolyline &poly) {
    return ClipperLib::Orientation(ofPolyline_to_Polygon(poly));
}
Exemple #8
0
//--------------------------------------------------------------
void ofxClipper::ofxPolylines_to_Polygons(ofxPolylines& polylines,ClipperLib::Polygons& polygons) {
    vector<ofPolyline>::iterator iter;
    for(iter = polylines.begin(); iter != polylines.end(); iter++) {
        polygons.push_back(ofPolyline_to_Polygon((*iter)));
    }
}