KFbxNurb Class Reference

#include <kfbxnurb.h>
Inheritance diagram for KFbxNurb:
Inheritance graph
[legend]

List of all members.


Detailed Description

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.


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.

Public Member Functions

virtual EAttributeType  GetAttributeType () const
  Returns the EAttributeType::eNURB node attribute type.
void  Reset ()
  Resets the NURBS surface its default values.

Member Enumeration Documentation

enum ENurbType

NURBS types.

  • ePERIODIC
  • eCLOSED
  • eOPEN
Enumerator:
ePERIODIC 
eCLOSED 
eOPEN 

Definition at line 90 of file kfbxnurb.h.


Member Function Documentation

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.

Parameters:
pMode  Surface mode identifier (see class KfbxGeometry)

ESurfaceMode GetSurfaceMode (  )  const [inline]

Returns the surface mode.

Returns:
The surface mode identifier that is currently set.

Definition at line 83 of file kfbxnurb.h.

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.

Parameters:
pUCount  Number of U-dimension control points.
pUType  U-dimension NURBS type.
pVCount  Number of V-dimension control points.
pVType  V-dimension NURBS type.
Remarks:
Always call this function after KFbxNurb::SetOrder().

int GetUCount (  )  const [inline]

Returns the number of U-dimension control points.

Returns:
Number of U-dimension control points.

Definition at line 110 of file kfbxnurb.h.

int GetVCount (  )  const [inline]

Returns the number of V-dimension control points.

Returns:
Number of V-dimension control points.

Definition at line 115 of file kfbxnurb.h.

ENurbType GetNurbUType (  )  const [inline]

Returns the U-dimension NURBS type.

Returns:
NURBS type identifier.

Definition at line 120 of file kfbxnurb.h.

ENurbType GetNurbVType (  )  const [inline]

Returns the V-dimension NURBS type.

Returns:
NURBS type identifier.

Definition at line 125 of file kfbxnurb.h.

int GetUKnotCount (  )  const

Returns the number of elements in the U-dimension knot vector.

See KFbxNurbsCurve for more information.

Returns:
The number of elements in the U-dimension knot vector.

double* GetUKnotVector (  )  const

Returns the U-dimension knot vector.

Returns:
Pointer to the U-dimension knot vector.

int GetVKnotCount (  )  const

Returns the number of elements in the V-dimension knot vector.

See KFbxNurbsCurve for more information.

Returns:
The number of elements in the V-dimension knot vector.

double* GetVKnotVector (  )  const

Returns the V-dimension knot vector.

Returns:
Pointer to the V-dimension knot vector.

int* GetUMultiplicityVector (  )  const

Returns multiplicity of U-dimension control points.

Returns:
Pointer to the array of multiplicity values.
Remarks:
The length of this vector is equal to the U count. Its elements are set to 1 by default.

int* GetVMultiplicityVector (  )  const

Returns multiplicity of V-dimension control points.

Returns:
Pointer to the array of multiplicity values.
Remarks:
The length of this vector is equal to the V count. Its elements are set to 1 by default.

void SetOrder ( kUInt  pUOrder,
kUInt  pVOrder  
)

Sets the order of the NURBS surface.

Parameters:
pUOrder  NURBS order in U dimension.
pVOrder  NURBS order in V dimension.

int GetUOrder (  )  const [inline]

Returns the NURBS order in U dimension.

Returns:
NURBS order in U dimension.

Definition at line 170 of file kfbxnurb.h.

int GetVOrder (  )  const [inline]

Returns the NURBS order in V dimension.

Returns:
NURBS order in V dimension.

Definition at line 175 of file kfbxnurb.h.

void SetStep ( int  pUStep,
int  pVStep  
)

Sets the NURBS step.

The step value is the number of divisions between adjacent control points.

Parameters:
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.

Returns:
Steps in U dimension.

Definition at line 187 of file kfbxnurb.h.

int GetVStep (  )  const [inline]

Returns the number of divisions between adjacent control points in V dimension.

Returns:
Steps in V dimension.

Definition at line 192 of file kfbxnurb.h.

int GetUSpanCount (  )  const

Calculates the number of surface spans in the U dimension.

See KFbxNurbsCurve::GetSpanCount() for more information.

Returns:
The number of spans in the U dimension if the surface has been initialized. If the spans have not been initialized, returns -1.

int GetVSpanCount (  )  const

Calculates the number of surface spans in the V dimension.

See KFbxNurbsCurve::GetSpanCount() for more information.

Returns:
The number of spans in the V dimension if the surface has been initialized. If the spans have not been initialized, returns -1.

void SetApplyFlipUV ( bool  pFlag  ) 

Sets the flag that induces UV flipping at export.

Parameters:
pFlag  If true, UV flipping occurs.

bool GetApplyFlipUV (  )  const

Returns the flag that induces UV flipping at export.

Returns:
The current state of the UV flip flag.

void SetApplyFlipLinks ( bool  pFlag  ) 

Sets the flag that induces link flipping at export.

Parameters:
pFlag  If true, the links control points indices are flipped.

bool GetApplyFlipLinks (  )  const

Returns the flag that induces link flipping at export.

Returns:
The current state of the link flip flag.

bool GetApplyFlip (  )  const [inline]

Returns flip flags state.

Returns:
True if we need to flip either the UV or the links.

Definition at line 238 of file kfbxnurb.h.

KFbxNurb KFbxNurb KFbxNurb KFbxNurb KFbxNurb KFbxNurb KFbxNurb KFbxNurb KFbxNurb KFbxNurb
KFbxNurb KFbxNurb KFbxNurb KFbxNurb KFbxNurb KFbxNurb KFbxNurb KFbxNurb KFbxNurb KFbxNurb