ActionClipContainer.h

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