EnvelopeList.h

Go to the documentation of this file.
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