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.