PathEngine home previous: iMesh::placeAgent()next: iMesh::positionFor3DPoint()
Contents, API Reference, Interfaces, iMesh, placeLargeStaticObstacle

iMesh::placeLargeStaticObstacle()

Description

Constructs an Interface iAgent object to represent placement of an object of a given shape at a point on the surface of this mesh.
This version enables shapes to be placed without the application of the usual range constraint on iShape instances.

Syntax

iAgent* placeLargeStaticObstacle(tSigned32 numberOfPoints, const tSigned32* coordinateData, const cPosition& position) const;

Parameters

numberOfPointsThe number of vertices in the shape.
coordinateDataPoints to an array of tSigned32, of size numberOfPoints * 2. This array is copied, and can therefore be safely deleted after the call returns.
position A root position to determine which parts of any overlapping geometry are affected by the shape.
This must be a valid position on this mesh, and must be inside the boundary of the supplied shape.

Return Value

A newly created Interface iAgent for the placed obstruction.
Note that this returned agent cannot subsequently be moved, and collision or pathfinding queries cannot be made for this agent.
The agent can, however, be included in collision context, burnt into a mesh, and otherwise treated as an obstruction.

Remarks

The shape coordinates passed in are in pathfinding 'world coordinates', i.e. they are not relative to the supplied root position.

The shape passed in is subject to validation constraints, similar to the constraints on iShape creation, but with a much larger permitted range.
Refer to Shape Validation for details.

If there is a possibility that the coordinates to be passed in to this method may not be valid with respect to these constraints then this should be checked with iPathEngine::largeStaticObstacleShapeIsValid() before calling this method.

The created Interface iAgent can be explicitly deleted when no longer required, but will also be deleted when this mesh is destroyed. In either case the pointer can no longer be used.


Documentation for PathEngine release 5.16 - Copyright © 2002-2008 PathEnginenext: iMesh::positionFor3DPoint()