CSLNurbsSurface Class Reference



Your Ad Here

Describes a single NURBS surface. More...

#include <NurbsSurface.h>

Inheritance diagram for CSLNurbsSurface:

CSLGeometry CSLPrimitive CSLTemplate CSIBCNode List of all members.

Public Types

enum   EParametrizationType {
  SI_UNIFORM,
  SI_NON_UNIFORM,
  SI_CHORD_LENGTH,
  SI_CENTRIPETAL
}
typedef CSLArrayProxy< SI_Float,
SI_Float, 1 > 
CSLFloatArray
typedef CSLArrayProxy< CSIBCVector4D,
SI_Float, 4 > 
CSLVector4DArray

Public Member Functions

  CSLNurbsSurface (CSLScene *in_pScene, CSLModel *in_pModel, CdotXSITemplate *in_pTemplate)
virtual  ~CSLNurbsSurface ()
virtual SI_Error  Fix ()
virtual SI_Error  Synchronize ()
virtual ETemplateType  Type ()
SI_Int  GetUDegree ()
SI_Void  SetUDegree (SI_Int in_nValue)
SI_Int  GetVDegree ()
SI_Void  SetVDegree (SI_Int in_nValue)
SI_Bool  GetUClosedFlag ()
SI_Void  SetUClosedFlag (SI_Bool in_nValue)
SI_Bool  GetVClosedFlag ()
SI_Void  SetVClosedFlag (SI_Bool in_nValue)
EParametrizationType  GetParametrization ()
SI_Void  SetParametrization (EParametrizationType in_Type)
SI_Int  GetUKnotCount ()
CSLFloatArray GetUKnotList ()
SI_Float *  GetUKnotListPtr ()
SI_Int  GetVKnotCount ()
CSLFloatArray GetVKnotList ()
SI_Float *  GetVKnotListPtr ()
SI_Int  GetUControlPointCount ()
SI_Void  SetUControlPointCount (SI_Int in_nValue)
SI_Int  GetVControlPointCount ()
SI_Void  SetVControlPointCount (SI_Int in_nValue)
SI_Int  GetControlPointCount ()
CSLVector4DArray GetControlPointList ()
CSIBCVector4D GetControlPointListPtr ()
CSLNurbsProjection AddNurbsProjection ()
SI_Error  RemoveNurbsProjection (SI_Int in_nIndex)
SI_Error  RemoveNurbsProjection (CSLNurbsProjection *in_pToRemove)
SI_Error  ClearNurbsProjections ()
CSLNurbsProjection ConnectNurbsProjection (CSLNurbsProjection *in_pToConnect)
CSLNurbsProjection **  GetNurbsProjections ()
SI_Int  GetNurbsProjectionCount ()
CSLNurbsProjection FindNurbsProjection (SI_Char *in_szNurbsProjectionName)
CSLNurbsTrim AddNurbsTrim ()
SI_Error  RemoveNurbsTrim (SI_Int in_nIndex)
SI_Error  RemoveNurbsTrim (CSLNurbsTrim *in_pToRemove)
SI_Error  ClearNurbsTrims ()
CSLNurbsTrim ConnectNurbsTrim (CSLNurbsTrim *in_pToConnect)
CSLNurbsTrim **  GetNurbsTrims ()
SI_Int  GetNurbsTrimCount ()
CSLNurbsTrim FindNurbsTrim (SI_Char *in_szNurbsTrimName)

Detailed Description

Describes a single NURBS surface.


Member Typedef Documentation

typedef CSLArrayProxy<SI_Float, SI_Float, 1> CSLFloatArray

Proxy class that allows modifying a list of SI_Float like an array.

typedef CSLArrayProxy<CSIBCVector4D, SI_Float, 4> CSLVector4DArray

Proxy class that allows modifying a list of CSIBCVector4D objects like an array.


Member Enumeration Documentation

enum EParametrizationType

The EParametrizationType enum contains possible types for knot parametrization

Enumerator:
SI_UNIFORM  Uniform parametrization.
SI_NON_UNIFORM  Non-uniform parametrization.
SI_CHORD_LENGTH  Chord length parametrization.
SI_CENTRIPETAL  Centripetal parametrization.


Constructor & Destructor Documentation

CSLNurbsSurface ( CSLScene in_pScene,
CSLModel in_pModel,
CdotXSITemplate in_pTemplate  
)

Constructor

