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< TrajectoryCreateTrajectory (Bot *bot)
 
virtual Ptr< IAvoidanceComputerGetSharedAvoidanceComputer ()
 
virtual Ptr< IAvoidanceFilterGetSharedAvoidanceFilter ()
 
virtual Ptr< IAvoidanceSolverGetSharedAvoidanceSolver ()
 
virtual Ptr< IPathEventListObserverGetSharedPathEventListObserver ()
 
virtual Ptr< BasePathProgressComputerGetSharedPathProgressComputer ()
 
virtual Ptr< IPositionOnPathValidatorGetSharedPositionOnPathValidator ()
 

For internal use only

virtual bool HasTraverseLogicNoObsoleteFunctions () const
 

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: