This reference page is linked to from the following overview topics: Supported Scene Elements, FBX Node Attributes, Geometry, Meshes, List of Python FBX classes.
A NURBS surface is a type of parametric geometry.
A NURBS surface is defined by the degree, 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 KFbxNurbsCurve documentation. The same rules apply for the NURBS curves and NURBS surfaces, but NURBS surfaces have two dimensions (U and V).
Definition at line 60 of file kfbxnurb.h.
#include <kfbxnurb.h>
Public Types |
|
enum | EError
{ eNurbTypeUnknown, eWrongNumberOfControlPoint, eWeightTooSmall, eUMultiplicityVectorError, eVMultiplicityVectorError, eUKnotVectorError, eVKnotVectorError, eErrorCount } |
Error identifiers. More... |
|
Public Member Functions |
|
virtual EAttributeType | GetAttributeType () const |
Returns the EAttributeType::eNURB node
attribute type. |
|
void | Reset () |
Resets the NURBS surface its default values.
|
|
virtual KFbxObject & | Copy (const KFbxObject &pObject) |
Copy an object content into this object.
|
|
Protected Member Functions |
|
KFbxNurb (KFbxSdkManager &pManager, char const *pName) | |
virtual void | Destruct (bool pRecursive, bool pDependents) |
Protected Attributes |
|
kUInt | mUOrder |
kUInt | mVOrder |
int | mUCount |
int | mVCount |
int | mUStep |
int | mVStep |
ENurbType | mUType |
ENurbType | mVType |
double * | mUKnotVector |
double * | mVKnotVector |
int * | mUMultiplicityVector |
int * | mVMultiplicityVector |
ESurfaceMode | mSurfaceMode |
bool | mApplyFlipUV |
bool | mApplyFlipLinks |
Friends |
|
class | KFbxGeometryConverter |
NURBS surface Properties |
|
enum | ENurbType { ePERIODIC, eCLOSED, eOPEN } |
NURBS types. More... |
|
void | SetSurfaceMode (KFbxGeometry::ESurfaceMode pMode) |
Sets the surface mode. |
|
ESurfaceMode | GetSurfaceMode () const |
Returns the surface mode. |
|
void | InitControlPoints (int pUCount, ENurbType pUType, int pVCount, ENurbType 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. |
|
ENurbType | GetNurbUType () const |
Returns the U-dimension NURBS type. |
|
ENurbType | GetNurbVType () 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 (kUInt pUOrder, kUInt 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 ENurbType |
enum EError |
Error identifiers.
eNurbTypeUnknown | |
eWrongNumberOfControlPoint | |
eWeightTooSmall | |
eUMultiplicityVectorError | |
eVMultiplicityVectorError | |
eUKnotVectorError | |
eVKnotVectorError | |
eErrorCount |
Reimplemented from KFbxGeometry.
Definition at line 279 of file kfbxnurb.h.
KFbxNurb | ( | KFbxSdkManager & | pManager, |
char const * | pName | ||
) | [protected] |
virtual EAttributeType GetAttributeType | ( | ) | const [virtual] |
Returns the EAttributeType::eNURB node attribute type.
Reimplemented from KFbxGeometry.
void Reset | ( | ) |
Resets the NURBS surface its default values.
void SetSurfaceMode | ( | KFbxGeometry::ESurfaceMode | pMode | ) |
Sets the surface mode.
pMode | Surface mode identifier (see class KfbxGeometry) |
ESurfaceMode GetSurfaceMode | ( | ) | const [inline] |
Returns the surface mode.
Definition at line 83 of file kfbxnurb.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 110 of file kfbxnurb.h.
{return mUCount;}
int GetVCount | ( | ) | const [inline] |
Returns the number of V-dimension control points.
Definition at line 115 of file kfbxnurb.h.
{return mVCount;}
ENurbType GetNurbUType | ( | ) | const [inline] |
Returns the U-dimension NURBS type.
Definition at line 120 of file kfbxnurb.h.
{return mUType;}
ENurbType GetNurbVType | ( | ) | const [inline] |
Returns the V-dimension NURBS type.
Definition at line 125 of file kfbxnurb.h.
{return mVType;}
int GetUKnotCount | ( | ) | const |
Returns the number of elements in the U-dimension knot vector.
See KFbxNurbsCurve 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 KFbxNurbsCurve 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 170 of file kfbxnurb.h.
{return mUOrder;}
int GetVOrder | ( | ) | const [inline] |
Returns the NURBS order in V dimension.
Definition at line 175 of file kfbxnurb.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 187 of file kfbxnurb.h.
{return mUStep;}
int GetVStep | ( | ) | const [inline] |
Returns the number of divisions between adjacent control points in V dimension.
Definition at line 192 of file kfbxnurb.h.
{return mVStep;}
int GetUSpanCount | ( | ) | const |
Calculates the number of surface spans in the U dimension.
See KFbxNurbsCurve::GetSpanCount() for more information.
int GetVSpanCount | ( | ) | const |
Calculates the number of surface spans in the V dimension.
See KFbxNurbsCurve::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 238 of file kfbxnurb.h.
{ return GetApplyFlipUV() || GetApplyFlipLinks(); }
virtual KFbxObject& Copy | ( | const KFbxObject & | pObject | ) | [virtual] |
Copy an object content into this object.
pObject | The source object to copy data from. |
Reimplemented from KFbxGeometry.
virtual void Destruct | ( | bool | pRecursive, |
bool | pDependents | ||
) | [protected, virtual] |
Reimplemented from KFbxGeometry.
friend class KFbxGeometryConverter
[friend] |
Reimplemented from KFbxGeometryBase.
Definition at line 292 of file kfbxnurb.h.
Definition at line 260 of file kfbxnurb.h.
Definition at line 260 of file kfbxnurb.h.
int mUCount
[protected] |
Definition at line 261 of file kfbxnurb.h.
int mVCount
[protected] |
Definition at line 261 of file kfbxnurb.h.
int mUStep
[protected] |
Definition at line 262 of file kfbxnurb.h.
int mVStep
[protected] |
Definition at line 262 of file kfbxnurb.h.
Definition at line 263 of file kfbxnurb.h.
Definition at line 263 of file kfbxnurb.h.
double* mUKnotVector
[protected] |
Definition at line 265 of file kfbxnurb.h.
double* mVKnotVector
[protected] |
Definition at line 266 of file kfbxnurb.h.
int* mUMultiplicityVector
[protected] |
Definition at line 268 of file kfbxnurb.h.
int* mVMultiplicityVector
[protected] |
Definition at line 269 of file kfbxnurb.h.
ESurfaceMode
mSurfaceMode
[protected] |
Definition at line 271 of file kfbxnurb.h.
bool mApplyFlipUV
[protected] |
Definition at line 274 of file kfbxnurb.h.
bool mApplyFlipLinks
[protected] |
Definition at line 275 of file kfbxnurb.h.