public void Add2(clsHeightmap SourceA, clsHeightmap SourceB) { double num = SourceA.HeightScale / this.HeightScale; double num2 = SourceB.HeightScale / this.HeightScale; if (!SourceA.IsSizeSame(SourceB)) { Debugger.Break(); } this.SizeCopy(SourceA); 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) ((SourceA.HeightData.Height[i, j] * num) + (SourceB.HeightData.Height[i, j] * num2))); } } }
public void Swap3(clsHeightmap SourceA, clsHeightmap SourceB, clsHeightmap Swapper) { if (!(Swapper.IsSizeSame(SourceA) & Swapper.IsSizeSame(SourceB))) { Debugger.Break(); } this.SizeCopy(Swapper); int num4 = this.HeightData.SizeY - 1; for (int i = 0; i <= num4; i++) { int num5 = this.HeightData.SizeX - 1; for (int j = 0; j <= num5; j++) { double num = Swapper.HeightData.Height[i, j] * Swapper.HeightScale; this.HeightData.Height[i, j] = (long) Math.Round((double) ((((SourceA.HeightData.Height[i, j] * SourceA.HeightScale) * (1.0 - num)) + ((SourceB.HeightData.Height[i, j] * num) * SourceB.HeightScale)) / this.HeightScale)); } } }
public void Multiply2(clsHeightmap SourceA, clsHeightmap SourceB) { if (!SourceA.IsSizeSame(SourceB)) { Debugger.Break(); } this.SizeCopy(SourceA); int num3 = this.HeightData.SizeY - 1; for (int i = 0; i <= num3; i++) { int num4 = this.HeightData.SizeX - 1; for (int j = 0; j <= num4; j++) { this.HeightData.Height[i, j] = (long) Math.Round((double) ((((SourceA.HeightData.Height[i, j] * SourceA.HeightScale) * SourceB.HeightData.Height[i, j]) * SourceB.HeightScale) / this.HeightScale)); } } }
public void Lowest2(clsHeightmap SourceA, clsHeightmap SourceB) { double num3 = SourceA.HeightScale / this.HeightScale; double num4 = SourceB.HeightScale / this.HeightScale; if (!SourceA.IsSizeSame(SourceB)) { Debugger.Break(); } this.SizeCopy(SourceA); int num7 = this.HeightData.SizeY - 1; for (int i = 0; i <= num7; i++) { int num8 = this.HeightData.SizeX - 1; for (int j = 0; j <= num8; j++) { double a = SourceA.HeightData.Height[i, j] * num3; double num2 = SourceB.HeightData.Height[i, j] * num4; if (a <= num2) { this.HeightData.Height[i, j] = (long) Math.Round(a); } else { this.HeightData.Height[i, j] = (long) Math.Round(num2); } } } }
public void Divide2(clsHeightmap SourceA, clsHeightmap SourceB) { double num = SourceA.HeightScale / (SourceB.HeightScale * this.HeightScale); if (!SourceA.IsSizeSame(SourceB)) { Debugger.Break(); } this.SizeCopy(SourceA); int num4 = this.HeightData.SizeY - 1; for (int i = 0; i <= num4; i++) { int num5 = this.HeightData.SizeX - 1; for (int j = 0; j <= num5; j++) { this.HeightData.Height[i, j] = (long) Math.Round((double) ((((double) SourceA.HeightData.Height[i, j]) / ((double) SourceB.HeightData.Height[i, j])) * num)); } } }