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