PathEngine home previous: Linking with the SDKnext: Interface Version Numbers
Contents, Programmers Guide, Linking with the SDK, Calling Through Abstract Base Classes

Calling Through Abstract Base Classes

Interfaces to PathEngine, the testbed and objects created by PathEngine are implemented as virtual methods on abstract base classes.

This approach means that direct linkage is only required for initally obtaining a pointer to a root interface.
Other interfaces may then be obtained, and objects created, by calling methods on that root interface.

This approach also enables methods to be added to the interface whilst retaining binary compatibility with code compiled against earlier versions of the interface.

Querying information about an interface

The following methods are provided by each 'root interface': Interface iPathEngine, Interface iContentProcessing3D, Interface iTestBed.
These methods may therefore be used to call against any binaries impementing the interface, in order to query information about the code behind the interface, and to check that the calling code is compatible with the code behind the interface.

virtual const char** getVersionAttributes() const=0;
    virtual int32_t getInterfaceMajorVersion() const=0;
    virtual int32_t getInterfaceMinorVersion() const=0;

Documentation for PathEngine release 6.03 - Copyright © 2002-2021 PathEnginenext: Interface Version Numbers