KFbxTrimNurbsSurface Class Reference

#include <kfbxtrimnurbssurface.h>

Inherits KFbxGeometry.

Inheritance diagram for KFbxTrimNurbsSurface:

Inheritance graph
List of all members.

Detailed Description

KFbxTrimNurbsSurface Describes a nurbs surface with regions trimmed or cut away with trimming boundaries.

Definition at line 167 of file kfbxtrimnurbssurface.h.

Public Member Functions

virtual EAttributeType GetAttributeType () const
 Return the type of node attribute.
int GetTrimRegionCount () const
 Returns the number of regions on this trimmed nurbs surface.
void BeginTrimRegion ()
 Call this before adding boundaries for a new trim region.
void EndTrimRegion ()
 Call this after the last boundary for a given region is added.
bool AddBoundary (KFbxBoundary *pBoundary)
 Appends a trimming boundary to the set of trimming boundaries.
KFbxBoundaryGetBoundary (int pIndex, int pRegionIndex=0)
 Gets the boundary at a given index for a given region.
int GetBoundaryCount (int pRegionIndex=0) const
 Gets the number of boundaries on this surface.
void SetNurbsSurface (KFbxNurbsSurface const *pNurbs)
 Set the nurbs surface that will be trimmed by the trimming boundaries.
KFbxNurbsSurfaceGetNurbsSurface ()
 Gets the untrimmed surface that is trimmed by the trim boundaries.
KFbxNurbsSurface const * GetNurbsSurface () const
 Gets the untrimmed surface that is trimmed by the trim boundaries.
void SetFlipNormals (bool pFlip)
 The normals of the surface can be reversed to reverse the surface.
bool GetFlipNormals () const
 Check if the normals are flipped.
virtual int GetControlPointsCount () const
 Get the number of control points.
virtual void SetControlPointAt (KFbxVector4 &pCtrlPoint, KFbxVector4 &pNormal, int pIndex)
 Sets the control point and the normal values for a given index.
virtual KFbxVector4GetControlPoints ()
 Get a pointer to the array of control points.
Shape Management
virtual int AddShape (KFbxShape *pShape, char const *pShapeName)
 Shapes on trim nurbs are stored on the untrimmed surface.
virtual void ClearShape ()
 Shapes on trim nurbs are stored on the untrimmed surface.
virtual int GetShapeCount () const
 Shapes on trim nurbs are stored on the untrimmed surface.
virtual KFbxShapeGetShape (int pIndex)
 Shapes on trim nurbs are stored on the untrimmed surface.
virtual KFbxShape const * GetShape (int pIndex) const
 Shapes on trim nurbs are stored on the untrimmed surface.
virtual char const * GetShapeName (int pIndex) const
 Shapes on trim nurbs are stored on the untrimmed surface.
virtual KFCurveGetShapeChannel (KFbxTakeNode *pTakeNode, int pShapeIndex)
 Shapes on trim nurbs are stored on the untrimmed surface.


Member Function Documentation

virtual EAttributeType GetAttributeType (  )  const [inline, virtual]

Return the type of node attribute.

Reimplemented from KFbxGeometry.

Definition at line 172 of file kfbxtrimnurbssurface.h.

int GetTrimRegionCount (  )  const

Returns the number of regions on this trimmed nurbs surface.

Note there is at always at least one trim region.

Returns:
The number of regions

void BeginTrimRegion (  ) 

Call this before adding boundaries for a new trim region.

The number of regions is incremented on this call.

void EndTrimRegion (  ) 

Call this after the last boundary for a given region is added.

If no boundaries are added inbetween calls to BeginTrimRegion and EndTrimRegion, the last region is removed.

bool AddBoundary ( KFbxBoundary pBoundary  ) 

Appends a trimming boundary to the set of trimming boundaries.

The first boundary specified for a given trim region should be the outer boundary. All other boundaries are inner boundaries. This must be called after a call to BeginTrimRegion(). Boundaries cannot be shared among regions. Duplicate the boundary if nessecary. See KFbxBoundary

Parameters:
pBoundary The boundary to add.
Returns:
true if the boundary was added, false otherwise

KFbxBoundary* GetBoundary ( int  pIndex,
int  pRegionIndex = 0 
)

Gets the boundary at a given index for a given region.

Parameters:
pIndex The index of the boundary to retrieve. No bounds checking is done.
pRegionIndex The index of the region which is bound by the boundary.
Returns:
The trimming boundary at index pIndex, if pIndex is in the range [0, GetBoundaryCount() ) otherwise the result is undefined.

