CSLPolygonList Class Reference

#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 polygons that are made up of N number of vertices (see the SI_PolygonList template reference). The polygons in this list can have normals, UV and color information as well.

Tip:
You can use the GetNormalIndices(), GetUVIndices() and GetColorIndices() and check if the return value is non-NULL.

You can use GetPolygonCount() to get the number of polygons in the list.

To find out how many vertices a particular polygon uses, first get the list of polygon vertex count using 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: