FBX C++ API Reference
FbxEmbeddedFileCallback Class Reference

Callback to operate on the embedded data while it is processed. More...

#include <fbxcallbacks.h>

+ Inheritance diagram for FbxEmbeddedFileCallback:

Public Types

typedef FbxCallback ParentClass
 
typedef FbxCallback::State(* ReadCBFunction) (void *pUserData, FbxClassId pDataHint, const char *pFileName, const void *pFileBuffer, size_t pSizeInBytes)
 The read callback function prototype. More...
 
typedef FbxCallback::State(* WriteCBFunction) (void *pUserData, FbxClassId pDataHint, const char *pFileName, const void **pFileBuffer, size_t *pSizeInBytes)
 The write callback function prototype. More...
 
- Public Types inherited from FbxCallback
enum  State { eFailure = 0, eNotHandled = 1, eHandled = 2 }
 
typedef FbxObject ParentClass
 
- Public Types inherited from FbxObject
typedef FbxEmitter ParentClass
 
enum  EObjectFlag {
  eNone = 0, eInitialized = 1 << 0, eSystem = 1 << 1, eSavable = 1 << 2,
  eSelected = 1 << 3, eHidden = 1 << 4, eContentLoaded = 1 << 5, eDontLocalize = 1 << 6,
  eCopyCalledByClone = 1 << 16
}
 Flags available to control objects. More...
 
enum  ECloneType { eDeepClone, eReferenceClone }
 Types of clones that can be created for FbxObject. More...
 

Public Member Functions

virtual FbxClassId GetClassId () const override
 
int RegisterReadFunction (ReadCBFunction pFunction, void *pUserData=nullptr)
 Register the Read callback function. More...
 
FbxCallback::State Trigger (const char *pFileName, const void *pFileBuffer, size_t pSizeInBytes)
 Call the registered Read callback function passing the appropriated arguments. More...
 
int RegisterWriteFunction (WriteCBFunction pFunction, void *pUserData=nullptr)
 Register the Write callback function. More...
 
FbxCallback::State Trigger (const char *pFileName, const void **pFileBuffer, size_t *pSizeInBytes)
 Call the registered Write callback function passing the appropriated arguments. More...
 
- Public Member Functions inherited from FbxCallback
void SetDataHint (FbxClassId pDataHint)
 Store an identifier of what data is processed. More...
 
bool GetCallback (int pId, FbxHandle &pFunction, FbxHandle &pUserData)
 Get the registered callback function pointer and user data. More...
 
- Public Member Functions inherited from FbxObject
virtual void Compact ()
 Compact the memory used by this object. More...
 
template<class T >
bool Is () const
 Templated test if this class is a hierarchical children of the specified class type. More...
 
FbxManagerGetFbxManager () const
 Retrieve the FbxManager this object belongs to. More...
 
FbxDocumentGetDocument () const
 Returns a const pointer to the document that contains this object. More...
 
FbxDocumentGetRootDocument () const
 Returns a const pointer to the root document that contains this object. More...
 
FbxSceneGetScene () const
 Returns a const pointer to the scene that contains this object. More...
 
void Destroy (bool pRecursive=false)
 Unregister and delete this object from memory. More...
 
void ResetProperties ()
 Reset all the properties of this object to their default values. More...
 
virtual bool GetSelected ()
 Returns if this object is currently in a selected state. More...
 
virtual void SetSelected (bool pSelected)
 Sets whether this object is currently selected. More...
 
void SetUserDataPtr (const FbxUInt64 &pUserID, void *pUserData)
 Sets the data pointer for an user data record whose ID is pUserID. More...
 
void * GetUserDataPtr (const FbxUInt64 &pUserID) const
 Returns the data pointer of an user data record whose ID is pUserID. More...
 
void SetUserDataPtr (void *pUserData)
 Sets the data pointer for the user data record whose ID is the object ID. More...
 
void * GetUserDataPtr () const
 Returns the data pointer of the user data record whose ID is the object ID. More...
 
bool ConnectSrcObject (FbxObject *pObject, FbxConnection::EType pType=FbxConnection::eNone)
 Connects this object to a source object. More...
 
bool IsConnectedSrcObject (const FbxObject *pObject) const
 Judges whether this object connects with the source object. More...
 
bool DisconnectSrcObject (FbxObject *pObject)
 Disconnects this object from a source object. More...
 
bool DisconnectAllSrcObject ()
 Disconnects this object from all source objects. More...
 
bool DisconnectAllSrcObject (const FbxCriteria &pCriteria)
 Disconnects this object from all source objects that satisfy a given criteria. More...
 
int GetSrcObjectCount () const
 Returns the number of source objects with which this object connects. More...
 
int GetSrcObjectCount (const FbxCriteria &pCriteria) const
 Returns the number of source objects that satisfy the given criteria with which this object connects. More...
 
FbxObjectGetSrcObject (int pIndex=0) const
 Returns the source object with which this object connects at the specified index. More...
 
FbxObjectGetSrcObject (const FbxCriteria &pCriteria, int pIndex=0) const
 Returns the source object that satisfies the criteria at the specified index with which this object connects. More...
 
FbxObjectFindSrcObject (const char *pName, int pStartIndex=0) const
 Searches the source object with the specified name, starting at the specified index. More...
 
