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