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