class Laser::Cutter::Renderer::BoxRenderer

Public Class Methods

new(config) click to toggle source
Calls superclass method Laser::Cutter::Renderer::Base::new
# File lib/laser-cutter/renderer/box_renderer.rb, line 9
def initialize(config)
  super(config)
  self.subject = Laser::Cutter::Box.new(config)
end

Public Instance Methods

enclosure() click to toggle source
# File lib/laser-cutter/renderer/box_renderer.rb, line 19
def enclosure
  box.enclosure
end
ensure_space_for(rect) click to toggle source
# File lib/laser-cutter/renderer/box_renderer.rb, line 14
def ensure_space_for(rect)
  coords = [ rect.p2.x, rect.p2.y ].map{|a| page_manager.value_from_units(a)}
  box.metadata = Geometry::Point.new(coords)
end
render(pdf = nil) click to toggle source
# File lib/laser-cutter/renderer/box_renderer.rb, line 23
def render pdf = nil
  renderer = self
  pdf.instance_eval do
    self.line_width = renderer.config.stroke.send(renderer.config.units.to_sym)
    stroke_color renderer.config[:color] || BLACK
    renderer.box.generate_notches.each do |notch|
      LineRenderer.new(renderer.config, notch).render(self)
    end
  end
end