# CSLShape Class Reference

`#include <Shape.h>`

Inheritance diagram for CSLShape:

List of all members.

## Public Member Functions
| CSLShape (CSLScene *in_pScene, CSLModel *in_pModel, CdotXSITemplate *in_pTemplate, EShapeType in_Type)
virtual | ~CSLShape ()
CSLVector2DArray * | CreateUVCoords ()
CSLIndexedVector2DArray * | CreateIndexedUVCoords ()
SI_Int | GetUVCoordCount ()
CSLVector2DArray * | GetUVCoordList ()
CSIBCVector2D * | GetUVCoordListPtr ()
CSLIndexedVector2DArray * | GetIndexedUVCoordList ()
SLIndexedVector2D * | GetIndexedUVCoordListPtr ()
SI_Error | DestroyUVCoords ()
virtual ETemplateType | Type ()
virtual SI_Error | Synchronize ()

## Detailed Description

Describes a mesh shape (see the SI_Shape template reference). The CSLShape holds the mesh's vertex positions, normals, texture coordinates and color information.

## Constructor & Destructor Documentation

CSLShape | ( | CSLScene * | in_pScene,
|  | CSLModel * | in_pModel,
|  | CdotXSITemplate * | in_pTemplate,
|  | EShapeType | in_Type |
| ) |  |  |

Constructor

Parameters:

  | in_pScene | Parent scene
  | in_pModel | Parent model
  | in_pTemplate | Refered template
  | in_Type | the type of shape to construct

Returns:
  an instance of CSLShape

virtual ~CSLShape | ( |  | ) | `[virtual]`

Destructor

## Member Function Documentation

CSLVector2DArray* CreateUVCoords | ( |  | ) |

Create a texture coordinates array.

Returns:
  CSLVector2DArray* Pointer to the newly created array.

CSLIndexedVector2DArray* CreateIndexedUVCoords | ( |  | ) |

Create an indexed texture coordinates array.

Returns:
  CSLIndexedVector2DArray* Pointer to the newly created indexed array.

SI_Int GetUVCoordCount | ( |  | ) |

Return the number of texture coordinates.

Returns:
  SI_Int Number of UV.

CSLVector2DArray* GetUVCoordList | ( |  | ) |

Return the texture coordinate array proxy.

Returns:
  CSLVector2DArray* Pointer to an array proxy of UV.

CSIBCVector2D* GetUVCoordListPtr | ( |  | ) |

Returns an array of CSIBCVector2D that describes the texture coordinates for this mesh.

Returns:
  CSIBCVector2D* Array of texture coordinates

CSLIndexedVector2DArray* GetIndexedUVCoordList | ( |  | ) |

Return the indexed texture coordinate array proxy.

Returns:
  CSLIndexedVector2DArray* Pointer to an array proxy of indexed UV.

SLIndexedVector2D* GetIndexedUVCoordListPtr | ( |  | ) |

Returns an array of SLIndexedVector2D that describes the indexed texture coordinates for this mesh.

Returns:
  SLIndexedVector2D* Array of indexed texture coordinates

SI_Error DestroyUVCoords | ( |  | ) |

Destroy the texture coordinates array.

Returns:
  SI_Error Error code.

virtual ETemplateType Type | ( |  | ) | `[inline, virtual]`

Get the template type

Returns:
  ETemplateType the template type of the shape surface

Implements CSLTemplate.

virtual SI_Error Synchronize | ( |  | ) | `[virtual]`

Synchronizes this shape instance with its IO layer representation

Returns:
  SI_Error

Return values:

  | SI_SUCCESS | this function always returns SI_SUCCESS

Reimplemented from CSLBaseShape.

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

- Shape.h