XSIShapeReference.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 _XSISHAPEREFERENCE_H
00013 #define _XSISHAPEREFERENCE_H
00014 
00015 #include "Template.h"
00016 
00017 // Forward declaration
00018 class CSLXSIShape;
00019 
00032 class XSIEXPORT CSLXSIShapeReference
00033     : public CSLTemplate
00034 {
00035 public:
00036 
00042     CSLXSIShapeReference(CSLScene* in_pScene, CSLModel *in_pModel, CdotXSITemplate* in_pTemplate);
00043 
00046     virtual ~CSLXSIShapeReference();
00047 
00048     SI_Error Synchronize();
00049 
00053     CSLTemplate::ETemplateType Type(){ return CSLTemplate::XSI_SHAPEREFERENCE; }
00054 
00059     CSLXSIShape* GetReference();
00060 
00064     SI_Void             SetReference(CSLXSIShape* in_ReferenceShape);
00065 
00069     SI_Char*            GetReferenceXSIPath();
00070 
00074     SI_Void             SetReferenceXSIPath( SI_Char* in_szPath );
00075 
00079     CSLStringProxy*     GetReferencePathProxy(){return &m_ReferencePath;};
00080 
00081 private:
00082     CSLStringProxy m_ReferencePath;
00083     CSLXSIShape* m_pReference;
00084     SI_Void *m_pReserved;
00085 };
00086 
00087 #endif // XSISHAPEREFERENCE