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