Object Hierarchy | Related C++ Class: ClipContainer
ClipContainer
v4.0
The ClipContainer object can represent either the Mixer or a compound clip. Both can contain other
Clips, Tracks and
Transitions.
This object provides access to the basic elements of the mixer:
clips, tracks, transitions, and ClipRelations.
You can create a compound clip with the CreateCompound command.
# # This example demonstrates how to create a compound clip from scripting. # It also shows that when retrieving clips from the ClipContainer it only # returns clips that are on tracks nested directly under it. # Application.NewScene( "", False ) oRoot = Application.ActiveSceneRoot oCube = oRoot.AddGeometry( "Cube", "MeshSurface") # Creating the first animation source sParams = "cube.kine.local.posx,cube.kine.local.posy,cube.kine.local.posz" oSource = Application.StoreAction(oRoot, sParams, 1, "StoredStaticPose", 1, 1, 5, 0, 0) # Creating the first clip oClip = Application.AddClip(oRoot, oSource) Application.LogMessage("First created clip " + oClip.FullName ) oCube.Parameters("posx").Value = 3.0 # Creating the second animation source oSource2 = Application.StoreAction(oRoot, sParams, 1, "StoredStaticPose", 1, 7, 9, 0, 0) # Creating the second clip oClip2 = Application.AddClip(oRoot, oSource2) Application.LogMessage("Second created clip " + oClip2.FullName) def PrintClips(oClipCollection): "This function print the clip names contained in a clip collection" for i in range(oClipCollection.Count): Application.LogMessage("Clip " + oClipCollection(i).FullName) Application.LogMessage(PrintClips.__doc__) oMixer = oRoot.Mixer Application.LogMessage("List of clips retrieved from the container") PrintClips(oMixer.Clips) # Creating a compound clip from the clips created earlier myClips = [oClip, oClip2] oCompound = Application.CreateCompound(oRoot, myClips) Application.LogMessage("Compound clip " + oCompound.FullName ) Application.LogMessage("List of clips retrieved from the compound") PrintClips(oCompound.Clips) # Now retrieving once again the clips from under the mixer. # This should only return the CompoundClip. Application.LogMessage("List of clips retrieved from the mixer after the creation of the compound"); PrintClips(oMixer.Clips) # Output of above script: #INFO : First created clip Mixer.Mixer_Anim_Track.StoredStaticPose_Clip # #INFO : Second created clip Mixer.Mixer_Anim_Track1.StoredStaticPose1_Clip #INFO : This function print the clip names contained in a clip collection #INFO : List of clips retrieved from the container #INFO : Clip Mixer.Mixer_Anim_Track.StoredStaticPose_Clip #INFO : Clip Mixer.Mixer_Anim_Track1.StoredStaticPose1_Clip # #INFO : Compound clip Mixer.Mixer_Anim_Track.CompoundAction_Clip #INFO : List of clips retrieved from the compound #INFO : Clip Mixer.Mixer_Anim_Track.CompoundAction_Clip.Mixer_Anim_Track3.StoredStaticPose_Clip #INFO : Clip Mixer.Mixer_Anim_Track.CompoundAction_Clip.Mixer_Anim_Track4.StoredStaticPose1_Clip #INFO : List of clips retrieved from the mixer after the creation of the compound #INFO : Clip Mixer.Mixer_Anim_Track.CompoundAction_Clip |