Class: Triangular::Polyline

Inherits:
Object
  • Object
show all
Defined in:
lib/triangular/polyline.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(lines) ⇒ Polyline

Returns a new instance of Polyline.



6
7
8
# File 'lib/triangular/polyline.rb', line 6

def initialize(lines)
  @lines = lines
end

Instance Attribute Details

#linesObject

Returns the value of attribute lines.



4
5
6
# File 'lib/triangular/polyline.rb', line 4

def lines
  @lines
end

Instance Method Details

#to_svg(width, height, units, x_offset = 0, y_offset = 0) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/triangular/polyline.rb', line 10

def to_svg(width, height, units, x_offset = 0, y_offset = 0)
  output  = '<?xml version="1.0" standalone="no"?>' + "\n"
  output << '<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">' + "\n"
  output << "<svg x=\"0\" y=\"0\" width=\"#{width}#{Units.svg_name(units)}\" height=\"#{height}#{Units.svg_name(units)}\" viewBox=\"0 0 #{width} #{height}\" xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\">\n"
  output << "  <g transform=\"translate(#{x_offset}#{Units.svg_name(units)},#{y_offset}#{Units.svg_name(units)})\">\n"
  
  @lines.each do |line|
    output << "    " + line.to_svg_path(units) + "\n"
  end
  
  output << '  </g>' + "\n"
  output << '</svg>'
end