KFbxTrimNurbsSurface Class Reference

#include <kfbxtrimnurbssurface.h>
Inheritance diagram for KFbxTrimNurbsSurface:
Inheritance graph
[legend]

List of all members.


Detailed Description

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

Definition at line 158 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.
KFbxBoundary GetBoundary (int pIndex, int pRegionIndex=0)
  Gets the boundary at a given index for a given region.
KFbxBoundary const *  GetBoundary (int pIndex, int pRegionIndex=0) const
  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.
KFbxNurbsSurface GetNurbsSurface ()
  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
  Return the nurb surface's control points count.
virtual void  SetControlPointAt (KFbxVector4 &pCtrlPoint, KFbxVector4 &pNormal, int pIndex)
  Set a control point of the nurb surface.
virtual KFbxVector4 GetControlPoints () const
  Return the nurb surface's 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 KFbxShape GetShape (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 KFCurve GetShapeChannel (int pIndex, bool pCreateAsNeeded=false, char const *pTakeName=NULL)
  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 163 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 in between 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 necessary. 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.

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

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.

Parameters:
pRegionIndex  The index of the region
Returns:
The number of trim boundaries

void SetNurbsSurface ( KFbxNurbsSurface const *  pNurbs  ) 

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

Parameters:
pNurbs  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 237 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 242 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.

Parameters:
pShape  Pointer to the shape object.
pShapeName  Name given to the shape.
Returns:
-1

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.

Parameters:
pIndex  Index of shape.

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.

Parameters:
pIndex  Index of shape.

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.

Parameters:
pIndex  Index of shape.

Reimplemented from KFbxGeometry.

virtual KFCurve* GetShapeChannel ( int  pIndex,
bool  pCreateAsNeeded = false,
char const *  pTakeName = NULL  
) [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.

Parameters:
pIndex  Shape index.
pCreateAsNeeded  If true, the fcurve is created if not already present.
pTakeName  Take from which we want the FCurve (if NULL, use the current take).

Reimplemented from KFbxGeometry.

virtual int GetControlPointsCount (  )  const [virtual]

Return the nurb surface's control points count.

Reimplemented from KFbxGeometryBase.

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

Set a control point of the nurb surface.

Parameters:
pCtrlPoint  The control point's location.
pNormal  The control point's normal.
pIndex  The index of control point to be set.

virtual KFbxVector4* GetControlPoints (  )  const [virtual]

Return the nurb surface's control points.

Reimplemented from KFbxGeometryBase.

KFbxTrimNurbsSurface KFbxTrimNurbsSurface KFbxTrimNurbsSurface KFbxTrimNurbsSurface KFbxTrimNurbsSurface KFbxTrimNurbsSurface KFbxTrimNurbsSurface KFbxTrimNurbsSurface KFbxTrimNurbsSurface KFbxTrimNurbsSurface
KFbxTrimNurbsSurface KFbxTrimNurbsSurface KFbxTrimNurbsSurface KFbxTrimNurbsSurface KFbxTrimNurbsSurface KFbxTrimNurbsSurface KFbxTrimNurbsSurface KFbxTrimNurbsSurface KFbxTrimNurbsSurface KFbxTrimNurbsSurface