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 _ENVELOPELIST_H 00013 #define _ENVELOPELIST_H 00014 00015 #include "Template.h" 00016 00017 // Forward declaration 00018 class CSLEnvelope; 00019 00023 class XSIEXPORT CSLEnvelopeList 00024 : public CSLTemplate 00025 { 00026 public: 00033 CSLEnvelopeList(CSLScene* in_pScene, CSLModel *in_pModel, CdotXSITemplate* in_pTemplate); 00034 00037 virtual ~CSLEnvelopeList(); 00038 00042 virtual CSLEnvelope* AddEnvelope(); 00043 00047 SI_Int GetEnvelopeCount(); 00048 00052 CSLEnvelope** Envelopes(); 00053 00058 SI_Error RemoveEnvelope(SI_Int in_nIndex); 00059 00064 SI_Error RemoveEnvelope(CSLEnvelope* in_pEnvelope); 00065 00069 SI_Error ClearEnvelopes(); 00070 00071 // Connection functions 00076 CSLEnvelope* ConnectEnvelope(CSLEnvelope* in_pNewEnvelope); 00077 00082 virtual SI_Error Synchronize(); 00083 00087 virtual ETemplateType Type() { return SI_ENVELOPE_LIST; } 00088 00089 private: 00090 CSIBCArray<CSLEnvelope *> m_Envelopes; 00091 00092 void *m_pReserved; // reserved for future extension 00093 }; 00094 00095 #endif