00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef _XSISUBCOMPONENTLIST_H
00013 #define _XSISUBCOMPONENTLIST_H
00014
00015 #include "Template.h"
00016
00027 class XSIEXPORT CSLXSISubComponentList
00028 : public CSLTemplate
00029 {
00030 public:
00034 typedef CSLArrayProxy<SI_Int, SI_Int, 1> CSLIntArray;
00035
00039 typedef CSLArrayProxy<SI_Char*, SI_Char*, 1> CSLStringArray;
00040
00047 CSLXSISubComponentList(CSLScene *in_pScene, CSLModel *in_pModel, CdotXSITemplate *in_pTemplate);
00048
00051 virtual ~CSLXSISubComponentList();
00052
00056 SI_Int GetCount();
00057
00061 virtual SI_Error SetCount(SI_Int);
00062
00066 SI_Int GetAttributeCount();
00067
00071 SI_Int AddAttribute(SI_Char*);
00072
00076 SI_Error RemoveAttribute();
00077
00081 SI_Error ClearAttribute();
00082
00086 CSLIntArray* GetAttributeIndices(SI_Int in_iIndex);
00087
00091 CSIBCArray<CSLIntArray*>* GetAttributeIndicesArray();
00092
00096 CSLStringArray* GetAttributeNameArray();
00097
00101 CSLArrayProxy<SI_Int, SI_Int, 1>* GetAttributeByName(SI_Char* in_pName);
00102
00106 CSIBCString& GetSemantic(int in_iIndx);
00107
00110 SI_Void SetSemantic( int in_iIndx, CSIBCString in_szSemantic);
00111
00115 CSIBCString& GetSource(int in_iIndx);
00116
00119 SI_Void SetSource( int in_iIndx, CSIBCString in_szSource);
00120
00121 protected:
00122 SI_Int m_iCount;
00123
00124 CSIBCArray<CSLIntArray*> m_AttributeIndicesArray;
00125 CSLStringArray m_AttributeNameArray;
00126
00127 CSIBCArray<CSIBCString> m_szSemantic;
00128 CSIBCArray<CSIBCString> m_szSource;
00129
00130 void *m_pReserved;
00131 };
00132
00133 #endif