fbxsdk/scene/geometry/fbxskeleton.h Source File
 
 
 
fbxsdk/scene/geometry/fbxskeleton.h
Go to the documentation of this file.
00001 /****************************************************************************************
00002  
00003    Copyright (C) 2013 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_SKELETON_H_
00014 #define _FBXSDK_SCENE_GEOMETRY_SKELETON_H_
00015 
00016 #include <fbxsdk/fbxsdk_def.h>
00017 
00018 #include <fbxsdk/scene/geometry/fbxnodeattribute.h>
00019 
00020 #include <fbxsdk/fbxsdk_nsbegin.h>
00021 
00034 class FBXSDK_DLL FbxSkeleton : public FbxNodeAttribute
00035 {
00036         FBXSDK_OBJECT_DECLARE(FbxSkeleton,FbxNodeAttribute);
00037 
00038 public:
00040         virtual FbxNodeAttribute::EType GetAttributeType() const;
00041 
00043         void Reset();
00044 
00049 
00055     enum EType
00056     {
00057             eRoot,                      
00058             eLimb,                      
00059             eLimbNode,          
00060             eEffector           
00061     };    
00062 
00066     void SetSkeletonType(EType pSkeletonType);
00067 
00071     EType GetSkeletonType() const;
00072 
00078         bool GetSkeletonTypeIsSet() const;
00079 
00083         EType GetSkeletonTypeDefaultValue() const;
00084                 
00088         double GetLimbLengthDefaultValue() const;
00089         
00093         double GetLimbNodeSizeDefaultValue() const;
00094 
00100         bool SetLimbNodeColor(const FbxColor& pColor);
00101         
00106         FbxColor GetLimbNodeColor() const;
00107 
00113         bool GetLimbNodeColorIsSet() const;
00114 
00118         FbxColor GetLimbNodeColorDefaultValue() const;
00119 
00125     bool IsSkeletonRoot() const;
00126 
00128 
00129 
00133         static const char*                      sSize;
00134         static const char*                      sLimbLength;
00135 
00140         static const FbxDouble          sDefaultSize;
00141         static const FbxDouble          sDefaultLimbLength;
00142 
00143 
00145         //
00146         // Properties
00147         //
00149         
00157         FbxPropertyT<FbxDouble>         Size;
00158 
00172         FbxPropertyT<FbxDouble>                 LimbLength;
00173 
00174 /*****************************************************************************************************************************
00175 ** WARNING! Anything beyond these lines is for internal use, may not be documented and is subject to change without notice! **
00176 *****************************************************************************************************************************/
00177 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00178     virtual FbxObject& Copy(const FbxObject& pObject);
00179 
00180 protected:
00181         virtual void Construct(const FbxSkeleton* pFrom);
00182         virtual void ConstructProperties(bool pForceSet);
00183 
00184         void Reset( bool pResetProperties );
00185 
00186         virtual const char* GetTypeName() const;
00187         virtual FbxStringList GetTypeFlags() const;
00188 
00189     EType mSkeletonType;
00190 
00191         bool mLimbLengthIsSet;
00192         bool mLimbNodeSizeIsSet;
00193         bool mLimbNodeColorIsSet;
00194         bool mSkeletonTypeIsSet;
00195 #endif /* !DOXYGEN_SHOULD_SKIP_THIS *****************************************************************************************/
00196 };
00197 
00198 #include <fbxsdk/fbxsdk_nsend.h>
00199 
00200 #endif /* _FBXSDK_SCENE_GEOMETRY_SKELETON_H_ */