Kaim::BaseShortcutTrajectory Class Reference

Kaim::BaseShortcutTrajectory Class Referenceabstract

#include <baseshortcuttrajectory.h>

Class Description

This class computes minimal trajectory made of just one velocity.

It can be configured to:

  • either always goes straight towards target on path at maxSpeed (when Avoidance is disabled)
  • or delegate to an IAvoidanceComputer the computation of a velocity compatible with surrounding moving obstacles and bots (when Avoidance is enabled).

BaseShortcutTrajectory is the non-templated abstract base class of the concrete ShortcutTrajectory<TraverseLogic>

Inherits Kaim::RefCountBase< C, Stat >.

Inherited by Kaim::ShortcutTrajectory< TraverseLogic >.

Public Member Functions

 BaseShortcutTrajectory (Trajectory *trajectory)
 
virtual ~BaseShortcutTrajectory ()=0
 
void Compute (KyFloat32 simulationTimeInSeconds)
 
void Clear ()
 
void ClearTrajectory ()
 
const Vec3fGetTrajectoryTarget () const
 
void ForceTargetToTargetOnPath ()
 
void ForceTargetToPosition (const Vec3f &forcedTarget)
 

For internal use only

Trajectorym_trajectory
 
ShortcutTrajectoryConfig m_config
 
Ptr< IAvoidanceComputerm_avoidanceComputer
 
TargetOnPath m_targetOnPath
 
bool m_useTargetProvidedByUser
 
Vec3f m_target
 
KyUInt32 m_lastUpdateIdx
 
ShortcutTrajectoryComputeMode m_trajectoryComputeMode
 
bool m_useMinimalTargetUpdate
 
bool m_visualDebugBlobSent
 
BotGetBot () const
 
void SendVisualDebugBlob (VisualDebugServer &visualDebugServer, VisualDebugSendChangeEvent changeEvent)
 
void RemoveAllVisualDebugBeforeTrajectoryChange (VisualDebugServer &visualDebugServer)
 
void UpdateTarget (KyFloat32 simulationTimeInSeconds)
 
void InitTargetOnPathIfNeeded ()
 
void UpdateTrajectoryComputeMode ()
 
ShortcutTrajectoryComputeMode GetComputeModeToApply () const
 
bool CanUseTargetOnPath () const
 
void ComputeStraightTrajectory (KyFloat32 simulationTimeInSeconds)
 
void ComputeAvoidanceTrajectory (KyFloat32 simulationTimeInSeconds)
 
void ComputeSnapOnPathTrajectory (KyFloat32 simulationTimeInSeconds)
 
virtual KyResult ComputeTargetOnPath (KyFloat32 simulationTimeInSeconds)=0
 
virtual bool IsShortcutTrajectoryAllowingToSkipPathFollowingThisFrame (KyFloat32 &simulationTimeInSeconds)=0
 
virtual KyResult ComputeTargetOnPathOnNavMeshOnly (TargetOnPath &targetOnPath, KyFloat32 simulationTimeInSeconds, ComputeTargetOnPathSearchControl forwardSearchControl) const =0
 

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