00001 //*************************************************************************************** 00002 // File supervisor: Crosswalk team 00012 //*************************************************************************************** 00013 00014 #ifndef _COLLADASUBCOMPONENTATTRIBUTELIST_H 00015 #define _COLLADASUBCOMPONENTATTRIBUTELIST_H 00016 00017 #include "COLLADATemplate.h" 00018 #include "XSISubComponentAttributeList.h" 00019 00020 00026 class XSIEXPORT CSLCOLLADASubComponentAttributeList 00027 : public CSLXSISubComponentAttributeList 00028 { 00029 public: 00030 00036 CSLCOLLADASubComponentAttributeList(CSLScene *in_pScene, CSLModel *in_pModel, CdotXSITemplate *in_pTemplate); 00037 00040 virtual ~CSLCOLLADASubComponentAttributeList(); 00041 00045 virtual SI_Void SetAttributeType(EAttributeType in_AttributeType); 00046 virtual SI_Char* GetSemantic() { return m_szSemantic.GetText(); }; 00047 00051 virtual SI_Void SetSemantic(SI_Char* in_Semantic) { m_szSemantic.SetText(in_Semantic);}; 00052 virtual SI_Char* GetSource() { return m_pMainID->GetVariantPtr()->p_cVal; }; 00053 00054 virtual SI_Error Synchronize(); 00055 00056 SI_Void SetVerticesDeclarationTemplate( CCOLLADATemplate* in_pDecl ); 00057 SI_Void SetInputSemantics ( CdotXSITemplates* in_pTemplates ); 00058 00059 private: 00060 CCOLLADATemplate* m_pAttributeArrayTemplate; 00061 CCOLLADATemplate *m_accessor ; 00062 CCOLLADATemplate* m_pVertexDeclarationTemplate; 00063 CSIBCString m_szSemantic; 00064 00065 CdotXSIParam* m_pCountAttribute; 00066 CdotXSIParam* m_pIDAttribute; 00067 00068 CdotXSIParam* m_pInnerCountAttribute; 00069 CdotXSIParam* m_pStrideCountAttribute; 00070 CdotXSIParam* m_pSourceIDAttribute; 00071 00072 CdotXSIParam* m_pMainID; 00073 CdotXSIParam* m_pAttribArray; 00074 }; 00075 00076 #endif