XSISubComponentList.h

Go to the documentation of this file.
00001 //***************************************************************************************
00002 // File supervisor: Crosswalk team
00012 //***************************************************************************************
00013 
00014 #ifndef _XSISUBCOMPONENTLIST_H
00015 #define _XSISUBCOMPONENTLIST_H
00016 
00017 #include "Template.h"
00018 
00031 class XSIEXPORT CSLXSISubComponentList
00032     : public CSLTemplate
00033 {
00034 public:
00037     typedef CSLArrayProxy<SI_Int, SI_Int, 1> CSLIntArray;
00038 
00041     typedef CSLArrayProxy<SI_Char*, SI_Char*, 1> CSLStringArray;
00042 
00049     CSLXSISubComponentList(CSLScene *in_pScene, CSLModel *in_pModel, CdotXSITemplate *in_pTemplate);
00050 
00053     virtual ~CSLXSISubComponentList();
00054 
00058     SI_Int                              GetCount();
00059 
00063     virtual SI_Error                    SetCount(SI_Int );
00064 
00068     SI_Int                              GetAttributeCount();
00069 
00073     SI_Int                              AddAttribute(SI_Char* );
00074 
00078     SI_Error                            RemoveAttribute();
00079 
00083     SI_Error                            ClearAttribute();
00084 
00089     CSLIntArray*                        GetAttributeIndices(SI_Int in_iIndex);
00090 
00094     CSIBCArray<CSLIntArray*>*           GetAttributeIndicesArray();
00095 
00099     CSLStringArray*                     GetAttributeNameArray();
00100 
00105     CSLArrayProxy<SI_Int, SI_Int, 1>*   GetAttributeByName(SI_Char* in_pName);
00106 
00111     CSIBCString&                        GetSemantic(int in_iIndx);
00112 
00117     SI_Void                             SetSemantic( int in_iIndx, CSIBCString in_szSemantic);
00118 
00123     CSIBCString&                        GetSource(int in_iIndx);
00124 
00129     SI_Void                             SetSource( int in_iIndx, CSIBCString in_szSource);
00130 
00131 protected:
00132     SI_Int  m_iCount; // number of node
00133 
00134     CSIBCArray<CSLIntArray*>    m_AttributeIndicesArray;
00135     CSLStringArray          m_AttributeNameArray;
00136 
00137     CSIBCArray<CSIBCString>     m_szSemantic;
00138     CSIBCArray<CSIBCString>     m_szSource;
00139 
00140     void *m_pReserved;  // reserved for future extension
00141 };
00142 
00143 #endif