diff --git a/src/polygon.cpp b/src/polygon.cpp index 33f9b01..4adee80 100644 --- a/src/polygon.cpp +++ b/src/polygon.cpp @@ -700,11 +700,11 @@ bool SPolygon::ContainsPoint(Vector p) const { return (WindingNumberForPoint(p) % 2) == 1; } -int SPolygon::WindingNumberForPoint(Vector p) const { +size_t SPolygon::WindingNumberForPoint(Vector p) const { auto winding = std::count_if(l.begin(), l.end(), [&](const SContour &sc) { return sc.ContainsPointProjdToNormal(normal, p); }); - return static_cast(winding); + return winding; } void SPolygon::FixContourDirections() { diff --git a/src/polygon.h b/src/polygon.h index a9a754c..29cc0aa 100644 --- a/src/polygon.h +++ b/src/polygon.h @@ -149,7 +149,7 @@ public: Vector ComputeNormal() const; void AddEmptyContour(); - int WindingNumberForPoint(Vector p) const; + size_t WindingNumberForPoint(Vector p) const; double SignedArea() const; bool ContainsPoint(Vector p) const; void MakeEdgesInto(SEdgeList *el) const;