COLLADAMesh.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 _COLLADAMESH_H
00013 #define _COLLADAMESH_H
00014 
00015 #include "Template.h"
00016 #include "Logger.h"
00017 #include "Scene.h"
00018 #include "COLLADATemplate.h"
00019 #include "Model.h"
00020 #include "XSIMesh.h"
00021 #include "COLLADAShape.h"
00022 #include "COLLADAScene.h"
00023 #include "COLLADAVertexList.h"
00024 
00030 class XSIEXPORT CSLCOLLADAMesh : public CSLXSIMesh
00031 {
00032 public:
00034     // Construction/destruction
00036     CSLCOLLADAMesh(CSLScene* in_pScene, CSLModel *in_pModel, CdotXSITemplate* in_pTemplate);
00037     virtual ~CSLCOLLADAMesh();
00038 
00039     virtual CSLXSITriangleList*             AddXSITriangleList();
00040     virtual CSLXSIPolygonList*              AddXSIPolygonList();
00041 
00042     SI_Error    CreateXSITriangleList(CCOLLADATemplate* in_pContainer);
00043     SI_Error    CreateXSIPolygonList(CCOLLADATemplate* in_pContainer);
00044 
00049     virtual CSLXSIShapeAnimation*   CreateXSIShapeAnimation(EFCurveInterpolationType in_Type);
00050 
00051     virtual SI_Error                Fix();
00052     virtual SI_Error                Synchronize();
00053 
00054 protected:
00055 
00056     CCOLLADATemplate*   m_pMeshContainerTemplate;
00057     CCOLLADATemplate*   m_pVerticesTemplate;
00058     CdotXSIParam*       m_pVertexIDParam;
00059     CdotXSIParam*       m_pSourceParam;
00060 public:
00061 
00062 };
00063 
00064 #endif