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 directions.
For more information on the meaning of the form, knot vector and control points, see the documentation for the FbxNurbsCurve. The same concepts for NURBS curves apply to NURBS surfaces. NURBS surfaces simply have two dimensions (U and V).
Definition at line 35 of file fbxnurbssurface.h.
#include <fbxnurbssurface.h>

Public Types |
|
| enum | EErrorCode
{ eNurbsTypeUnknown, eWrongNumberOfControlPoint, eWeightTooSmall, eUKnotVectorError, eVKnotVectorError, eErrorCount } |
|
Error identifiers. More... |
|
Public Member Functions |
|
| virtual FbxNodeAttribute::EType | GetAttributeType () const |
| Returns the
FbxNodeAttribute::EType::eNurbsSurface node attribute type.
|
|
| void | Reset () |
| Resets the NURBS surface its default values.
|
|
| bool | IsRational () const |
| Checks if the surface has all rational
control points. |
|
| virtual FbxObject & | Copy (const FbxObject &pObject) |
| Copy an object content into this object.
|
|
| void | SetFlipNormals (bool pFlipNormals) |
| bool | GetFlipNormals () const |
| bool | IsValidKnots () const |
Protected Member Functions |
|
| FbxNurbsSurface (FbxManager &pManager, char const *pName) | |
| virtual void | Destruct (bool pRecursive, bool pDependents) |
Protected Attributes |
|
| FbxUInt | mUOrder |
| FbxUInt | mVOrder |
| int | mUCount |
| int | mVCount |
| int | mUStep |
| int | mVStep |
| EType | mUType |
| EType | mVType |
| double * | mUKnotVector |
| double * | mVKnotVector |
| ESurfaceMode | mSurfaceMode |
| bool | mApplyFlipUV |
| bool | mApplyFlipLinks |
| bool | mFlipNormals |
Friends |
|
| class | FbxGeometryConverter |
NURBS surface Properties |
|
| enum | EType { ePeriodic, eClosed, eOpen } |
|
NURBS 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.
|
|
| 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 surface 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. |
|
| void | AddCurveOnSurface (FbxNode *pCurve) |
| Adds a curve to the NURBS surface. |
|
| FbxNode * | GetCurveOnSurface (int pIndex) |
| Retrieves a curve from this surface.
|
|
| FbxNode const * | GetCurveOnSurface (int pIndex) const |
| Retrieves a curve from this surface.
|
|
| int | GetCurveOnSurfaceCount () const |
| Returns the number of curves on this
surface. |
|
| bool | RemoveCurveOnSurface (FbxNode *pCurve) |
| Removes a curve from this surface. |
|
| enum EType |
NURBS types.
Reimplemented from FbxNodeAttribute.
Definition at line 65 of file fbxnurbssurface.h.
| enum EErrorCode |
Error identifiers.
| eNurbsTypeUnknown | |
| eWrongNumberOfControlPoint | |
| eWeightTooSmall | |
| eUKnotVectorError | |
| eVKnotVectorError | |
| eErrorCount |
Reimplemented from FbxGeometry.
Definition at line 279 of file fbxnurbssurface.h.
| FbxNurbsSurface | ( | FbxManager & | pManager, |
| char const * | pName | ||
| ) | [protected] |
| virtual FbxNodeAttribute::EType GetAttributeType | ( | ) | const [virtual] |
Returns the FbxNodeAttribute::EType::eNurbsSurface 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 58 of file fbxnurbssurface.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 85 of file fbxnurbssurface.h.
{return mUCount;}
| int GetVCount | ( | ) | const [inline] |
Returns the number of V-dimension control points.
Definition at line 90 of file fbxnurbssurface.h.
{return mVCount;}
| EType GetNurbsUType | ( | ) | const [inline] |
Returns the U-dimension NURBS type.
Definition at line 95 of file fbxnurbssurface.h.
{return mUType;}
| EType GetNurbsVType | ( | ) | const [inline] |
Returns the V-dimension NURBS type.
Definition at line 100 of file fbxnurbssurface.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.
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 131 of file fbxnurbssurface.h.
{return mUOrder;}
| int GetVOrder | ( | ) | const [inline] |
Returns the NURBS order in V dimension.
Definition at line 136 of file fbxnurbssurface.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 148 of file fbxnurbssurface.h.
{return mUStep;}
| int GetVStep | ( | ) | const [inline] |
Returns the number of divisions between adjacent control points in V dimension.
Definition at line 153 of file fbxnurbssurface.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 199 of file fbxnurbssurface.h.
{ return GetApplyFlipUV() || GetApplyFlipLinks(); }
| void AddCurveOnSurface | ( | FbxNode * | pCurve | ) |
Adds a curve to the NURBS surface.
Adds a 2D, parametric space curve to this surface
| pCurve | The curve to be added to the surface. |
| FbxNode* GetCurveOnSurface | ( | int | pIndex | ) |
Retrieves a curve from this surface.
| pIndex | Index of the curve to retrieve (Valid range is 0 to GetCurveOnSurfaceCount() - 1). |
| FbxNode const* GetCurveOnSurface | ( | int | pIndex | ) | const |
Retrieves a curve from this surface.
| pIndex | Index of the curve to retrieve (Valid range is 0 to GetCurveOnSurfaceCount() - 1). |
| int GetCurveOnSurfaceCount | ( | ) | const |
Returns the number of curves on this surface.
| bool RemoveCurveOnSurface | ( | FbxNode * | pCurve | ) |
Removes a curve from this surface.
| pCurve | The curve to be removed. |
True if the curve is removed successfully, if
unsuccessful, returns false.| bool IsRational | ( | ) | const |
Checks if the surface has all rational control points.
True if rational, false
otherwiseCopy an object content into this object.
| pObject | The source object to copy data from. |
Reimplemented from FbxGeometry.
| void SetFlipNormals | ( | bool | pFlipNormals | ) |
| bool GetFlipNormals | ( | ) | const |
| bool IsValidKnots | ( | ) | const |
| virtual void Destruct | ( | bool | pRecursive, |
| bool | pDependents | ||
| ) | [protected, virtual] |
Reimplemented from FbxGeometry.
friend class FbxGeometryConverter
[friend] |
Reimplemented from FbxGeometryBase.
Definition at line 290 of file fbxnurbssurface.h.
Definition at line 258 of file fbxnurbssurface.h.
Definition at line 258 of file fbxnurbssurface.h.
int mUCount
[protected] |
Definition at line 259 of file fbxnurbssurface.h.
int mVCount
[protected] |
Definition at line 259 of file fbxnurbssurface.h.
int mUStep
[protected] |
Definition at line 260 of file fbxnurbssurface.h.
int mVStep
[protected] |
Definition at line 260 of file fbxnurbssurface.h.
Definition at line 261 of file fbxnurbssurface.h.
Definition at line 261 of file fbxnurbssurface.h.
double* mUKnotVector
[protected] |
Definition at line 263 of file fbxnurbssurface.h.
double* mVKnotVector
[protected] |
Definition at line 264 of file fbxnurbssurface.h.
ESurfaceMode
mSurfaceMode
[protected] |
Definition at line 269 of file fbxnurbssurface.h.
bool mApplyFlipUV
[protected] |
Definition at line 272 of file fbxnurbssurface.h.
bool mApplyFlipLinks
[protected] |
Definition at line 273 of file fbxnurbssurface.h.
bool mFlipNormals
[protected] |
Definition at line 275 of file fbxnurbssurface.h.