PathEngine home previous: iAgent::firstCollisionTo()next: iAgent::generateCurvedPath_WithEndVector()
Contents, API Reference, Interfaces, iAgent, generateCurvedPath

iAgent::generateCurvedPath()

Description

Post process path smoothing.
Returns a new path based on a 'base path', but with corners smoothed according to supplied parameters.

Syntax

std::unique_ptr<iPath> generateCurvedPath(iPath* basePath, const iCollisionContext* context, int32_t startVectorX, int32_t startVectorY, int32_t sectionLength, float turnRatio1, float turnRatio2) const

Parameters

basePath A straight line path from which to generate the curved 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.
startVectorX X component of a start vector to incorporate into the curved path.
Must be in the range -1500000 to 1500000.
startVectorY Y component of a start vector to incorporate into the curved path.
Must be in the range -1500000 to 1500000.
sectionLength Desired minimum section length for the curved path.
turnRatio1 Desired maximum turn angle for a first pass, specified as a ratio.
turnRatio2 Desired maximum turn angle for a second pass, specified as a ratio.

Requirements

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

If basePath is not a null pointer then this method always returns a newly created Interface iPath object for the smoothed path.
If basePath is a null pointer then a null pointer will be returned

Remarks

Legacy version of iAgent::generateCurvedPath_WithEndVector().
Equivalent to calling that method with both end vector parameters set to zero.

C# Mapping

Path generateCurvedPath(Path basePath, CollisionContext context, int startVectorX, int startVectorY, int sectionLength, float turnRatio1, float turnRatio2);

Java Mapping

Path generateCurvedPath(Path basePath, CollisionContext context, int startVectorX, int startVectorY, int sectionLength, float turnRatio1, float turnRatio2);

Documentation for PathEngine release 6.04 - Copyright © 2002-2024 PathEnginenext: iAgent::generateCurvedPath_WithEndVector()