Class

GKGraphNode

A single node in a navigation graph for use in pathfinding.

Overview

A set of connected nodes form a graph that describes the navigability of a game world. Use graph nodes together with a `GKGraph` object (or one of its subclasses) to perform actions that relate to the network of nodes as a whole, such as pathfinding to determine routes through the network.

This class describes the general features of graph nodes, but does not contain geometry information that relates the graph to a game world. You can construct a graph with this class or any of its subclasses:

Topics

Working with Connections

`connectedNodes`

The list of other nodes connected to this node.

`- addConnectionsToNodes:bidirectional:`

Connects this node to all nodes in the specified list.

`- removeConnectionsToNodes:bidirectional:`

Removes the connections from this node to the specified nodes.

Computing Traversal Costs

`- costToNode:`

Returns the cost to travel from this node to the specified, directly connected, node.

`- estimatedCostToNode:`

Returns an underestimate of the cost of travel from this node to the specified node.

Finding Paths

`- findPathToNode:`

Computes and returns a sequence of nodes that represents the lowest-cost graph traversal from this node to the specified node.

`- findPathFromNode:`

Computes and returns a sequence of nodes that represents the lowest-cost graph traversal from the specified node to this node.

Relationships

Pathfinding

`GKGraph`

A collection of nodes that describes the navigability of a game world and provides pathfinding methods to search for routes through that space.

`GKObstacleGraph`

A navigation graph for 2D game worlds that creates a minimal network for precise pathfinding around obstacles.

`GKMeshGraph`

A navigation graph for 2D game worlds that creates a space-filling network for smooth pathfinding around obstacles.

`GKGridGraph`

A navigation graph for 2D game worlds where movement is constrained to an integer grid.

`GKGraphNode2D`

A node in a navigation graph, associated with a point in continuous 2D space.

`GKGraphNode3D`

A node in a navigation graph, associated with a point in continuous 3D space.

`GKGridGraphNode`

A node in a navigation graph, associated with a position on a discrete two-dimensional grid.