CSLPolygonList Class Reference

Describes a list of n-sided polygons. More...

#include <PolygonList.h>

Inheritance diagram for CSLPolygonList:

CSLTemplate CSIBCNode List of all members.

Public Types

typedef CSLArrayProxy< SI_Int,
SI_Int, 1 > 
CSLIntArray

Public Member Functions

  CSLPolygonList (CSLScene *in_pScene, CSLModel *in_pModel, CdotXSITemplate *in_pTemplate)
virtual  ~CSLPolygonList ()
SI_Int  GetPolygonCount ()
CSLIntArray GetPolygonVertexCountList ()
SI_Int *  GetPolygonVertexCountListPtr ()
SI_Int  GetVertexCount ()
CSLIntArray GetVertexIndices ()
SI_Int *  GetVertexIndicesPtr ()
CSLIntArray CreateNormalIndices ()
CSLIntArray GetNormalIndices ()
SI_Int *  GetNormalIndicesPtr ()
SI_Error  DestroyNormalIndices ()
CSLIntArray CreateColorIndices ()
CSLIntArray GetColorIndices ()
SI_Int *  GetColorIndicesPtr ()
SI_Error  DestroyColorIndices ()
CSLIntArray AddUVArray ()
SI_Int  GetUVArrayCount ()
CSLIntArray GetUVIndices (SI_Int in_nId)
SI_Int *  GetUVIndicesPtr (SI_Int in_nId)
SI_Error  RemoveUVArray ()
SI_Error  ClearUVArrays ()
CSLBaseMaterial GetMaterial ()
SI_Void  SetMaterial (CSLBaseMaterial *in_pNewMaterial)
virtual SI_Error  Synchronize ()
virtual ETemplateType  Type ()
virtual CSLAnimatableType ParameterFromName (SI_Char *in_szName)

Detailed Description

Describes a list of n-sided polygons.

The CSLPolygonList class describes a list of polygons that are made up of N number of vertices. The polygons in this list can have normals, UV and color information as well.

To find out, you may use the GetNormalIndices(), GetUVIndices() and GetColorIndices() and check if the return value is non-NULL.

To get the number of polygons in the list, use GetPolygonCount(). To find out how many vertices a particular polygon uses, first get the list of polygon vertex count use GetPolygonVertexCountList().


Member Typedef Documentation

typedef CSLArrayProxy<SI_Int, SI_Int, 1> CSLIntArray

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


Constructor & Destructor Documentation

CSLPolygonList ( CSLScene in_pScene,
CSLModel in_pModel,
CdotXSITemplate in_pTemplate  
)

Constructor

Parameters:
in_pScene  Pointer to the scene containing the polygon list
in_pModel  Pointer to the model containing the polygon list
in_pTemplate  Pointer to the CdotXSITemplate containing the polygon list
Returns:
an instance of CSLPolygonList

virtual ~CSLPolygonList (  )  [virtual]

Destructor


Member Function Documentation

SI_Int GetPolygonCount (  )  [inline]

Returns the number of polygons in this list.

Returns:
SI_Int Number of polygons

CSLIntArray* GetPolygonVertexCountList (  )  [inline]

Return the polygon vertex count array proxy.

Returns:
CSLIntArray* Pointer to an array proxy of polygon vertex count.

SI_Int* GetPolygonVertexCountListPtr (  )  [inline]

Returns an array of SI_Int containing the number of vertices for each polygon.

Returns:
SI_Int* Array of SI_Int

SI_Int GetVertexCount (  )  [inline]

Returns the number of vertices referred by all polygons in this list.

Returns:
SI_Int Number of vertices

CSLIntArray* GetVertexIndices (  )  [inline]

Return the vertex indices array proxy.

Returns:
CSLIntArray* Pointer to an array proxy of vertex indices.

SI_Int* GetVertexIndicesPtr (  )  [inline]

Returns an array of SI_Int containing the vertex index list.

Returns:
SI_Int* Array of SI_Int

CSLIntArray* CreateNormalIndices (  ) 

Create a normal indices array.

Returns:
CSLIntArray* Pointer to the newly created array.

CSLIntArray* GetNormalIndices (  )  [inline]

Return the normal indices array proxy.

Returns:
CSLIntArray* Pointer to an array proxy of normal indices.

SI_Int* GetNormalIndicesPtr (  ) 

Returns an array of SI_Int containing the normal index list.

Returns:
SI_Int* Array of SI_Int

SI_Error DestroyNormalIndices (  ) 

Destroy the normal indices array.

Returns:
SI_Error Error code.

CSLIntArray* CreateColorIndices (  ) 

Create a color indices array.

Returns:
CSLIntArray* Pointer to the newly created array.

CSLIntArray* GetColorIndices (  )  [inline]

Return the color indices array proxy.

Returns:
CSLIntArray* Pointer to an array proxy of color indices.

SI_Int* GetColorIndicesPtr (  ) 

Returns an array of SI_Int containing the color index list.

Returns:
SI_Int* Array of SI_Int

SI_Error DestroyColorIndices (  ) 

Destroy the color indices array.

Returns:
SI_Error Error code.

CSLIntArray* AddUVArray (  ) 

Create a new UV indices array.

Returns:
CSLIntArray* Pointer to the newly created array.

SI_Int GetUVArrayCount (  ) 

Return the number of texture coordinate arrays.

Returns:
SI_Int Number of UV arrays.

CSLIntArray* GetUVIndices ( SI_Int  in_nId  ) 

Return the UV indices array proxy.

Parameters:
in_nId  Identification of the UV array to retrieve.
Returns:
CSLIntArray* Pointer to an array proxy of UV indices.

SI_Int* GetUVIndicesPtr ( SI_Int  in_nId  ) 

Returns an array of SI_Int containing the UV index list.

Parameters:
in_nId  Identification of the UV array to retrieve.
Returns:
SI_Int* Array of SI_Int

SI_Error RemoveUVArray (  ) 

Remove the last UV indices array.

Returns:
SI_Error Error code.

SI_Error ClearUVArrays (  ) 

Remove all UV indices array.

Returns:
SI_Error Error code.

CSLBaseMaterial* GetMaterial (  )  [inline]

Return the material object of the polygon list.

Returns:
CSLBaseMaterial* Texture projection name.

SI_Void SetMaterial ( CSLBaseMaterial in_pNewMaterial  )  [inline]

Change the material object of the polygon list.

Parameters:
in_pNewMaterial  New material object.
Returns:
SI_Void

virtual SI_Error Synchronize (  )  [virtual]

Updates the template with information from this polygon list

Returns:
SI_Error Whether or not the template could be updated

Reimplemented from CSLTemplate.

virtual ETemplateType Type (  )  [inline, virtual]

Returns the type of this template

Returns:
ETemplateType

Implements CSLTemplate.

virtual CSLAnimatableType* ParameterFromName ( SI_Char *  in_szName  )  [virtual]

Gets a handle on one of this polygon list's parameters by using its name

Parameters:
in_szName  the name of the parameter to get the handle from
Returns:
CSLAnimatableType* the handle to the parameter

Reimplemented from CSLTemplate.


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