Class: DXF

Inherits:
Object
  • Object
show all
Defined in:
lib/dxf-dummy-generator/Dxf.rb

Instance Method Summary collapse

Constructor Details

#initialize(settings) ⇒ DXF

Returns a new instance of DXF.



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/dxf-dummy-generator/Dxf.rb', line 6

def initialize(settings)
	@settings = settings
	@contours = Array.new
	count = settings.contours.count
	lines = (settings.lines.count / count).floor
	r = lines #dynamicly scale circles to avoid precision problems
	order = Array(0..count)
	order.shuffle!(random: settings.contours.seed) if settings.contours.random
	raster = Math::sqrt(count).ceil
	settings.contours.count.times do |i|
		lines = lines + (settings.lines.count % lines) if i == (settings.contours.count - 1)
		x = 2 * r * 1.1 * (order[i] % raster)
		y = 2 * r * 1.1 * (order[i] / raster)
		center = Point.new(x, y)
		@contours << getLines(lines, center, r)
	end
end

Instance Method Details

#to_sObject



24
25
26
27
28
29
# File 'lib/dxf-dummy-generator/Dxf.rb', line 24

def to_s
	header = ["0", "SECTION", "2" , "ENTITIES"]
	footer = ["0", "ENDSEC", "0", "EOF"]
	@contours.flatten!(1).shuffle!(random: @settings.lines.seed) #if @settings.lines.random
	(header << @contours << footer) * "\n"
end