FbxObjectFindSrcObject (const FbxCriteria &pCriteria, const char *pName, int pStartIndex=0) const
 Searches the source object with the specified name which satisfies the given criteria, starting at the specified index. More...
 
template<class T >
bool DisconnectAllSrcObject ()
 Disconnects this object from all source objects of the specified class type. More...
 
template<class T >
bool DisconnectAllSrcObject (const FbxCriteria &pCriteria)
 Disconnects this object from all source objects that are of the specified class type and that satisfy the given criteria. More...
 
template<class T >
int GetSrcObjectCount () const
 Returns the number of source objects of a specific class type with which this object connects. More...
 
template<class T >
int GetSrcObjectCount (const FbxCriteria &pCriteria) const
 Returns the number of source objects with which this object connects that are the specified class type and that satisfy the given criteria. More...
 
template<class T >
T * GetSrcObject (int pIndex=0) const
 Returns the source object of the specified class type at the specified index. More...
 
template<class T >
T * GetSrcObject (const FbxCriteria &pCriteria, int pIndex=0) const
 Returns the source object that is the specified class type and that satisfies the given criteria at the specified index. More...
 
template<class T >
T * FindSrcObject (const char *pName, int pStartIndex=0) const
 Searches the source object with the specified name that is the specified class type, starting at the specified index. More...
 
template<class T >
T * FindSrcObject (const FbxCriteria &pCriteria, const char *pName, int pStartIndex=0) const
 Searches the source object with the specified name that is the specified class type and that satisfies the given criteria, starting at the specified index. More...
 
bool ConnectDstObject (FbxObject *pObject, FbxConnection::EType pType=FbxConnection::eNone)
 Connects this object to one destination object. More...
 
bool IsConnectedDstObject (const FbxObject *pObject) const
 Judges whether this object connects with the destination object. More...
 
bool DisconnectDstObject (FbxObject *pObject)
 Disconnects this object from the destination object. More...
 
bool DisconnectAllDstObject ()
 Disconnects this object from all destination objects. More...
 
bool DisconnectAllDstObject (const FbxCriteria &pCriteria)
 Disconnects this object from all destination objects that satisfy given criteria. More...
 
int GetDstObjectCount () const
 Returns the number of destination objects with which this object connects. More...
 
int GetDstObjectCount (const FbxCriteria &pCriteria) const
 Returns the number of destination objects with which this object connects that satisfy the given criteria. More...
 
FbxObjectGetDstObject (int pIndex=0) const
 Returns the destination object at the specified index with which this object connects. More...
 
FbxObjectGetDstObject (const FbxCriteria &pCriteria, int pIndex=0) const
 Returns the destination object with which this object connects that satisfies the given criteria at the specified index. More...
 
FbxObjectFindDstObject (const char *pName, int pStartIndex=0) const
 Searches the destination object with the specified name, starting at the specified index. More...
 
FbxObjectFindDstObject (const FbxCriteria &pCriteria, const char *pName, int pStartIndex=0) const
 Searches the destination object with the specified name which satisfies the given criteria, starting at the specified index. More...
 
template<class T >
bool DisconnectAllDstObject ()
 Disconnects this object from all destination objects of the specified class type. More...
 
template<class T >
bool DisconnectAllDstObject (const FbxCriteria &pCriteria)
 Disconnects this object from all destination objects that are the specified class type and that satisfy the given criteria. More...
 
template<class T >
int GetDstObjectCount () const
 Returns the number of destination objects of the specified class type with which this object connects. More...
 
template<class T >
int GetDstObjectCount (const FbxCriteria &pCriteria) const
 Returns the number of destination objects with which this object connects that are the specified class type and that satisfy the given criteria. More...
 
template<class T >
T * GetDstObject (int pIndex=0) const
 Returns the destination object with which this object connects that is the specified class type at the specified index. More...
 
template<class T >
T * GetDstObject (const FbxCriteria &pCriteria, int pIndex=0) const
 Returns the destination object with which this object connects that is the specified class type and that satisfies the given criteria at the specified index. More...
 
template<class T >
T * FindDstObject (const char *pName, int pStartIndex=0) const
 Searches the destination object with the specified name which is of the specified class type, starting at the specified index. More...
 
template<class T >
T * FindDstObject (const FbxCriteria &pCriteria, const char *pName, int pStartIndex=0) const
 Searches the destination object with the specified name that is the specified class type and that satisfies the given criteria, starting at the specified index. More...
 
FbxProperty GetFirstProperty () const
 Returns the first property of this object. More...
 
FbxProperty GetNextProperty (const FbxProperty &pProperty) const
 Returns the next property of this object that follows the specified property. More...
 
FbxProperty FindProperty (const char *pName, bool pCaseSensitive=true) const
 Searches a property by name. More...
 
FbxProperty FindProperty (const char *pName, const FbxDataType &pDataType, bool pCaseSensitive=true) const
 Searches a property by name and data type. More...
 
FbxProperty FindPropertyHierarchical (const char *pName, bool pCaseSensitive=true) const
 Searches a property by full name. More...
 
FbxProperty FindPropertyHierarchical (const char *pName, const FbxDataType &pDataType, bool pCaseSensitive=true) const
 Searches a property by full name and data type. More...
 
FbxProperty GetClassRootProperty ()
 Returns the class root property. More...
 
