Track.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 _TRACK_H
00013 #define _TRACK_H
00014 
00015 #include "Template.h"
00016 class CSLActionClip;
00017 class CSLActionClipContainer;
00018 
00030 class XSIEXPORT CSLTrack
00031     : public CSLTemplate
00032 {
00033 public:
00039     CSLTrack(CSLScene* in_pScene, CSLModel *in_pModel, CdotXSITemplate* in_pTemplate);
00040     virtual ~CSLTrack();
00041 
00042     SI_Error Synchronize();
00043 
00047     CSLTemplate::ETemplateType Type(){ return XSI_TRACK; }
00048 
00054     SI_Bool GetMute();
00055 
00060     SI_Void SetMute( SI_Bool in_bNew );
00061 
00069     SI_Bool GetRipple();
00070 
00079     SI_Void SetRipple( SI_Bool in_bNew );
00080 
00085     SI_Bool GetSolo();
00086 
00091     SI_Void SetSolo( SI_Bool in_bNew );
00092 
00093 
00094     // action clip functionality //////////////////////////////////////////////
00095 
00101     SI_Error RemoveActionClip( SI_Int in_nIndex );
00102 
00108     SI_Error RemoveActionClip( CSLActionClip *io_pToRemove );
00109 
00113     CSLActionClip** GetActionClipList();
00114 
00118     SI_Int GetActionClipCount();
00119 
00123     CSLActionClip* AddActionClip();
00124 
00128     CSLActionClipContainer* AddActionClipContainer();
00129 
00133     SI_Error ClearActionClips();
00134 
00139     CSLActionClip* ConnectActionClip(CSLActionClip* in_pNewActionClip);
00140 
00141 private:
00142     CSLBoolProxy m_Ripple;
00143     CSLBoolProxy m_Mute;
00144     CSLBoolProxy m_Solo;
00145     CSIBCArray<CSLActionClip *> m_ActionClips;
00146 
00147     SI_Void *m_pReserved;
00148 
00149 };
00150 
00151 #endif