Exemple #1
0
 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)));
         }
     }
 }
Exemple #2
0
 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));
         }
     }
 }
Exemple #3
0
 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));
         }
     }
 }
Exemple #4
0
 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);
             }
         }
     }
 }
Exemple #5
0
 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));
         }
     }
 }