public void ShiftToZero(clsHeightmap Source) { sMinMax max = new sMinMax(); double num = Source.HeightScale / this.HeightScale; Source.MinMaxGet(ref max); this.SizeCopy(Source); long num2 = 0L - max.Min; int num5 = this.HeightData.SizeY - 1; for (int i = 0; i <= num5; i++) { int num6 = this.HeightData.SizeX - 1; for (int j = 0; j <= num6; j++) { this.HeightData.Height[i, j] = (long) Math.Round((double) ((num2 + Source.HeightData.Height[i, j]) * num)); } } }
public void WaveLow(clsHeightmap Source) { sMinMax max = new sMinMax(); Source.MinMaxGet(ref max); long num2 = max.Max - max.Min; long min = max.Min; if (num2 != 0.0) { this.SizeCopy(Source); int num5 = this.HeightData.SizeY - 1; for (int i = 0; i <= num5; i++) { int num6 = this.HeightData.SizeX - 1; for (int j = 0; j <= num6; j++) { this.HeightData.Height[i, j] = (long) Math.Round((double) (((((1.0 - Math.Sin((1.0 - (((double) (Source.HeightData.Height[i, j] - min)) / ((double) num2))) * 1.5707963267948966)) * num2) + min) * Source.HeightScale) / this.HeightScale)); } } } }
public void Rescale(clsHeightmap Source, double HeightMin, double HeightMax) { long num2; int num5; int num6; sMinMax max = new sMinMax(); Source.MinMaxGet(ref max); this.SizeCopy(Source); long num = max.Max - max.Min; long num3 = 0L - max.Min; if (num > 0L) { double num4 = (HeightMax - HeightMin) / (num * this.HeightScale); num2 = (long) Math.Round((double) (HeightMin / this.HeightScale)); int num7 = this.HeightData.SizeY - 1; for (num6 = 0; num6 <= num7; num6++) { int num8 = this.HeightData.SizeX - 1; num5 = 0; while (num5 <= num8) { this.HeightData.Height[num6, num5] = num2 + ((long) Math.Round((double) ((num3 + Source.HeightData.Height[num6, num5]) * num4))); num5++; } } } else { num2 = (long) Math.Round((double) ((HeightMin + HeightMax) / 2.0)); int num9 = this.HeightData.SizeY - 1; for (num6 = 0; num6 <= num9; num6++) { int num10 = this.HeightData.SizeX - 1; for (num5 = 0; num5 <= num10; num5++) { this.HeightData.Height[num6, num5] = num2; } } } }