kfbxnodeattribute.h
Go to the documentation of this file.00001
00004 #ifndef _FBXSDK_NODE_ATTRIBUTE_H_
00005 #define _FBXSDK_NODE_ATTRIBUTE_H_
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042 #include <kaydaradef.h>
00043 #ifndef KFBX_DLL
00044 #define KFBX_DLL K_DLLIMPORT
00045 #endif
00046
00047 #include <kaydara.h>
00048 #include <klib/karrayul.h>
00049 #include <klib/kstringlist.h>
00050
00051 #ifndef MB_FBXSDK
00052 #include <kbaselib_nsuse.h>
00053 #endif
00054
00055 #include <kfbxplugins/kfbxobject.h>
00056
00057 #include <fbxfilesdk_nsbegin.h>
00058
00059 class KFbxNode;
00060 class KFbxTakeNode;
00061 class KFbxSdkManager;
00062
00063 class KFbxNodeAttribute_internal;
00064
00070 class KFBX_DLL KFbxNodeAttribute : public KFbxObject
00071 {
00072 KFBXOBJECT_DECLARE(KFbxNodeAttribute);
00073 public:
00074
00075
00076 typedef enum
00077 {
00078 eUNIDENTIFIED,
00079 eNULL,
00080 eMARKER,
00081 eSKELETON,
00082 eMESH,
00083 eNURB,
00084 ePATCH,
00085 eCAMERA,
00086 eCAMERA_SWITCHER,
00087 eLIGHT,
00088 eOPTICAL_REFERENCE,
00089 eOPTICAL_MARKER,
00090 eCONSTRAINT,
00091 eNURBS_CURVE,
00092 eTRIM_NURBS_SURFACE,
00093 eBOUNDARY,
00094 eNURBS_SURFACE
00095 } EAttributeType;
00096
00100 virtual EAttributeType GetAttributeType() const { return eUNIDENTIFIED; }
00101
00105 KFbxNode* GetNode();
00106
00111
00112
00120 void SetColor(KFbxColor pColor);
00121
00130 KFbxColor GetColor();
00131
00133
00135
00136
00137
00138
00139
00140
00142
00143 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00144
00145 public:
00146
00147 protected:
00148
00149 KFbxNodeAttribute(KFbxSdkManager& pManager, char const* pName);
00150 virtual ~KFbxNodeAttribute();
00151
00152 virtual void Construct();
00153 static char const* GetNamePrefix() { return 0; }
00154
00155 virtual ENameSpace GetNameSpace() const { return eNODEATTRIBUTE; }
00156 virtual KFbxTakeNodeContainer* GetTakeNodeContainer();
00157
00159 virtual void SetNode(KFbxNode& pNode);
00160 virtual void UnsetNode();
00161
00162 virtual bool FbxPlugNotify(KFbxPlugEvent const &pEvent);
00163
00167 virtual void AddChannels(KFbxTakeNode *pTakeNode);
00168
00172 virtual void RemoveChannels(KFbxTakeNode *pTakeNode);
00173
00177 virtual KString GetTypeName() const;
00178 virtual KStringList GetTypeFlags() const;
00179
00181 KFbxNodeAttribute& operator=(KFbxNodeAttribute const& pAttribute);
00182
00183 KFbxNode* mParentNode;
00184
00185 friend class KFbxNodeAttribute_internal;
00186 friend class KFbxNode;
00187 friend class KFbxScene;
00188 friend class KFbxReaderFbx;
00189 friend class KFbxWriterFbx;
00190 friend class KFbxWriterFbx6;
00191
00192 #endif // #ifndef DOXYGEN_SHOULD_SKIP_THIS
00193
00194 };
00195
00196 typedef KFbxNodeAttribute* HKFbxNodeAttribute;
00197
00198 #include <fbxfilesdk_nsend.h>
00199
00200 #endif // #ifndef _FBXSDK_NODE_ATTRIBUTE_H_
00201
00202