internal void DrawFrame(Point2[] pixels, DataForMap2D data, Bitmap bmp, int step = 0) { switch (Projection) { case Projection.Healpix: data.Draw(bmp, 0, pixels, YResolution); break; case Projection.Healpix2Equirectangular: case Projection.Equirectangular: foreach (var pixel in pixels) { var coor = Equirectangular.CoorFromXY(pixel, YResolution, HealpixManager, step); double?altitude; if (Projection == Projection.Healpix2Equirectangular) { var deltas = data.ApproxMan.GetDeltas(coor); altitude = data.ApproxMan.GetMeanAltitude(deltas); data.CheckMaxMin(altitude); } else { altitude = data.GetAltitude(new HealCoor(coor)); } if (altitude.HasValue) { data.Colors.SetPixelOnBmp(altitude.Value, bmp, pixel, Scale); } } break; } }