Sha256: 46f1b6b473caa7185353a9735c57e8e1043edb72e02558bdfec872f1aed55cab
Contents?: true
Size: 1.21 KB
Versions: 3
Compression:
Stored size: 1.21 KB
Contents
# Internal representation of a tracker point with keyframes. A Tracker is an array of Keyframe objects and should act and work like one class Tracksperanto::Tracker < DelegateClass(Array) include Tracksperanto::Casts include Tracksperanto::BlockInit include Comparable # Contains the name of the tracker attr_accessor :name cast_to_string :name def initialize(object_attribute_hash = {}) @name = "Tracker" __setobj__(Array.new) super end def keyframes=(new_kf_array) __setobj__(new_kf_array.dup) end alias_method :keyframes, :__getobj__ # Trackers sort by the position of the first keyframe def <=>(other_tracker) self[0].frame <=> other_tracker[0].frame end # Automatically truncate spaces in the tracker # name and replace them with underscores def name=(n) @name = n.to_s.gsub(/(\s+)/, '_') end # Create and save a keyframe in this tracker def keyframe!(options) push(Tracksperanto::Keyframe.new(options)) end def inspect "<T #{name.inspect} with #{length} keyframes>" end # Hack - prevents the Tracker to be flattened into keyframes # when an Array of Trackers gets Array#flatten'ed def to_ary; end private :to_ary end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
tracksperanto-2.1.1 | lib/tracksperanto/tracker.rb |
tracksperanto-2.1.0 | lib/tracksperanto/tracker.rb |
tracksperanto-2.0.2 | lib/tracksperanto/tracker.rb |