PathEngine home previous: iAgent::advanceAlongPathWithCollisionInfo()next: iAgent::canCollide()
Contents, API Reference, Interfaces, iAgent, advanceAlongPathWithPrecision



Similar to advanceAlongPath(), but provides extra precision components of the agent's position.


bool advanceAlongPathWithPrecision(iPath* path, float distance, const iCollisionContext* context, float& precisionX, float& precisionY);


path A path along which to advance the agent.
The path must start at the agent's current position, and the path will then be updated so to start at the agent's new position after the advance.
A null pointer may safely be passed in to this argument, in which case the call will have no effect.
distance The distance to advance along the path.
context The state of dynamic collision that will apply for this query.
An empty context can be specified by passing nullptr for this argument.
Note that the agent is not considered to obstruct itself even if included in this context.
precisionX Extra precision for the x component of the agent's position is returned in this parameter.
precisionY Extra precision for the y component of the agent's position is returned in this parameter.


Requires that the agent is moveable and that collision preprocess has been generated on the agent's mesh for the agent's collision shape.

Return Value

Returns true if there was a collision, otherwise false.


The agent will be moved along the path and at the same time the path updated to start at the agents new position.

When approximating positions along diagonal path segments, collision checks are used to prevent the agent from getting placed inside obstructed space.

Information is stored within Interface iPath to prevent artifacts due to approximation when small distance values are used.

The precision components returned in precisionX and precisionY can be added to the integer part of the position to obtain higher precision coordinates for rendering purposes.

Refer to Advancing Along Paths for general information about PathEngine's built-in advance along path functionality.

See Also

iAgent::advanceAlongPath(), iAgent::advanceAlongPathWithCollisionInfo()

C# Mapping

bool advanceAlongPathWithPrecision(Path path, float distance, CollisionContext context, out float precisionX, out float precisionY);

Java Mapping

boolean advanceAlongPathWithPrecision(Path path, float distance, CollisionContext context, float_OutArgument precisionX, float_OutArgument precisionY);

Documentation for PathEngine release 6.03 - Copyright © 2002-2021 PathEnginenext: iAgent::canCollide()