fbxsdk/scene/geometry/fbxskin.h Source File

fbxskin.h
Go to the documentation of this file.
1 /****************************************************************************************
2 
3  Copyright (C) 2015 Autodesk, Inc.
4  All rights reserved.
5 
6  Use of this software is subject to the terms of the Autodesk license agreement
7  provided at the time of installation or download, or which otherwise accompanies
8  this software in either electronic or hard copy form.
9 
10 ****************************************************************************************/
11 
13 #ifndef _FBXSDK_SCENE_GEOMETRY_SKIN_H_
14 #define _FBXSDK_SCENE_GEOMETRY_SKIN_H_
15 
16 #include <fbxsdk/fbxsdk_def.h>
17 
19 
20 #include <fbxsdk/fbxsdk_nsbegin.h>
21 
22 class FbxCluster;
23 class FbxGeometry;
24 
38 {
40 
41 public:
47  void SetDeformAccuracy(double pDeformAccuracy);
48 
52  double GetDeformAccuracy() const;
53 
58  bool SetGeometry(FbxGeometry* pGeometry);
59 
63  FbxGeometry* GetGeometry();
64 
69  bool AddCluster(FbxCluster* pCluster);
70 
75  FbxCluster* RemoveCluster(FbxCluster* pCluster);
76 
80  int GetClusterCount() const;
81 
86  FbxCluster* GetCluster(int pIndex);
87 
92  const FbxCluster* GetCluster(int pIndex) const;
93 
97  EDeformerType GetDeformerType() const {return eSkin; };
98 
106  enum EType
107  {
111  eBlend
112  };
113 
117  void SetSkinningType(EType pType);
118 
122  EType GetSkinningType() const;
123 
132 
140  void AddControlPointIndex(int pIndex, double pBlendWeight = 0);
141 
146  int GetControlPointIndicesCount() const;
147 
152  int* GetControlPointIndices() const;
153 
158  double* GetControlPointBlendWeights() const;
159 
164  void SetControlPointIWCount(int pCount);
165 
167 
168 /*****************************************************************************************************************************
169 ** WARNING! Anything beyond these lines is for internal use, may not be documented and is subject to change without notice! **
170 *****************************************************************************************************************************/
171 #ifndef DOXYGEN_SHOULD_SKIP_THIS
172  virtual void Compact();
173  virtual FbxObject& Copy(const FbxObject& pObject);
174  virtual FbxObject* Clone(FbxObject::ECloneType pCloneType=eDeepClone, FbxObject* pContainer=NULL, void* pSet = NULL) const;
175 
176 protected:
177  virtual void Construct(const FbxObject* pFrom);
178  virtual FbxStringList GetTypeFlags() const;
179 
180  // Skin deformer
181  double mDeformAccuracy;
182  EType mSkinningType;
183 
184  //Control points
185  FbxArray<int> mControlPointIndices;
186  FbxArray<double> mControlPointBlendWeights;
187 #endif /* !DOXYGEN_SHOULD_SKIP_THIS *****************************************************************************************/
188 };
189 
190 #include <fbxsdk/fbxsdk_nsend.h>
191 
192 #endif /* _FBXSDK_SCENE_GEOMETRY_SKIN_H_ */
#define FBXSDK_OBJECT_DECLARE(Class, Parent)
Macro used to declare a new class derived from FbxObject.
Definition: fbxobject.h:61
FBX SDK environment definition.
virtual void Compact()
Compact the memory used by this object.
#define NULL
Definition: fbxarch.h:210
virtual FbxObject & Copy(const FbxObject &pObject)
Copy an object content into this object.
Array that stores pairs of FbxString and a pointer.
ECloneType
Types of clones that can be created for FbxObject.
Definition: fbxobject.h:245
Class for clusters (links).
Definition: fbxcluster.h:47
The base class of most FBX objects.
Definition: fbxobject.h:157
EDeformerType
Deformer types.
Definition: fbxdeformer.h:67
EType
Skinning type.
Definition: fbxskin.h:106
Type FbxSkin.
Definition: fbxdeformer.h:70
virtual void Construct(const FbxObject *pFrom)
Optional constructor override, automatically called by default constructor.
Base class for skin deformer (FbxSkin) and vertex cache deformer (FbxVertexCacheDeformer).
Definition: fbxdeformer.h:38
Skin deformer class.
Definition: fbxskin.h:37
virtual FbxObject * Clone(FbxObject::ECloneType pCloneType=eDeepClone, FbxObject *pContainer=((void *) 0), void *pSet=((void *) 0)) const
Creates a clone of this object.
#define FBXSDK_DLL
Definition: fbxarch.h:173
The base class of geometric objects that support control point deformations (e.g. ...
Definition: fbxgeometry.h:45
EDeformerType GetDeformerType() const
Get the type of the deformer.
Definition: fbxskin.h:97