Class reference

PolygonPathFinder

Inherits Resource

Methods

bool is_point_inside(Vector2 point) const

Returns true if point falls inside the polygon area.

				var polygon_path_finder = PolygonPathFinder.new()
				var points = [Vector2(0.0, 0.0), Vector2(1.0, 0.0), Vector2(0.0, 1.0)]
				var connections = [0, 1, 1, 2, 2, 0]
				polygon_path_finder.setup(points, connections)
				print(polygon_path_finder.is_point_inside(Vector2(0.2, 0.2))) # Prints true
				print(polygon_path_finder.is_point_inside(Vector2(1.0, 1.0))) # Prints false
				
				var polygonPathFinder = new PolygonPathFinder();
				Vector2[] points =
				[
					new Vector2(0.0f, 0.0f),
					new Vector2(1.0f, 0.0f),
					new Vector2(0.0f, 1.0f)
				];
				int[] connections = [0, 1, 1, 2, 2, 0];
				polygonPathFinder.Setup(points, connections);
				GD.Print(polygonPathFinder.IsPointInside(new Vector2(0.2f, 0.2f))); // Prints True
				GD.Print(polygonPathFinder.IsPointInside(new Vector2(1.0f, 1.0f))); // Prints False
				

void set_point_penalty(int idx, float penalty)

void setup(PackedVector2Array points, PackedInt32Array connections)

Sets up PolygonPathFinder with an array of points that define the vertices of the polygon, and an array of indices that determine the edges of the polygon. The length of connections must be even, returns an error if odd.

				var polygon_path_finder = PolygonPathFinder.new()
				var points = [Vector2(0.0, 0.0), Vector2(1.0, 0.0), Vector2(0.0, 1.0)]
				var connections = [0, 1, 1, 2, 2, 0]
				polygon_path_finder.setup(points, connections)
				
				var polygonPathFinder = new PolygonPathFinder();
				Vector2[] points =
				[
					new Vector2(0.0f, 0.0f),
					new Vector2(1.0f, 0.0f),
					new Vector2(0.0f, 1.0f)
				];
				int[] connections = [0, 1, 1, 2, 2, 0];
				polygonPathFinder.Setup(points, connections);
				
Source revision 5592dc3a7a61
Connection interrupted. Reload×

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.