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 _COLLADASHAPE_H 00013 #define _COLLADASHAPE_H 00014 00015 #include "Template.h" 00016 #include "Logger.h" 00017 #include "Scene.h" 00018 #include "COLLADATemplate.h" 00019 #include "Model.h" 00020 #include "XSIShape.h" 00021 #include "COLLADAScene.h" 00022 #include "COLLADASubComponentAttributeList.h" 00023 00028 class CSLCOLLADAMesh; 00029 00030 class XSIEXPORT CSLCOLLADAShape : public CSLXSIShape 00031 { 00032 public: 00034 // Construction/destruction 00036 CSLCOLLADAShape(CSLScene* in_pScene, 00037 CSLModel *in_pModel, 00038 CdotXSITemplate* in_pTemplate, 00039 CCOLLADATemplate* in_pVerticesDecl, 00040 CdotXSITemplates* in_pInputSemantics); 00041 virtual ~CSLCOLLADAShape(); 00042 00043 virtual SI_Error Synchronize(); 00044 00045 virtual CSLXSISubComponentAttributeList* AddAttributeList(CSLXSISubComponentAttributeList::EAttributeType in_AttributeType); 00046 00047 virtual void SetParentMesh(CSLCOLLADAMesh* in_pCOLLADAMesh); 00048 virtual CSLCOLLADAMesh* GetParentMesh(); 00049 protected: 00050 00051 CCOLLADATemplate* m_pVerticesDecl; 00052 00053 private: 00054 CSLCOLLADAMesh* m_pParentMesh; 00055 bool m_bSynchronized; 00056 00057 public: 00058 00059 }; 00060 00061 #endif