FBX SDK Programmer's Guide >

# 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 (FbxManager). The FbxManager 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 FbxObject. Consult the FBX Objects topic and the FbxObject class reference page for more information. Examples of classes derived from FbxObject include scene nodes, I/O objects, and collections.

### Nodes

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

### IO Objects

FbxImporter and FbxExporter 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 FbxIO, FbxImporter, and FbxExporter.

### Collections

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

## Object Properties

An FBX object such as FbxNode uses FBX properties (FbxProperty) 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 FbxObject and FbxProperty connection-related member functions such as FbxObject::GetSrcObject(). For more information, see Connections.

#### Topics in this section

- Managing Memory with the FBX SDK Manager
- FBX Objects
- FBX Properties
- Connections
- Error Handling
- Supported String Formats
- Customizing the FBX SDK

  This topic presents how to customize or extend the features of the FBX SDK.