00001 //*************************************************************************************** 00002 // File supervisor: Crosswalk team 00012 //*************************************************************************************** 00013 00014 #ifndef _ACTIONCLIPCONTAINER_H 00015 #define _ACTIONCLIPCONTAINER_H 00016 00017 #include "Template.h" 00018 #include "ActionClip.h" 00019 00020 // Forward declaration 00021 00022 class CSLAction; 00023 class CSLTrack; 00024 00038 class XSIEXPORT CSLActionClipContainer 00039 : public CSLActionClip 00040 { 00041 public: 00047 CSLActionClipContainer(CSLScene* in_pScene, CSLModel *in_pModel, CdotXSITemplate* in_pTemplate); 00048 virtual ~CSLActionClipContainer(); 00049 00053 virtual SI_Error Synchronize(); 00054 00058 CSLTemplate::ETemplateType Type(){ return CSLTemplate::XSI_ACTIONCLIPCONTAINER; } 00059 00060 // Tracks functionality ////////////////////////////////////////////////// 00061 00067 SI_Error RemoveTrack( SI_Int in_nIndex ); 00068 00074 SI_Error RemoveTrack( CSLTrack *io_pToRemove ); 00075 00079 CSLTrack** GetTrackList(); 00080 00084 SI_Int GetTrackCount(); 00085 00089 CSLTrack* AddTrack(); 00090 00094 SI_Error ClearTracks(); 00095 00100 CSLTrack* ConnectTrack(CSLTrack* in_pNewTrack); 00101 00102 private: 00103 CSIBCArray<CSLTrack *> m_Tracks; 00104 00105 SI_Void *m_pReserved; 00106 }; 00107 00108 #endif // _ACTIONCLIPCONTAINER_H