class DYI::Shape::Path::CommandBase

Attributes

point[R]
preceding_command[R]

Public Class Methods

new(relative, preceding_command, point) click to toggle source
# File lib/dyi/shape/path.rb, line 607
def initialize(relative, preceding_command, point)
  @relative = relative
  @preceding_command = preceding_command
  @point = Coordinate.new(point)
end

Protected Class Methods

absolute_commands(preceding_command, *args) click to toggle source
# File lib/dyi/shape/path.rb, line 654
def absolute_commands(preceding_command, *args)
  commands(false, preceding_command, *args)
end
relative_commands(preceding_command, *args) click to toggle source
# File lib/dyi/shape/path.rb, line 650
def relative_commands(preceding_command, *args)
  commands(true, preceding_command, *args)
end

Public Instance Methods

absolute?() click to toggle source
# File lib/dyi/shape/path.rb, line 617
def absolute?
  !relative?
end
last_point() click to toggle source
# File lib/dyi/shape/path.rb, line 625
def last_point
  relative? ? preceding_point + @point : @point
end
preceding_point() click to toggle source
# File lib/dyi/shape/path.rb, line 629
def preceding_point
  preceding_command && preceding_command.last_point
end
relative?() click to toggle source
# File lib/dyi/shape/path.rb, line 613
def relative?
  @relative
end
start_point() click to toggle source
# File lib/dyi/shape/path.rb, line 621
def start_point
  preceding_command.start_point
end
to_compatible_commands(preceding_command) click to toggle source
# File lib/dyi/shape/path.rb, line 633
def to_compatible_commands(preceding_command)
  compat_commands = clone
  compat_commands.preceding_command = preceding_command
  compat_commands
end
used_same_command?() click to toggle source
# File lib/dyi/shape/path.rb, line 639
def used_same_command?
  preceding_command.instructions_char == instructions_char
end

Protected Instance Methods

preceding_command=(value) click to toggle source
# File lib/dyi/shape/path.rb, line 645
def preceding_command=(value)
  @preceding_command = preceding_command
end