# CSLXSIShape Class Reference

`#include <XSIShape.h>`

Inheritance diagram for CSLXSIShape:

List of all members.

## Public Types
enum | EXSIShapeType { XSI_ORDERED, XSI_INDEXED }
## Public Member Functions
| CSLXSIShape (CSLScene *in_pScene, CSLModel *in_pModel, CdotXSITemplate *in_pTemplate, EXSIShapeType in_Type)
virtual | ~CSLXSIShape ()
virtual CSLXSISubComponentAttributeList * | AddAttributeList (CSLXSISubComponentAttributeList::EAttributeType in_AttributeType)
SI_Int | GetAttributeListCount ()
SI_Int | GetAttributeListCountBySemantic (SI_Char *in_pSemantic)
CSIBCArray< CSLXSISubComponentAttributeList * > * | AttributeLists ()
SI_Error | RemoveAttributeList ()
SI_Error | RemoveAttributeList (CSLXSISubComponentAttributeList *in_pAttributeList)
SI_Error | RemoveAttributeList (SI_Int in_iIndex)
SI_Error | ClearAttributeLists ()
SI_Error | ClearAttributeListsBySemantic (SI_Char *in_pSemantic)
CSLXSISubComponentAttributeList * | ConnectAttributeList (CSLXSISubComponentAttributeList *in_pNewXSISubComponentAttributeList)
CSLXSISubComponentAttributeList * | GetFirstAttributeListBySemantic (SI_Char *in_pSemantic)
CSLXSISubComponentAttributeList * | GetNextAttributeListBySemantic (SI_Char *in_pSemantic)
CSLXSISubComponentAttributeList * | AddVertexPositionList ()
CSLXSISubComponentAttributeList * | GetVertexPositionList ()
SI_Error | RemoveVertexPositionList ()
CSLXSISubComponentAttributeList * | AddNormalList ()
CSLXSISubComponentAttributeList * | GetFirstNormalList ()
CSLXSISubComponentAttributeList * | GetNextNormalList ()
SI_Int | GetNormalListCount ()
SI_Error | RemoveNormalList ()
SI_Error | ClearNormalLists ()
CSLXSISubComponentAttributeList * | AddColorList ()
CSLXSISubComponentAttributeList * | GetFirstColorList ()
CSLXSISubComponentAttributeList * | GetNextColorList ()
SI_Int | GetColorListCount ()
SI_Error | RemoveColorList ()
SI_Error | ClearColorLists ()
CSLXSISubComponentAttributeList * | AddTexCoordList ()
CSLXSISubComponentAttributeList * | GetFirstTexCoordList ()
CSLXSISubComponentAttributeList * | GetNextTexCoordList ()
SI_Int | GetTexCoordListCount ()
SI_Error | RemoveTexCoordList ()
SI_Error | ClearTexCoordLists ()
CSLXSISubComponentAttributeList * | AddWeightMapList ()
CSLXSISubComponentAttributeList * | GetFirstWeightMapList ()
CSLXSISubComponentAttributeList * | GetNextWeightMapList ()
SI_Int | GetWeightMapListCount ()
SI_Error | RemoveWeightMapList ()
SI_Error | ClearWeightMapLists ()
CSLXSISubComponentAttributeList * | AddTangentList ()
CSLXSISubComponentAttributeList * | GetFirstTangentList ()
CSLXSISubComponentAttributeList * | GetNextTangentList ()
SI_Int | GetTangentListCount ()
SI_Error | RemoveTangentList ()
SI_Error | ClearTangentLists ()
CSLXSISubComponentAttributeList * | AddBinormalList ()
CSLXSISubComponentAttributeList * | GetFirstBinormalList ()
CSLXSISubComponentAttributeList * | GetNextBinormalList ()
SI_Int | GetBinormalListCount ()
SI_Error | RemoveBinormalList ()
SI_Error | ClearBinormalLists ()
virtual ETemplateType | Type ()
EXSIShapeType | GetShapeType ()
void | SetShapeType (EXSIShapeType in_eShapeType)
virtual SI_Error | Synchronize ()

