gwnavruntime/world/navigationprofile.h Source File

navigationprofile.h
Go to the documentation of this file.
1 /*
2 * Copyright 2016 Autodesk, Inc. All rights reserved.
3 * Use of this software is subject to the terms of the Autodesk license agreement and any attachments or Appendices thereto provided at the time of installation or download,
4 * or which otherwise accompanies this software in either electronic or hard copy form, or which is signed by you and accepted by Autodesk.
5 */
6 
7 #pragma once
8 
16 #include "gwnavruntime/world/bot.h"
17 
18 namespace Kaim
19 {
20 
27 template<class TLogic>
29 {
30 public:
31  typedef TLogic TraverseLogic;
32 
33  virtual Ptr<BaseAStarQuery> CreateAStarQuery();
34  virtual Ptr<BasePathProgressComputer> GetSharedPathProgressComputer();
35  virtual Ptr<IPathEventListObserver> GetSharedPathEventListObserver();
36  virtual Ptr<IPositionOnPathValidator> GetSharedPositionOnPathValidator();
37  virtual Ptr<Trajectory> CreateTrajectory(Bot* bot);
38  virtual Ptr<IAvoidanceComputer> GetSharedAvoidanceComputer();
39  virtual Ptr<IAvoidanceSolver> GetSharedAvoidanceSolver();
40  virtual Ptr<IAvoidanceFilter> GetSharedAvoidanceFilter();
41  virtual Ptr<BaseRayCanGoQuery> CreateRayCanGoQuery();
42 
43  virtual Vec3f ComputeMoveOnNavMesh(Bot* bot, const Vec3f& velocity, KyFloat32 simulationTimeInSeconds);
44 
45 public:
46  Ptr<PathProgressComputer<TraverseLogic> > m_pathProgressComputer;
47  Ptr<DefaultPathEventListObserver> m_defaultPathEventListObserver;
48  Ptr<PositionOnPathCheckPointValidator> m_positionOnPathCheckPointValidator;
49  Ptr<AvoidanceComputer> m_avoidanceComputer;
50  Ptr<AvoidanceSolver<TraverseLogic> > m_avoidanceSolver;
51  // No IAvoidanceFilter by default
52 };
53 
54 
56 class DefaultNavigationProfile : public NavigationProfile<DefaultTraverseLogic>
57 {
58 };
59 
60 }
61 
63 
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
virtual Ptr< IAvoidanceComputer > GetSharedAvoidanceComputer()
AvoidanceComputer::Compute() is called in Trajectory::Compute()
Definition: navigationprofile.inl:58
BaseNavigationProfile and its derivation NavigationProfile is a class that simplifies ...
Definition: navigationprofile.h:28
virtual Ptr< IAvoidanceSolver > GetSharedAvoidanceSolver()
AvoidanceSolver::Solve() is called in the AvoidanceComputer.
Definition: navigationprofile.inl:70
virtual Ptr< BasePathProgressComputer > GetSharedPathProgressComputer()
BasePathProgressComputer::Update() is called in Bot::UpdatePathFollowing()
Definition: navigationprofile.inl:21
virtual Ptr< Trajectory > CreateTrajectory(Bot *bot)
Trajectory::Compute() is called in Bot::UpdatePathFollowing() after BasePathProgressComputer::Update(...
Definition: navigationprofile.inl:49
The Autodesk Navigation namespace.
Definition: gamekitcrowddispersion.cpp:17
DefaultNavigationProfile.
Definition: navigationprofile.h:56
virtual Ptr< IAvoidanceFilter > GetSharedAvoidanceFilter()
IAvoidanceFilter::Filter() is called in the AvoidanceComputer.
Definition: navigationprofile.inl:78
virtual Ptr< IPathEventListObserver > GetSharedPathEventListObserver()
IPathEventListObserver is called in BasePathProgressComputer::Update()
Definition: navigationprofile.inl:33
virtual Ptr< IPositionOnPathValidator > GetSharedPositionOnPathValidator()
IPositionOnPathValidator is called in BasePathProgressComputer::Update()
Definition: navigationprofile.inl:41
float KyFloat32
float
Definition: types.h:32
3d vector using 32bits floating points.
Definition: vec3f.h:16