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 _ACTIONCLIPCONTAINER_H 00013 #define _ACTIONCLIPCONTAINER_H 00014 00015 #include "Template.h" 00016 #include "ActionClip.h" 00017 00018 // Forward declaration 00019 00020 class CSLAction; 00021 class CSLTrack; 00022 00034 class XSIEXPORT CSLActionClipContainer 00035 : public CSLActionClip 00036 { 00037 public: 00043 CSLActionClipContainer(CSLScene* in_pScene, CSLModel *in_pModel, CdotXSITemplate* in_pTemplate); 00044 virtual ~CSLActionClipContainer(); 00045 00049 virtual SI_Error Synchronize(); 00050 00054 CSLTemplate::ETemplateType Type(){ return CSLTemplate::XSI_ACTIONCLIPCONTAINER; } 00055 00056 // Tracks functionality ////////////////////////////////////////////////// 00057 00063 SI_Error RemoveTrack( SI_Int in_nIndex ); 00064 00070 SI_Error RemoveTrack( CSLTrack *io_pToRemove ); 00071 00075 CSLTrack** GetTrackList(); 00076 00080 SI_Int GetTrackCount(); 00081 00085 CSLTrack* AddTrack(); 00086 00090 SI_Error ClearTracks(); 00091 00096 CSLTrack* ConnectTrack(CSLTrack* in_pNewTrack); 00097 00098 private: 00099 CSIBCArray<CSLTrack *> m_Tracks; 00100 00101 SI_Void *m_pReserved; 00102 }; 00103 00104 #endif // _ACTIONCLIPCONTAINER_H