Instance.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 _INSTANCE_H
00013 #define _INSTANCE_H
00014 
00015 #include "Primitive.h"
00016 
00017 
00018 
00022 class XSIEXPORT CSLInstance
00023     : public CSLPrimitive
00024 {
00025 public:
00032     CSLInstance(CSLScene* in_pScene, CSLModel *in_pModel, CdotXSITemplate* in_pTemplate);
00033 
00036     virtual ~CSLInstance();
00037 
00041     CSLModel* GetReference();
00042 
00047     SI_Void SetReference(CSLModel* in_pModel);
00048 
00053     virtual SI_Error Synchronize();
00054 
00058     virtual ETemplateType Type() { return SI_INSTANCE; }
00059 
00060 private:
00061     CSLModel* m_pReference;
00062 
00063     void *m_pReserved;  // reserved for future extension
00064 };
00065 
00066 #endif