Kaim::NavigationProfile< TLogic > Class Template Reference

#include <navigationprofile.h>

Class Description

template<class TLogic>
class Kaim::NavigationProfile< TLogic >

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>.

+ Examples:

Inherits Kaim::BaseNavigationProfile.

Public Member Functions

virtual Ptr< BasePathProgressComputerGetSharedPathProgressComputer ()
 BasePathProgressComputer::Update() is called in Bot::UpdatePathFollowing() More...
 
virtual Ptr< IPathEventListObserverGetSharedPathEventListObserver ()
 IPathEventListObserver is called in BasePathProgressComputer::Update() More...
 
virtual Ptr< IPositionOnPathValidatorGetSharedPositionOnPathValidator ()
 IPositionOnPathValidator is called in BasePathProgressComputer::Update() More...
 
virtual Ptr< TrajectoryCreateTrajectory (Bot *bot)
 Trajectory::Compute() is called in Bot::UpdatePathFollowing() after BasePathProgressComputer::Update() More...
 
virtual Ptr< IAvoidanceComputerGetSharedAvoidanceComputer ()
 AvoidanceComputer::Compute() is called in Trajectory::Compute() More...
 
virtual Ptr< IAvoidanceSolverGetSharedAvoidanceSolver ()
 AvoidanceSolver::Solve() is called in the AvoidanceComputer. More...
 
virtual Ptr< IAvoidanceFilterGetSharedAvoidanceFilter ()
 IAvoidanceFilter::Filter() is called in the AvoidanceComputer. More...
 

Member Function Documentation

template<class TLogic >
Ptr< Trajectory > Kaim::NavigationProfile< TLogic >::CreateTrajectory ( Bot bot)
inlinevirtual

Trajectory::Compute() is called in Bot::UpdatePathFollowing() after BasePathProgressComputer::Update()

Implements Kaim::BaseNavigationProfile.

template<class TLogic >
Ptr< IAvoidanceComputer > Kaim::NavigationProfile< TLogic >::GetSharedAvoidanceComputer ( )
inlinevirtual

AvoidanceComputer::Compute() is called in Trajectory::Compute()

Implements Kaim::BaseNavigationProfile.

template<class TLogic >
Ptr< IAvoidanceFilter > Kaim::NavigationProfile< TLogic >::GetSharedAvoidanceFilter ( )
inlinevirtual

IAvoidanceFilter::Filter() is called in the AvoidanceComputer.

Implements Kaim::BaseNavigationProfile.

+ Examples:
template<class TLogic >
Ptr< IAvoidanceSolver > Kaim::NavigationProfile< TLogic >::GetSharedAvoidanceSolver ( )
inlinevirtual
template<class TLogic >
Ptr< IPathEventListObserver > Kaim::NavigationProfile< TLogic >::GetSharedPathEventListObserver ( )
inlinevirtual

IPathEventListObserver is called in BasePathProgressComputer::Update()

Implements Kaim::BaseNavigationProfile.

Reimplemented in Kaim::GameKitNavigationProfile.

+ Examples:
template<class TLogic >
Ptr< BasePathProgressComputer > Kaim::NavigationProfile< TLogic >::GetSharedPathProgressComputer ( )
inlinevirtual

BasePathProgressComputer::Update() is called in Bot::UpdatePathFollowing()

Implements Kaim::BaseNavigationProfile.

template<class TLogic >
Ptr< IPositionOnPathValidator > Kaim::NavigationProfile< TLogic >::GetSharedPositionOnPathValidator ( )
inlinevirtual

IPositionOnPathValidator is called in BasePathProgressComputer::Update()

Implements Kaim::BaseNavigationProfile.


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