fbxsdk/core/fbxevent.h Source File
Go to the documentation of this file.
13 #ifndef _FBXSDK_CORE_EVENT_H_
14 #define _FBXSDK_CORE_EVENT_H_
54 virtual int GetTypeId()
const = 0;
59 virtual const char* GetEventName()
const = 0;
62 static int GetStaticTypeId(
const char*);
68 #define FBXSDK_EVENT_DECLARE(Class) \
69 public: virtual const char* GetEventName() const { return FbxEventName(); } \
70 private: static const char* FbxEventName() { return #Class; } \
71 friend class FbxEvent<Class>; \
77 #define FBXSDK_EVENT_TYPE_DECLARE(Class, FBXType) \
78 public: virtual const char* GetEventName() const { return FbxEventName(); } \
80 static const char* FbxEventName() { \
81 static FbxString lEventName = FbxString(#Class) + FbxString("<") + \
82 FbxGetDataTypeFromEnum(FbxTypeOf(*((const FBXType *)0))).GetName() + ">"; \
84 return lEventName.Buffer(); \
86 friend class FbxEvent< Class<FBXType> >;
97 #define FBXSDK_EVENT_TEMPLATE_HEADER(ClassName, TemplateName)\
98 template < class TemplateName, const char* T > \
99 class ClassName: public FbxEvent< ClassName <TemplateName,T> >\
101 public: virtual const char* GetEventName() const {return FbxEventName();}\
102 private: static const char* FbxEventName() {\
103 static FbxString lEventName = (FbxString(#ClassName) +"<"+ FbxString(T) +">");\
104 return lEventName.Buffer();\
106 friend class FbxEvent< ClassName<TemplateName, T> >;
111 #define FBXSDK_EVENT_TEMPLATE_FOOTER()\
FBX SDK environment definition.
static int GetStaticTypeId(const char *)
virtual int GetTypeId() const
Retrieve the event type ID.
FBX SDK event base class.
static void ForceTypeId(int pTypeId)
Update the type ID of current event with the given type ID.
static int GetStaticTypeId()
Retrieve the event type ID.
virtual ~FbxEvent()
Destructor.
FBX event class, derived from FbxEventBase, and it contains a type ID for event.