00001 //*************************************************************************************** 00002 // File supervisor: Crosswalk team 00012 //*************************************************************************************** 00013 00014 #ifndef _COLLADAMESH_H 00015 #define _COLLADAMESH_H 00016 00017 #include "Template.h" 00018 #include "Logger.h" 00019 #include "Scene.h" 00020 #include "COLLADATemplate.h" 00021 #include "Model.h" 00022 #include "XSIMesh.h" 00023 #include "COLLADAShape.h" 00024 #include "COLLADAScene.h" 00025 #include "COLLADAVertexList.h" 00026 00029 class XSIEXPORT CSLCOLLADAMesh : public CSLXSIMesh 00030 { 00031 public: 00033 // Construction/destruction 00035 CSLCOLLADAMesh(CSLScene* in_pScene, CSLModel *in_pModel, CdotXSITemplate* in_pTemplate); 00036 virtual ~CSLCOLLADAMesh(); 00037 00038 virtual CSLXSITriangleList* AddXSITriangleList(); 00039 virtual CSLXSIPolygonList* AddXSIPolygonList(); 00040 00041 SI_Error CreateXSITriangleList(CCOLLADATemplate* in_pContainer); 00042 SI_Error CreateXSIPolygonList(CCOLLADATemplate* in_pContainer); 00043 00048 virtual CSLXSIShapeAnimation* CreateXSIShapeAnimation(EFCurveInterpolationType in_Type); 00049 00050 virtual SI_Error Fix(); 00051 virtual SI_Error Synchronize(); 00052 00053 protected: 00054 00055 CCOLLADATemplate* m_pMeshContainerTemplate; 00056 CCOLLADATemplate* m_pVerticesTemplate; 00057 CdotXSIParam* m_pVertexIDParam; 00058 CdotXSIParam* m_pSourceParam; 00059 public: 00060 00061 }; 00062 00063 #endif