KFbxCloneManager
#include<kfbxclonemanager.h>

List of all members.

Detailed Description

The clone manager is a utility for cloning entire networks of KFbxObjects.

Options are availible for specifying how the clones inherit the connections of the original.

Definition at line59of filekfbxclonemanager.h.


Public Types

typedef KMap<KFbxObject
*,CloneSetElement,
KFbxObjectCompare
CloneSet
 The CloneSet is a collection of pointers to objects that will be cloned inClone()Attached to each object is aCloneSetElement.

Public Member Functions

 KFbxCloneManager()
 Constructor.
virtual ~KFbxCloneManager()
 Destructor.
virtual bool Clone(CloneSet&pSet,KFbxObject*pContainer=NULL) const
 Clone all objects in the set using the given policies for duplication of connections.
virtual void AddDependents(CloneSet&pSet, constKFbxObject*pObject, constCloneSetElement&pCloneOptions=CloneSetElement(),KFbxCriteriapTypes=KFbxCriteria::ObjectType(KFbxObject::ClassId), int pDepth=sMaximumCloneDepth) const
 Add all dependents of the given object to the CloneSet.

Static Public Attributes

static const int sMaximumCloneDepth
 Maximum depth to clone dependents.
static const int sConnectToOriginal
 connect to objects that are connected to original object
static const int sConnectToClone
 connect to clones of objects that are connected to original object (only if those original objects are also in the clone set)

Classes

struct CloneSetElement
 This represents an element in a set of objects to be cloned.More...
class KFbxObjectCompare
 Functor to compare object pointers.More...

Member Typedef Documentation

The CloneSet is a collection of pointers to objects that will be cloned inClone()Attached to each object is aCloneSetElement.

Its member variables dictate how the corresponding object will be cloned, and how it will inherit connections on the original object.

Definition at line118of filekfbxclonemanager.h.

Constructor&Destructor Documentation

Constructor.

virtual ~KFbxCloneManager( ) [virtual]

Destructor.

Member Function Documentation

virtual bool Clone(CloneSetpSet,
KFbxObjectpContainer=NULL 
)const[virtual]

Clone all objects in the set using the given policies for duplication of connections.

EachCloneSetElementin the set will have its mObjectClone pointer set to the newly created clone.

Parameters:
pSet Set of objects to clone
pContainer This object (typically a scene or document) will contain the new clones
Returns:
true if all objects were cloned, false otherwise.

virtual void AddDependents(CloneSetpSet,
constKFbxObjectpObject,
constCloneSetElementpCloneOptions=CloneSetElement(),
KFbxCriteria pTypes=KFbxCriteria::ObjectType(KFbxObject::ClassId),
int pDepth=sMaximumCloneDepth 
)const[virtual]

Add all dependents of the given object to the CloneSet.

Dependents of items already in the set are ignored to prevent infinite recursion on cyclic dependencies.

Parameters:
pSet The set to add items.
pObject Object to add dependents to
pCloneOptions 
pTypes Types of dependent objects to consider
pDepth Maximum recursive depth. Valid range is [0,sMaximumCloneDepth]

Member Data Documentation

const intsMaximumCloneDepth[static]

Maximum depth to clone dependents.

Definition at line64of filekfbxclonemanager.h.

const intsConnectToOriginal[static]

connect to objects that are connected to original object

Definition at line67of filekfbxclonemanager.h.

const intsConnectToClone[static]

connect to clones of objects that are connected to original object (only if those original objects are also in the clone set)

Definition at line72of filekfbxclonemanager.h.