00001
00002
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;
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;
00141 };
00142
00143 #endif