Track.h

Go to the documentation of this file.
00001 //***************************************************************************************
00002 // File supervisor: Crosswalk team
00012 //***************************************************************************************
00013 
00014 #ifndef _TRACK_H
00015 #define _TRACK_H
00016 
00017 #include "Template.h"
00018 class CSLActionClip;
00019 class CSLActionClipContainer;
00020 
00034 class XSIEXPORT CSLTrack
00035     : public CSLTemplate
00036 {
00037 public:
00043     CSLTrack(CSLScene* in_pScene, CSLModel *in_pModel, CdotXSITemplate* in_pTemplate);
00044     virtual ~CSLTrack();
00045 
00046     SI_Error Synchronize();
00047 
00051     CSLTemplate::ETemplateType Type(){ return XSI_TRACK; }
00052 
00058     SI_Bool GetMute();
00059 
00064     SI_Void SetMute( SI_Bool in_bNew );
00065 
00073     SI_Bool GetRipple();
00074 
00083     SI_Void SetRipple( SI_Bool in_bNew );
00084 
00089     SI_Bool GetSolo();
00090 
00095     SI_Void SetSolo( SI_Bool in_bNew );
00096 
00097 
00098     // action clip functionality //////////////////////////////////////////////
00099 
00105     SI_Error RemoveActionClip( SI_Int in_nIndex );
00106 
00112     SI_Error RemoveActionClip( CSLActionClip *io_pToRemove );
00113 
00117     CSLActionClip** GetActionClipList();
00118 
00122     SI_Int GetActionClipCount();
00123 
00127     CSLActionClip* AddActionClip();
00128 
00132     CSLActionClipContainer* AddActionClipContainer();
00133 
00137     SI_Error ClearActionClips();
00138 
00143     CSLActionClip* ConnectActionClip(CSLActionClip* in_pNewActionClip);
00144 
00145 private:
00146     CSLBoolProxy m_Ripple;
00147     CSLBoolProxy m_Mute;
00148     CSLBoolProxy m_Solo;
00149     CSIBCArray<CSLActionClip *> m_ActionClips;
00150 
00151     SI_Void *m_pReserved;
00152 
00153 };
00154 
00155 #endif