![]() |
XII Release 0.1.0
|
Copyright (c) Theophilus Eriata. All Rights Reserved. More...
#include <GridNavmesh.h>
Classes | |
| struct | ConvexArea |
| struct | AreaEdge |
Public Types | |
| using | CellComparator = bool (*)(xiiUInt32, xiiUInt32, void*) |
| using | CellBlocked = bool (*)(xiiUInt32, void*) |
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 ConvexArea & | GetConvexArea (xiiInt32 iArea) const |
| Returns the given convex area by index. | |
| xiiUInt32 | GetNumAreaEdges () const |
| Returns the number of edges between convex areas. | |
| const AreaEdge & | GetAreaEdge (xiiInt32 iAreaEdge) const |
| Returns the given area edge by index. | |
Copyright (c) Theophilus Eriata. All Rights Reserved.
Takes a xiiGameGrid and creates an optimized navmesh structure from it, that is more efficient for path searches.
| using xiiGridNavmesh::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.
| using xiiGridNavmesh::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.
| void xiiGridNavmesh::CreateFromGrid | ( | const xiiGameGrid< CellData > & | grid, |
| CellComparator | isSameCellType, | ||
| void * | pPassThroughSame, | ||
| CellBlocked | isCellBlocked, | ||
| void * | pPassThroughBlocked ) |
Creates the navmesh from the given xiiGameGrid.
Copyright (c) Theophilus Eriata. All Rights Reserved.