PathEngine home previous: PathEngine_ShutDownnext: Interface iPathEngine
Contents, API Reference, Interfaces

Interfaces

Interfaces to pathengine, the testbed and objects created by pathengine are implemented as virtual methods on an abstract base class.

The client application obtains a pointer to the abstract base class and calls functions through this pointer.
The vtable mechanism directs these calls to the correct code within the pathengine or testbed dlls.

To use this mechanism, the c++ binary interface of the client application must be compatible with the c++ binary interface for pathengine.
On win32 the binary interface is compatible across all major compilers because this is required for COM.

iPathEngine

The root interface to PathEngine. All functionality (apart from testbed functionality) is obtained through this interface, or through objects obtained from this interface.

iShape

Define a collision shape that can then be used to create multiple agents.

iGround

iGround objects are immutable objects corresponding to the ground surfaces on which agents can move.

iMesh

iMesh objects are ground surfaces ('meshes') on which agents can move, together with things like placed obstacles, preprocess and data structures to enable things like collision and pathfinding queries.

iAgent

iAgent objects represent the placement of a shape at a position on a mesh.

iCollisionContext

Represents a state of dynamic collision for an iMesh.

iObstacleSet

Used to create free standing sets of obstacles, that can then be combined in collision contexts.

iPath

A sequence of positions on a mesh. Returned by Pathfinding queries.

iExpanded2DObstacles

A chunk of combined and preexpanded 2D obstacles that can later be included in mesh unobstructed space in certain, fairly specific, content flows.

iContentChunk

Encapsulates a block of content markup that can be saved and loaded to and from persistent store, and instanced for PathEngine's content processing functionality.

iContentChunkInstance

Lightweight API object for working with content chunk geometry instantiated at a given position and orientation.

iMeshFederation

Encapsulates the tiling for a 'federation' of overlapping tiled iMesh instances, and manages transitions between meshes for agents moving across the federation.
(Enables pathfinding to be applied, seamlessly, over very large worlds.)

iSourceTiling

Encapsulates the tiling applied to 3D source content for tiled 3D content processing.

iMeshFederationTileGeneratedCallBack

The client application creates objects deriving from this interface to pass into iPathEngine::buildMeshFederation_FromWorldMesh(), to handle mesh tiles in the federation as they are generated.

iErrorHandler

The client application creates objects derived from this interface to perform customised error handling.

iOutputStream

The client application creates objects derived from this interface to receive streamed data from PathEngine.

iTerrainCallBack

The client application creates objects deriving from this interface to enable PathEngine to work with a client side representation of surface detail such as a height field for terrain.

iQueryCallBack

The client application creates objects deriving from this interface to pass into query methods such as iMesh::findShortestPath_WithQueryCallBack(), to enable the query to be aborted early.

iRender3DLinesCallBack

The client application creates objects deriving from this interface to pass into visualisation helper functions such as iPath::renderOnGround().

iFaceVertexMesh

An interface class for passing geometry represented in the form of indexed tris and vertices into PathEngine.
The client application creates objects deriving from this interface to represent geometry to be processed by PathEngine's content processing functionality.

iAnchorsAndPinnedShapes

An interface class for passing content-side anchor and pinned shape information into PathEngine.
The client application creates objects derived from this interface to represent geometry to be processed by PathEngine's content processing functionality.

iSolidObjects

An interface class for passing information about solid source geometry into PathEngine's 3D content processing functionality.

iProgressCallBack

An interface class which can be used to obtain progress updates and display a progress bar during potentially time consuming operations.

iConnectionTestCallBack

Objects derived from this interface are passed in to iMesh::autoGenerateConnections() to enable candidate endpoint pairs to be validated against client side world data and movement constraints.

iTestBed

Interface to the PathEngine testbed.

iContentProcessing3D

Root interface for dll linkage with PathEngine's 3D content processing functionality.

iAllocator

The client application can create objects derived from this interface to specify custom memory allocation strategies or to generate memory allocation statistics.

iArrayReceiver

Calling code uses objects derived from this interface as a mechanism for returning arbirary array data from API methods.

iFaceVertexBuilder

A callback class for use with PathEngine methods that construct face vertex mesh data.

iSolidObjectsBuilder

A callback class for use with PathEngine methods that construct face vertex mesh data.

iRenderGeometry

Used for passing geometry information into the testbed renderer.


Documentation for PathEngine release 6.04 - Copyright © 2002-2024 PathEnginenext: Interface iPathEngine