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: const char* GetEventName() const override { 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: const char* GetEventName() const override { return FbxEventName(); } \
80 static const char* FbxEventName() { \
81 static FbxString lEventName = FbxString(#Class) + FbxString("<") + \
82 FbxGetDataTypeFromEnum(FbxTypeOf(FBXType())).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: const char* GetEventName() const override {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 *)
int GetTypeId() const override
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.