XII Release 0.1.0
Loading...
Searching...
No Matches
xiiGridNavmesh Class Reference

Takes a xiiGameGrid and creates an optimized navmesh structure from it, that is more efficient for path searches. More...

#include <GridNavmesh.h>

Classes

struct  AreaEdge
 
struct  ConvexArea
 

Public Types

using CellComparator = bool (*)(xiiUInt32, xiiUInt32, void*)
 Callback that determines whether the cell with index uiCell1 and the cell with index uiCell2 represent the same type of terrain.
 
using CellBlocked = bool (*)(xiiUInt32, void*)
 Callback that determines whether the cell with index uiCell is blocked entirely (for every type of unit) and therefore can be optimized away.
 

Public Member Functions

template<class CellData>
void CreateFromGrid (const xiiGameGrid< CellData > &grid, CellComparator isSameCellType, void *pPassThroughSame, CellBlocked isCellBlocked, void *pPassThroughBlocked)
 Creates the navmesh from the given xiiGameGrid.
 
xiiInt32 GetAreaAt (const xiiVec2I32 &vCoord) const
 Returns the index of the ConvexArea at the given cell coordinates. Negative, if the cell is blocked.
 
xiiUInt32 GetNumConvexAreas () const
 Returns the number of convex areas that this navmesh consists of.
 
const ConvexAreaGetConvexArea (xiiInt32 iArea) const
 Returns the given convex area by index.
 
xiiUInt32 GetNumAreaEdges () const
 Returns the number of edges between convex areas.
 
const AreaEdgeGetAreaEdge (xiiInt32 iAreaEdge) const
 Returns the given area edge by index.
 

Detailed Description

Takes a xiiGameGrid and creates an optimized navmesh structure from it, that is more efficient for path searches.


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