Kaim::SimpleTraverseLogic< TCanEnterNavTagMode > Class Template Reference

#include <traverselogic.h>

Class Description

template<class TCanEnterNavTagMode = LogicDoNotUseCanEnterNavTag>
class Kaim::SimpleTraverseLogic< TCanEnterNavTagMode >

SimpleTraverseLogic defines all the functions that are potentially called in the PathFinding and PathFollowing system when there is not not customization of the cost at all.

A navTag is allowed or forbidden.

Static Public Member Functions

static bool CanEnterNavTag (void *, const NavTag &, const NavTag &, const Vec3f &)
 
static bool CanTraverseNavTag (void *, const NavTag &)
 
static KyFloat32 GetHeuristicFromDistanceToDest (void *, KyFloat32 distance3DToDestination)
 

Obsolete Functions

These functions are now obsolete, they were part of the interface.

You should remove them from your inheriting TraverseLogic class, and implement only the public functions above.

Implementations of such functions in inheriting classes can be caught at runtime when adding a NavigationProfile templated by your TraverseLogic class to the World.

Or you can call TraverseLogicObsoleteChecker::HasNoObsoleteFunctions<YourTraverseLogic>()

static bool CanTraverse (void *, const Kaim::NavTag &)
 
static KyFloat32 GetCostMultiplier (void *, const Kaim::NavTag &)
 
static bool CanTraverseGraphEdgeAndGetCost (void *, const Kaim::Vec3f &, const Kaim::Vec3f &, const Kaim::NavTag &, KyFloat32 &)
 

Member Function Documentation

template<class TCanEnterNavTagMode = LogicDoNotUseCanEnterNavTag>
static bool Kaim::SimpleTraverseLogic< TCanEnterNavTagMode >::CanEnterNavTag ( void *  ,
const NavTag &  ,
const NavTag &  ,
const Vec3f  
)
inlinestatic

This method is only required when you set up your customizer to validate NavTag transitions.

If you use the default DoNotUseCanEnterNavTag template parameter, you do not need to provide an implementation of CanEnterNavTag().

template<class TCanEnterNavTagMode = LogicDoNotUseCanEnterNavTag>
static bool Kaim::SimpleTraverseLogic< TCanEnterNavTagMode >::CanTraverseNavTag ( void *  ,
const NavTag &   
)
inlinestatic

These method are called each time the path finding query, path following system or any other query considers crossing into a different navTag.

It is expected to determine whether or not the path is allowed to cross it by returning true if it is traversable and false if it is not traversable.

template<class TCanEnterNavTagMode = LogicDoNotUseCanEnterNavTag>
static KyFloat32 Kaim::SimpleTraverseLogic< TCanEnterNavTagMode >::GetHeuristicFromDistanceToDest ( void *  ,
KyFloat32  distance3DToDestination 
)
inlinestatic

This method is called for each candidate node in the Path calculation.

It is expected to determine the approximate cost of moving the specified distance toward the final destination. This method is only used by the AStarQuery. You do not have to provide an implementation for other kinds of queries that propagate only through the NavMesh, such as the RayCastQuery. This method is not called during path following.


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