bool ConnectSrcProperty (const FbxProperty &pProperty)
 Connects this object to a source property. More...
 
bool IsConnectedSrcProperty (const FbxProperty &pProperty)
 Determines whether this object connects with the specified source property. More...
 
bool DisconnectSrcProperty (const FbxProperty &pProperty)
 Disconnects this object from the specified source property. More...
 
int GetSrcPropertyCount () const
 Returns the number of source properties with which this object connects. More...
 
FbxProperty GetSrcProperty (int pIndex=0) const
 Returns the source property at the specified index with which this object connects. More...
 
FbxProperty FindSrcProperty (const char *pName, int pStartIndex=0) const
 Searches a source property with which this object connects that has a specific name, starting at the specified index. More...
 
bool ConnectDstProperty (const FbxProperty &pProperty)
 Connects this object to a destination property. More...
 
bool IsConnectedDstProperty (const FbxProperty &pProperty)
 Determines if this object connects with the specified destination property. More...
 
bool DisconnectDstProperty (const FbxProperty &pProperty)
 Disconnects this object from the specified destination property. More...
 
int GetDstPropertyCount () const
 Returns the number of destination properties with which this object connects. More...
 
FbxProperty GetDstProperty (int pIndex=0) const
 Returns the destination property at the specified index with which this object connects. More...
 
FbxProperty FindDstProperty (const char *pName, int pStartIndex=0) const
 Searches a destination property with which this object connects that has a specific name, starting at the specified index. More...
 
int ContentUnload ()
 Unloads this object's content using the offload peripheral that is currently set in the document then flushes it from memory. More...
 
int ContentLoad ()
 Loads this object's content using the offload peripheral that is currently set in the document. More...
 
bool ContentIsLoaded () const
 Judges if this object's content is loaded. More...
 
void ContentDecrementLockCount ()
 Decreases the content lock count of an object. More...
 
void ContentIncrementLockCount ()
 Increases the content lock count of an object. More...
 
bool ContentIsLocked () const
 Judges if this object's content is locked. More...
 
virtual bool ContentWriteTo (FbxStream &pStream) const
 Writes the content of the object to the given stream. More...
 
virtual bool ContentReadFrom (const FbxStream &pStream)
 Reads the content of the object from the given stream. More...
 
void EmitMessage (FbxMessage *pMessage) const
 Emits a message in all available message emitters in the document or SDK manager. More...
 
virtual const char * Localize (const char *pID, const char *pDefault=((void *) 0)) const
 Localization helper function, it calls the implementation of FBX SDK manager. More...
 
FbxLibraryGetParentLibrary () const
 Returns a handle on the parent library of this object. More...
 
bool AddImplementation (FbxImplementation *pImplementation)
 Adds an implementation. More...
 
bool RemoveImplementation (FbxImplementation *pImplementation)
 Removes an implementation. More...
 
bool HasDefaultImplementation (void) const
 Determines if this shading node has a default implementation. More...
 
FbxImplementationGetDefaultImplementation (void) const
 Returns the default implementation of this shading node. More...
 
bool SetDefaultImplementation (FbxImplementation *pImplementation)
 Sets the default implementation of this shading node. More...
 
int GetImplementationCount (const FbxImplementationFilter *pCriteria=((void *) 0)) const
 Returns the number of implementations that satisfy a given criteria. More...
 
FbxImplementationGetImplementation (int pIndex, const FbxImplementationFilter *pCriteria=((void *) 0)) const
 Returns the implementation at the specified index that satisfies the given criteria. More...
 
virtual FbxString GetUrl () const
 Returns the URL of this object. More...
 
virtual bool SetUrl (const char *pUrl)
 Sets the URL of this object. More...
 
void SetRuntimeClassId (const FbxClassId &pClassId)
 Set the run-time ClassId for this class. More...
 
FbxClassId GetRuntimeClassId () const
 Retrieve the run-time ClassId for this object. More...
 
bool IsRuntime (const FbxClassId &pClassId) const
 Test if this class is a hierarchical children of the specified class type. More...
 
bool IsRuntimePlug () const
 Find out if the ClassId was registered during run-time rather than at compile time. More...
 
void SetObjectFlags (EObjectFlag pFlags, bool pValue)
 Set the state of object flags. More...
 
bool GetObjectFlags (EObjectFlag pFlags) const
 Get the state of object flags. More...
 
void SetAllObjectFlags (FbxUInt pFlags)
 Override all object flags at once. More...
 
FbxUInt GetAllObjectFlags () const
 Get all object flags at once. More...
 
virtual FbxObjectCopy (const FbxObject &pObject)
 Copy an object content into this object. More...
 
virtual FbxObjectClone (FbxObject::ECloneType pCloneType=eDeepClone, FbxObject *pContainer=((void *) 0), void *pSet=((void *) 0)) const
 Creates a clone of this object. More...
 
bool IsAReferenceTo () const
 Checks if this object is a reference clone of another object. More...
 
FbxObjectGetReferenceTo () const
 If this object is a reference clone, returns the original object (from which the clone originates). More...
 
bool IsReferencedBy () const
 Checks if any objects are reference cloned from this object. More...
 
int GetReferencedByCount () const
 Returns the number of objects that are reference clones of this object. More...
 
FBX_DEPRECATED FbxObjectGetReferencedBy (int pIndex) const
 Returns a reference clone of this object at the specified index. More...
 
