- Main Page
- Classes
- Files
- Directories

- File List
- File Members

# fbxlimitsutilities.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_LIMIT_UTILS_H_
    00014 #define _FBXSDK_SCENE_GEOMETRY_LIMIT_UTILS_H_
    00015
    00016 #include <fbxsdk/fbxsdk_def.h>
    00017
    00018 #include <fbxsdk/core/math/fbxvector4.h>
    00019 #include <fbxsdk/core/math/fbxtransforms.h>
    00020 #include <fbxsdk/scene/geometry/fbxnode.h>
    00021
    00022 #include <fbxsdk/fbxsdk_nsbegin.h>
    00023
    00027 class FBXSDK_DLL FbxLimitsUtilities
    00028 {
    00029 public:
    00035     enum EType
    00036     {
    00037         eTranslation,
    00038         eRotation,
    00039         eScaling
    00040     };
    00041
    00046     enum ERotationType
    00047     {
    00048         eQuaternion,
    00049         eEuler
    00050     };
    00051
    00056     enum ERotationClampType
    00057     {
    00058         eRectangular,
    00059         eEllipsoid
    00060     };
    00061
    00062
    00063     FbxLimitsUtilities(FbxNode* pNode);
    00064
    00069         void SetAuto(EType pType, bool pAuto);
    00070         bool GetAuto(EType pType) const;
    00071
    00072         void SetEnable(EType pType, bool pEnable);
    00073         bool GetEnable(EType pType) const;
    00074
    00075         void SetDefault(EType pType, FbxVector4 pDefault);
    00076         FbxVector4 GetDefault(EType pType) const;
    00077
    00078         void SetMin(EType pType, FbxVector4 pMin);
    00079         FbxVector4 GetMin(EType pType) const;
    00080
    00081         void SetMax(EType pType, FbxVector4 pMax);
    00082         FbxVector4 GetMax(EType pType) const;
    00083
    00084         void SetRotationType(ERotationType pType);
    00085         ERotationType GetRotationType() const;
    00086
    00087         ERotationClampType GetRotationClampType() const;
    00088
    00089         void SetRotationAxis(FbxVector4 pRotationAxis);
    00090         FbxVector4 GetRotationAxis() const;
    00091
    00092         void SetAxisLength(double pLength);
    00093         double GetAxisLength() const;
    00094
    00095         void UpdateAutomatic(FbxNode* pNode);
    00096         FbxVector4 GetEndPointTranslation(FbxNode* pNode) const;
    00097         FbxVector4 GetEndSite(FbxNode* pNode) const;
    00099
    00100     FbxNode*    mNode;
    00101     double      mAxisLength;
    00102 };
    00103
    00104 #include <fbxsdk/fbxsdk_nsend.h>
    00105
    00106 #endif /* _FBXSDK_SCENE_GEOMETRY_LIMIT_UTILS_H_ */