All 3ds Max objects that can be exported using 3DXI are represented in 3DXI by an object derived from IExportEntity
.
This interface provides unified parameter access as well as a way of querying whether a particular IExportEntity
is directly supported with a dedicated API. The method, IExportEntity::IsEntitySupported()
, is used for this; any supported entity will return TRUE
. IExportEntity
uses this method to define whether the entity is directly supported from within 3DXI, such as a bitmap texture, and provides direct access using the API for this entity.
Another example: the IGameMesh
object provides direct support for TriObject
s. In this case, IGameMesh
is a wrapper for any geometry-based object, so calling IExportEntity::IsEntitySupported()
yields TRUE
for any object it can convert to a tri-object, FALSE
for the others. If this method returns FALSE
, it simply means that there is no dedicated API for use with this object. A developer can still use the IPropertyContainer
interface to iterate through properties and access data that way.