int GetReferencedBy (FbxArray< FbxObject * > &pReferencedBy) const
 Returns an array containing all the reference clones of this object. More...
 
void SetName (const char *pName)
 Sets the name of this object. More...
 
const char * GetName () const
 Returns the full name of this object. More...
 
FbxString GetNameWithoutNameSpacePrefix () const
 Returns the name of the object without the namespace qualifier. More...
 
FbxString GetNameWithNameSpacePrefix () const
 Returns the name of the object with the namespace qualifier. More...
 
void SetInitialName (const char *pName)
 Sets the initial name of the object. More...
 
const char * GetInitialName () const
 Returns the initial name of the object. More...
 
FbxString GetNameSpaceOnly ()
 Returns the namespace of the object. More...
 
void SetNameSpace (FbxString pNameSpace)
 Sets the namespace of the object. More...
 
FbxArray< FbxString * > GetNameSpaceArray (char identifier)
 Returns an array of all the namespaces for this object. More...
 
FbxString GetNameOnly () const
 Returns only the name (no namespace or prefix) of the object. More...
 
FbxString GetNameSpacePrefix () const
 Returns the namespace qualifier. More...
 
const FbxUInt64GetUniqueID () const
 Returns the unique ID of this object. More...
 
- Public Member Functions inherited from FbxEmitter
void AddListener (FbxEventHandler &pHandler)
 Add the specified event handler to current emitter list. More...
 
void RemoveListener (FbxEventHandler &pHandler)
 Remove the specified event handler from current emitter list. More...
 
template<typename EventType >
void Emit (const EventType &pEvent) const
 Emit an event with the specified the event type. More...
 

Static Public Member Functions

static FbxEmbeddedFileCallbackCreate (FbxManager *pManager, const char *pName)
 
static FbxEmbeddedFileCallbackCreate (FbxObject *pContainer, const char *pName)
 
- Static Public Member Functions inherited from FbxCallback
static FbxCallbackCreate (FbxManager *pManager, const char *pName)
 
- Static Public Member Functions inherited from FbxObject
static FbxObjectCreate (FbxManager *pManager, const char *pName)
 
static FbxObjectCreate (FbxObject *pContainer, const char *pName)
 
static FbxString RemovePrefix (const char *pName)
 Removes the prefix of pName. More...
 
static FbxString StripPrefix (FbxString &lName)
 Strips the prefix of pName. More...
 
static FbxString StripPrefix (const char *pName)
 Strips the prefix of pName. More...
 

Static Public Attributes

static FbxClassId ClassId
 
- Static Public Attributes inherited from FbxCallback
static FbxClassId ClassId
 
- Static Public Attributes inherited from FbxObject
static FbxClassId ClassId
 

Protected Member Functions

virtual ~FbxEmbeddedFileCallback ()
 
 FbxEmbeddedFileCallback (FbxManager &pManager, const char *pName)
 
- Protected Member Functions inherited from FbxCallback
virtual ~FbxCallback ()
 
 FbxCallback (FbxManager &pManager, const char *pName)
 
int AddCallback (FbxHandle pFunction, FbxHandle pUserData=FbxHandle((void *)(nullptr)))
 Register the callback function and user data. More...
 
- Protected Member Functions inherited from FbxObject
virtual ~FbxObject ()
 
virtual void Construct (const FbxObject *pFrom)
 Optional constructor override, automatically called by default constructor. More...
 
virtual void ConstructProperties (bool pForceSet)
 Optional property constructor override, automatically called by default constructor. More...
 
virtual void Destruct (bool pRecursive)
 Optional destructor override, automatically called by default destructor. More...
 
virtual void ContentClear ()
 Clears this object's content from memory. More...
 
virtual FbxPeripheralGetPeripheral ()
 Retrieves the peripheral of that object. More...
 

Static Protected Member Functions

static FbxEmbeddedFileCallbackAllocate (FbxManager *pManager, const char *pName, const FbxEmbeddedFileCallback *pFrom)
 
- Static Protected Member Functions inherited from FbxObject
static FbxObjectAllocate (FbxManager *pManager, const char *pName, const FbxObject *pFrom)
 

Friends

class fbxsdk::FbxManager
 
template<typename T >
T * fbxsdk::FbxNew ()
 
template<typename T , typename T1 >
T * fbxsdk::FbxNew (T1 &p1)
 
template<typename T , typename T1 >
T * fbxsdk::FbxNew (const T1 &p1)
 
template<typename T , typename T1 , typename T2 >
T * fbxsdk::FbxNew (T1 &p1, T2 &p2)
 
template<typename T , typename T1 , typename T2 >
T * fbxsdk::FbxNew (T1 &p1, const T2 &p2)
 
template<typename T , typename T1 , typename T2 >
T * fbxsdk::FbxNew (const T1 &p1, T2 &p2)
 
template<typename T , typename T1 , typename T2 >
T * fbxsdk::FbxNew (const T1 &p1, const T2 &p2)
 
template<typename T , typename T1 , typename T2 , typename T3 >
T * fbxsdk::FbxNew (T1 &p1, T2 &p2, T3 &p3)
 
template<typename T , typename T1 , typename T2 , typename T3 >
T * fbxsdk::FbxNew (T1 &p1, T2 &p2, const T3 &p3)
 
