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_ */