00001 //*************************************************************************************** 00002 // File supervisor: Crosswalk team 00012 //*************************************************************************************** 00013 00014 #ifndef _INSTANCE_H 00015 #define _INSTANCE_H 00016 00017 #include "Primitive.h" 00018 00019 00020 00026 class XSIEXPORT CSLInstance 00027 : public CSLPrimitive 00028 { 00029 public: 00036 CSLInstance(CSLScene* in_pScene, CSLModel *in_pModel, CdotXSITemplate* in_pTemplate); 00037 00040 virtual ~CSLInstance(); 00041 00045 CSLModel* GetReference(); 00046 00050 SI_Void SetReference(CSLModel* in_pModel); 00051 00055 virtual SI_Error Synchronize(); 00056 00060 virtual ETemplateType Type() { return SI_INSTANCE; } 00061 00062 private: 00063 CSLModel* m_pReference; 00064 00065 void *m_pReserved; // reserved for future extension 00066 }; 00067 00068 #endif