载入中...
搜索中...
未找到
HexSearch.h 文件参考

Cell-graph search used by pathfinding and visibility. 更多...

#include "common/Export.h"
#include "common/Result.h"
#include "hexmap/HexMap.h"
#include <cstdint>
#include <functional>
#include <vector>

浏览源代码.

类

struct  eve::hexmap::HexSearchData
 Per-cell scratch record of one search. 更多...
 
class  eve::hexmap::HexSearchContext
 Reusable search scratch: one record per cell plus a priority bucket queue. 更多...
 
struct  eve::hexmap::HexMoveRules
 Movement tuning of one actor; cells per turn and vision radius in cells. 更多...
 
struct  eve::hexmap::HexPath
 One found path: the cells from origin to goal, with the turn each one is reached on. 更多...
 

命名空间

namespace  eve
 Build metadata (engine git commit, build time, third-party version).
 
namespace  eve::hexmap
 

类型定义

using eve::hexmap::HexOccupancyQuery = std::function< bool(HexCoordinates)>
 Predicate answering whether a cell is already occupied by another actor.
 

枚举

enum class  eve::hexmap::HexSearchPop : std::int32_t { eve::hexmap::Cell = 0 , eve::hexmap::Empty = 1 }
 Outcome of one frontier pop. 更多...
 

函数

bool eve::hexmap::isValidDestination (const HexMap &map, HexCoordinates coordinates, const HexOccupancyQuery &occupied={})
 Whether an actor may occupy a cell.
 
std::int32_t eve::hexmap::moveCost (const HexMap &map, HexCoordinates from, HexCoordinates to, HexDirection direction, const HexOccupancyQuery &occupied={})
 Cost of moving between two adjacent cells.
 
Result< HexPath > eve::hexmap::findPath (const HexMap &map, HexSearchContext &scratch, HexCoordinates from, HexCoordinates to, const HexMoveRules &rules, const HexOccupancyQuery &occupied={})
 Finds the cheapest path between two cells.
 
Result< void > eve::hexmap::collectVisibleCells (const HexMap &map, HexSearchContext &scratch, HexCoordinates from, std::int32_t range, std::vector< std::int32_t > &out)
 Collects every cell visible from from within range.
 

详细描述

Cell-graph search used by pathfinding and visibility.

在文件 HexSearch.h 中定义.