PathEngine home previous: iMesh::placeLargeStatic2DObstacle()next: iMesh::placeProjected3DObstruction()
Contents, API Reference, Interfaces, iMesh, placeLargeStaticObstacle

iMesh::placeLargeStaticObstacle()

Description

Constructs an Interface iAgent object to represent placement of an obstacle on this mesh.
This version enables shapes to be placed without the application of the usual range constraint on iShape instances.

Syntax

iAgent* placeLargeStaticObstacle(int32_t const * shapeCoordinates_Buffer, uint32_t shapeCoordinates_BufferEntries, const cPosition& position) const;

Parameters

shapeCoordinates_Buffer, shapeCoordinates_BufferEntries (See Passing Arrays.) A sequence of x and y coordinate value pairs for the shape.
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 can only be used as an obstruction, i.e. the agent cannot subsequently be moved, and collision and pathfinding queries cannot be made for the agent, but the agent can be included in collision contexts and burnt into meshes.

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, 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 released.

Some discussion of PathEngine's runtime shape management functionality, in general, can be found here.

See Also

iMesh::placeAgent(), iMesh::placeProjected3DObstruction(), iMesh::placeLargeStatic2DObstacle()

C# Mapping

Agent placeLargeStaticObstacle(int[] shapeCoordinates, PathEngine.Position position);

Java Mapping

Agent placeLargeStaticObstacle(int[] shapeCoordinates, Position position);

Documentation for PathEngine release 6.00 - Copyright © 2002-2016 PathEnginenext: iMesh::placeProjected3DObstruction()