Parameters:
in_pScene  Parent scene
in_pModel  Parent model
in_pTemplate  Refered template
Returns:
an instance of CSLNurbsSurface

virtual ~CSLNurbsSurface (  )  [virtual]

Destructor


Member Function Documentation

virtual SI_Error Fix (  )  [virtual]

Validates the content of this NURBS surface and fixes it if necessary

Returns:
SI_Error whether the fix has been successful

Reimplemented from CSLTemplate.

virtual SI_Error Synchronize (  )  [virtual]

Synchronizes this NURBS surface instance with its IO layer representation

Returns:
SI_Error
Return values:
SI_SUCCESS  this function always returns SI_SUCCESS

Reimplemented from CSLGeometry.

virtual ETemplateType Type (  )  [inline, virtual]

Get the template type

Returns:
ETemplateType the template type of the NURBS surface

Implements CSLTemplate.

SI_Int GetUDegree (  ) 

Return the degree of the surface in the U direction.

Returns:
SI_Int Degree value in U.

SI_Void SetUDegree ( SI_Int  in_nValue  ) 

Change the degree of the surface in the U direction.

Parameters:
SI_Int  New degree value in U.
Returns:
SI_Void

SI_Int GetVDegree (  ) 

Return the degree of the surface in the V direction.

Returns:
SI_Int Degree value in V.

SI_Void SetVDegree ( SI_Int  in_nValue  ) 

Change the degree of the surface in the V direction.

Parameters:
SI_Int  New degree value in V.
Returns:
SI_Void

SI_Bool GetUClosedFlag (  ) 

Return the closed flag of the surface in the U direction.

Returns:
SI_Bool Closed flag in U.

SI_Void SetUClosedFlag ( SI_Bool  in_nValue  ) 

Change the closed flag of the surface in the U direction.

Parameters:
SI_Bool  New closed flag in U.
Returns:
SI_Void

SI_Bool GetVClosedFlag (  ) 

Return the closed flag of the surface in the V direction.

Returns:
SI_Bool Closed flag in V.

SI_Void SetVClosedFlag ( SI_Bool  in_nValue  ) 

Change the closed flag of the surface in the V direction.

Parameters:
SI_Bool  New closed flag in V.
Returns:
SI_Void

EParametrizationType GetParametrization (  ) 

Return the parametrization type of the surface.

Returns:
EParametrizationType Parametrization type.

SI_Void SetParametrization ( EParametrizationType  in_Type  ) 

Change the parametrization type of the surface.

Parameters:
EParametrizationType  New parametrization type.
Returns:
SI_Void

SI_Int GetUKnotCount (  ) 

Return the number of knots of the surface in the U direction.

Returns:
SI_Int Number of knots in U.

CSLFloatArray* GetUKnotList (  ) 

Return the knot values array proxy in the U direction.

Returns:
CSLFloatArray* Pointer to an array proxy of knots values in U.

SI_Float* GetUKnotListPtr (  ) 

Returns an array of SI_Float containing the knot values in the U direction.

Returns:
SI_Float* Array of knots values in U.

SI_Int GetVKnotCount (  ) 

Return the number of knots of the surface in the V direction.

Returns:
SI_Int Number of knots in V.

CSLFloatArray* GetVKnotList (  ) 

Return the knot values array proxy in the V direction.

Returns:
CSLFloatArray* Pointer to an array proxy of knots values in V.

SI_Float* GetVKnotListPtr (  ) 

Returns an array of SI_Float containing the knot values in the V direction.

Returns:
SI_Float* Array of knots values in V.

SI_Int GetUControlPointCount (  ) 

Return the number of control points of the surface in the U direction.

Returns:
SI_Int Number of control points in U.

SI_Void SetUControlPointCount ( SI_Int  in_nValue  ) 

Change the number of control points of the surface in the U direction.

Parameters:
EParametrizationType  New number of control points in U.
Returns:
SI_Void.

SI_Int GetVControlPointCount (  ) 

Return the number of control points of the surface in the V direction.

Returns:
SI_Int Number of control points in V.

SI_Void SetVControlPointCount ( SI_Int  in_nValue  ) 

Change the number of control points of the surface in the V direction.

Parameters:
EParametrizationType  New number of control points in V.
Returns:
SI_Void.

SI_Int GetControlPointCount (  ) 

Return the total number of control points of the surface.

Returns:
SI_Int Number of knots.

