public IWavyBorder<IEnumerable<Point>> GetWavySurface() { var builder = new WavySurfaceBuilder( GetUpWavyBorder(), GetDownWavyBorder(), new LineConnectStrategy()); return builder.WavySurface; }
public IWavyBorder<IEnumerable<Point>> GetWavySurface() { var leftWawyBorder = GetWawyBorder(LeftShoulder, (z, sh) => sh.GetTransformer()(z).Transform(x => x, y => y)); var rightWavyBorder = GetWawyBorder(RightShoulder, (z, sh) => sh.GetTransformer()(z).Transform(x => Width - x, y => y)); var connectStrategy = GetVerticalWavyBorder() .Transform(y0 => (IConnectStrategy)new CatenaryY0ConnectStrategy(y0, PointCount, true)); var builder = new WavySurfaceBuilder(leftWawyBorder, rightWavyBorder, connectStrategy); var surface = builder.WavySurface; return surface; }