Kaim::LocalCostAwareTraverseLogic< UserTraverseLogic > Class Template Reference

Kaim::LocalCostAwareTraverseLogic< UserTraverseLogic > Class Template Reference

#include <localcostawaretraverselogic.h>

Class Description

template<class UserTraverseLogic>
class Kaim::LocalCostAwareTraverseLogic< UserTraverseLogic >

LocalCostAwareTraverseLogic is a wrapper around the traverse logic set by the user.

It used internally by Navigation to limit the avoidance and target-on-path computation to the NavTags with a cost inferior or equal to cost traversed locally by the path. "Locally" is defined by botConfig.m_advancedBotConfig.m_localMaxCostMultiplierOnPathDistance

Static Public Member Functions

static bool CanTraverseNavTag (void *traverseLogicUserData, const NavTag &navTag)
 Only one of this function is going to be called and exist depending on UserTraverseLogic::CostMultiplierUsage. More...
 
static bool CanTraverseNavTag (void *traverseLogicUserData, const NavTag &navTag, KyFloat32 *costMultiplier)
 Function called when UserTraverseLogic::CostMultiplierUsage is LogicWithCostPerNavTag. More...
 
static bool CanTraverseNavTriangle (void *traverseLogicUserData, const NavTriangleRawPtr &triangle, KyFloat32 *costmultiplier)
 Function called when UserTraverseLogic::CostMultiplierUsage is LogicWithCostPerTriangle. More...
 

Member Function Documentation

template<class UserTraverseLogic >
bool Kaim::LocalCostAwareTraverseLogic< UserTraverseLogic >::CanTraverseNavTag ( void *  traverseLogicUserData,
const NavTag &  navTag 
)
inlinestatic

Only one of this function is going to be called and exist depending on UserTraverseLogic::CostMultiplierUsage.

Function called when UserTraverseLogic::CostMultiplierUsage is LogicWithNoCustomCost

template<class UserTraverseLogic >
bool Kaim::LocalCostAwareTraverseLogic< UserTraverseLogic >::CanTraverseNavTag ( void *  traverseLogicUserData,
const NavTag &  navTag,
KyFloat32 costMultiplier 
)
inlinestatic

Function called when UserTraverseLogic::CostMultiplierUsage is LogicWithCostPerNavTag.

template<class UserTraverseLogic >
bool Kaim::LocalCostAwareTraverseLogic< UserTraverseLogic >::CanTraverseNavTriangle ( void *  traverseLogicUserData,
const NavTriangleRawPtr triangle,
KyFloat32 costmultiplier 
)
inlinestatic

Function called when UserTraverseLogic::CostMultiplierUsage is LogicWithCostPerTriangle.


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