A* Pathfinding Project  3.1.4
The A* Pathfinding Project for Unity 3D
 All Classes Namespaces Files Functions Variables Enumerations Properties Groups Pages
CustomGridGraph Class Reference
+ Inheritance diagram for CustomGridGraph:
+ Collaboration diagram for CustomGridGraph:

Public Member Functions

override Node[] CreateNodes (int number)
 Creates a number of nodes with the correct type for the graph.
 
- Public Member Functions inherited from GridGraph
void AddPortal (Node n1, Node n2, List< Vector3 > left, List< Vector3 > right)
 
void AddPortal (GridNode n1, GridNode n2, List< Vector3 > left, List< Vector3 > right)
 
void BuildFunnelCorridor (List< Node > path, int sIndex, int eIndex, List< Vector3 > left, List< Vector3 > right)
 
virtual void CalculateConnections (Node[] nodes, int x, int z, GridNode node)
 Calculates the grid connections for a single node.
 
bool CheckConnection (GridNode node, int dir)
 Returns if node is connected to it's neighbour in the specified direction.
 
override Node[] CreateNodes (int number)
 Creates a number of nodes with the correct type for the graph.
 
void DeSerializeNodes (Node[] nodes, AstarSerializer serializer)
 Deserializes grid graph specific node stuff from the serializer.
 
void DeSerializeSettings (AstarSerializer serializer)
 
virtual void ErodeWalkableArea ()
 Erodes the walkable area.
 
virtual void ErodeWalkableArea (int xmin, int zmin, int xmax, int zmax)
 Erodes the walkable area.
 
void GenerateMatrix ()
 Generates the matrix used for translating nodes from grid coordinates to world coordintes.
 
void GetBoundsMinMax (Bounds b, Matrix4x4 matrix, out Vector3 min, out Vector3 max)
 Calculates minimum and maximum points for bounds b when multiplied with the matrix.
 
override NNInfo GetNearest (Vector3 position, NNConstraint constraint, Node hint)
 
override NNInfo GetNearestForce (Vector3 position, NNConstraint constraint)
 
List< NodeGetNodesInArea (Bounds b)
 All nodes inside the bounding box.
 
List< NodeGetNodesInArea (GraphUpdateShape shape)
 All nodes inside the shape.
 
virtual bool IsValidConnection (GridNode n1, GridNode n2)
 Returns true if a connection between the adjacent nodes n1 and n2 is valid.
 
bool Linecast (Vector3 _a, Vector3 _b)
 Returns if _b is visible from _a on the graph.
 
bool Linecast (Vector3 _a, Vector3 _b, Node hint)
 Returns if _b is visible from _a on the graph.
 
bool Linecast (Vector3 _a, Vector3 _b, Node hint, out GraphHitInfo hit)
 Returns if _b is visible from _a on the graph.
 
override void OnDestroy ()
 This function will be called when this graph is destroyed.
 
override void OnDrawGizmos (bool drawNodes)
 
void OnPostScan (AstarPath script)
 Auto links grid graphs together.
 
override void PostDeserialization ()
 Called after all deserialization has been done for all graphs.
 
void RemoveGridGraphFromStatic ()
 
override void Scan ()
 Scans the graph, called from AstarPath.Scan Override this function to implement custom scanning logic
 
void SerializeNodes (Node[] nodes, AstarSerializer serializer)
 Serializes grid graph specific node stuff to the serializer.
 
void SerializeSettings (AstarSerializer serializer)
 Serialize Settings.
 
virtual void SetUpOffsetsAndCosts ()
 Sets up neighbourOffsets with the current settings.
 
bool SnappedLinecast (Vector3 _a, Vector3 _b, Node hint, out GraphHitInfo hit)
 Returns if _b is visible from _a on the graph.
 
void UpdateArea (GraphUpdateObject o)
 Internal function to update an area of the graph.
 
void UpdateNodePositionCollision (Node node, int x, int z)
 Updates position, walkability and penalty for the node.
 
void UpdateSizeFromWidthDepth ()
 Updates size from width, depth and nodeSize values.
 
- Public Member Functions inherited from NavGraph
virtual void Awake ()
 This will be called on the same time as Awake on the gameObject which the AstarPath script is attached to.
 
virtual void DeserializeExtraInfo (byte[] bytes)
 Deserializes graph type specific node data.
 
NNInfo GetNearest (Vector3 position)
 Returns the nearest node to a position using the default NNConstraint.
 
NNInfo GetNearest (Vector3 position, NNConstraint constraint)
 Returns the nearest node to a position using the specified NNConstraint.
 
bool InSearchTree (Node node, Path path)
 Returns if the node is in the search tree of the path.
 
virtual Color NodeColor (Node node, NodeRunData data)
 
virtual void RelocateNodes (Matrix4x4 oldMatrix, Matrix4x4 newMatrix)
 Relocates the nodes in this graph.
 
void SafeOnDestroy ()
 SafeOnDestroy should be used when there is a risk that the pathfinding is searching through this graph when called
 
void ScanGraph ()
 Consider using AstarPath.Scan () instead since this function might screw things up if there is more than one graph.
 
virtual byte[] SerializeExtraInfo ()
 Serializes graph type specific node data.
 
- Public Member Functions inherited from ISerializableGraph
Node[] CreateNodes (int num)
 
void DeSerializeNodes (Node[] nodes, AstarSerializer serializer)
 
void SerializeNodes (Node[] nodes, AstarSerializer serializer)
 
- Public Member Functions inherited from ISerializableObject
void DeSerializeSettings (AstarSerializer serializer)
 Called to deserialize the object.
 
void SerializeSettings (AstarSerializer serializer)
 Called to serialize the object.
 
- Public Member Functions inherited from IUpdatableGraph
void UpdateArea (GraphUpdateObject o)
 Updates an area using the specified GraphUpdateObject.
 
- Public Member Functions inherited from IFunnelGraph
void AddPortal (Node n1, Node n2, List< Vector3 > left, List< Vector3 > right)
 Add the portal between node n1 and n2 to the funnel corridor.
 
void BuildFunnelCorridor (List< Node > path, int sIndex, int eIndex, List< Vector3 > left, List< Vector3 > right)
 
- Public Member Functions inherited from IRaycastableGraph
bool Linecast (Vector3 start, Vector3 end)
 
bool Linecast (Vector3 start, Vector3 end, Node hint)
 
bool Linecast (Vector3 start, Vector3 end, Node hint, out GraphHitInfo hit)
 

Static Public Member Functions

static int WillSeparateNodes (Node[] nodes, int walkabilityMask)
 
static int WillSeparateNodes (Node[] nodes, int walkabilityMask, bool ignoreUnwalkable)
 
static int WillSeperateNodes (Node n1, Node n2)
 
- Static Public Member Functions inherited from GridGraph
static void CalculateConnections (GridNode node)
 Calculates the grid connections for a single node.
 

Static Public Attributes

static int defaultWalkabilityMask = 1
 

Additional Inherited Members

- Public Attributes inherited from GridGraph
Matrix4x4 boundsMatrix
 
Matrix4x4 boundsMatrix2
 
int getNearestForceOverlap = 2
 In GetNearestForce, determines how far to search after a valid node has been found.
 
int[] neighbourCosts
 Costs to neighbour nodes.
 
int[] neighbourOffsets
 Index offset to get neighbour nodes.
 
int[] neighbourXOffsets
 Offsets in the X direction for neighbour nodes.
 
int[] neighbourZOffsets
 Offsets in the Z direction for neighbour nodes.
 
int scans = 0
 
Vector2 size
 Size of the grid.
 
int width
 Width of the grid in nodes.
 
int depth
 Depth (height) of the grid in nodes.
 
float aspectRatio = 1F
 Scaling of the graph along the X axis.
 
Vector3 rotation
 Rotation of the grid in degrees.
 
Bounds bounds
 
Vector3 center
 Center point of the grid.
 
Vector2 unclampedSize
 Size of the grid.
 
float nodeSize = 1
 Size of one node in world units.
 
GraphCollision collision
 Settings on how to check for walkability and height.
 
float maxClimb = 0.4F
 The max position difference between two nodes to enable a connection.
 
int maxClimbAxis = 1
 The axis to use for maxClimb.
 
float maxSlope = 90
 The max slope in degrees for a node to be walkable.
 
int erodeIterations = 0
 Erosion of the graph.
 
bool erosionUseTags = false
 Use tags instead of walkability for erosion.
 
int erosionFirstTag = 1
 Tag to start from when using tags for erosion.
 
bool autoLinkGrids = false
 Auto link the graph's edge nodes together with other GridGraphs in the scene on Scan.
 
float autoLinkDistLimit = 10F
 Distance limit for grid graphs to be auto linked.
 
NumNeighbours neighbours = NumNeighbours.Eight
 Number of neighbours for each node.
 
bool cutCorners = true
 If disabled, will not cut corners on obstacles.
 
float penaltyPositionOffset = 0
 Offset for the position when calculating penalty.
 
bool penaltyPosition = false
 Use position (y-coordinate) to calculate penalty.
 
float penaltyPositionFactor = 1F
 Scale factor for penalty when calculating from position.
 
bool penaltyAngle = false
 
float penaltyAngleFactor = 100F
 
TextureData textureData = new TextureData ()
 Holds settings for using a texture as source for a grid graph.
 
- Protected Attributes inherited from GridGraph
int[] corners
 To reduce memory allocations this array is reused.
 
- Properties inherited from GridGraph
virtual bool uniformWidhtDepthGrid [get]
 This is placed here so generators inheriting from this one can override it and set it to false.
 
bool useRaycastNormal [get]
 Use heigh raycasting normal for max slope calculation.
 

Member Function Documentation

override Node [] CreateNodes ( int  number)
virtual

Creates a number of nodes with the correct type for the graph.

This should not set the nodes array, only return the nodes. Called by graph generators and when deserializing a graph with nodes. Override this function if you do not use the default Pathfinding::Node class.

Reimplemented from NavGraph.


The documentation for this class was generated from the following file: