Browse Source

Clarify is_polygon_clockwise() coordinate system

The function assumes a normal Cartesian coordinate system.
lawnjelly 1 year ago
parent
commit
331ecf3ca8
2 changed files with 3 additions and 0 deletions
  1. 2 0
      core/math/geometry_2d.h
  2. 1 0
      doc/classes/Geometry2D.xml

+ 2 - 0
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) {

+ 1 - 0
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">