CSLXSIShape Class Reference

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

#include <XSIShape.h>

Inheritance diagram for CSLXSIShape:

CSLTemplate CSIBCNode 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

Types of shapes

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]  in_pScene  Parent scene
[in]  in_pModel  Parent model
[in]  in_pTemplate  Refered template
[in]  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]

Adds a new sub component attribute list.

Parameters:
[in]  in_AttributeType  Type of attribute list to add
Returns:
Pointer to the newly created list.

SI_Int GetAttributeListCount (  ) 

Returns the number of sub component attribute lists.

Returns:
Number of sub component attribute lists.

SI_Int GetAttributeListCountBySemantic ( SI_Char *  in_pSemantic  ) 

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

Parameters:
[in]  in_pSemantic  Semantic to find
Returns:
Number of sub component attribute lists with the given semantic.

CSIBCArray<CSLXSISubComponentAttributeList*>* AttributeLists (  ) 

Returns an array of all sub component attribute list.

Returns:
Array of pointers to sub component attribute list.

SI_Error RemoveAttributeList (  ) 

Removes the last sub component attribute list.

Returns:
Error code.

SI_Error RemoveAttributeList ( CSLXSISubComponentAttributeList in_pAttributeList  ) 

Removes the specified sub component attribute list.

Parameters:
[in]  in_pAttributeList  Attribute list to remove
Returns:
Error code.

SI_Error RemoveAttributeList ( SI_Int  in_iIndex  ) 

Removes the specified sub component attribute list.

Parameters:
[in]  in_iIndex  Index of list to remove
Returns:
Error code.

SI_Error ClearAttributeLists (  ) 

Removes all sub component attribute list.

Returns:
Error code.

SI_Error ClearAttributeListsBySemantic ( SI_Char *  in_pSemantic  ) 

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

Parameters:
[in]  in_pSemantic  Semantic to find
Returns:
Error code.

CSLXSISubComponentAttributeList* ConnectAttributeList ( CSLXSISubComponentAttributeList in_pNewXSISubComponentAttributeList  ) 

Connects a new sub component attribute list.

Parameters:
[in]  in_pNewXSISubComponentAttributeList  New sub component attribute list
Returns:
The newly connected sub component attribute list.

CSLXSISubComponentAttributeList* GetFirstAttributeListBySemantic ( SI_Char *  in_pSemantic  ) 

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

Parameters:
[in]  in_pSemantic  Semantic to find
Returns:
Pointer to the first sub component attribute list with the corresponding semantic.

CSLXSISubComponentAttributeList* GetNextAttributeListBySemantic ( SI_Char *  in_pSemantic  ) 

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

Parameters:
[in]  in_pSemantic  Semantic to find
Returns:
Pointer to the next sub component attribute list with the corresponding semantic.

CSLXSISubComponentAttributeList* AddVertexPositionList (  ) 

Adds a new POSITION attribute list.

Returns:
Pointer to the newly created POSITION attribute list.

CSLXSISubComponentAttributeList* GetVertexPositionList (  ) 

Returns the POSITION attribute list.

Returns:
Pointer to the POSITION attribute list.

SI_Error RemoveVertexPositionList (  ) 

Removes the last POSITION attribute list.

Returns:
Error code.

CSLXSISubComponentAttributeList* AddNormalList (  ) 

Adds a new NORMAL attribute list.

Returns:
Pointer to the newly created NORMAL attribute list.

CSLXSISubComponentAttributeList* GetFirstNormalList (  ) 

Returns the first NORMAL attribute list.

Returns:
Pointer to the first NORMAL attribute list.

CSLXSISubComponentAttributeList* GetNextNormalList (  ) 

Returns the next NORMAL attribute list.

Returns:
Pointer to the next NORMAL attribute list.

SI_Int GetNormalListCount (  ) 

Returns the number of NORMAL attribute list.

Returns:
The number of NORMAL attribute list.

SI_Error RemoveNormalList (  ) 

Removes the last NORMAL attribute list.

Returns:
Error code.

SI_Error ClearNormalLists (  ) 

Clears all the NORMAL attribute list.

Returns:
Error code.

CSLXSISubComponentAttributeList* AddColorList (  ) 

Adds a new COLOR attribute list.

Returns:
Pointer to the newly created COLOR attribute list.

CSLXSISubComponentAttributeList* GetFirstColorList (  ) 

Returns the first COLOR attribute list.

Returns:
Pointer to the first COLOR attribute list.

CSLXSISubComponentAttributeList* GetNextColorList (  ) 

Returns the next COLOR attribute list.

Returns:
Pointer to the next COLOR attribute list.

SI_Int GetColorListCount (  ) 

Returns the number of COLOR attribute list.

Returns:
The number of COLOR attribute list.

SI_Error RemoveColorList (  ) 

Removes the last COLOR attribute list.

Returns:
Error code.

SI_Error ClearColorLists (  ) 

Clears all the COLOR attribute list.

Returns:
Error code.

CSLXSISubComponentAttributeList* AddTexCoordList (  ) 

Adds a new TEXCOORD attribute list.

Returns:
Pointer to the newly created TEXCOORD attribute list.

CSLXSISubComponentAttributeList* GetFirstTexCoordList (  ) 

Returns the first TEXCOORD attribute list.

Returns:
Pointer to the first TEXCOORD attribute list.

CSLXSISubComponentAttributeList* GetNextTexCoordList (  ) 

Returns the next TEXCOORD attribute list.

Returns:
Pointer to the next TEXCOORD attribute list.

SI_Int GetTexCoordListCount (  ) 

Returns the number of TEXCOORD attribute list.

Returns:
The number of TEXCOORD attribute list.

SI_Error RemoveTexCoordList (  ) 

Removes the last TEXCOORD attribute list.

Returns:
Error code.

SI_Error ClearTexCoordLists (  ) 

Clears all the TEXCOORD attribute list.

Returns:
Error code.

CSLXSISubComponentAttributeList* AddWeightMapList (  ) 

Adds a new WEIGHTMAP attribute list.

Returns:
Pointer to the newly created WEIGHTMAP attribute list.

CSLXSISubComponentAttributeList* GetFirstWeightMapList (  ) 

Returns the first WEIGHTMAP attribute list.

Returns:
Pointer to the first WEIGHTMAP attribute list.

CSLXSISubComponentAttributeList* GetNextWeightMapList (  ) 

Returns the next WEIGHTMAP attribute list.

Returns:
Pointer to the next WEIGHTMAP attribute list.

SI_Int GetWeightMapListCount (  ) 

Returns the number of WEIGHTMAP attribute list.

Returns:
The number of WEIGHTMAP attribute list.

SI_Error RemoveWeightMapList (  ) 

Removes the last WEIGHTMAP attribute list.

Returns:
Error code.

SI_Error ClearWeightMapLists (  ) 

Clears all the WEIGHTMAP attribute list.

Returns:
Error code.

CSLXSISubComponentAttributeList* AddTangentList (  ) 

Adds a new Tangent attribute list.

Returns:
Pointer to the newly created Tangent attribute list.

CSLXSISubComponentAttributeList* GetFirstTangentList (  ) 

Returns the first Tangent attribute list.

Returns:
Pointer to the first Tangent attribute list.

CSLXSISubComponentAttributeList* GetNextTangentList (  ) 

Returns the next Tangent attribute list.

Returns:
Pointer to the next Tangent attribute list.

SI_Int GetTangentListCount (  ) 

Returns the number of Tangent attribute list.

Returns:
The number of Tangent attribute list.

SI_Error RemoveTangentList (  ) 

Removes the last Tangent attribute list.

Returns:
Error code.

SI_Error ClearTangentLists (  ) 

Clears all the Tangent attribute list.

Returns:
Error code.

CSLXSISubComponentAttributeList* AddBinormalList (  ) 

Adds a new Binormal attribute list.

Returns:
Pointer to the newly created Binormal attribute list.

CSLXSISubComponentAttributeList* GetFirstBinormalList (  ) 

Returns the first Binormal attribute list.

Returns:
Pointer to the first Binormal attribute list.

CSLXSISubComponentAttributeList* GetNextBinormalList (  ) 

Returns the next Binormal attribute list.

Returns:
Pointer to the next Binormal attribute list.

SI_Int GetBinormalListCount (  ) 

Returns the number of Binormal attribute list.

Returns:
The number of Binormal attribute list.

SI_Error RemoveBinormalList (  ) 

Removes the last Binormal attribute list.

Returns:
Error code.

SI_Error ClearBinormalLists (  ) 

Clears all the Binormal attribute list.

Returns:
Error code.

virtual ETemplateType Type (  )  [inline, virtual]

Returns the template type of the shape surface

Return values:
CSLTemplate::XSI_SHAPE  the template type

Implements CSLTemplate.

EXSIShapeType GetShapeType (  )  [inline]

Returns the shape type

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

void SetShapeType ( EXSIShapeType  in_eShapeType  )  [inline]

Sets the shape type

Parameters:
[in]  in_eShapeType  The new shape type

virtual SI_Error Synchronize (  )  [virtual]

Commits the current template information

Returns:
Whether or not the commit was successful

Reimplemented from CSLTemplate.


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