protected BaseWavyBorderBuilder(WavyBorderParameters parameters,
     IExtraStrategy extraStrategy)
 {
     _parameters = parameters;
     _extraStrategy = extraStrategy;
     WavyBorderOffset = new WavyBorderOffset(0, 0);
 }
 public double GetExtraStart(WavyBorderParameters parameters, WavyBorderOffset shareOffset)
 {
     return ExtraStart;
 }
 public double GetExtraFinish(WavyBorderParameters parameters, WavyBorderOffset shareOffset)
 {
     return ExtraFinish;
 }
        double GetStep(WavyBorderParameters parameters, WavyBorderOffset shareOffset)
        {
            return (parameters.Width - shareOffset.A)/
                   (parameters.WaveCount + shareOffset.K + 0.5);

        }
 public double GetExtraStart(WavyBorderParameters parameters, WavyBorderOffset shareOffset)
 {
     return GetStep(parameters, shareOffset) / 2; 
 }