fbxsdk/core/fbxplugin.h Source File
         
    
Go to the documentation of this file.
   13 #ifndef _FBXSDK_CORE_PLUGIN_H_ 
   14 #define _FBXSDK_CORE_PLUGIN_H_ 
   18 #ifndef FBXSDK_ENV_WINSTORE 
   30 #define FBXSDK_PLUGIN_DECLARE(Plugin)\ 
   33     static Plugin * Create(const FbxPluginDef& pDefinition, FbxModule pModuleHandle);\ 
   37 #define FBXSDK_PLUGIN_IMPLEMENT(Plugin)\ 
   38     Plugin* Plugin::Create(const FbxPluginDef& pDefinition, FbxModule pModuleHandle){ return FbxNew<Plugin>(pDefinition, pModuleHandle); }\ 
   39     void Plugin::Destroy(){ FbxDelete(this); } 
   51         mName(
"Unknown Name"),
 
   52         mVersion(
"Unknown Version")
 
   68         mPluginContainer(
NULL)
 
   74         mQueryEmitter(pOther.mQueryEmitter),
 
   75         mSDKManager(pOther.mSDKManager),
 
   76         mPluginContainer(pOther.mPluginContainer)
 
  150     FBXSDK_INTRUSIVE_LIST_NODE(
FbxPlugin, 1);
 
  156     virtual bool SpecificInitialize()=0;
 
  161     virtual bool SpecificTerminate()=0;
 
  167     virtual void WriteBegin(
FbxScene& pScene);
 
  174     virtual void WriteParameters(
FbxObject& pParams);
 
  181     virtual void WriteEnd(
FbxScene& pScene);
 
  187     virtual void ReadBegin(
FbxScene& pScene);
 
  194     virtual void ReadParameters(
FbxObject& pParams);
 
  200     virtual void ReadEnd(
FbxScene& pScene);
 
  233 #ifndef DOXYGEN_SHOULD_SKIP_THIS 
  235     inline FbxObject& GetPluginSettings() { 
return *mPluginSettings; }
 
  236     inline const FbxObject& GetPluginSettings()
 const { 
return *mPluginSettings; }
 
  237     template <
typename EventType, 
typename ListernerType> 
inline FbxEventHandler* 
Bind(
void (ListernerType::*pFunc)(
const EventType*))
 
  239         return FbxListener::Bind<EventType,ListernerType>(*(GetData().
mQueryEmitter), pFunc );
 
  241     virtual void Destroy() = 0;
 
FBX SDK environment definition. 
 
FbxEmitter * mQueryEmitter
The emitter on which the plug-in can listen to receive events. 
 
Data used to communicate information between an application and the plug-in. 
 
Abstract class used to implemented some plug-in loading strategy. 
 
Utility class to manipulate strings. 
 
FbxString mName
The identifier name string of the plug-in. 
 
FbxPluginContainer * mPluginContainer
The container which will have the ownership of the plug-in. 
 
The base class to inherit from when creating new plug-ins for the FBX SDK. 
 
Manages registration and ownership of FBX SDK plug-ins (FbxPlugin). 
 
FbxManager * mSDKManager
The FBX SDK Manager on which the plug-in was instanced. 
 
Event handler class contains a listener and a callback function. 
 
The base class of most FBX objects. 
 
FbxPluginDef()
Constructor. 
 
This class contains the description of a 3D scene. 
 
Base class to emit event with the specified event type. 
 
FbxPluginData()
Constructor. 
 
Structure used by plug-ins for identification purposes. 
 
FbxString mVersion
The version string of the plug-in. 
 
FbxEventHandler * Bind(FbxEmitter &pEmitter, void(ListenerType::*pFunc)(const EventType *))
Bind current listener and the specified emitter together via an automatically created event handler...
 
FbxPluginData(const FbxPluginData &pOther)
Copy Constructor.