template<typename T , typename T1 , typename T2 , typename T3 >
T * fbxsdk::FbxNew (T1 &p1, const T2 &p2, T3 &p3)
 
template<typename T , typename T1 , typename T2 , typename T3 >
T * fbxsdk::FbxNew (T1 &p1, const T2 &p2, const T3 &p3)
 
template<typename T , typename T1 , typename T2 , typename T3 >
T * fbxsdk::FbxNew (const T1 &p1, T2 &p2, T3 &p3)
 
template<typename T , typename T1 , typename T2 , typename T3 >
T * fbxsdk::FbxNew (const T1 &p1, T2 &p2, const T3 &p3)
 
template<typename T , typename T1 , typename T2 , typename T3 >
T * fbxsdk::FbxNew (const T1 &p1, const T2 &p2, T3 &p3)
 
template<typename T , typename T1 , typename T2 , typename T3 >
T * fbxsdk::FbxNew (const T1 &p1, const T2 &p2, const T3 &p3)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
T * fbxsdk::FbxNew (T1 &p1, T2 &p2, T3 &p3, T4 &p4)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
T * fbxsdk::FbxNew (T1 &p1, T2 &p2, T3 &p3, const T4 &p4)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
T * fbxsdk::FbxNew (T1 &p1, T2 &p2, const T3 &p3, T4 &p4)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
T * fbxsdk::FbxNew (T1 &p1, T2 &p2, const T3 &p3, const T4 &p4)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
T * fbxsdk::FbxNew (T1 &p1, const T2 &p2, T3 &p3, T4 &p4)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
T * fbxsdk::FbxNew (T1 &p1, const T2 &p2, T3 &p3, const T4 &p4)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
T * fbxsdk::FbxNew (T1 &p1, const T2 &p2, const T3 &p3, T4 &p4)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
T * fbxsdk::FbxNew (T1 &p1, const T2 &p2, const T3 &p3, const T4 &p4)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
T * fbxsdk::FbxNew (const T1 &p1, T2 &p2, T3 &p3, T4 &p4)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
T * fbxsdk::FbxNew (const T1 &p1, T2 &p2, T3 &p3, const T4 &p4)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
T * fbxsdk::FbxNew (const T1 &p1, T2 &p2, const T3 &p3, T4 &p4)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
T * fbxsdk::FbxNew (const T1 &p1, T2 &p2, const T3 &p3, const T4 &p4)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
T * fbxsdk::FbxNew (const T1 &p1, const T2 &p2, T3 &p3, T4 &p4)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
T * fbxsdk::FbxNew (const T1 &p1, const T2 &p2, T3 &p3, const T4 &p4)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
T * fbxsdk::FbxNew (const T1 &p1, const T2 &p2, const T3 &p3, T4 &p4)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
T * fbxsdk::FbxNew (const T1 &p1, const T2 &p2, const T3 &p3, const T4 &p4)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
T * fbxsdk::FbxNew (T1 &p1, T2 &p2, T3 &p3, T4 &p4, T5 &p5)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
T * fbxsdk::FbxNew (const T1 &p1, T2 &p2, T3 &p3, T4 &p4, T5 &p5)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
T * fbxsdk::FbxNew (const T1 &p1, const T2 &p2, T3 &p3, T4 &p4, T5 &p5)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
T * fbxsdk::FbxNew (const T1 &p1, T2 &p2, const T3 &p3, T4 &p4, T5 &p5)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
T * fbxsdk::FbxNew (const T1 &p1, T2 &p2, T3 &p3, const T4 &p4, T5 &p5)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
T * fbxsdk::FbxNew (const T1 &p1, T2 &p2, T3 &p3, T4 &p4, const T5 &p5)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
T * fbxsdk::FbxNew (const T1 &p1, const T2 &p2, const T3 &p3, T4 &p4, T5 &p5)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
T * fbxsdk::FbxNew (const T1 &p1, const T2 &p2, T3 &p3, const T4 &p4, T5 &p5)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
T * fbxsdk::FbxNew (const T1 &p1, const T2 &p2, T3 &p3, T4 &p4, const T5 &p5)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
T * fbxsdk::FbxNew (const T1 &p1, const T2 &p2, const T3 &p3, const T4 &p4, T5 &p5)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
T * fbxsdk::FbxNew (const T1 &p1, const T2 &p2, const T3 &p3, T4 &p4, const T5 &p5)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
T * fbxsdk::FbxNew (const T1 &p1, const T2 &p2, const T3 &p3, const T4 &p4, const T5 &p5)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 >
T * fbxsdk::FbxNew (const T1 &p1, const T2 &p2, const T3 &p3, const T4 &p4, const T5 &p5, const T6 &p6)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 >
T * fbxsdk::FbxNew (const T1 &p1, const T2 &p2, const T3 &p3, const T4 &p4, const T5 &p5, const T6 &p6, const T7 &p7)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 >
T * fbxsdk::FbxNew (const T1 &p1, const T2 &p2, const T3 &p3, const T4 &p4, const T5 &p5, const T6 &p6, const T7 &p7, const T8 &p8)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 >
T * fbxsdk::FbxNew (const T1 &p1, const T2 &p2, const T3 &p3, const T4 &p4, const T5 &p5, const T6 &p6, const T7 &p7, const T8 &p8, const T9 &p9)
 
