Class: XRVG::ClosureBezier
- Inherits:
-
BezierBuilder
- Object
- BezierBuilder
- XRVG::ClosureBezier
- Defined in:
- lib/beziertools.rb
Overview
ClosureBezier bezier builder
Content
Simple bezier operator that take a list of beziers and produce a concatenate multipieces closed bezier curve. Missing segments are completed with lines
Instance Method Summary collapse
-
#compute ⇒ Object
BezierBuilder compute overloading.
Methods inherited from BezierBuilder
Instance Method Details
#compute ⇒ Object
BezierBuilder compute overloading
165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 |
# File 'lib/beziertools.rb', line 165 def compute result = [] result += self.bezierlist[0].pieces self.bezierlist[1..-1].each do |bezier| lastpoint = result[-1].lastpoint newpoint = bezier.firstpoint if not V2D.vequal?( lastpoint, newpoint ) result += LinearBezier[ :support, [lastpoint, newpoint]].pieces end result += bezier.pieces end lastpoint = result[-1].lastpoint newpoint = result[0].firstpoint if not V2D.vequal?( lastpoint, newpoint ) result += LinearBezier[ :support, [lastpoint, newpoint]].pieces end result = result.map {|piece| piece.data} # Trace("result #{result.inspect}") return result end |