# 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