overrides flatten to generate a series of radial tick marks
# File lib/ziya/gauges/support/radial_numbers.rb, line 16
16: def flatten( xml )
17: number = start_num
18: i = start_angle
19: while( i <= end_angle ) do
20: angle = deg2rad( i )
21: hash = { :x => (x + Math::sin( angle ) * radius).to_i,
22: :y => (y - Math::cos( angle ) * radius).to_i,
23: :width => width || 20,
24: :height => height || 20,
25: :font => font || "Arial",
26: :size => size || 10,
27: :bold => bold || true,
28: :alpha => alpha,
29: :rotation => i,
30: :align => align || "left",
31: :color => color }
32: xml.text( hash ) do
33: xml.text! number.to_s
34: end
35: i += (end_angle-start_angle)/(ticks-1)
36: number += (end_num-start_num)/(ticks-1)
37: end
38: end
--- SEC00172
--- ""
---
- methods:
- visibility: public
aref: M000066
name: flatten
sourcecode: " <span class=\"ruby-comment cmt\"># File lib/ziya/gauges/support/radial_numbers.rb, line 16</span>\n\
16: <span class=\"ruby-keyword kw\">def</span> <span class=\"ruby-identifier\">flatten</span>( <span class=\"ruby-identifier\">xml</span> )\n\
17: <span class=\"ruby-identifier\">number</span> = <span class=\"ruby-identifier\">start_num</span>\n\
18: <span class=\"ruby-identifier\">i</span> = <span class=\"ruby-identifier\">start_angle</span>\n\
19: <span class=\"ruby-keyword kw\">while</span>( <span class=\"ruby-identifier\">i</span> <span class=\"ruby-operator\"><=</span> <span class=\"ruby-identifier\">end_angle</span> ) <span class=\"ruby-keyword kw\">do</span>\n\
20: <span class=\"ruby-identifier\">angle</span> = <span class=\"ruby-identifier\">deg2rad</span>( <span class=\"ruby-identifier\">i</span> )\n\
21: <span class=\"ruby-identifier\">hash</span> = { <span class=\"ruby-identifier\">:x</span> =<span class=\"ruby-operator\">></span> (<span class=\"ruby-identifier\">x</span> <span class=\"ruby-operator\">+</span> <span class=\"ruby-constant\">Math</span><span class=\"ruby-operator\">::</span><span class=\"ruby-identifier\">sin</span>( <span class=\"ruby-identifier\">angle</span> ) <span class=\"ruby-operator\">*</span> <span class=\"ruby-identifier\">radius</span>).<span class=\"ruby-identifier\">to_i</span>,\n\
22: <span class=\"ruby-identifier\">:y</span> =<span class=\"ruby-operator\">></span> (<span class=\"ruby-identifier\">y</span> <span class=\"ruby-operator\">-</span> <span class=\"ruby-constant\">Math</span><span class=\"ruby-operator\">::</span><span class=\"ruby-identifier\">cos</span>( <span class=\"ruby-identifier\">angle</span> ) <span class=\"ruby-operator\">*</span> <span class=\"ruby-identifier\">radius</span>).<span class=\"ruby-identifier\">to_i</span>,\n\
23: <span class=\"ruby-identifier\">:width</span> =<span class=\"ruby-operator\">></span> <span class=\"ruby-identifier\">width</span> <span class=\"ruby-operator\">||</span> <span class=\"ruby-value\">20</span>,\n\
24: <span class=\"ruby-identifier\">:height</span> =<span class=\"ruby-operator\">></span> <span class=\"ruby-identifier\">height</span> <span class=\"ruby-operator\">||</span> <span class=\"ruby-value\">20</span>,\n\
25: <span class=\"ruby-identifier\">:font</span> =<span class=\"ruby-operator\">></span> <span class=\"ruby-identifier\">font</span> <span class=\"ruby-operator\">||</span> <span class=\"ruby-value str\">"Arial"</span>,\n\
26: <span class=\"ruby-identifier\">:size</span> =<span class=\"ruby-operator\">></span> <span class=\"ruby-identifier\">size</span> <span class=\"ruby-operator\">||</span> <span class=\"ruby-value\">10</span>,\n\
27: <span class=\"ruby-identifier\">:bold</span> =<span class=\"ruby-operator\">></span> <span class=\"ruby-identifier\">bold</span> <span class=\"ruby-operator\">||</span> <span class=\"ruby-keyword kw\">true</span>,\n\
28: <span class=\"ruby-identifier\">:alpha</span> =<span class=\"ruby-operator\">></span> <span class=\"ruby-identifier\">alpha</span>, \n\
29: <span class=\"ruby-identifier\">:rotation</span> =<span class=\"ruby-operator\">></span> <span class=\"ruby-identifier\">i</span>, \n\
30: <span class=\"ruby-identifier\">:align</span> =<span class=\"ruby-operator\">></span> <span class=\"ruby-identifier\">align</span> <span class=\"ruby-operator\">||</span> <span class=\"ruby-value str\">"left"</span>,\n\
31: <span class=\"ruby-identifier\">:color</span> =<span class=\"ruby-operator\">></span> <span class=\"ruby-identifier\">color</span> }\n\
32: <span class=\"ruby-identifier\">xml</span>.<span class=\"ruby-identifier\">text</span>( <span class=\"ruby-identifier\">hash</span> ) <span class=\"ruby-keyword kw\">do</span>\n\
33: <span class=\"ruby-identifier\">xml</span>.<span class=\"ruby-identifier\">text!</span> <span class=\"ruby-identifier\">number</span>.<span class=\"ruby-identifier\">to_s</span>\n\
34: <span class=\"ruby-keyword kw\">end</span>\n\
35: <span class=\"ruby-identifier\">i</span> <span class=\"ruby-operator\">+=</span> (<span class=\"ruby-identifier\">end_angle</span><span class=\"ruby-operator\">-</span><span class=\"ruby-identifier\">start_angle</span>)<span class=\"ruby-operator\">/</span>(<span class=\"ruby-identifier\">ticks</span><span class=\"ruby-operator\">-</span><span class=\"ruby-value\">1</span>)\n\
36: <span class=\"ruby-identifier\">number</span> <span class=\"ruby-operator\">+=</span> (<span class=\"ruby-identifier\">end_num</span><span class=\"ruby-operator\">-</span><span class=\"ruby-identifier\">start_num</span>)<span class=\"ruby-operator\">/</span>(<span class=\"ruby-identifier\">ticks</span><span class=\"ruby-operator\">-</span><span class=\"ruby-value\">1</span>)\n\
37: <span class=\"ruby-keyword kw\">end</span>\n\
38: <span class=\"ruby-keyword kw\">end</span>"
m_desc: |-
<p>
overrides flatten to generate a series of radial tick marks
</p>
params: ( xml )
category: Instance
type: Public
---
Generated with the Darkfish Rdoc Generator.