FBX SDK Object Model
 
 
 

This section presents the FBX SDK object model. Several key concepts are explained here to give you an intuition of how to use the FBX SDK effectively.

Memory Management

Memory management within the FBX SDK is performed by the FBX SDK Manager object (KFbxSdkManager). The KFbxSdkManager singleton is responsible for creating, manipulating, and destroying objects used by the SDK. For more information, see Managing memory with the FBX SDK manager.

Objects

Most of the classes in the FBX SDK are derived from KFbxObject. Consult the FBX Objects topic and the KFbxObject class reference page for more information. Examples of classes derived from KFbxObject include scene nodes, I/O objects, and collections.

Nodes

The FBX scene graph is organized as a tree of KFbxNode objects. Associated to these nodes are cameras, meshes, NURBS, lights, and all the other scene elements. These scene elements are specialized instances of KFbxNodeAttribute. For more information, see Nodes and the Scene Graph.

IO Objects

KFbxImporter and KFbxExporter objects are used to import and export scenes in the FBX SDK. For more information, consult the Importing and Exporting a Scene section, as well as the class reference pages of KFbxIO, KFbxImporter, and KFbxExporter.

Collections

Most container classes are derived from the KFbxCollection class, whose member functions include KFbxCollection::AddMember(), KFbxCollection::RemoveMember(), KFbxCollection::FindMember(), KFbxCollection::IsMember(), KFbxCollection::SetSelected(), etc.

Object Properties

An FBX object such as KFbxNode uses FBX properties (KFbxProperty) rather than conventional C++ member variables. FBX properties allow for strongly typed data to be dynamically added to FBX objects. For more information, see FBX Properties.

Connections

The concept of connections is relevant to understanding the FBX SDK's object model. Connections can bind objects to one another, properties to one another, objects to properties, and vice versa. Note that there is no Connection class available in the API. Rather, connections can only be manipulated with the KFbxObject and KFbxProperty connection-related member functions such as KFbxObject::GetSrcObject(). For more information, see Connections.