## Detailed Description

Describes a Mesh Shape for dotXSI 5.0+ (see the XSI_Shape template reference).

This class holds a generic sub component attribute list that describes vertex or polynode attributes. It implements helpers for the following attributes: vertex positions, multiple normals, multiple texture coordinates and multiple colors.

## Member Enumeration Documentation

enum EXSIShapeType

Enumerator:

  XSI_ORDERED | The shape is of ordered type
  XSI_INDEXED | The shape is of indexed type

## Constructor & Destructor Documentation

CSLXSIShape | ( | CSLScene * | in_pScene,
|  | CSLModel * | in_pModel,
|  | CdotXSITemplate * | in_pTemplate,
|  | EXSIShapeType | 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 ~CSLXSIShape | ( |  | ) | `[virtual]`

Destructor

## Member Function Documentation

virtual CSLXSISubComponentAttributeList* AddAttributeList | ( | CSLXSISubComponentAttributeList::EAttributeType | in_AttributeType | ) | `[virtual]`

Add a new sub component attribute list.

Returns:
  CSLXSISubComponentAttributeList* Pointer to the newly created list.

SI_Int GetAttributeListCount | ( |  | ) |

Return the number of sub component attribute lists.

Returns:
  SI_Int Number of sub component attribute lists.

SI_Int GetAttributeListCountBySemantic | ( | SI_Char * | in_pSemantic | ) |

Return the number of sub component attribute lists with the given semantic.

Returns:
  SI_Int Number of sub component attribute lists with the given semantic.

CSIBCArray<CSLXSISubComponentAttributeList*>* AttributeLists | ( |  | ) |

Return an array of all sub component attribute list.

Returns:
  CSLXSISubComponentAttributeList** Array of pointers to sub component attribute list.

SI_Error RemoveAttributeList | ( |  | ) |

Remove the last sub component attribute list.

Returns:
  SI_Error Error code.

SI_Error RemoveAttributeList | ( | CSLXSISubComponentAttributeList * | in_pAttributeList | ) |

Remove the specified sub component attribute list.

Returns:
  SI_Error Error code.

SI_Error RemoveAttributeList | ( | SI_Int | in_iIndex | ) |

Remove the specified sub component attribute list.

Returns:
  SI_Error Error code.

SI_Error ClearAttributeLists | ( |  | ) |

Remove all sub component attribute list.

Returns:
  SI_Error Error code.

SI_Error ClearAttributeListsBySemantic | ( | SI_Char * | in_pSemantic | ) |

Remove all sub component attribute list that has the given semantic.

Returns:
  SI_Error Error code.

CSLXSISubComponentAttributeList* ConnectAttributeList | ( | CSLXSISubComponentAttributeList * | in_pNewXSISubComponentAttributeList | ) |

Connect a new sub component attribute list.

Returns:
  CSLXSISubComponentAttributeList The newly connected sub component attribute list.

CSLXSISubComponentAttributeList* GetFirstAttributeListBySemantic | ( | SI_Char * | in_pSemantic | ) |

Get the first sub component attribute list with the corresponding semantic.

Returns:
  CSLXSISubComponentAttributeList* Pointer to the first sub component attribute list with the corresponding semantic.

CSLXSISubComponentAttributeList* GetNextAttributeListBySemantic | ( | SI_Char * | in_pSemantic | ) |

Get the next sub component attribute list with the corresponding semantic.

Returns:
  CSLXSISubComponentAttributeList* Pointer to the next sub component attribute list with the corresponding semantic.

CSLXSISubComponentAttributeList* AddVertexPositionList | ( |  | ) |

Add a new POSITION attribute list.

Returns:
  CSLXSISubComponentAttributeList* Pointer to the newly created POSITION attribute list.

CSLXSISubComponentAttributeList* GetVertexPositionList | ( |  | ) |

Get the POSITION attribute list.

Returns:
  CSLXSISubComponentAttributeList* Pointer to the POSITION attribute list.

SI_Error RemoveVertexPositionList | ( |  | ) |

Remove the last POSITION attribute list.

Returns:
  SI_Error Error code.

CSLXSISubComponentAttributeList* AddNormalList | ( |  | ) |

Add a new NORMAL attribute list.

Returns:
  CSLXSISubComponentAttributeList* Pointer to the newly created NORMAL attribute list.

CSLXSISubComponentAttributeList* GetFirstNormalList | ( |  | ) |

Get the first NORMAL attribute list.

Returns:
  CSLXSISubComponentAttributeList* Pointer to the first NORMAL attribute list.

CSLXSISubComponentAttributeList* GetNextNormalList | ( |  | ) |

Get the next NORMAL attribute list.

Returns:
  CSLXSISubComponentAttributeList* Pointer to the next NORMAL attribute list.

SI_Int GetNormalListCount | ( |  | ) |

Get the number of NORMAL attribute list.

Returns:
  SI_Int The number of NORMAL attribute list.

SI_Error RemoveNormalList | ( |  | ) |

Remove the last NORMAL attribute list.

Returns:
  SI_Error Error code.

SI_Error ClearNormalLists | ( |  | ) |

Clear all the NORMAL attribute list.

Returns:
  SI_Error Error code.

CSLXSISubComponentAttributeList* AddColorList | ( |  | ) |

Add a new COLOR attribute list.

Returns:
  CSLXSISubComponentAttributeList* Pointer to the newly created COLOR attribute list.

CSLXSISubComponentAttributeList* GetFirstColorList | ( |  | ) |

Get the first COLOR attribute list.

Returns:
  CSLXSISubComponentAttributeList* Pointer to the first COLOR attribute list.

CSLXSISubComponentAttributeList* GetNextColorList | ( |  | ) |

Get the next COLOR attribute list.

Returns:
  CSLXSISubComponentAttributeList* Pointer to the next COLOR attribute list.

SI_Int GetColorListCount | ( |  | ) |

Get the number of COLOR attribute list.

Returns:
  SI_Int The number of COLOR attribute list.

SI_Error RemoveColorList | ( |  | ) |

Remove the last COLOR attribute list.

Returns:
  SI_Error Error code.

SI_Error ClearColorLists | ( |  | ) |

Clear all the COLOR attribute list.

Returns:
  SI_Error Error code.

CSLXSISubComponentAttributeList* AddTexCoordList | ( |  | ) |

Add a new TEXCOORD attribute list.

Returns:
  CSLXSISubComponentAttributeList* Pointer to the newly created TEXCOORD attribute list.

CSLXSISubComponentAttributeList* GetFirstTexCoordList | ( |  | ) |

Get the first TEXCOORD attribute list.

Returns:
  CSLXSISubComponentAttributeList* Pointer to the first TEXCOORD attribute list.

CSLXSISubComponentAttributeList* GetNextTexCoordList | ( |  | ) |

Get the next TEXCOORD attribute list.

Returns:
  CSLXSISubComponentAttributeList* Pointer to the next TEXCOORD attribute list.

SI_Int GetTexCoordListCount | ( |  | ) |

Get the number of TEXCOORD attribute list.

Returns:
  SI_Int The number of TEXCOORD attribute list.

SI_Error RemoveTexCoordList | ( |  | ) |

Remove the last TEXCOORD attribute list.

Returns:
  SI_Error Error code.

SI_Error ClearTexCoordLists | ( |  | ) |

Clear all the TEXCOORD attribute list.

Returns:
  SI_Error Error code.

CSLXSISubComponentAttributeList* AddWeightMapList | ( |  | ) |

Add a new WEIGHTMAP attribute list.

Returns:
  CSLXSISubComponentAttributeList* Pointer to the newly created WEIGHTMAP attribute list.

CSLXSISubComponentAttributeList* GetFirstWeightMapList | ( |  | ) |

Get the first WEIGHTMAP attribute list.

Returns:
  CSLXSISubComponentAttributeList* Pointer to the first WEIGHTMAP attribute list.

CSLXSISubComponentAttributeList* GetNextWeightMapList | ( |  | ) |

Get the next WEIGHTMAP attribute list.

Returns:
  CSLXSISubComponentAttributeList* Pointer to the next WEIGHTMAP attribute list.

SI_Int GetWeightMapListCount | ( |  | ) |

Get the number of WEIGHTMAP attribute list.

Returns:
  SI_Int The number of WEIGHTMAP attribute list.

SI_Error RemoveWeightMapList | ( |  | ) |

Remove the last WEIGHTMAP attribute list.

Returns:
  SI_Error Error code.

SI_Error ClearWeightMapLists | ( |  | ) |

Clear all the WEIGHTMAP attribute list.

Returns:
  SI_Error Error code.

CSLXSISubComponentAttributeList* AddTangentList | ( |  | ) |

Add a new Tangent attribute list.

Returns:
  CSLXSISubComponentAttributeList* Pointer to the newly created Tangent attribute list.

CSLXSISubComponentAttributeList* GetFirstTangentList | ( |  | ) |

Get the first Tangent attribute list.

Returns:
  CSLXSISubComponentAttributeList* Pointer to the first Tangent attribute list.

CSLXSISubComponentAttributeList* GetNextTangentList | ( |  | ) |

Get the next Tangent attribute list.

Returns:
  CSLXSISubComponentAttributeList* Pointer to the next Tangent attribute list.

SI_Int GetTangentListCount | ( |  | ) |

Get the number of Tangent attribute list.

Returns:
  SI_Int The number of Tangent attribute list.

SI_Error RemoveTangentList | ( |  | ) |

Remove the last Tangent attribute list.

Returns:
  SI_Error Error code.

SI_Error ClearTangentLists | ( |  | ) |

Clear all the Tangent attribute list.

Returns:
  SI_Error Error code.

CSLXSISubComponentAttributeList* AddBinormalList | ( |  | ) |

Add a new Binormal attribute list.

Returns:
  CSLXSISubComponentAttributeList* Pointer to the newly created Binormal attribute list.

CSLXSISubComponentAttributeList* GetFirstBinormalList | ( |  | ) |

Get the first Binormal attribute list.

Returns:
  CSLXSISubComponentAttributeList* Pointer to the first Binormal attribute list.

CSLXSISubComponentAttributeList* GetNextBinormalList | ( |  | ) |

Get the next Binormal attribute list.

Returns:
  CSLXSISubComponentAttributeList* Pointer to the next Binormal attribute list.

SI_Int GetBinormalListCount | ( |  | ) |

Get the number of Binormal attribute list.

Returns:
  SI_Int The number of Binormal attribute list.

SI_Error RemoveBinormalList | ( |  | ) |

Remove the last Binormal attribute list.

Returns:
  SI_Error Error code.

SI_Error ClearBinormalLists | ( |  | ) |

Clear all the Binormal attribute list.

Returns:
  SI_Error Error code.

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

Get the template type

Returns:
  ETemplateType the template type of the shape surface (XSI_SHAPE)

Implements CSLTemplate.

EXSIShapeType GetShapeType | ( |  | ) | `[inline]`

Get the shape type

Returns:
  EXSIShapeType the type of the shape surface (XSI_ORDERED or XSI_INDEXED)

void SetShapeType | ( | EXSIShapeType | in_eShapeType | ) | `[inline]`

Set the shape type

Parameters:

  | in_eShapeType | The new shape type

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

Commit the current template information

Returns:
  SI_Error Whether or not the commit was successful

Reimplemented from CSLTemplate.

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

- XSIShape.h