13 #ifndef _FBXSDK_SCENE_GEOMETRY_NURBS_H_
14 #define _FBXSDK_SCENE_GEOMETRY_NURBS_H_
99 int GetUKnotCount()
const;
104 double* GetUKnotVector()
const;
109 int GetVKnotCount()
const;
114 double* GetVKnotVector()
const;
121 int* GetUMultiplicityVector()
const;
128 int* GetVMultiplicityVector()
const;
151 void SetStep(
int pUStep,
int pVStep);
168 int GetUSpanCount()
const;
175 int GetVSpanCount()
const;
187 void SetApplyFlipUV(
bool pFlag);
192 bool GetApplyFlipUV()
const;
197 void SetApplyFlipLinks(
bool pFlag);
202 bool GetApplyFlipLinks()
const;
207 bool GetApplyFlip()
const {
return GetApplyFlipUV() || GetApplyFlipLinks(); }
214 #ifndef DOXYGEN_SHOULD_SKIP_THIS
219 eWrongNumberOfControlPoint,
221 eUMultiplicityVectorError,
222 eVMultiplicityVectorError,
234 virtual void Destruct(
bool pRecursive);
237 int mUCount, mVCount;
239 EType mUType, mVType;
241 double* mUKnotVector;
242 double* mVKnotVector;
244 int* mUMultiplicityVector;
245 int* mVMultiplicityVector;
247 ESurfaceMode mSurfaceMode;
251 bool mApplyFlipLinks;
#define FBXSDK_OBJECT_DECLARE(Class, Parent)
Macro used to declare a new class derived from FbxObject.
FBX SDK environment definition.
virtual void InitControlPoints(int pCount)
Allocates memory space for the array of control points.
virtual FbxObject & Copy(const FbxObject &pObject)
Copy an object content into this object.
ESurfaceMode
NURBS and Patches surface modes.
EType
Node attribute types.
int GetVOrder() const
Returns the NURBS order in V dimension.
virtual FbxNodeAttribute::EType GetAttributeType() const
Returns the node attribute type.
int GetVCount() const
Returns the number of V-dimension control points.
int GetUStep() const
Returns the number of divisions between adjacent control points in U dimension.
The base class of most FBX objects.
ESurfaceMode GetSurfaceMode() const
Returns the surface mode.
virtual void Construct(const FbxObject *pFrom)
Optional constructor override, automatically called by default constructor.
int GetUCount() const
Returns the number of U-dimension control points.
EType GetNurbsVType() const
Returns the V-dimension NURBS type.
A four double mathematic vector class.
virtual void SetControlPointAt(const FbxVector4 &pCtrlPoint, const FbxVector4 &pNormal, int pIndex, bool pI2DSearch=false)
Sets the control point and the normal values at the specified index.
A NURBS surface is a type of parametric geometry.
int GetVStep() const
Returns the number of divisions between adjacent control points in V dimension.
The base class of geometric objects that support control point deformations (e.g. ...
This class provides the functionality to convert geometry nodes attributes (FbxMesh, FbxNurbs and FbxPatch) and mainly focuses on the two major categories: Triangulation and conversion between NURBS and Patches surfaces.
virtual void Destruct(bool pRecursive)
Optional destructor override, automatically called by default destructor.
bool GetApplyFlip() const
Returns flip flags state.
int GetUOrder() const
Returns the NURBS order in U dimension.
EType GetNurbsUType() const
Returns the U-dimension NURBS type.