FBX C++ API Reference
fbxshape.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_SHAPE_H_
14 #define _FBXSDK_SCENE_GEOMETRY_SHAPE_H_
15 
16 #include <fbxsdk/fbxsdk_def.h>
17 
19 
20 #include <fbxsdk/fbxsdk_nsbegin.h>
21 
23 class FbxGeometry;
24 
43 {
45 
46 public:
51  void SetLegacyStyle(bool pState);
52 
58  bool IsLegacyStyle() const;
59 
66  void SetAbsoluteMode(bool pAbsolute);
67 
74  bool IsAbsoluteMode() const;
75 
80  bool SetBlendShapeChannel(FbxBlendShapeChannel* pBlendShapeChannel);
81 
85  FbxBlendShapeChannel* GetBlendShapeChannel() const;
86 
96  FbxGeometry* GetBaseGeometry();
97 
102  int GetControlPointIndicesCount() const;
103 
108  int* GetControlPointIndices() const;
109 
110 
114  void SetControlPointIndicesCount(int pCount);
115 
119  void AddControlPointIndex(int pIndex);
120 
126  void Reset();
127 
128 protected:
130  FbxPropertyT<FbxBool> LegacyStyle;
132 
136 public:
137 /*****************************************************************************************************************************
138 ** WARNING! Anything beyond these lines is for internal use, may not be documented and is subject to change without notice! **
139 *****************************************************************************************************************************/
140 #ifndef DOXYGEN_SHOULD_SKIP_THIS
141  void Compact() override;
142  FbxObject& Copy(const FbxObject& pObject) override;
143  FbxObject* Clone(FbxObject::ECloneType pCloneType=eDeepClone, FbxObject* pContainer=NULL, void* pSet = NULL) const override;
144 
145 protected:
146  void ConstructProperties(bool pForceSet) override;
147  FbxNodeAttribute::EType GetAttributeType() const override;
148  FbxStringList GetTypeFlags() const override;
149 
150  FbxArray<int> mControlPointIndices;
151 #endif /* !DOXYGEN_SHOULD_SKIP_THIS *****************************************************************************************/
152 };
153 
154 #include <fbxsdk/fbxsdk_nsend.h>
155 
156 #endif /* _FBXSDK_SCENE_GEOMETRY_SHAPE_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:213
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:239
EType
Node attribute types.
FbxPropertyT< FbxBool > AbsoluteMode
If true and not in legacy style values will be stored in absolute values(normals, colors...
Definition: fbxshape.h:134
FbxNodeAttribute::EType GetAttributeType() const override
Returns the type of node attribute.
The base class of most FBX objects.
Definition: fbxobject.h:157
This class is the base class for geometric object such as meshes, NURBS and patches.
A shape describes the deformation on a set of control points, which is similar to the cluster deforme...
Definition: fbxshape.h:42
Class for blend shape channels.
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:176
The base class of geometric objects that support control point deformations (e.g. ...
Definition: fbxgeometry.h:45
virtual void ConstructProperties(bool pForceSet)
Optional property constructor override, automatically called by default constructor.