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