(C++)  1.0.0
A multi-platform, modular, universal engine for embedding advanced AI in games.
grail::planning::Planner Class Reference

The main class responsible for finding paths in plan space. More...

#include <Planner.hh>

Classes

struct  AbstractPlan
 
struct  Config
 

Public Member Functions

 Planner (MemoryPool &memory)
 
 Planner (MemoryPool &memory, const WorldState &initialState, const Config &config=Config{})
 
void SetIterationLimit (std::size_t iterationLimit)
 
void SetMaxPlanLength (int maxDepth)
 
void SetMaxPlanCost (double maxCost)
 
void SetHeuristic (PlannerHeuristic heuristic)
 
void ResetConfig (const Config &config)
 
void PushCondition (ConditionFunction condition)
 
AbstractPlan GetPartialPlan () const
 
PlannerIterationSnapshot GetPlanSnapshot (std::size_t goalNodeIndex, std::size_t iteration) const
 
void Iterate (std::size_t iterationCount) noexcept
 
void IterateWithSnapshot (std::size_t iterationCount, PlannerReasonerSnapshot &snapshot, std::size_t minDebugSnapshotIteration=0, std::size_t maxDebugSnapshotIteration=std::numeric_limits< std::size_t >::max()) noexcept
 
void SetPlanFoundCallback (const std::function< void(const AbstractPlan &)> callbackFunction)
 
void SetPlanningFailedCallback (const std::function< void()> callbackFunction)
 
void Reset (const WorldState &initialState)
 
bool IsComputing () const
 

Detailed Description

The main class responsible for finding paths in plan space.

Member Function Documentation

◆ PushCondition()

void grail::planning::Planner::PushCondition ( ConditionFunction  condition)

Adds a single goal condition to the planner

Parameters
condition- a boolean function representing a single goal condition

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