fbxobject.h File Reference

#include <fbxsdk/fbxsdk_def.h>
#include <fbxsdk/core/fbxplug.h>
#include <fbxsdk/core/fbxproperty.h>
#include <fbxsdk/core/fbxstream.h>
#include <fbxsdk/core/base/fbxstringlist.h>
#include <fbxsdk/fbxsdk_nsbegin.h>
#include <fbxsdk/fbxsdk_nsend.h>

Go to the source code of this file.

Classes

class   FbxObject
  The base class of most FBX objects. More...
class   FbxIterator< FbxProperty >
  A utility class for iterating over the properties (FbxProperty) of any FbxObject. More...
class   FbxIteratorSrcBase
  A utility class for iterating over source objects that connect to property (FbxProperty) or object (FbxObject). More...
class   FbxIteratorSrc< Type >
  A utility class for iterating over source objects that connect to property (FbxProperty) or object (FbxObject). More...
class   FbxIteratorDstBase
  A utility class for iterating over destination objects that connect to property (FbxProperty) or object (FbxObject). More...
class   FbxIteratorDst< Type >
  A utility class for iterating over destination objects that connect to property (FbxProperty) or object (FbxObject). More...
class   FbxObjectPropertyChanged

Defines

#define  FBXSDK_OBJECT_DECLARE(Class, Parent)
  Macro used to declare a new class derived from FbxObject.
#define  FBXSDK_ABSTRACT_OBJECT_DECLARE(Class, Parent)
  Macro used to declare a new abstract class derived from FbxObject.
#define  FBXSDK_OBJECT_IMPLEMENT(Class)
  Macro used to implement a new class derived from FbxObject.
#define  FBXSDK_ABSTRACT_OBJECT_IMPLEMENT(Class)   FBXSDK_ABSTRACT_PLUG_IMPLEMENT(Class) \
  Macro used to implement a new abstract class derived from FbxObject.
#define  FbxForEach(Iterator, Object)   for ( (Object)=(Iterator).GetFirst(); (Object)!=0; (Object)=(Iterator).GetNext() )
  Macro used to iterate over source or destination objects that connect to property (FbxProperty) or object (FbxObject).
#define  FbxForEachReverse(Iterator, Object)   for ( Object=(Iterator).GetLast(); (Object)!=0; Object=(Iterator).GetPrevious() )
  Macro used to reversely iterate over source or destination objects that connect to property (FbxProperty) or object (FbxObject)

Functions

bool  FbxConnectSrc (FbxObject *pDstObject, FbxObject *pSrcObject)
bool  FbxConnectDst (FbxObject *pSrcObject, FbxObject *pDstObject)
template<class T >
int  FbxGetSrcCount (const FbxObject *pObject)
template<class T >
int  FbxGetSrcCount (const FbxObject *pObject, FbxClassId pClassId)
template<class T >
T *  FbxGetSrc (const FbxObject *pObject, int pIndex=0)
template<class T >
T *  FbxGetSrc (const FbxObject *pObject, int pIndex, FbxClassId pClassId)
template<class T >
T *  FbxFindSrc (const FbxObject *pObject, const char *pName, int pIndex=0)
template<class T >
T *  FbxFindSrc (const FbxObject *pObject, const char *pName, FbxClassId pClassId, int pIndex=0)
template<class T >
bool  FbxDisconnectAllSrc (FbxObject *pObject)
template<class T >
int  FbxGetDstCount (const FbxObject *pObject)
template<class T >
int  FbxGetDstCount (const FbxObject *pObject, FbxClassId pClassId)
template<class T >
T *  FbxGetDst (const FbxObject *pObject, int pIndex=0)
template<class T >
T *  FbxGetDst (const FbxObject *pObject, int pIndex, FbxClassId pClassId)
template<class T >
T *  FbxFindDst (const FbxObject *pObject, const char *pName, int pIndex=0)
template<class T >
T *  FbxFindDst (const FbxObject *pObject, const char *pName, FbxClassId pClassId, int pIndex=0)
template<class T >
bool  FbxDisconnectAllDst (const FbxObject *pObject)

Detailed Description

Definition in file fbxobject.h.


Define Documentation

#define FBXSDK_OBJECT_DECLARE (   Class,
  Parent 
)
Value:
FBXSDK_PLUG_DECLARE(Class)      /* this also set public */                  \
    typedef Parent ParentClass;                                                 \
    static Class* Create(FbxObject* pContainer, const char* pName);             \
    virtual ~Class(){};                                                         \
private:                                                                        \
    Class(const Class&);                                                        \
    Class& operator=(const Class&);                                             \

Macro used to declare a new class derived from FbxObject.

Examples:
ExportScene03/MyKFbxMesh.h.

Definition at line 35 of file fbxobject.h.

#define FBXSDK_ABSTRACT_OBJECT_DECLARE (   Class,
  Parent 
)
Value:
FBXSDK_ABSTRACT_PLUG_DECLARE(Class) /* this also set public */              \
    typedef Parent ParentClass;                                                 \
private:                                                                        \
    Class(const Class&);                                                        \
    Class& operator=(const Class&);                                             \

Macro used to declare a new abstract class derived from FbxObject.

Definition at line 45 of file fbxobject.h.

#define FBXSDK_OBJECT_IMPLEMENT (   Class )
Value:
FBXSDK_PLUG_IMPLEMENT(Class)                                                \
    Class* Class::Create(FbxObject* pContainer, const char* pName)              \
    {                                                                           \
        if( !pContainer ) return NULL;                                          \
        FbxManager* Manager = pContainer->GetFbxManager();                      \
        FBX_ASSERT(Manager);                                                    \
        Class* ClassPtr = 0;                                                    \
        ClassPtr = (Class*)Manager->CreateNewObjectFromClassId(Class::ClassId,  \
            pName, pContainer);                                                 \
        return ClassPtr;                                                        \
    }                                                                           \