int GetBoundaryCount ( int  pRegionIndex = 0  )  const

Gets the number of boundaries on this surface.

Returns:
The number of trim boundaries

void SetNurbsSurface ( KFbxNurbsSurface const *  pNurbs  ) 

Set the nurbs surface that will be trimmed by the trimming boundaries.

Parameters:
nurbs 

KFbxNurbsSurface* GetNurbsSurface (  ) 

Gets the untrimmed surface that is trimmed by the trim boundaries.

Returns:
Pointer to the (untrimmed) nurbs surface.

KFbxNurbsSurface const* GetNurbsSurface (  )  const

Gets the untrimmed surface that is trimmed by the trim boundaries.

Returns:
Pointer to the (untrimmed) nurbs surface.

void SetFlipNormals ( bool  pFlip  )  [inline]

The normals of the surface can be reversed to reverse the surface.

Parameters:
pFlip If true, the surface is reversed, else the surface is not reversed.

Definition at line 238 of file kfbxtrimnurbssurface.h.

bool GetFlipNormals (  )  const [inline]

Check if the normals are flipped.

Returns:
True if normals are flipped, false otherwise

Definition at line 243 of file kfbxtrimnurbssurface.h.

virtual int AddShape ( KFbxShape pShape,
char const *  pShapeName 
) [virtual]

Shapes on trim nurbs are stored on the untrimmed surface.

Thus, this is equivalent to calling GetNurbsSurface()->AddShape() See KFbxGeometry::AddShape() for method description.

Reimplemented from KFbxGeometry.

virtual void ClearShape (  )  [virtual]

Shapes on trim nurbs are stored on the untrimmed surface.

Thus, this is equivalent to calling GetNurbsSurface()->ClearShape() See KFbxGeometry::ClearShape() for method description.

Reimplemented from KFbxGeometry.

virtual int GetShapeCount (  )  const [virtual]

Shapes on trim nurbs are stored on the untrimmed surface.

Thus, this is equivalent to calling GetNurbsSurface()->GetShapeCount() See KFbxGeometry::GetShapeCount() for method description.

Reimplemented from KFbxGeometry.

virtual KFbxShape* GetShape ( int  pIndex  )  [virtual]

Shapes on trim nurbs are stored on the untrimmed surface.

Thus, this is equivalent to calling GetNurbsSurface()->GetShape() See KFbxGeometry::GetShape() for method description.

Reimplemented from KFbxGeometry.

virtual KFbxShape const* GetShape ( int  pIndex  )  const [virtual]

Shapes on trim nurbs are stored on the untrimmed surface.

Thus, this is equivalent to calling GetNurbsSurface()->GetShape() See KFbxGeometry::GetShape() for method description.

Reimplemented from KFbxGeometry.

virtual char const* GetShapeName ( int  pIndex  )  const [virtual]

Shapes on trim nurbs are stored on the untrimmed surface.

Thus, this is equivalent to calling GetNurbsSurface()->GetShapeName() See KFbxGeometry::GetShapeName() for method description.

Reimplemented from KFbxGeometry.

virtual KFCurve* GetShapeChannel ( KFbxTakeNode pTakeNode,
int  pShapeIndex 
) [virtual]

Shapes on trim nurbs are stored on the untrimmed surface.

Thus, this is equivalent to calling GetNurbsSurface()->GetShapeChannel() See KFbxGeometry::GetShapeChannel() for method description.

Reimplemented from KFbxGeometry.

virtual int GetControlPointsCount (  )  const [virtual]

Get the number of control points.

Returns:
The number of control points allocated in the geometry.

Reimplemented from KFbxGeometryBase.

virtual void SetControlPointAt ( KFbxVector4 pCtrlPoint,
KFbxVector4 pNormal,
int  pIndex 
) [virtual]

Sets the control point and the normal values for a given index.

Parameters:
pCtrlPoint The value of the control point.
pNormal The value of the normal.
pIndex The index of the control point/normal to be modified.
Remarks:
If the arrays are not big enough to store the values at the given index, their size will be increased.

Reimplemented from KFbxGeometryBase.

virtual KFbxVector4* GetControlPoints (  )  [virtual]

Get a pointer to the array of control points.

Returns:
Pointer to the array of control points, or NULL if the array has not been allocated.
Remarks:
Use the function KFbxGeometryBase::InitControlPoints() to allocate the array.

Reimplemented from KFbxGeometryBase.