00001
00004 #ifndef FBXFILESDK_KFBXPLUGINS_KFBXNODEATTRIBUTE_H
00005 #define FBXFILESDK_KFBXPLUGINS_KFBXNODEATTRIBUTE_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 <fbxfilesdk/components/kbaselib/kaydaradef_h.h>
00043 #include <fbxfilesdk/components/kbaselib/kaydara.h>
00044 #include <fbxfilesdk/components/kbaselib/klib/karrayul.h>
00045 #include <fbxfilesdk/components/kbaselib/klib/kstringlist.h>
00046
00047 #include <fbxfilesdk/kfbxplugins/kfbxtakenodecontainer.h>
00048
00049 #include <fbxfilesdk/fbxfilesdk_nsbegin.h>
00050
00051 class KFbxNode;
00052 class KFbxSdkManager;
00053
00059 class KFBX_DLL KFbxNodeAttribute : public KFbxTakeNodeContainer
00060 {
00061 KFBXOBJECT_DECLARE(KFbxNodeAttribute,KFbxTakeNodeContainer);
00062
00063 public:
00067 static const char* sColor;
00068
00072 static const fbxDouble3 sDefaultColor;
00073
00075
00076
00077
00079
00084 KFbxTypedProperty<fbxDouble3> Color;
00085
00086
00087
00108 typedef enum
00109 {
00110 eUNIDENTIFIED,
00111 eNULL,
00112 eMARKER,
00113 eSKELETON,
00114 eMESH,
00115 eNURB,
00116 ePATCH,
00117 eCAMERA,
00118 eCAMERA_SWITCHER,
00119 eLIGHT,
00120 eOPTICAL_REFERENCE,
00121 eOPTICAL_MARKER,
00122 eNURBS_CURVE,
00123 eTRIM_NURBS_SURFACE,
00124 eBOUNDARY,
00125 eNURBS_SURFACE,
00126 eSHAPE,
00127 eLODGROUP
00128 } EAttributeType;
00129
00133 virtual EAttributeType GetAttributeType() const { return eUNIDENTIFIED; }
00134
00138 KFbxNode* GetNode() const;
00139
00144
00145
00156 K_DEPRECATED void SetColor(KFbxColor const& pColor);
00157
00169 K_DEPRECATED KFbxColor GetColor() const;
00170
00172
00173 virtual KFbxObject* Clone(KFbxObject* pContainer, KFbxObject::ECloneType pCloneType) const;
00174
00176
00177
00178
00179
00180
00181
00183
00184 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00185
00186 public:
00187
00188 protected:
00189
00190 KFbxNodeAttribute(KFbxSdkManager& pManager, char const* pName);
00191 virtual ~KFbxNodeAttribute();
00192
00193 virtual bool ConstructProperties(bool pForceSet);
00194
00195 virtual KFbxTakeNodeContainer* GetTakeNodeContainer();
00196
00198 virtual void SetNode(KFbxNode& pNode);
00199 virtual void UnsetNode();
00200
00201 virtual bool ConnecNotify (KFbxConnectEvent const &pEvent);
00202
00206 virtual KString GetTypeName() const;
00207 virtual KStringList GetTypeFlags() const;
00208
00210 KFbxNodeAttribute& operator=(KFbxNodeAttribute const& pAttribute);
00211
00212 KFbxNode* mParentNode;
00213
00214 friend class KFbxNode;
00215 friend class KFbxScene;
00216
00217 #endif // #ifndef DOXYGEN_SHOULD_SKIP_THIS
00218
00219 };
00220
00221 typedef KFbxNodeAttribute* HKFbxNodeAttribute;
00222
00223 #include <fbxfilesdk/fbxfilesdk_nsend.h>
00224
00225 #endif // FBXFILESDK_KFBXPLUGINS_KFBXNODEATTRIBUTE_H
00226