indexing description: "A group of animations" date: "$Date$" revision: "$Revision$" class EM3D_ANIMATION_SET create make feature {NONE} -- Init make is -- Make a new animation set do create {DS_BILINKED_LIST[ EM3D_ANIMATION ]}animations.make end feature{EM3D_ACTOR} -- Internal animations: DS_LIST[ EM3D_ANIMATION ] time: DOUBLE set_animation is -- Set the animation local c : DS_LIST_CURSOR[ EM3D_ANIMATION ] do c := animations.new_cursor from c.start until c.after loop c.item.animate ( time ) c.forth end end feature -- Animation anagement add( an_animation:EM3D_ANIMATION ) is -- Add a new animation do animations.put_last( an_animation ) end start_time: DOUBLE is -- The starttime of the animation local c : DS_LIST_CURSOR[ EM3D_ANIMATION ] do c := animations.new_cursor from c.start until c.after loop if c.before then result := c.item.start_time end result := result.min( c.item.start_time ) c.forth end end end_time: DOUBLE is -- The starttime of the animation local c : DS_LIST_CURSOR[ EM3D_ANIMATION ] do c := animations.new_cursor from c.start until c.after loop if c.before then result := c.item.start_time end result := result.max( c.item.end_time ) c.forth end end animate_relative( a_time_step: DOUBLE ) is -- Play the animation a_time_step do time := time + a_time_step end animate( a_time: DOUBLE ) is -- Play the animation to a_time do time := a_time end end