PathEngine home previous: iPath::advanceAlong()next: iPath::connectionIndex()
Contents, API Reference, Interfaces, iPath, advanceAlongWithCollisionInfo



Provides the same functionality as iAgent::advanceAlongPathWithCollisionInfo(), but without requiring creation of an iAgent.


bool advanceAlongWithCollisionInfo(const iShape& shape, float distance, const iCollisionContext* context, float& precisionX, float& precisionY, cCollidingLine& collidingLine, std::unique_ptr<iAgent>& agent)


shape The shape to use for checking collision. This should normally be the same shape that was used to create this path.
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.
precisionX Extra precision for the x component of the path start is returned in this parameter.
precisionY Extra precision for the y component of the path start is returned in this parameter.
collidingLine If there is a collision then this will be filled in to describe a line of first contact.
agent If there is a collision, and first contact is with an agent in the supplied collision context, this returns a pointer to the obstructing agent. If there is no collision, this is set to zero.

Return Value

Returns true if there was a collision, otherwise false.


Unless you have a specific reason for using this version of the advance along path functionality, the versions provided by the Interface iAgent interface should be preferred.

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

C# Mapping

bool advanceAlongWithCollisionInfo(Shape shape, float distance, CollisionContext context, out float precisionX, out float precisionY, out PathEngine.CollidingLine collidingLine, out Agent agent);

Documentation for PathEngine release 6.03 - Copyright © 2002-2021 PathEnginenext: iPath::connectionIndex()