106 float radius,
float height);
A single crowd agent managed by kNavManager.
Definition knavagent.h:63
void removeObstacle(kNavObstacle *obstacle)
Removes and destroys a dynamic obstacle.
kNavAgent * addAgent(const kVec3 &position, const kNavAgentConfig &config={})
Adds a new crowd agent at position.
void shutdown()
Shuts down crowd and releases all agents / obstacles.
bool init()
Initialises the internal dtCrowd.
const std::vector< kNavObstacle * > & getObstacles() const
All currently registered obstacles.
kNavMesh * getNavMesh() const
Returns the kNavMesh this manager was created with.
void removeAgent(kNavAgent *agent)
Removes and destroys an agent.
const std::vector< kNavAgent * > & getAgents() const
All currently active agents.
kNavObstacle * addObstacle(const kVec3 &position, float radius, float height)
Adds a dynamic cylinder obstacle.
void update(float deltaTime)
Steps the crowd simulation and rebuilds any dirty tiles.
kNavManager(kNavMesh *mesh, int maxAgents=128)
Constructs a navigation manager for a baked navmesh.
~kNavManager()
Destroys the manager, shutting down the crowd and freeing agents/obstacles.
A baked navigation mesh used for pathfinding and obstacle simulation.
Definition knavmesh.h:140
A dynamic cylinder obstacle carved into the navmesh at runtime.
Definition knavobstacle.h:31
Core type aliases, enumerations, structs, and utility functions used throughout the engine.
Symbol visibility / linkage macro for the Kemena3D library.
#define KEMENA3D_API
Definition kexport.h:35
Navigation crowd agent driven by Detour Crowd.
Navigation mesh baking and pathfinding.
Dynamic navigation obstacle (cylinder) backed by dtTileCache.
Top-level Kemena3D engine namespace.
Definition kanimation.h:23
glm::vec3 kVec3
3-component float vector.
Definition kdatatype.h:33
Per-agent parameters passed to dtCrowd on creation.
Definition knavagent.h:24