#include <basenavigationprofile.h>
BaseNavigationProfile and its derivation NavigationProfile<TraverseLogic> is a class that simplifies the customization of the navigation.
Enforces all PathFinding and PathFollowing customizations to use the same TraverseLogic. Gathers explicitly the different customization interfaces that can be implemented in the PathFollower. Makes a clear distinction between [classes that are sharable between bots] and [classes that are per Bot] transparent.
Inherits Kaim::RefCountBase< C, Stat >.
Inherited by Kaim::NavigationProfile< TLogic >, Kaim::NavigationProfile< DefaultTraverseLogic >, and Kaim::NavigationProfile< Kaim::GameKitTraverseLogic >.
PathFinding | |
virtual Ptr< BaseAStarQuery > | CreateAStarQuery ()=0 |
PathProgress | |
virtual Ptr< BasePathProgressComputer > | GetSharedPathProgressComputer ()=0 |
BasePathProgressComputer::Update() is called in Bot::UpdatePathFollowing() More... | |
virtual Ptr< IPathEventListObserver > | GetSharedPathEventListObserver ()=0 |
IPathEventListObserver is called in BasePathProgressComputer::Update() More... | |
virtual Ptr< IPositionOnPathValidator > | GetSharedPositionOnPathValidator ()=0 |
IPositionOnPathValidator is called in BasePathProgressComputer::Update() More... | |
Trajectory | |
virtual Ptr< Trajectory > | CreateTrajectory (Bot *bot)=0 |
Trajectory::Compute() is called in Bot::UpdatePathFollowing() after BasePathProgressComputer::Update() More... | |
virtual Ptr< IAvoidanceComputer > | GetSharedAvoidanceComputer ()=0 |
AvoidanceComputer::Compute() is called in Trajectory::Compute() More... | |
virtual Ptr< IAvoidanceSolver > | GetSharedAvoidanceSolver ()=0 |
AvoidanceSolver::Solve() is called in the AvoidanceComputer. More... | |
virtual Ptr< IAvoidanceFilter > | GetSharedAvoidanceFilter ()=0 |
IAvoidanceFilter::Filter() is called in the AvoidanceComputer. More... | |
Queries | |
virtual Ptr< BaseRayCanGoQuery > | CreateRayCanGoQuery ()=0 |
Bot Queries | |
virtual Vec3f | ComputeMoveOnNavMesh (Bot *bot, const Vec3f &velocity, KyFloat32 simulationTimeInSeconds)=0 |
|
pure virtual |
Trajectory::Compute() is called in Bot::UpdatePathFollowing() after BasePathProgressComputer::Update()
Implemented in Kaim::NavigationProfile< TLogic >, Kaim::NavigationProfile< DefaultTraverseLogic >, and Kaim::NavigationProfile< Kaim::GameKitTraverseLogic >.
|
pure virtual |
AvoidanceComputer::Compute() is called in Trajectory::Compute()
Implemented in Kaim::NavigationProfile< TLogic >, Kaim::NavigationProfile< DefaultTraverseLogic >, and Kaim::NavigationProfile< Kaim::GameKitTraverseLogic >.
|
pure virtual |
IAvoidanceFilter::Filter() is called in the AvoidanceComputer.
Implemented in Kaim::NavigationProfile< TLogic >, Kaim::NavigationProfile< DefaultTraverseLogic >, and Kaim::NavigationProfile< Kaim::GameKitTraverseLogic >.
|
pure virtual |
AvoidanceSolver::Solve() is called in the AvoidanceComputer.
Implemented in Kaim::NavigationProfile< TLogic >, Kaim::NavigationProfile< DefaultTraverseLogic >, and Kaim::NavigationProfile< Kaim::GameKitTraverseLogic >.
|
pure virtual |
IPathEventListObserver is called in BasePathProgressComputer::Update()
Implemented in Kaim::GameKitNavigationProfile, Kaim::NavigationProfile< TLogic >, Kaim::NavigationProfile< DefaultTraverseLogic >, and Kaim::NavigationProfile< Kaim::GameKitTraverseLogic >.
|
pure virtual |
BasePathProgressComputer::Update() is called in Bot::UpdatePathFollowing()
Implemented in Kaim::NavigationProfile< TLogic >, Kaim::NavigationProfile< DefaultTraverseLogic >, and Kaim::NavigationProfile< Kaim::GameKitTraverseLogic >.
|
pure virtual |
IPositionOnPathValidator is called in BasePathProgressComputer::Update()
Implemented in Kaim::NavigationProfile< TLogic >, Kaim::NavigationProfile< DefaultTraverseLogic >, and Kaim::NavigationProfile< Kaim::GameKitTraverseLogic >.