- Main Page
- Classes
- Files
- Directories

- File List
- File Members

# fbxcluster.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_CLUSTER_H_
    00014 #define _FBXSDK_SCENE_GEOMETRY_CLUSTER_H_
    00015
    00016 #include <fbxsdk/fbxsdk_def.h>
    00017
    00018 #include <fbxsdk/scene/geometry/fbxsubdeformer.h>
    00019
    00020 #include <fbxsdk/fbxsdk_nsbegin.h>
    00021
    00047 class FBXSDK_DLL FbxCluster : public FbxSubDeformer
    00048 {
    00049     FBXSDK_OBJECT_DECLARE(FbxCluster,FbxSubDeformer);
    00050
    00051 public:
    00059     EType GetSubDeformerType() const {return eCluster; };
    00060
    00068     void Reset();
    00070
    00080     enum ELinkMode
    00081     {
    00082         eNormalize,
    00086         eAdditive,
    00097         eTotalOne
    00100     };
    00101
    00106     void SetLinkMode(ELinkMode pMode);
    00107
    00111     ELinkMode GetLinkMode() const;
    00112
    00117     void SetLink(const FbxNode* pNode);
    00118
    00123     FbxNode* GetLink();
    00124
    00129     const FbxNode* GetLink() const;
    00130
    00139     void SetAssociateModel(FbxNode* pNode);
    00140
    00149     FbxNode* GetAssociateModel() const;
    00151
    00159
    00164     void AddControlPointIndex(int pIndex, double pWeight);
    00165
    00170     int GetControlPointIndicesCount() const;
    00171
    00176     int* GetControlPointIndices() const;
    00177
    00182     double* GetControlPointWeights() const;
    00183
    00185
    00190     void SetControlPointIWCount(int pCount);
    00191
    00205
    00209     void SetTransformMatrix(const FbxAMatrix& pMatrix);
    00210
    00215     FbxAMatrix& GetTransformMatrix(FbxAMatrix& pMatrix) const;
    00216
    00220     void SetTransformLinkMatrix(const FbxAMatrix& pMatrix);
    00221
    00226     FbxAMatrix& GetTransformLinkMatrix(FbxAMatrix& pMatrix) const;
    00227
    00231     void SetTransformAssociateModelMatrix(const FbxAMatrix& pMatrix);
    00232
    00237     FbxAMatrix& GetTransformAssociateModelMatrix(FbxAMatrix& pMatrix) const;
    00238
    00242     void SetTransformParentMatrix(const FbxAMatrix& pMatrix);
    00243
    00248     FbxAMatrix& GetTransformParentMatrix(FbxAMatrix& pMatrix) const;
    00249
    00253     bool IsTransformParentSet() const { return mIsTransformParentSet; }
    00254
    00256
    00257 /*****************************************************************************************************************************
    00258 ** WARNING! Anything beyond these lines is for internal use, may not be documented and is subject to change without notice! **
    00259 *****************************************************************************************************************************/
    00260 #ifndef DOXYGEN_SHOULD_SKIP_THIS
    00261     virtual FbxObject& Copy(const FbxObject& pObject);
    00262     void SetUserData(const char* pUserDataID, const char* pUserData);
    00263     const char* GetUserDataID () const;
    00264     const char* GetUserData () const;
    00265     const char* GetUserData (const char* pUserDataID) const;
    00266
    00267     // For pre version 6 support
    00268     FbxString   mBeforeVersion6LinkName;
    00269     FbxString   mBeforeVersion6AssociateModelName;
    00270
    00271
    00272 protected:
    00273     virtual void Construct(const FbxCluster* pFrom);
    00274     virtual void ConstructProperties(bool pForceSet);
    00275
    00276     virtual FbxStringList GetTypeFlags() const;
    00277
    00278     ELinkMode               mLinkMode;
    00279     FbxString               mUserDataID;
    00280     FbxString               mUserData;
    00281     FbxArray<int>           mControlPointIndices;
    00282     FbxArray<double>        mControlPointWeights;
    00283     FbxMatrix              mTransform;
    00284     FbxMatrix              mTransformLink;
    00285     FbxMatrix              mTransformAssociate;
    00286     FbxMatrix              mTransformParent;
    00287     bool                    mIsTransformParentSet;
    00288
    00289     FbxPropertyT<FbxReference> SrcModelReference;
    00290 #endif /* !DOXYGEN_SHOULD_SKIP_THIS *****************************************************************************************/
    00291 };
    00292
    00293 #include <fbxsdk/fbxsdk_nsend.h>
    00294
    00295 #endif /* _FBXSDK_SCENE_GEOMETRY_CLUSTER_H_ */