double Polygon::area() const { ClipperLib::Polygon p; Slic3rPolygon_to_ClipperPolygon(*this, p); return ClipperLib::Area(p); }
bool Polygon::is_counter_clockwise() const { ClipperLib::Polygon* p = new ClipperLib::Polygon(); Slic3rPolygon_to_ClipperPolygon(*this, *p); bool orientation = ClipperLib::Orientation(*p); delete p; return orientation; }
void Slic3rPolygons_to_ClipperPolygons(const Slic3r::Polygons &input, ClipperLib::Polygons &output) { output.clear(); for (Slic3r::Polygons::const_iterator it = input.begin(); it != input.end(); ++it) { ClipperLib::Polygon p; Slic3rPolygon_to_ClipperPolygon(*it, p); output.push_back(p); } }