class GCoder::GCode::ProgramContext

Attributes

absolute[RW]
feedrate[RW]
position[RW]
units[RW]

Public Class Methods

new(position = [0,0,0], feedrate = 0, units = :mm, absolute = false) click to toggle source
Calls superclass method
# File lib/gcoder/gcode.rb, line 30
def initialize(position = [0,0,0], feedrate = 0, units = :mm, absolute = false)
  super({})

  @position = position
  @feedrate = feedrate
  @units = units
  @absolute = absolute
end

Public Instance Methods

absolute?() click to toggle source
# File lib/gcoder/gcode.rb, line 39
def absolute?; absolute; end
update_feedrate(feedrate) click to toggle source
# File lib/gcoder/gcode.rb, line 49
def update_feedrate(feedrate)
  @feedrate = feedrate unless feedrate.nil?
end
update_position(pos) click to toggle source
# File lib/gcoder/gcode.rb, line 41
def update_position(pos)
  if absolute
    @position = @position.each_with_index.map {|e, i| pos[i] || @position[i] }
  else
    @position = @position.each_with_index.map {|e, i| @position[i] + (pos[i] || 0) }
  end
end