#include <navigationprofile.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.
NavigationProfile is a very commonly used derivation of BaseNavigationProfile.
Most user customizations of BaseNavigationProfile are derivations of NavigationProfile<TraverseLogicT>.
Inherits Kaim::BaseNavigationProfile.
Public Member Functions | |
virtual Ptr< Trajectory > | CreateTrajectory (Bot *bot) |
virtual Ptr< IAvoidanceComputer > | GetSharedAvoidanceComputer () |
virtual Ptr< IAvoidanceFilter > | GetSharedAvoidanceFilter () |
virtual Ptr< IAvoidanceSolver > | GetSharedAvoidanceSolver () |
virtual Ptr< IPathEventListObserver > | GetSharedPathEventListObserver () |
virtual Ptr< BasePathProgressComputer > | GetSharedPathProgressComputer () |
virtual Ptr< IPositionOnPathValidator > | GetSharedPositionOnPathValidator () |
For internal use only | |
virtual bool | HasTraverseLogicNoObsoleteFunctions () const |
|
inlinevirtual |
Trajectory::Compute() is called in Bot::UpdatePathFollowing() after BasePathProgressComputer::Update()
Implements Kaim::BaseNavigationProfile.
|
inlinevirtual |
AvoidanceComputer::Compute() is called in Trajectory::Compute()
Implements Kaim::BaseNavigationProfile.
|
inlinevirtual |
IAvoidanceFilter::Filter() is called in the AvoidanceComputer.
Implements Kaim::BaseNavigationProfile.
|
inlinevirtual |
AvoidanceSolver::Solve() is called in the AvoidanceComputer.
Implements Kaim::BaseNavigationProfile.
|
inlinevirtual |
IPathEventListObserver is called in BasePathProgressComputer::Update()
Implements Kaim::BaseNavigationProfile.
Reimplemented in Kaim::GameKitNavigationProfile.
|
inlinevirtual |
BasePathProgressComputer::Update() is called in Bot::UpdatePathFollowing()
Implements Kaim::BaseNavigationProfile.
|
inlinevirtual |
IPositionOnPathValidator is called in BasePathProgressComputer::Update()
Implements Kaim::BaseNavigationProfile.