00001 //*************************************************************************************** 00002 // File supervisor: Crosswalk team 00012 //*************************************************************************************** 00013 00014 #ifndef _XSISHAPEREFERENCE_H 00015 #define _XSISHAPEREFERENCE_H 00016 00017 #include "Template.h" 00018 00019 // Forward declaration 00020 class CSLXSIShape; 00021 00036 class XSIEXPORT CSLXSIShapeReference 00037 : public CSLTemplate 00038 { 00039 public: 00040 00046 CSLXSIShapeReference(CSLScene* in_pScene, CSLModel *in_pModel, CdotXSITemplate* in_pTemplate); 00047 00050 virtual ~CSLXSIShapeReference(); 00051 00052 SI_Error Synchronize(); 00053 00057 CSLTemplate::ETemplateType Type(){ return CSLTemplate::XSI_SHAPEREFERENCE; } 00058 00063 CSLXSIShape* GetReference(); 00064 00068 SI_Void SetReference(CSLXSIShape* in_ReferenceShape); 00069 00073 SI_Char* GetReferenceXSIPath(); 00074 00078 SI_Void SetReferenceXSIPath( SI_Char* in_szPath ); 00079 00083 CSLStringProxy* GetReferencePathProxy(){return &m_ReferencePath;}; 00084 00085 private: 00086 CSLStringProxy m_ReferencePath; 00087 CSLXSIShape* m_pReference; 00088 SI_Void *m_pReserved; 00089 }; 00090 00091 #endif // XSISHAPEREFERENCE