From 331ecf3ca86c3fca5e8e289cef47829e111d93ee Mon Sep 17 00:00:00 2001 From: lawnjelly Date: Mon, 20 May 2024 10:16:23 +0100 Subject: [PATCH] Clarify is_polygon_clockwise() coordinate system The function assumes a normal Cartesian coordinate system. --- core/math/geometry_2d.h | 2 ++ doc/classes/Geometry2D.xml | 1 + 2 files changed, 3 insertions(+) diff --git a/core/math/geometry_2d.h b/core/math/geometry_2d.h index 1502b2807c9..83ebdc5a847 100644 --- a/core/math/geometry_2d.h +++ b/core/math/geometry_2d.h @@ -350,6 +350,8 @@ public: return triangles; } + // Assumes cartesian coordinate system with +x to the right, +y up. + // If using screen coordinates (+x to the right, +y down) the result will need to be flipped. static bool is_polygon_clockwise(const Vector &p_polygon) { int c = p_polygon.size(); if (c < 3) { diff --git a/doc/classes/Geometry2D.xml b/doc/classes/Geometry2D.xml index dfcf299fe62..f21696d02c0 100644 --- a/doc/classes/Geometry2D.xml +++ b/doc/classes/Geometry2D.xml @@ -116,6 +116,7 @@ Returns [code]true[/code] if [param polygon]'s vertices are ordered in clockwise order, otherwise returns [code]false[/code]. + [b]Note:[/b] Assumes a Cartesian coordinate system where [code]+x[/code] is right and [code]+y[/code] is up. If using screen coordinates ([code]+y[/code] is down), the result will need to be flipped (i.e. a [code]true[/code] result will indicate counter-clockwise).