COLLADASubComponentAttributeList.h

00001 //***************************************************************************************
00002 //
00003 // File supervisor: Crosswalk team
00004 //
00005 // Copyright 2008 Autodesk, Inc.  All rights reserved.  
00006 // Use of this software is subject to the terms of the Autodesk license agreement 
00007 // provided at the time of installation or download, or which otherwise accompanies 
00008 // this software in either electronic or hard copy form.
00009 //
00010 //***************************************************************************************
00011 
00012 #ifndef _COLLADASUBCOMPONENTATTRIBUTELIST_H
00013 #define _COLLADASUBCOMPONENTATTRIBUTELIST_H
00014 
00015 #include "COLLADATemplate.h"
00016 #include "XSISubComponentAttributeList.h"
00017 
00018 
00020 
00027 class XSIEXPORT CSLCOLLADASubComponentAttributeList
00028     : public CSLXSISubComponentAttributeList
00029 {
00030 public:
00031     
00032     CSLCOLLADASubComponentAttributeList(CSLScene *in_pScene, CSLModel *in_pModel, CdotXSITemplate *in_pTemplate);
00033 
00036     virtual ~CSLCOLLADASubComponentAttributeList();
00037     virtual SI_Void     SetAttributeType(EAttributeType in_AttributeType);
00038     virtual SI_Char*    GetSemantic() { return m_szSemantic.GetText(); };
00039     virtual SI_Void     SetSemantic(SI_Char* in_Semantic) { m_szSemantic.SetText(in_Semantic);};
00040     virtual SI_Char*    GetSource() { return m_pMainID->GetVariantPtr()->p_cVal; };
00041 
00042     virtual SI_Error    Synchronize();
00043     
00044     SI_Void SetVerticesDeclarationTemplate( CCOLLADATemplate* in_pDecl );
00045     SI_Void SetInputSemantics ( CdotXSITemplates* in_pTemplates );
00046 
00047 private:
00048     CCOLLADATemplate* m_pAttributeArrayTemplate;
00049     CCOLLADATemplate *m_accessor ;
00050     CCOLLADATemplate*   m_pVertexDeclarationTemplate;
00051     CSIBCString m_szSemantic;
00052 
00053     CdotXSIParam*   m_pCountAttribute;
00054     CdotXSIParam*   m_pIDAttribute;
00055 
00056     CdotXSIParam*   m_pInnerCountAttribute;
00057     CdotXSIParam*   m_pStrideCountAttribute;
00058     CdotXSIParam*   m_pSourceIDAttribute;
00059 
00060     CdotXSIParam*   m_pMainID;
00061     CdotXSIParam*   m_pAttribArray;
00062 };
00063 
00064 #endif