COLLADAMesh.h

00001 /****************************************************************************************
00002 THIS CODE IS PUBLISHED AS A SAMPLE ONLY AND IS PROVIDED "AS IS".
00003 IN NO EVENT SHALL SOFTIMAGE, AVID TECHNOLOGY, INC. AND/OR THEIR RESPECTIVE 
00004 SUPPLIERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
00005 DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
00006 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
00007 CONNECTION WITH THE USE OR PERFORMANCE OF THIS CODE . 
00008  
00009 COPYRIGHT NOTICE. Copyright © 1999-2002 Avid Technology Inc. . All rights reserved. 
00010 
00011 SOFTIMAGE is a registered trademark of Avid Technology Inc. or its subsidiaries 
00012 or divisions. Windows NT is a registered trademark of Microsoft Corp. All other
00013 trademarks contained herein are the property of their respective owners. 
00014 ****************************************************************************************/
00015 
00016 #ifndef _COLLADAMESH_H
00017 #define _COLLADAMESH_H
00018 
00019 #include "Template.h"
00020 #include "Logger.h"
00021 #include "Scene.h"
00022 #include "COLLADATemplate.h"
00023 #include "Model.h"
00024 #include "XSIMesh.h"
00025 #include "COLLADAShape.h"
00026 #include "COLLADAScene.h"
00027 #include "COLLADAVertexList.h"
00028 
00034 class XSIEXPORT CSLCOLLADAMesh : public CSLXSIMesh
00035 {
00036 public:
00038     // Construction/destruction
00040     CSLCOLLADAMesh(CSLScene* in_pScene, CSLModel *in_pModel, CdotXSITemplate* in_pTemplate);
00041     virtual ~CSLCOLLADAMesh();
00042 
00043     virtual CSLXSITriangleList*             AddXSITriangleList();
00044     virtual CSLXSIPolygonList*              AddXSIPolygonList();
00045 
00046     SI_Error    CreateXSITriangleList(CCOLLADATemplate* in_pContainer);
00047     SI_Error    CreateXSIPolygonList(CCOLLADATemplate* in_pContainer);
00048 
00053     virtual CSLXSIShapeAnimation*   CreateXSIShapeAnimation(EFCurveInterpolationType in_Type);
00054 
00055     virtual SI_Error                Fix();
00056     virtual SI_Error                Synchronize();
00057 
00058 protected:
00059 
00060     CCOLLADATemplate*   m_pMeshContainerTemplate;
00061     CCOLLADATemplate*   m_pVerticesTemplate;
00062     CdotXSIParam*       m_pVertexIDParam;
00063     CdotXSIParam*       m_pSourceParam;
00064 public:
00065 
00066 };
00067 
00068 #endif