Method: Rubyvis::SvgScene.path_segment
- Defined in:
- lib/rubyvis/scene/svg_line.rb
.path_segment(s1, s2) ⇒ Object
Returns the path segment for the specified points. */
114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 |
# File 'lib/rubyvis/scene/svg_line.rb', line 114 def self.path_segment(s1, s2) l = 1; # sweep-flag l = 0 if s1.interpolate=='polar-reverse' if s1.interpolate=='polar' or s1.interpolate=='polar-reverse' dx = s2.left - s1.left dy = s2.top - s1.top e = 1 - s1.eccentricity r = Math.sqrt(dx * dx + dy * dy) / (2 * e) if !((e<=0) or (e>1)) return "A#{r},#{r} 0 0,#{l} #{s2.left},#{s2.top}" end end if s1.interpolate=="step-before" return "V#{s2.top}H#{s2.left}" elsif s1.interpolate=="step-after" return "H#{s2.left}V#{s2.top}" end return "L#{s2.left},#{s2.top}" end |