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/kfbxtakenodecontainer.h>
00056
00057 #include <fbxfilesdk_nsbegin.h>
00058
00059 class KFbxNode;
00060 class KFbxSdkManager;
00061
00067 class KFBX_DLL KFbxNodeAttribute : public KFbxTakeNodeContainer
00068 {
00069 KFBXOBJECT_DECLARE(KFbxNodeAttribute,KFbxTakeNodeContainer);
00070
00071 public:
00075 static const char* sColor;
00076
00080 static const fbxDouble3 sDefaultColor;
00081
00083
00084
00085
00087
00092 KFbxTypedProperty<fbxDouble3> Color;
00093
00094
00095
00096
00097 typedef enum
00098 {
00099 eUNIDENTIFIED,
00100 eNULL,
00101 eMARKER,
00102 eSKELETON,
00103 eMESH,
00104 eNURB,
00105 ePATCH,
00106 eCAMERA,
00107 eCAMERA_SWITCHER,
00108 eLIGHT,
00109 eOPTICAL_REFERENCE,
00110 eOPTICAL_MARKER,
00111 eCONSTRAINT,
00112 eNURBS_CURVE,
00113 eTRIM_NURBS_SURFACE,
00114 eBOUNDARY,
00115 eNURBS_SURFACE,
00116 eSHAPE,
00117 } EAttributeType;
00118
00122 virtual EAttributeType GetAttributeType() const { return eUNIDENTIFIED; }
00123
00127 KFbxNode* GetNode() const;
00128
00133
00134
00145 K_DEPRECATED void SetColor(KFbxColor const& pColor);
00146
00158 K_DEPRECATED KFbxColor GetColor() const;
00159
00161
00162 virtual KFbxObject* Clone(KFbxObject* pContainer, KFbxObject::ECloneType pCloneType) const;
00163
00165
00166
00167
00168
00169
00170
00172
00173 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00174
00175 public:
00176
00177 protected:
00178
00179 KFbxNodeAttribute(KFbxSdkManager& pManager, char const* pName);
00180 virtual ~KFbxNodeAttribute();
00181
00182 virtual bool ConstructProperties(bool pForceSet);
00183
00184 virtual KFbxTakeNodeContainer* GetTakeNodeContainer();
00185
00187 virtual void SetNode(KFbxNode& pNode);
00188 virtual void UnsetNode();
00189
00190 virtual bool ConnecNotify (KFbxConnectEvent const &pEvent);
00191
00195 virtual KString GetTypeName() const;
00196 virtual KStringList GetTypeFlags() const;
00197
00199 KFbxNodeAttribute& operator=(KFbxNodeAttribute const& pAttribute);
00200
00201 KFbxNode* mParentNode;
00202
00203 friend class KFbxNode;
00204 friend class KFbxScene;
00205 friend class KFbxReaderFbx;
00206 friend class KFbxWriterFbx;
00207 friend class KFbxWriterFbx6;
00208
00209 #endif // #ifndef DOXYGEN_SHOULD_SKIP_THIS
00210
00211 };
00212
00213 typedef KFbxNodeAttribute* HKFbxNodeAttribute;
00214
00215 #include <fbxfilesdk_nsend.h>
00216
00217 #endif // #ifndef _FBXSDK_NODE_ATTRIBUTE_H_
00218
00219