This reference page is linked to from the following overview topics: Supported Scene Elements, FBX Node Attributes, List of Python Fbx classes.
A NURBS surface is a type of parametric geometry.
A NURBS surface is defined by the order, form, knot vector and control points in the U and V coordinates.
For more information on the meaning of form, knot vectors and control points, see the FbxNurbsCurve documentation. The same rules apply for the NURBS curves and NURBS surfaces, but NURBS surfaces have two dimensions (U and V).
Definition at line 31 of file fbxnurbs.h.
#include <fbxnurbs.h>

Public Types | |
| enum | EErrorCode { eNurbsTypeUnknown, eWrongNumberOfControlPoint, eWeightTooSmall, eUMultiplicityVectorError, eVMultiplicityVectorError, eUKnotVectorError, eVKnotVectorError, eErrorCount } |
Public Member Functions | |
| virtual FbxNodeAttribute::EType | GetAttributeType () const |
| Returns the FbxNodeAttribute::EType::eNurbs node attribute type. | |
| void | Reset () |
| Resets the NURBS surface its default values. | |
| virtual FbxObject & | Copy (const FbxObject &pObject) |
| Copy an object content into this object. | |
Protected Member Functions | |
| virtual void | Construct (const FbxNurbs *pFrom) |
| virtual void | Destruct (bool pRecursive) |
| Optional destructor override, automatically called by default destructor. | |
Protected Attributes | |
| FbxUInt | mUOrder |
| FbxUInt | mVOrder |
| int | mUCount |
| int | mVCount |
| int | mUStep |
| int | mVStep |
| EType | mUType |
| EType | mVType |
| double * | mUKnotVector |
| double * | mVKnotVector |
| int * | mUMultiplicityVector |
| int * | mVMultiplicityVector |
| ESurfaceMode | mSurfaceMode |
| bool | mApplyFlipUV |
| bool | mApplyFlipLinks |
Friends | |
| class | FbxGeometryConverter |
NURBS surface Properties | |
| enum | EType { ePeriodic, eClosed, eOpen } |
Node attribute types. More... | |
| void | SetSurfaceMode (FbxGeometry::ESurfaceMode pMode) |
| Sets the surface mode. | |
| ESurfaceMode | GetSurfaceMode () const |
| Returns the surface mode. | |
| void | InitControlPoints (int pUCount, EType pUType, int pVCount, EType pVType) |
| Allocates memory space for an array of control points as well as knot and multiplicity vectors. | |
| int | GetUCount () const |
| Returns the number of U-dimension control points. | |
| int | GetVCount () const |
| Returns the number of V-dimension control points. | |
| EType | GetNurbsUType () const |
| Returns the U-dimension NURBS type. | |
| EType | GetNurbsVType () const |
| Returns the V-dimension NURBS type. | |
| int | GetUKnotCount () const |
| Returns the number of elements in the U-dimension knot vector. | |
| double * | GetUKnotVector () const |
| Returns the U-dimension knot vector. | |
| int | GetVKnotCount () const |
| Returns the number of elements in the V-dimension knot vector. | |
| double * | GetVKnotVector () const |
| Returns the V-dimension knot vector. | |
| int * | GetUMultiplicityVector () const |
| Returns multiplicity of U-dimension control points. | |
| int * | GetVMultiplicityVector () const |
| Returns multiplicity of V-dimension control points. | |
| void | SetOrder (FbxUInt pUOrder, FbxUInt pVOrder) |
| Sets the order of the NURBS surface. | |
| int | GetUOrder () const |
| Returns the NURBS order in U dimension. | |
| int | GetVOrder () const |
| Returns the NURBS order in V dimension. | |
| void | SetStep (int pUStep, int pVStep) |
| Sets the NURBS step. | |
| int | GetUStep () const |
| Returns the number of divisions between adjacent control points in U dimension. | |
| int | GetVStep () const |
| Returns the number of divisions between adjacent control points in V dimension. | |
| int | GetUSpanCount () const |
| Calculates the number of surface spans in the U dimension. | |
| int | GetVSpanCount () const |
| Calculates the number of surface spans in the V dimension. | |
NURBS Export Flags | |
| void | SetApplyFlipUV (bool pFlag) |
| Sets the flag that induces UV flipping at export. | |
| bool | GetApplyFlipUV () const |
| Returns the flag that induces UV flipping at export. | |
| void | SetApplyFlipLinks (bool pFlag) |
| Sets the flag that induces link flipping at export. | |
| bool | GetApplyFlipLinks () const |
| Returns the flag that induces link flipping at export. | |
| bool | GetApplyFlip () const |
| Returns flip flags state. | |
| enum EType |
Node attribute types.
Reimplemented from FbxNodeAttribute.
Definition at line 62 of file fbxnurbs.h.
| enum EErrorCode |
| eNurbsTypeUnknown | |
| eWrongNumberOfControlPoint | |
| eWeightTooSmall | |
| eUMultiplicityVectorError | |
| eVMultiplicityVectorError | |
| eUKnotVectorError | |
| eVKnotVectorError | |
| eErrorCount |
Definition at line 219 of file fbxnurbs.h.
| virtual FbxNodeAttribute::EType GetAttributeType | ( | ) | const [virtual] |
Returns the FbxNodeAttribute::EType::eNurbs node attribute type.
Reimplemented from FbxGeometry.
| void Reset | ( | ) |
Resets the NURBS surface its default values.
| void SetSurfaceMode | ( | FbxGeometry::ESurfaceMode | pMode | ) |
Sets the surface mode.
| pMode | Surface mode identifier (see class FbxGeometry) |
| ESurfaceMode GetSurfaceMode | ( | ) | const [inline] |
Returns the surface mode.
Definition at line 55 of file fbxnurbs.h.
{return mSurfaceMode;}
Allocates memory space for an array of control points as well as knot and multiplicity vectors.
| pUCount | Number of U-dimension control points. |
| pUType | U-dimension NURBS type. |
| pVCount | Number of V-dimension control points. |
| pVType | V-dimension NURBS type. |
| int GetUCount | ( | ) | const [inline] |
Returns the number of U-dimension control points.
Definition at line 82 of file fbxnurbs.h.
{return mUCount;}
| int GetVCount | ( | ) | const [inline] |
Returns the number of V-dimension control points.
Definition at line 87 of file fbxnurbs.h.
{return mVCount;}
| EType GetNurbsUType | ( | ) | const [inline] |
Returns the U-dimension NURBS type.
Definition at line 92 of file fbxnurbs.h.
{return mUType;}
| EType GetNurbsVType | ( | ) | const [inline] |
Returns the V-dimension NURBS type.
Definition at line 97 of file fbxnurbs.h.
{return mVType;}
| int GetUKnotCount | ( | ) | const |
Returns the number of elements in the U-dimension knot vector.
See FbxNurbsCurve for more information.
| double* GetUKnotVector | ( | ) | const |
Returns the U-dimension knot vector.
| int GetVKnotCount | ( | ) | const |
Returns the number of elements in the V-dimension knot vector.
See FbxNurbsCurve for more information.
| double* GetVKnotVector | ( | ) | const |
Returns the V-dimension knot vector.
| int* GetUMultiplicityVector | ( | ) | const |
Returns multiplicity of U-dimension control points.
| int* GetVMultiplicityVector | ( | ) | const |
Returns multiplicity of V-dimension control points.
Sets the order of the NURBS surface.
| pUOrder | NURBS order in U dimension. |
| pVOrder | NURBS order in V dimension. |
| int GetUOrder | ( | ) | const [inline] |
Returns the NURBS order in U dimension.
Definition at line 142 of file fbxnurbs.h.
{return mUOrder;}
| int GetVOrder | ( | ) | const [inline] |
Returns the NURBS order in V dimension.
Definition at line 147 of file fbxnurbs.h.
{return mVOrder;}
| void SetStep | ( | int | pUStep, |
| int | pVStep | ||
| ) |
Sets the NURBS step.
The step value is the number of divisions between adjacent control points.
| pUStep | Steps in U dimension. |
| pVStep | Steps in V dimension. |
| int GetUStep | ( | ) | const [inline] |
Returns the number of divisions between adjacent control points in U dimension.
Definition at line 159 of file fbxnurbs.h.
{return mUStep;}
| int GetVStep | ( | ) | const [inline] |
Returns the number of divisions between adjacent control points in V dimension.
Definition at line 164 of file fbxnurbs.h.
{return mVStep;}
| int GetUSpanCount | ( | ) | const |
Calculates the number of surface spans in the U dimension.
See FbxNurbsCurve::GetSpanCount() for more information.
| int GetVSpanCount | ( | ) | const |
Calculates the number of surface spans in the V dimension.
See FbxNurbsCurve::GetSpanCount() for more information.
| void SetApplyFlipUV | ( | bool | pFlag | ) |
Sets the flag that induces UV flipping at export.
| pFlag | If true, UV flipping occurs. |
| bool GetApplyFlipUV | ( | ) | const |
Returns the flag that induces UV flipping at export.
| void SetApplyFlipLinks | ( | bool | pFlag | ) |
Sets the flag that induces link flipping at export.
| pFlag | If true, the links control points indices are flipped. |
| bool GetApplyFlipLinks | ( | ) | const |
Returns the flag that induces link flipping at export.
| bool GetApplyFlip | ( | ) | const [inline] |
Returns flip flags state.
True if we need to flip either the UV or the links. Definition at line 210 of file fbxnurbs.h.
{ return GetApplyFlipUV() || GetApplyFlipLinks(); }
Copy an object content into this object.
| pObject | The source object to copy data from. |
Reimplemented from FbxGeometry.
| virtual void Construct | ( | const FbxNurbs * | pFrom | ) | [protected, virtual] |
| virtual void Destruct | ( | bool | pRecursive | ) | [protected, virtual] |
Optional destructor override, automatically called by default destructor.
| pRecursive | If true, children objects should be destroyed as well. |
Reimplemented from FbxGeometry.
friend class FbxGeometryConverter [friend] |
Definition at line 254 of file fbxnurbs.h.
Definition at line 237 of file fbxnurbs.h.
Definition at line 237 of file fbxnurbs.h.
int mUCount [protected] |
Definition at line 238 of file fbxnurbs.h.
int mVCount [protected] |
Definition at line 238 of file fbxnurbs.h.
int mUStep [protected] |
Definition at line 239 of file fbxnurbs.h.
int mVStep [protected] |
Definition at line 239 of file fbxnurbs.h.
Definition at line 240 of file fbxnurbs.h.
Definition at line 240 of file fbxnurbs.h.
double* mUKnotVector [protected] |
Definition at line 242 of file fbxnurbs.h.
double* mVKnotVector [protected] |
Definition at line 243 of file fbxnurbs.h.
int* mUMultiplicityVector [protected] |
Definition at line 245 of file fbxnurbs.h.
int* mVMultiplicityVector [protected] |
Definition at line 246 of file fbxnurbs.h.
ESurfaceMode mSurfaceMode [protected] |
Definition at line 248 of file fbxnurbs.h.
bool mApplyFlipUV [protected] |
Definition at line 251 of file fbxnurbs.h.
bool mApplyFlipLinks [protected] |
Definition at line 252 of file fbxnurbs.h.