00001 //*************************************************************************************** 00002 // File supervisor: Crosswalk team 00012 //*************************************************************************************** 00013 00014 #ifndef _ENVELOPELIST_H 00015 #define _ENVELOPELIST_H 00016 00017 #include "Template.h" 00018 00019 // Forward declaration 00020 class CSLEnvelope; 00021 00027 class XSIEXPORT CSLEnvelopeList 00028 : public CSLTemplate 00029 { 00030 public: 00037 CSLEnvelopeList(CSLScene* in_pScene, CSLModel *in_pModel, CdotXSITemplate* in_pTemplate); 00038 00041 virtual ~CSLEnvelopeList(); 00042 00046 virtual CSLEnvelope* AddEnvelope(); 00047 00051 SI_Int GetEnvelopeCount(); 00052 00056 CSLEnvelope** Envelopes(); 00057 00062 SI_Error RemoveEnvelope(SI_Int in_nIndex); 00063 00068 SI_Error RemoveEnvelope(CSLEnvelope* in_pEnvelope); 00069 00073 SI_Error ClearEnvelopes(); 00074 00075 // Connection functions 00080 CSLEnvelope* ConnectEnvelope(CSLEnvelope* in_pNewEnvelope); 00081 00085 virtual SI_Error Synchronize(); 00086 00090 virtual ETemplateType Type() { return SI_ENVELOPE_LIST; } 00091 00092 private: 00093 CSIBCArray<CSLEnvelope *> m_Envelopes; 00094 00095 void *m_pReserved; // reserved for future extension 00096 }; 00097 00098 #endif