# CSLPolygonList Class Reference

`#include <PolygonList.h>`

Inheritance diagram for CSLPolygonList:

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:

- PolygonList.h