fbxnodeattribute.h

Go to the documentation of this file.
00001 /****************************************************************************************
00002  
00003    Copyright (C) 2012 Autodesk, Inc.
00004    All rights reserved.
00005  
00006    Use of this software is subject to the terms of the Autodesk license agreement
00007    provided at the time of installation or download, or which otherwise accompanies
00008    this software in either electronic or hard copy form.
00009  
00010 ****************************************************************************************/
00011 
00013 #ifndef _FBXSDK_SCENE_GEOMETRY_NODE_ATTRIBUTE_H_
00014 #define _FBXSDK_SCENE_GEOMETRY_NODE_ATTRIBUTE_H_
00015 
00016 #include <fbxsdk/fbxsdk_def.h>
00017 
00018 #include <fbxsdk/core/base/fbxarray.h>
00019 #include <fbxsdk/core/base/fbxstringlist.h>
00020 #include <fbxsdk/core/fbxobject.h>
00021 
00022 #include <fbxsdk/fbxsdk_nsbegin.h>
00023 
00024 class FbxNode;
00025 class FbxManager;
00026 
00032 class FBXSDK_DLL FbxNodeAttribute : public FbxObject
00033 {
00034     FBXSDK_OBJECT_DECLARE(FbxNodeAttribute, FbxObject);
00035 
00036 public:
00038     static const char* sColor;
00039 
00041     static const FbxDouble3 sDefaultColor;
00042 
00047     FbxPropertyT<FbxDouble3> Color;
00048 
00073     enum EType
00074     {   
00075         eUnknown,
00076         eNull,
00077         eMarker,
00078         eSkeleton, 
00079         eMesh, 
00080         eNurbs, 
00081         ePatch,
00082         eCamera, 
00083         eCameraStereo,
00084         eCameraSwitcher,
00085         eLight,
00086         eOpticalReference,
00087         eOpticalMarker,
00088         eNurbsCurve,
00089         eTrimNurbsSurface,
00090         eBoundary,
00091         eNurbsSurface,
00092         eShape,
00093         eLODGroup,
00094         eSubDiv,
00095         eCachedEffect,
00096         eLine
00097     };
00098 
00102     virtual FbxNodeAttribute::EType GetAttributeType() const;
00103 
00107     int GetNodeCount() const;
00108 
00113     FbxNode* GetNode(int pIndex=0) const;
00114 
00116 //
00117 //  WARNING!
00118 //
00119 //    Anything beyond these lines may not be documented accurately and is 
00120 //     subject to change without notice.
00121 //
00123 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00124 protected:
00125     FbxNodeAttribute(FbxManager& pManager, char const* pName);
00126     virtual bool ConstructProperties(bool pForceSet);
00127 
00128     friend class FbxNode;
00129     friend class FbxScene;
00130 #endif // #ifndef DOXYGEN_SHOULD_SKIP_THIS
00131 };
00132 
00133 #include <fbxsdk/fbxsdk_nsend.h>
00134 
00135 #endif /* _FBXSDK_SCENE_GEOMETRY_NODE_ATTRIBUTE_H_ */