21 class SpatializedCylinder;
22 class SpatializedPoint;
23 class AvoidanceComputer;
36 , m_avoidanceComputer(
nullptr)
61 void SetAvoidanceSolver(Ptr<IAvoidanceSolver> avoidanceSolver) { m_avoidanceSolver = avoidanceSolver; }
62 void SetAvoidanceFilter(Ptr<IAvoidanceFilter> avoidanceFilter) { m_avoidanceFilter = avoidanceFilter; }
69 void CollectSpatializedPoints(
Bot& bot);
70 void SetupAvoidanceWorkspace(
const Bot& bot,
KyFloat32 desiredSpeed,
const Vec2f& desiredMovingDirection);
71 void FillAvoidanceWorkspace(
const Bot& bot);
75 void UpdateForcePassage(
Bot& bot,
KyFloat32 simulationTimeInSeconds,
const Vec2f& desiredVelocity,
76 AvoidanceSolverConfig& solverConfig,
AvoidanceResult& solverResult,
Vec2f& avoidanceVelocity,
bool collide);
78 bool DoesCollectionQueryNeedToBeUpdated(
const Bot& bot);
82 void SetupSolverConfig(AvoidanceSolverConfig&,
const Bot&);
88 virtual bool IsComputationRequiredThisFrame(
Bot* bot,
KyFloat32 timeToNextUpdate);
91 Ptr<IAvoidanceSolver> m_avoidanceSolver;
93 Ptr<IAvoidanceFilter> m_avoidanceFilter;
AvoidanceWorkspace aggregates at once:
Definition: avoidanceworkspace.h:34
This class is the world element that represent an active character in Autodesk Navigation.
Definition: bot.h:128
Set of parameters used to configure AvoidanceComputer.
Definition: avoidanceconfig.h:106
#define KY_CLASS_WITHOUT_COPY(ClassName)
Define to forbid copy constructor and copy assignment.
Definition: types.h:196
The SpatializedPointCollectorInAABBQuery class retrieves all SpatializedPoints within an Axis-Aligned...
Definition: spatializedpointcollectorinaabbquery.h:53
AvoidanceResult
Enumerates the possible results of a call to IAvoidanceComputer::Compute().
Definition: iavoidancecomputer.h:18
#define KY_DEFINE_NEW_DELETE_OPERATORS(MemStat)
This macro defines new and delete operators.
Definition: memory.h:132
This class compute collision-free trajectories.
Definition: avoidancecomputer.h:51
2d vector using KyFloat32.
Definition: vec2f.h:18
The Autodesk Navigation namespace.
Definition: gamekitcrowddispersion.cpp:17
This interface class defines the way avoidance is computed.
Definition: iavoidancecomputer.h:34
Internal representation of world elements, using a vertical cylinder shape.
Definition: spatializedcylinder.h:44
Class used to filter potential colliders in AvoidanceComputer at SpatializedPoint collection step...
Definition: avoidancecomputer.h:29
SpatializedPoint is used to the NavTriangle of "object": Bot, CylinderObstacle, BoxObstacle and Point...
Definition: spatializedpoint.h:146
float KyFloat32
float
Definition: types.h:32
AvoidanceWorkspaceAddColliderResult
AvoidanceWorkspaceAddColliderResult.
Definition: avoidanceworkspace.h:22