template<typename T >
void fbxsdk::FbxDelete (T *p)
 
template<typename T >
void fbxsdk::FbxDelete (const T *p)
 
template<typename T >
T * fbxsdk::FbxNewArray (const int n)
 
template<typename T >
void fbxsdk::FbxDeleteArray (T *p)
 

Additional Inherited Members

- Public Attributes inherited from FbxObject
FbxProperty RootProperty
 The root property that holds all children property for this object. More...
 
- Static Protected Attributes inherited from FbxCallback
static FbxObjectCreateProc Allocate
 

Detailed Description

Callback to operate on the embedded data while it is processed.

By default, the FbxExporter read the data to be embedded from a file on disk and the FbxImporter will extract the embedded data in the FBX file to a file on disk. Passing a properly initialized instance of this object to the FbxImporter and/or FbxExporter allows you to overwrite how the FBX SDK will access the embedded data if, for some reason, you do not want to use this default behaviour.

Remarks
This class only accepts one Read function and one Write function.

Example of usage:

class ModelImporter
{
public:
ModelImporter(FbxManager* fbxManager) :
m_fbxImporter(FbxImporter::Create(fbxManager, ""))
{
mCallback = FbxEmbeddedFileCallback::Create(fbxManager, "EmbeddedFileCallback");
mCallback->RegisterReadFunction(OnEmbeddedFileRead, this);
}
~ModelImporter()
{
FbxEmbeddedFileCallback* cb = m_fbxImporter->GetEmbeddedFileReadCallback();
cb->Destroy();
m_fbxImporter->Destroy();
m_fbxImporter = nullptr;
}
void Import(FbxScene* fbxScene, const char* pFilename)
{
const bool lImportStatus = m_fbxImporter->Initialize(pFilename, -1, m_fbxImporter->GetIOSettings());
if (lImportStatus)
{
// SetEmbeddedFileReadCallback needs to be called after Initialize()
// because the Reset() function will clear it (but before Import()).
m_fbxImporter->SetEmbeddedFileReadCallback(mCallback);
m_fbxImporter->Import(fbxScene);
// TODO: do something with the scene
}
}
// Callback function
static FbxCallback::State OnEmbeddedFileRead(void* pUserData, FbxClassId pDataHint,
const char* pFileName, const void* pFileBuffer, size_t pSizeInBytes)
{
// we only want to process bitmaps, hence, the hint must be FbxVideo::ClassId
// Any other type will be processd with the FBX SDK default behaviour.
if (pDataHint != FbxVideo::ClassId)
if (!pFileBuffer || pSizeInBytes == 0)
ModelImporter* importer = reinterpret_cast<ModelImporter*>(pUserData);
if (importer)
{
FbxString fn(pFileName);
FbxSimpleMap<FbxString, FbxPair<char*, size_t>, FbxStringCompare>::Iterator it = importer->m_embeddedResources.Find(fn);
if (it)
{
// pFileName has already been added to the map!
}
// store the incoming bitmap buffer into our own memory space.
const char* bufferSrc = (const char*)(pFileBuffer);
char* bufferDst = (char*)FbxMalloc(pSizeInBytes);
FbxPair<char*, size_t> item(bufferDst, pSizeInBytes);
memcpy(bufferDst, bufferSrc, pSizeInBytes);
importer->m_embeddedResources.Add(fn, item);
}
}
public:
private:
FbxImporter* m_fbxImporter;
};
ModelImporter* modelImporter = FbxNew<ModelImporter>(lSdkManager);
modelImporter->Import(lScene, lFilePath.Buffer());
FbxDelete<ModelImporter>(modelImporter);

Definition at line 166 of file fbxcallbacks.h.

Member Typedef Documentation

Definition at line 168 of file fbxcallbacks.h.

typedef FbxCallback::State(* ReadCBFunction) (void *pUserData, FbxClassId pDataHint, const char *pFileName, const void *pFileBuffer, size_t pSizeInBytes)

The read callback function prototype.

The read callback function is called while reading an FBX file, with embedded data, into memory.

Parameters
pUserDataPointer to the callback owner.
pDataHintHint describing what data object is processed.
pFileNameOriginal file path of the embedded file.
pFileBufferPointer to the data of the embedded file.
pSizeInBytesSize of the file buffer.
Returns
eHandled if the function processed the incoming data.
eNotHandled if the function does not want to process the data (based on the hint).
eFailure in case of any error that prevents the function to successfully process the data.

Definition at line 182 of file fbxcallbacks.h.

typedef FbxCallback::State(* WriteCBFunction) (void *pUserData, FbxClassId pDataHint, const char *pFileName, const void **pFileBuffer, size_t *pSizeInBytes)

The write callback function prototype.

The write callback function is called during the write of an FBX file to disk to read the data to be embedded.

Parameters
pUserDataPointer to the callback owner.
pDataHintHint describing what data object is processed.
pFileNameFile path of the external file from which we retrieve the data to fill pFileBuffer.
pFileBufferBuffer filled with data from pFileName.
pSizeInBytesSize of the buffer.
Returns
eHandled if the function processed the incoming data.
eNotHandled if the function does not want to process the data (based on the hint).
eFailure in case of any error that prevents the function to successfully process the data.
Remarks
In the case that the pFileBuffer is allocated inside this function, it must be freed by the client after the FBX export process is completed. Since the client provides this function he also knows what memory allocator is used and will need to call the appropriate memory free function.