CSLVector4DArray* GetControlPointList (  ) 

Return the control point values array proxy.

Returns:
CSLVector4DArray* Pointer to an array proxy of indexed normals.

CSIBCVector4D* GetControlPointListPtr (  ) 

Returns an array of SI_Float containing the control point values.

Returns:
SI_Float* Array of control point values.

CSLNurbsProjection* AddNurbsProjection (  ) 

Adds an nurbs projection to the nurbs surface

Returns:
CSLNurbsProjection Pointer to the newly added nurbs projection
Note:
The scene must support 3.6 to add a nurbs projection

SI_Error RemoveNurbsProjection ( SI_Int  in_nIndex  ) 

Removes a nurbs projection from the nurbs surface

Parameters:
in_nIndex  Index of the nurbs projection to remove
Returns:
SI_Error Whether or not the nurbs projection could be removed

SI_Error RemoveNurbsProjection ( CSLNurbsProjection in_pToRemove  ) 

Removes an nurbs projection from the nurbs surface

Parameters:
in_pToRemove  Pointer to the nurbs projection to remove
Returns:
SI_Error Whether or not the nurbs projection could be removed

SI_Error ClearNurbsProjections (  ) 

Removes all nurbs projections from the nurbs surface

Returns:
SI_Error Whether or not the list could be cleared

CSLNurbsProjection* ConnectNurbsProjection ( CSLNurbsProjection in_pToConnect  ) 

Adds an exisiting nurbs projection to the nurbs surface

Parameters:
in_pToConnect  Pointer to the nurbs projection to add
Returns:
The added nurbs projection or null if it already exists in the list

CSLNurbsProjection** GetNurbsProjections (  ) 

Gets an array of all nurbs projection contained on this nurbs surface

Returns:
CSLNurbsProjection Pointer to the list
Note:
The scene must support 3.6 to add a nurbs projection

SI_Int GetNurbsProjectionCount (  ) 

Gets the total number of nurbs projections

Returns:
SI_Int Number of nurbs projections

CSLNurbsProjection* FindNurbsProjection ( SI_Char *  in_szNurbsProjectionName  ) 

Searches for a given nurbs projection

Parameters:
in_szNurbsProjectionName  Name of the nurbs projection to look for
Returns:
CSLNurbsProjection Pointer to the nurbs projection or null if it cannot be found

CSLNurbsTrim* AddNurbsTrim (  ) 

Adds an nurbs trim to the nurbs surface

Returns:
CSLNurbsTrimList Pointer to the newly added nurbs trim

SI_Error RemoveNurbsTrim ( SI_Int  in_nIndex  ) 

Removes a nurbs trim from the nurbs surface

Parameters:
in_nIndex  Index of the nurbs trim to remove
Returns:
SI_Error Whether or not the nurbs trim could be removed
Note:
The scene must support 3.6 to add a nurbs trim

SI_Error RemoveNurbsTrim ( CSLNurbsTrim in_pToRemove  ) 

Removes an nurbs trim from the nurbs surface

Parameters:
in_pToRemove  Pointer to the nurbs trim to remove
Returns:
SI_Error Whether or not the nurbs trim could be removed

SI_Error ClearNurbsTrims (  ) 

Removes all nurbs trims from the nurbs surface

Returns:
SI_Error Whether or not the list could be cleared

CSLNurbsTrim* ConnectNurbsTrim ( CSLNurbsTrim in_pToConnect  ) 

Adds an exisiting nurbs trim to the nurbs surface

Parameters:
in_pToConnect  Pointer to the nurbs trim to add
Returns:
The added nurbs trim or null if it already exists in the list

CSLNurbsTrim** GetNurbsTrims (  ) 

Gets an array of all nurbs trims contained on this nurbs surface

Returns:
CSLNurbsTrim Pointer to the list
Note:
The scene must support 3.6 to add a nurbs trim

SI_Int GetNurbsTrimCount (  ) 

Gets the total number of nurbs trims

Returns:
SI_Int Number of nurbs trims

CSLNurbsTrim* FindNurbsTrim ( SI_Char *  in_szNurbsTrimName  ) 

Searches for a given nurbs trim

Parameters:
in_szNurbsTrimName  Name of the nurbs trim to look for
Returns:
CSLNurbsTrim Pointer to the nurbs trim or null if it cannot be found


The documentation for this class was generated from the following file:

Return to Softimage XSI Index


Your Ad Here