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()\ 157 return GetStaticTypeId();
FBX SDK environment definition.
static int GetStaticTypeId(const char *)
FBX SDK event base class.
virtual int GetTypeId() const
Retrieve the event type ID.
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.