Main Page   Modules   Class Hierarchy   Alphabetical List   Compound List   Compound Members  

CSLNurbsSurface Class Reference

Describes a single NURBS surface. More...

#include <NurbsSurface.h>

Inheritance diagram for CSLNurbsSurface::

CSLGeometry CSLPrimitive CSLTemplate CSIBCNode List of all members.

Public Types

Public Methods


Detailed Description

Describes a single NURBS surface.


Member Typedef Documentation

typedef CSLArrayProxy<SI_Float, SI_Float, 1> CSLNurbsSurface::CSLFloatArray
 

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

typedef CSLArrayProxy<CSIBCVector4D, SI_Float, 4> CSLNurbsSurface::CSLVector4DArray
 

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


Member Enumeration Documentation

enum CSLNurbsSurface::EParametrizationType
 

The EParametrizationType enum contains possible types for knot parametrization

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


Constructor & Destructor Documentation

CSLNurbsSurface::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

CSLNurbsSurface::~CSLNurbsSurface   [virtual]
 

Destructor


Member Function Documentation

CSLNurbsProjection * CSLNurbsSurface::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

CSLNurbsTrim * CSLNurbsSurface::AddNurbsTrim  
 

Adds an nurbs trim to the nurbs surface

Returns:
CSLNurbsTrimList Pointer to the newly added nurbs trim

SI_Error CSLNurbsSurface::ClearNurbsProjections  
 

Removes all nurbs projections from the nurbs surface

Returns:
SI_Error Whether or not the list could be cleared

SI_Error CSLNurbsSurface::ClearNurbsTrims  
 

Removes all nurbs trims from the nurbs surface

Returns:
SI_Error Whether or not the list could be cleared

CSLNurbsProjection * CSLNurbsSurface::ConnectNurbsProjection CSLNurbsProjection   in_pNewNurbsProjection
 

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

CSLNurbsTrim * CSLNurbsSurface::ConnectNurbsTrim CSLNurbsTrim   in_pNewNurbsTrim
 

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

CSLNurbsProjection * CSLNurbsSurface::FindNurbsProjection SI_Char *    in_szName
 

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 * CSLNurbsSurface::FindNurbsTrim SI_Char *    in_szName
 

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

SI_Error CSLNurbsSurface::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.

SI_Int CSLNurbsSurface::GetControlPointCount  
 

Return the total number of control points of the surface.

Returns:
SI_Int Number of knots.

CSLNurbsSurface::CSLVector4DArray * CSLNurbsSurface::GetControlPointList  
 

Return the control point values array proxy.

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

CSIBCVector4D * CSLNurbsSurface::GetControlPointListPtr  
 

Returns an array of SI_Float containing the control point values.

Returns:
SI_Float* Array of control point values.

SI_Int CSLNurbsSurface::GetNurbsProjectionCount  
 

Gets the total number of nurbs projections

Returns:
SI_Int Number of nurbs projections

CSLNurbsProjection ** CSLNurbsSurface::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 CSLNurbsSurface::GetNurbsTrimCount  
 

Gets the total number of nurbs trims

Returns:
SI_Int Number of nurbs trims

CSLNurbsTrim ** CSLNurbsSurface::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

CSLNurbsSurface::EParametrizationType CSLNurbsSurface::GetParametrization  
 

Return the parametrization type of the surface.

Returns:
EParametrizationType Parametrization type.

SI_Bool CSLNurbsSurface::GetUClosedFlag  
 

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

Returns:
SI_Bool Closed flag in U.

SI_Int CSLNurbsSurface::GetUControlPointCount  
 

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

Returns:
SI_Int Number of control points in U.

SI_Int CSLNurbsSurface::GetUDegree  
 

Return the degree of the surface in the U direction.

Returns:
SI_Int Degree value in U.

SI_Int CSLNurbsSurface::GetUKnotCount  
 

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

Returns:
SI_Int Number of knots in U.

CSLNurbsSurface::CSLFloatArray * CSLNurbsSurface::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 * CSLNurbsSurface::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_Bool CSLNurbsSurface::GetVClosedFlag  
 

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

Returns:
SI_Bool Closed flag in V.

SI_Int CSLNurbsSurface::GetVControlPointCount  
 

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

Returns:
SI_Int Number of control points in V.

SI_Int CSLNurbsSurface::GetVDegree  
 

Return the degree of the surface in the V direction.

Returns:
SI_Int Degree value in V.

SI_Int CSLNurbsSurface::GetVKnotCount  
 

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

Returns:
SI_Int Number of knots in V.

CSLNurbsSurface::CSLFloatArray * CSLNurbsSurface::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 * CSLNurbsSurface::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_Error CSLNurbsSurface::RemoveNurbsProjection CSLNurbsProjection   in_pNurbsProjection
 

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 CSLNurbsSurface::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 CSLNurbsSurface::RemoveNurbsTrim CSLNurbsTrim   in_pNurbsTrim
 

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 CSLNurbsSurface::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_Void CSLNurbsSurface::SetParametrization EParametrizationType    in_Type
 

Change the parametrization type of the surface.

Parameters:
EParametrizationType  New parametrization type.
Returns:
SI_Void

SI_Void CSLNurbsSurface::SetUClosedFlag SI_Bool    in_bValue
 

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

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

SI_Void CSLNurbsSurface::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_Void CSLNurbsSurface::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_Void CSLNurbsSurface::SetVClosedFlag SI_Bool    in_bValue
 

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

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

SI_Void CSLNurbsSurface::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_Void CSLNurbsSurface::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_Error CSLNurbsSurface::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 CSLNurbsSurface::Type   [inline, virtual]
 

Get the template type

Returns:
ETemplateType the template type of the NURBS surface

Reimplemented from CSLTemplate.


The documentation for this class was generated from the following files: © Copyright 2001-2003 Avid Technology, Inc. All rights reserved.

© Copyright 2001-2003 Avid Technology, Inc. All rights reserved.