CSLXSIPolygonList Class Reference

This class represents an XSI_PolygonList template. More...

#include <XSIPolygonList.h>

Inheritance diagram for CSLXSIPolygonList:

CSLXSISubComponentList CSLTemplate CSIBCNode CSLCOLLADAPolygonList List of all members.

Public Types

typedef CSLArrayProxy< SI_Int,
SI_Int, 1 > 
CSLIntArray

Public Member Functions

  CSLXSIPolygonList (CSLScene *in_pScene, CSLModel *in_pModel, CdotXSITemplate *in_pTemplate)
virtual  ~CSLXSIPolygonList ()
virtual ETemplateType  Type ()
CSLBaseMaterial GetMaterial ()
CSIBCString  GetMaterialName ()
SI_Void  SetMaterial (CSLBaseMaterial *in_pNewMaterial)
SI_Void  SetMaterialName (const CSIBCString &in_szNewMaterialName)
SI_Int  GetPolygonCount ()
CSLIntArray GetPolygonNodeCountArray ()
CSLIntArray GetVertexIndices ()
SI_Error  Synchronize ()
virtual SI_Error  SetCount (SI_Int)
CSLXSIIndexList ConnectIndexList (CSLXSIIndexList *in_pNewXSIIndexList)
virtual CSLXSIIndexList AddIndexList ()
CSLXSIIndexList GetIndexList ()
SI_Error  RemoveIndexList ()

Detailed Description

This class represents an XSI_PolygonList template.

Describes a list of n-sided polygons for dotXSI 5.0+ (see the XSI_PolygonList template reference). The polynodes in this list can have n number of attibutes like vertex, normals, UV and color information.

Tip:
You can use GetVertexIndices() to get the mandatory vertex index attributes and the parent class (CSLXSISubComponentList) functionality to get the other generic attributes index.

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

To find out how many vertices a particular polygon uses, use GetPolygonNodeCountArray() to get the list of polygon vertices.


Member Typedef Documentation

typedef CSLArrayProxy<SI_Int, SI_Int, 1> CSLIntArray

Proxy class that allows modifying a list of SI_Int like an array.

Reimplemented from CSLXSISubComponentList.


Constructor & Destructor Documentation

CSLXSIPolygonList ( CSLScene in_pScene,
CSLModel in_pModel,
CdotXSITemplate in_pTemplate  
)

Constructor

Parameters:
[in]  in_pScene  Parent scene
[in]  in_pModel  Parent model
[in]  in_pTemplate  Refered template
Returns:
an instance of CSLXSIPolygonList

virtual ~CSLXSIPolygonList (  )  [virtual]

Destructor


Member Function Documentation

virtual ETemplateType Type (  )  [inline, virtual]

Returns the type of this template

Return values:
CSLTemplate::XSI_POLYGON_LIST  The type of this template

Implements CSLTemplate.

CSLBaseMaterial* GetMaterial (  )  [inline]

Returns the material object of the polygon list.

Returns:
Material object.

CSIBCString GetMaterialName (  ) 

Returns the material object name of the polygon list or an empty string if there's none.

Returns:
Material object name.

SI_Void SetMaterial ( CSLBaseMaterial in_pNewMaterial  ) 

Changes the material object of the polygon list.

Parameters:
[in]  in_pNewMaterial  New material object.

SI_Void SetMaterialName ( const CSIBCString in_szNewMaterialName  ) 

Changes the material object name of the polygon list. Should ONLY be called if we don't export the material.

Parameters:
[in]  in_szNewMaterialName  New material object name.

SI_Int GetPolygonCount (  ) 

Returns the number of polygon.

Returns:
Number of polygon.

CSLIntArray* GetPolygonNodeCountArray (  ) 

Returns the polygon count array.

Returns:
Array of polygon node count.

CSLIntArray* GetVertexIndices (  ) 

Returns the polynode vertex indices array.

Returns:
Array of polynode vertex indices.

SI_Error Synchronize (  )  [virtual]

Commits the current template information

Returns:
Whether or not the commit was successful

Reimplemented from CSLTemplate.

Reimplemented in CSLCOLLADAPolygonList.

virtual SI_Error SetCount ( SI_Int   )  [virtual]

Sets the number of polynode in this polygon list.

Returns:
Error code.

Reimplemented from CSLXSISubComponentList.

CSLXSIIndexList* ConnectIndexList ( CSLXSIIndexList in_pNewXSIIndexList  ) 

Connects a new index list.

Parameters:
[in]  in_pNewXSIIndexList  Index position list to connect
Returns:
The newly connected index list.

virtual CSLXSIIndexList* AddIndexList (  )  [virtual]

Adds a new index list. If an index list already exists, it will be deleted, and replaced.

Returns:
Pointer to the newly created index list.

Reimplemented in CSLCOLLADAPolygonList.

CSLXSIIndexList* GetIndexList (  ) 

Returns the index list. May return NULL if it does not exist.

Returns:
Pointer to the index list.

SI_Error RemoveIndexList (  ) 

Removes the index list.

Returns:
Error code.


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