Pyrogenesis  trunk
Public Member Functions | Private Attributes | List of all members
VertexPathfinder Class Reference

#include <VertexPathfinder.h>

Collaboration diagram for VertexPathfinder:
Collaboration graph
[legend]

Public Member Functions

 VertexPathfinder (const u16 &gridSize, Grid< NavcellData > *const &terrainOnlyGrid)
 
 VertexPathfinder (const VertexPathfinder &)=delete
 
 VertexPathfinder (VertexPathfinder &&o)
 
WaypointPath ComputeShortPath (const ShortPathRequest &request, CmpPtr< ICmpObstructionManager > cmpObstructionManager) const
 Compute a precise path from the given point to the goal, and return the set of waypoints. More...
 

Private Attributes

const u16m_GridSize
 
Grid< NavcellData > *const & m_TerrainOnlyGrid
 
std::vector< Edgem_EdgesUnaligned
 
std::vector< EdgeAAm_EdgesLeft
 
std::vector< EdgeAAm_EdgesRight
 
std::vector< EdgeAAm_EdgesBottom
 
std::vector< EdgeAAm_EdgesTop
 
std::vector< Vertexm_Vertexes
 
std::vector< Edgem_Edges
 
std::vector< Squarem_EdgeSquares
 

Constructor & Destructor Documentation

◆ VertexPathfinder() [1/3]

VertexPathfinder::VertexPathfinder ( const u16 gridSize,
Grid< NavcellData > *const &  terrainOnlyGrid 
)
inline

◆ VertexPathfinder() [2/3]

VertexPathfinder::VertexPathfinder ( const VertexPathfinder )
delete

◆ VertexPathfinder() [3/3]

VertexPathfinder::VertexPathfinder ( VertexPathfinder &&  o)
inline

Member Function Documentation

◆ ComputeShortPath()

WaypointPath VertexPathfinder::ComputeShortPath ( const ShortPathRequest request,
CmpPtr< ICmpObstructionManager cmpObstructionManager 
) const

Compute a precise path from the given point to the goal, and return the set of waypoints.

The path is based on the full set of obstructions that pass the filter, such that a unit of clearance 'clearance' will be able to follow the path with no collisions. The path is restricted to a box of radius 'range' from the starting point. Defined in CCmpPathfinder_Vertex.cpp

Member Data Documentation

◆ m_Edges

std::vector<Edge> VertexPathfinder::m_Edges
mutableprivate

◆ m_EdgesBottom

std::vector<EdgeAA> VertexPathfinder::m_EdgesBottom
mutableprivate

◆ m_EdgesLeft

std::vector<EdgeAA> VertexPathfinder::m_EdgesLeft
mutableprivate

◆ m_EdgeSquares

std::vector<Square> VertexPathfinder::m_EdgeSquares
mutableprivate

◆ m_EdgesRight

std::vector<EdgeAA> VertexPathfinder::m_EdgesRight
mutableprivate

◆ m_EdgesTop

std::vector<EdgeAA> VertexPathfinder::m_EdgesTop
mutableprivate

◆ m_EdgesUnaligned

std::vector<Edge> VertexPathfinder::m_EdgesUnaligned
mutableprivate

◆ m_GridSize

const u16& VertexPathfinder::m_GridSize
private

◆ m_TerrainOnlyGrid

Grid<NavcellData>* const& VertexPathfinder::m_TerrainOnlyGrid
private

◆ m_Vertexes

std::vector<Vertex> VertexPathfinder::m_Vertexes
mutableprivate

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