33 void SetProfileId(
KyUInt32 profileId) { m_profileId = profileId; }
34 KyUInt32 GetProfileId()
const {
return m_profileId; }
37 virtual Ptr<BaseAStarQuery> CreateAStarQuery() = 0;
65 virtual Ptr<BaseRayCanGoQuery> CreateRayCanGoQuery() = 0;
68 virtual Vec3f ComputeMoveOnNavMesh(
Bot* bot,
const Vec3f& velocity,
KyFloat32 simulationTimeInSeconds) = 0;
83 KyUInt32 GetProfileId() {
return m_navigationProfile->GetProfileId(); }
86 Ptr<BaseAStarQuery> GetOrCreateAStarQuery();
87 Ptr<BasePathProgressComputer> GetOrCreatePathProgessComputer();
88 Ptr<Trajectory> GetOrCreateTrajectory(
Bot* bot);
96 Ptr<BaseAStarQuery> m_aStarQuery;
97 Ptr<BasePathProgressComputer> m_pathProgressComputer;
98 Ptr<Trajectory> m_trajectory;
111 void Init(
KyArray<Ptr<BaseNavigationProfile> >* navigationProfiles) { m_navigationProfiles = navigationProfiles; }
113 Ptr<BaseAStarQuery> GetOrCreateAStarQuery(
KyUInt32 navigationProfileId);
114 Ptr<BasePathProgressComputer> GetOrCreatePathProgessComputer(
KyUInt32 navigationProfileId);
115 Ptr<Trajectory> GetOrCreateTrajectory(
KyUInt32 navigationProfileId,
Bot* bot);
120 bool CanUseNavigationProfileId(
KyUInt32 navigationProfileId)
122 return m_navigationProfiles !=
nullptr && navigationProfileId < m_navigationProfiles->GetCount();
125 Ptr<BotNavigation> GetOrCreateBotNavigation(
KyUInt32 navigationProfileId);
BaseNavigationProfile and its derivation NavigationProfile is a class that simplifies ...
Definition: basenavigationprofile.h:28
This class is the world element that represent an active character in Autodesk Navigation.
Definition: bot.h:128
std::uint32_t KyUInt32
uint32_t
Definition: types.h:29
virtual Ptr< IPathEventListObserver > GetSharedPathEventListObserver()=0
IPathEventListObserver is called in BasePathProgressComputer::Update()
General purpose array for movable objects that require explicit construction/destruction.
Definition: kyarray.h:162
virtual Ptr< IAvoidanceSolver > GetSharedAvoidanceSolver()=0
AvoidanceSolver::Solve() is called in the AvoidanceComputer.
virtual Ptr< IAvoidanceFilter > GetSharedAvoidanceFilter()=0
IAvoidanceFilter::Filter() is called in the AvoidanceComputer.
virtual Ptr< Trajectory > CreateTrajectory(Bot *bot)=0
Trajectory::Compute() is called in Bot::UpdatePathFollowing() after BasePathProgressComputer::Update(...
#define KY_DEFINE_NEW_DELETE_OPERATORS(MemStat)
This macro defines new and delete operators.
Definition: memory.h:132
BotNavigationCollection contains 1 BotNavigation per (Base)NavigationProfile and a pointer on m_navig...
Definition: basenavigationprofile.h:103
virtual Ptr< BasePathProgressComputer > GetSharedPathProgressComputer()=0
BasePathProgressComputer::Update() is called in Bot::UpdatePathFollowing()
The Autodesk Navigation namespace.
Definition: gamekitcrowddispersion.cpp:17
virtual Ptr< IAvoidanceComputer > GetSharedAvoidanceComputer()=0
AvoidanceComputer::Compute() is called in Trajectory::Compute()
virtual Ptr< IPositionOnPathValidator > GetSharedPositionOnPathValidator()=0
IPositionOnPathValidator is called in BasePathProgressComputer::Update()
Per Bot data that correspond to the usage of a NavigationProfile in a Bot.
Definition: basenavigationprofile.h:76
#define KyUInt32MAXVAL
KyUInt32 max value
Definition: types.h:68
float KyFloat32
float
Definition: types.h:32
3d vector using 32bits floating points.
Definition: vec3f.h:16