Macro used to implement a new class derived from FbxObject.

Examples:
ExportScene03/MyKFbxMesh.cxx.

Definition at line 53 of file fbxobject.h.

#define FBXSDK_ABSTRACT_OBJECT_IMPLEMENT (   Class )    FBXSDK_ABSTRACT_PLUG_IMPLEMENT(Class) \

Macro used to implement a new abstract class derived from FbxObject.

Definition at line 67 of file fbxobject.h.

#define FbxForEach (   Iterator,
  Object 
)    for ( (Object)=(Iterator).GetFirst(); (Object)!=0; (Object)=(Iterator).GetNext() )

Macro used to iterate over source or destination objects that connect to property (FbxProperty) or object (FbxObject).

Definition at line 1604 of file fbxobject.h.

#define FbxForEachReverse (   Iterator,
  Object 
)    for ( Object=(Iterator).GetLast(); (Object)!=0; Object=(Iterator).GetPrevious() )

Macro used to reversely iterate over source or destination objects that connect to property (FbxProperty) or object (FbxObject)

Definition at line 1607 of file fbxobject.h.


Function Documentation

bool FbxConnectSrc ( FbxObject pDstObject,
FbxObject pSrcObject 
) [inline]

Definition at line 1167 of file fbxobject.h.

{ return (pSrcObject && pDstObject) ? pDstObject->ConnectSrcObject(pSrcObject) : 0; }
bool FbxConnectDst ( FbxObject pSrcObject,
FbxObject pDstObject 
) [inline]
Examples:
UserProperties/main.cxx.

Definition at line 1168 of file fbxobject.h.

{ return (pSrcObject && pDstObject) ? pSrcObject->ConnectDstObject(pDstObject) : 0; }
int FbxGetSrcCount ( const FbxObject pObject ) [inline]

Definition at line 1171 of file fbxobject.h.

{ return pObject ? pObject->GetSrcObjectCount(T::ClassId) : 0; }
int FbxGetSrcCount ( const FbxObject pObject,
FbxClassId  pClassId 
) [inline]

Definition at line 1172 of file fbxobject.h.

{ return pObject ? pObject->GetSrcObjectCount(pClassId) : 0;     }
T* FbxGetSrc ( const FbxObject pObject,
int  pIndex = 0 
) [inline]

Definition at line 1173 of file fbxobject.h.

{ return pObject ? (T *) pObject->GetSrcObject(T::ClassId,pIndex) : 0; }
T* FbxGetSrc ( const FbxObject pObject,
int  pIndex,
FbxClassId  pClassId 
) [inline]

Definition at line 1174 of file fbxobject.h.

{ return pObject ? (T *) pObject->GetSrcObject(pClassId,pIndex) : 0;    }
T* FbxFindSrc ( const FbxObject pObject,
const char *  pName,
int  pIndex = 0 
) [inline]

Definition at line 1175 of file fbxobject.h.

{ return pObject ? (T *) pObject->FindSrcObject(T::ClassId,pName,pIndex) : 0;   }
T* FbxFindSrc ( const FbxObject pObject,
const char *  pName,
FbxClassId  pClassId,
int  pIndex = 0 
) [inline]

Definition at line 1176 of file fbxobject.h.

{ return pObject ? (T *) pObject->FindSrcObject(pClassId,pName,pIndex) : 0; }
bool FbxDisconnectAllSrc ( FbxObject pObject ) [inline]

Definition at line 1178 of file fbxobject.h.

{ return pObject->DisconnectAllSrcObject(T::ClassId);   }
int FbxGetDstCount ( const FbxObject pObject ) [inline]

Definition at line 1181 of file fbxobject.h.

{ return pObject ? pObject->GetDstObjectCount(T::ClassId) : 0; }
int FbxGetDstCount ( const FbxObject pObject,
FbxClassId  pClassId 
) [inline]

Definition at line 1182 of file fbxobject.h.

{ return pObject ? pObject->GetDstObjectCount(pClassId) : 0;     }
T* FbxGetDst ( const FbxObject pObject,
int  pIndex = 0 
) [inline]

Definition at line 1183 of file fbxobject.h.

{ return pObject ? (T *) pObject->GetDstObject(T::ClassId,pIndex) : 0; }
T* FbxGetDst ( const FbxObject pObject,
int  pIndex,
FbxClassId  pClassId 
) [inline]

Definition at line 1184 of file fbxobject.h.

{ return pObject ? (T *) pObject->GetDstObject(pClassId,pIndex) : 0;    }
T* FbxFindDst ( const FbxObject pObject,
const char *  pName,
int  pIndex = 0 
) [inline]

Definition at line 1185 of file fbxobject.h.

{ return pObject ? (T *) pObject->FindDstObject(T::ClassId,pName,pIndex) : 0;   }
T* FbxFindDst ( const FbxObject pObject,
const char *  pName,
FbxClassId  pClassId,
int  pIndex = 0 
) [inline]

Definition at line 1186 of file fbxobject.h.

{ return pObject ? (T *) pObject->FindDstObject(pClassId,pName,pIndex) : 0; }
bool FbxDisconnectAllDst ( const FbxObject pObject ) [inline]

Definition at line 1188 of file fbxobject.h.

{ return pObject->DisconnectAllDstObject(T::ClassId);   }