Class: XRVG::Offset

Inherits:
FitBezierBuilder show all
Defined in:
lib/beziertools.rb

Overview

Offset bezier builder

Content

Generic offset bezier builder.

Attributes

attribute :support, nil, Curve
attribute :abscissasampler, (0.0..1.0), Samplable
attribute :ampl, 0.5, :samplable
attribute :nsamples, 100

Direct Known Subclasses

Fuseau

Instance Method Summary collapse

Methods inherited from FitBezierBuilder

build

Methods inherited from BezierBuilder

[], build, #compute, lissage

Instance Method Details

#pointsObject

overload FitBezierBuilder.points to compute Offset points

Algo: for each sample, compute point, normal and amp, and newpoint = point + normal.norm * ampl



107
108
109
110
111
112
113
114
# File 'lib/beziertools.rb', line 107

def points
  result = []
  [self.abscissasampler, self.ampl].samples( self.nsamples) do |abscissa, amplsample|
    frame = self.support.frame( abscissa )
    result << frame.center + frame.vector.ortho.norm * amplsample
  end
  return result
end