00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef _XSISUBCOMPONENTLIST_H
00025 #define _XSISUBCOMPONENTLIST_H
00026
00027 #include "Template.h"
00028
00030
00041 class XSIEXPORT CSLXSISubComponentList
00042 : public CSLTemplate
00043 {
00044 public:
00048 typedef CSLArrayProxy<SI_Int, SI_Int, 1> CSLIntArray;
00049
00053 typedef CSLArrayProxy<SI_Char*, SI_Char*, 1> CSLStringArray;
00054
00061 CSLXSISubComponentList(CSLScene *in_pScene, CSLModel *in_pModel, CdotXSITemplate *in_pTemplate);
00062
00065 virtual ~CSLXSISubComponentList();
00066
00070 SI_Int GetCount();
00071
00075 virtual SI_Error SetCount(SI_Int);
00076
00080 SI_Int GetAttributeCount();
00081
00085 SI_Int AddAttribute(SI_Char*);
00086
00090 SI_Error RemoveAttribute();
00091
00095 SI_Error ClearAttribute();
00096
00100 CSLIntArray* GetAttributeIndices(SI_Int in_iIndex);
00101
00105 CSIBCArray<CSLIntArray*>* GetAttributeIndicesArray();
00106
00110 CSLStringArray* GetAttributeNameArray();
00111
00115 CSLArrayProxy<SI_Int, SI_Int, 1>* GetAttributeByName(SI_Char* in_pName);
00116
00120 CSIBCString& GetSemantic(int in_iIndx);
00121
00124 SI_Void SetSemantic( int in_iIndx, CSIBCString in_szSemantic);
00125
00129 CSIBCString& GetSource(int in_iIndx);
00130
00133 SI_Void SetSource( int in_iIndx, CSIBCString in_szSource);
00134
00135 protected:
00136 SI_Int m_iCount;
00137
00138 CSIBCArray<CSLIntArray*> m_AttributeIndicesArray;
00139 CSLStringArray m_AttributeNameArray;
00140
00141 CSIBCArray<CSIBCString> m_szSemantic;
00142 CSIBCArray<CSIBCString> m_szSource;
00143
00144 void *m_pReserved;
00145 };
00146
00147 #endif