summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlawnjelly <lawnjelly@gmail.com>2024-05-20 10:16:23 +0100
committerlawnjelly <lawnjelly@gmail.com>2024-05-20 18:34:45 +0100
commit331ecf3ca86c3fca5e8e289cef47829e111d93ee (patch)
tree38c7c11e8052ea68e4f993b4873e0737681c8c3c
parentdaa81bbb7d1c6d75d1711595604178ee62a5801d (diff)
downloadredot-engine-331ecf3ca86c3fca5e8e289cef47829e111d93ee.tar.gz
Clarify is_polygon_clockwise() coordinate system
The function assumes a normal Cartesian coordinate system.
-rw-r--r--core/math/geometry_2d.h2
-rw-r--r--doc/classes/Geometry2D.xml1
2 files changed, 3 insertions, 0 deletions
diff --git a/core/math/geometry_2d.h b/core/math/geometry_2d.h
index 1502b2807c..83ebdc5a84 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<Vector2> &p_polygon) {
int c = p_polygon.size();
if (c < 3) {
diff --git a/doc/classes/Geometry2D.xml b/doc/classes/Geometry2D.xml
index dfcf299fe6..f21696d02c 100644
--- a/doc/classes/Geometry2D.xml
+++ b/doc/classes/Geometry2D.xml
@@ -116,6 +116,7 @@
<param index="0" name="polygon" type="PackedVector2Array" />
<description>
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).
</description>
</method>
<method name="line_intersects_line">