Definition at line 217 of file fbxcallbacks.h.

Constructor & Destructor Documentation

virtual ~FbxEmbeddedFileCallback ( )
inlineprotectedvirtual

Definition at line 168 of file fbxcallbacks.h.

170 :
FbxEmbeddedFileCallback ( FbxManager pManager,
const char *  pName 
)
inlineprotected

Definition at line 168 of file fbxcallbacks.h.

170 :

Member Function Documentation

virtual FbxClassId GetClassId ( ) const
inlineoverridevirtual

Reimplemented from FbxCallback.

Definition at line 168 of file fbxcallbacks.h.

170 :
static FbxEmbeddedFileCallback* Create ( FbxManager pManager,
const char *  pName 
)
static
static FbxEmbeddedFileCallback* Create ( FbxObject pContainer,
const char *  pName 
)
static
static FbxEmbeddedFileCallback* Allocate ( FbxManager pManager,
const char *  pName,
const FbxEmbeddedFileCallback pFrom 
)
staticprotected
int RegisterReadFunction ( ReadCBFunction  pFunction,
void *  pUserData = nullptr 
)

Register the Read callback function.

Parameters
pFunctionThe callback function.
pUserDataPointer to the callback owner.
Returns
The index in the Callback functions list or -1 if it failed to register.
Remarks
If a function is already registered, pFunction will take its place.
If pFunction is null, the function will fail.
FbxCallback::State Trigger ( const char *  pFileName,
const void *  pFileBuffer,
size_t  pSizeInBytes 
)

Call the registered Read callback function passing the appropriated arguments.

Just before calling this function, the FBX SDK sets the DataHint with the classId of the processed object (typically an FbxVideo or FbxAudio ClassId). This trigger is called when extracting embedded data from the FBX file.

Returns
The ReadCBFunction return value or eFailure if the callback function has not been set in this object.
Remarks
If the ReadCBFunction returns eNotHandled, the FBX SDK will behave the same as if no callback is specified and extracts the embedded data to a file on disk.
int RegisterWriteFunction ( WriteCBFunction  pFunction,
void *  pUserData = nullptr 
)

Register the Write callback function.

Parameters
pFunctionThe callback function.
pUserDataPointer to the callback owner.
Returns
The index in the Callback functions list or -1 if it failed to register.
Remarks
If a function is already registered, pFunction will take its place.
If pFunction is null, the function will fail.
FbxCallback::State Trigger ( const char *  pFileName,
const void **  pFileBuffer,
size_t *  pSizeInBytes 
)

Call the registered Write callback function passing the appropriated arguments.

Just before calling this function, the FBX SDK sets the DataHint with the classId of the container object (for example, an FbxVideo for a bitmap buffer). This trigger is called when embedding data to an FBX file.

Returns
The WriteCBFunction return value or eFailure if the callback function has not been set in this object.
Remarks
If the WriteCBFunction returns eNotHandled, the FBX SDK will behave the same as if no callback is specified and reads the data to embed from the file on disk.

Friends And Related Function Documentation

friend class fbxsdk::FbxManager
friend

Definition at line 168 of file fbxcallbacks.h.

