//============================================================== // Static functions //============================================================== DLL_PUBLIC bool CDECL orientation(ClipperLib::IntPoint* path, size_t count) { ClipperLib::Path v = ClipperLib::Path(); for(size_t i = 0; i < count; i++) { v.emplace(v.end(), path[i].X, path[i].Y); } return ClipperLib::Orientation(v); }
DLL_PUBLIC double CDECL area(ClipperLib::IntPoint* path, size_t count) { ClipperLib::Path v = ClipperLib::Path(); for(size_t i = 0; i < count; i++) { v.emplace(v.end(), path[i].X, path[i].Y); } return ClipperLib::Area(v); }
DLL_PUBLIC void CDECL add_offset_path(ClipperLib::ClipperOffset *ptr, ClipperLib::IntPoint* path, size_t count, ClipperLib::JoinType joinType, ClipperLib::EndType endType) { ClipperLib::Path v = ClipperLib::Path(); for(size_t i = 0; i < count; i++) { v.emplace(v.end(), path[i].X, path[i].Y); } try { ptr->AddPath(v, joinType, endType); } catch(ClipperLib::clipperException e) { printf(e.what()); } }
DLL_PUBLIC bool CDECL add_path(ClipperLib::Clipper *ptr, ClipperLib::IntPoint* path, size_t count, ClipperLib::PolyType polyType, bool closed) { ClipperLib::Path v = ClipperLib::Path(); for(size_t i = 0; i < count; i++) { v.emplace(v.end(), path[i].X, path[i].Y); } bool result = false; try { result = ptr->AddPath(v, polyType, closed); } catch(ClipperLib::clipperException e) { printf(e.what()); } return result; }