T* fbxsdk::FbxNew ( )
friend
T* fbxsdk::FbxNew ( T1 &  p1)
friend
T* fbxsdk::FbxNew ( const T1 &  p1)
friend
T* fbxsdk::FbxNew ( T1 &  p1,
T2 &  p2 
)
friend
T* fbxsdk::FbxNew ( T1 &  p1,
const T2 &  p2 
)
friend
T* fbxsdk::FbxNew ( const T1 &  p1,
T2 &  p2 
)
friend
T* fbxsdk::FbxNew ( const T1 &  p1,
const T2 &  p2 
)
friend
T* fbxsdk::FbxNew ( T1 &  p1,
T2 &  p2,
T3 &  p3 
)
friend
T* fbxsdk::FbxNew ( T1 &  p1,
T2 &  p2,
const T3 &  p3 
)
friend
T* fbxsdk::FbxNew ( T1 &  p1,
const T2 &  p2,
T3 &  p3 
)
friend
T* fbxsdk::FbxNew ( T1 &  p1,
const T2 &  p2,
const T3 &  p3 
)
friend
T* fbxsdk::FbxNew ( const T1 &  p1,
T2 &  p2,
T3 &  p3 
)
friend
T* fbxsdk::FbxNew ( const T1 &  p1,
T2 &  p2,
const T3 &  p3 
)
friend
T* fbxsdk::FbxNew ( const T1 &  p1,
const T2 &  p2,
T3 &  p3 
)
friend
T* fbxsdk::FbxNew ( const T1 &  p1,
const T2 &  p2,
const T3 &  p3 
)
friend
T* fbxsdk::FbxNew ( T1 &  p1,
T2 &  p2,
T3 &  p3,
T4 &  p4 
)
friend
T* fbxsdk::FbxNew ( T1 &  p1,
T2 &  p2,
T3 &  p3,
const T4 &  p4 
)
friend
T* fbxsdk::FbxNew ( T1 &  p1,
T2 &  p2,
const T3 &  p3,
T4 &  p4 
)
friend
T* fbxsdk::FbxNew ( T1 &  p1,
T2 &  p2,
const T3 &  p3,
const T4 &  p4 
)
friend
T* fbxsdk::FbxNew ( T1 &  p1,
const T2 &  p2,
T3 &  p3,
T4 &  p4 
)
friend
T* fbxsdk::FbxNew ( T1 &  p1,
const T2 &  p2,
T3 &  p3,
const T4 &  p4 
)
friend
T* fbxsdk::FbxNew ( T1 &  p1,
const T2 &  p2,
const T3 &  p3,
T4 &  p4 
)
friend
T* fbxsdk::FbxNew ( T1 &  p1,
const T2 &  p2,
const T3 &  p3,
const T4 &  p4 
)
friend
T* fbxsdk::FbxNew ( const T1 &  p1,
T2 &  p2,
T3 &  p3,
T4 &  p4 
)
friend
T* fbxsdk::FbxNew ( const T1 &  p1,
T2 &  p2,
T3 &  p3,
const T4 &  p4 
)
friend
T* fbxsdk::FbxNew ( const T1 &  p1,
T2 &  p2,
const T3 &  p3,
T4 &  p4 
)
friend
T* fbxsdk::FbxNew ( const T1 &  p1,
T2 &  p2,
const T3 &  p3,
const T4 &  p4 
)
friend
T* fbxsdk::FbxNew ( const T1 &  p1,
const T2 &  p2,
T3 &  p3,
T4 &  p4 
)
friend
T* fbxsdk::FbxNew ( const T1 &  p1,
const T2 &  p2,
T3 &  p3,
const T4 &  p4 
)
friend
T* fbxsdk::FbxNew ( const T1 &  p1,
const T2 &  p2,
const T3 &  p3,
T4 &  p4 
)
friend
T* fbxsdk::FbxNew ( const T1 &  p1,
const T2 &  p2,
const T3 &  p3,
const T4 &  p4 
)
friend
T* fbxsdk::FbxNew ( T1 &  p1,
T2 &  p2,
T3 &  p3,
T4 &  p4,
T5 &  p5 
)
friend
T* fbxsdk::FbxNew ( const T1 &  p1,
T2 &  p2,
T3 &  p3,
T4 &  p4,
T5 &  p5 
)
friend
T* fbxsdk::FbxNew ( const T1 &  p1,
const T2 &  p2,
T3 &  p3,
T4 &  p4,
T5 &  p5 
)
friend
T* fbxsdk::FbxNew ( const T1 &  p1,
T2 &  p2,
const T3 &  p3,
T4 &  p4,
T5 &  p5 
)
friend
T* fbxsdk::FbxNew ( const T1 &  p1,
T2 &  p2,
T3 &  p3,
const T4 &  p4,
T5 &  p5 
)
friend
T* fbxsdk::FbxNew ( const T1 &  p1,
T2 &  p2,
T3 &  p3,
T4 &  p4,
const T5 &  p5 
)
friend
T* fbxsdk::FbxNew ( const T1 &  p1,
const T2 &  p2,
const T3 &  p3,
T4 &  p4,
T5 &  p5 
)
friend
T* fbxsdk::FbxNew ( const T1 &  p1,
const T2 &  p2,
T3 &  p3,
const T4 &  p4,
T5 &  p5 
)
friend
T* fbxsdk::FbxNew ( const T1 &  p1,
const T2 &  p2,
T3 &  p3,
T4 &  p4,
const T5 &  p5 
)
friend
T* fbxsdk::FbxNew ( const T1 &  p1,
const T2 &  p2,
const T3 &  p3,
const T4 &  p4,
T5 &  p5 
)
friend
T* fbxsdk::FbxNew ( const T1 &  p1,
const T2 &  p2,
const T3 &  p3,
T4 &  p4,
const T5 &  p5 
)
friend
T* fbxsdk::FbxNew ( const T1 &  p1,
const T2 &  p2,
const T3 &  p3,
const T4 &  p4,
const T5 &  p5 
)
friend
T* fbxsdk::FbxNew ( const T1 &  p1,
const T2 &  p2,
const T3 &  p3,
const T4 &  p4,
const T5 &  p5,
const T6 &  p6 
)
friend
T* fbxsdk::FbxNew ( const T1 &  p1,
const T2 &  p2,
const T3 &  p3,
const T4 &  p4,
const T5 &  p5,
const T6 &  p6,
const T7 &  p7 
)
friend
T* fbxsdk::FbxNew ( const T1 &  p1,
const T2 &  p2,
const T3 &  p3,
const T4 &  p4,
const T5 &  p5,
const T6 &  p6,
const T7 &  p7,
const T8 &  p8 
)
friend
T* fbxsdk::FbxNew ( const T1 &  p1,
const T2 &  p2,
const T3 &  p3,
const T4 &  p4,
const T5 &  p5,
const T6 &  p6,
const T7 &  p7,
const T8 &  p8,
const T9 &  p9 
)
friend
void fbxsdk::FbxDelete ( T *  p)
friend
void fbxsdk::FbxDelete ( const T *  p)
friend
T* fbxsdk::FbxNewArray ( const int  n)
friend
void fbxsdk::FbxDeleteArray ( T *  p)
friend

Member Data Documentation

FbxClassId ClassId
static

Definition at line 168 of file fbxcallbacks.h.


The documentation for this class was generated from the following file: