home *** CD-ROM | disk | FTP | other *** search
/ Independent Newspaper 1999 / cdng1999.iso / ng / Vrato.class (.txt) < prev    next >
Encoding:
Java Class File  |  2000-08-20  |  2.3 KB  |  154 lines

  1. import java.util.Vector;
  2.  
  3. class Vrato {
  4.    private static void sort(Object[] var0, Object[] var1, int var2, int var3, boolean var4, Sravn var5) {
  5.       if (var0 != null && var0.length >= 2) {
  6.          int var6 = var2;
  7.          int var7 = var3;
  8.          Object var8 = var0[(var2 + var3) / 2];
  9.  
  10.          do {
  11.             if (var4) {
  12.                while(var6 < var3 && var5.compare(var8, var0[var6]) > 0) {
  13.                   ++var6;
  14.                }
  15.  
  16.                while(var7 > var2 && var5.compare(var8, var0[var7]) < 0) {
  17.                   --var7;
  18.                }
  19.             } else {
  20.                while(var6 < var3 && var5.compare(var8, var0[var6]) < 0) {
  21.                   ++var6;
  22.                }
  23.  
  24.                while(var7 > var2 && var5.compare(var8, var0[var7]) > 0) {
  25.                   --var7;
  26.                }
  27.             }
  28.  
  29.             if (var6 < var7) {
  30.                Object var9 = var0[var6];
  31.                var0[var6] = var0[var7];
  32.                var0[var7] = var9;
  33.                if (var1 != null) {
  34.                   var9 = var1[var6];
  35.                   var1[var6] = var1[var7];
  36.                   var1[var7] = var9;
  37.                }
  38.             }
  39.  
  40.             if (var6 <= var7) {
  41.                ++var6;
  42.                --var7;
  43.             }
  44.          } while(var6 <= var7);
  45.  
  46.          if (var2 < var7) {
  47.             sort(var0, var1, var2, var7, var4, var5);
  48.          }
  49.  
  50.          if (var6 < var3) {
  51.             sort(var0, var1, var6, var3, var4, var5);
  52.          }
  53.  
  54.       }
  55.    }
  56.  
  57.    public static Vector circle(int var0, int var1, double var2, int var4) {
  58.       double var5 = (double)var0;
  59.       double var7 = (double)var1;
  60.       double var11 = (double)var4;
  61.       Vector var13 = new Vector();
  62.       Vector[] var14 = new Vector[8];
  63.  
  64.       for(int var15 = 0; var15 < var14.length; ++var15) {
  65.          var14[var15] = new Vector();
  66.       }
  67.  
  68.       double var16 = (double)0.0F;
  69.       double var18 = var2;
  70.       double var20 = var11 - var2;
  71.       plotPoints(var14, var5, var7, var16, var2);
  72.  
  73.       for(; var16 < var18; plotPoints(var14, var5, var7, var16, var18)) {
  74.          var16 += (double)var4;
  75.          if (var20 < (double)0.0F) {
  76.             var20 += (double)2.0F * var16 + var11;
  77.          } else {
  78.             var18 -= var11;
  79.             var20 += (double)2.0F * (var16 - var18) + var11;
  80.          }
  81.       }
  82.  
  83.       var14 = sort_by_x(var14);
  84.  
  85.       for(int var22 = 0; var22 < var14.length; ++var22) {
  86.          for(int var23 = 0; var23 < var14[var22].size(); ++var23) {
  87.             if (!var13.contains(var14[var22].elementAt(var23))) {
  88.                var13.addElement(var14[var22].elementAt(var23));
  89.             }
  90.          }
  91.       }
  92.  
  93.       return var13;
  94.    }
  95.  
  96.    private static Object[] sort_by_y(Object[] var0, int var1, int var2, int var3) {
  97.       boolean var4 = var3 > 1 && var3 < 6;
  98.       sort(var0, (Object[])null, var1, var2, var4, new YSravn());
  99.       return var0;
  100.    }
  101.  
  102.    private static Vector[] sort_by_x(Vector[] var0) {
  103.       for(int var1 = 0; var1 < 8; ++var1) {
  104.          Object var2 = new Dvoto[var0[var1].size()];
  105.  
  106.          for(int var3 = 0; var3 < ((Object[])var2).length; ++var3) {
  107.             ((Object[])var2)[var3] = var0[var1].elementAt(var3);
  108.          }
  109.  
  110.          boolean var4 = var1 <= 3;
  111.          sort((Object[])var2, (Object[])null, 0, ((Object[])var2).length - 1, var4, new XSravn());
  112.          boolean var5 = false;
  113.          int var6 = 0;
  114.          double var7 = ((Dvoto)((Object[])var2)[0]).x;
  115.  
  116.          int var12;
  117.          label49:
  118.          for(var12 = 0; !var5; var2 = sort_by_y((Object[])var2, var6, var12 - 1, var1)) {
  119.             for(var12 = var6; var12 != ((Object[])var2).length; ++var12) {
  120.                if (((Dvoto)((Object[])var2)[var12]).x != var7) {
  121.                   var2 = sort_by_y((Object[])var2, var6, var12 - 1, var1);
  122.                   var7 = ((Dvoto)((Object[])var2)[var12]).x;
  123.                   var6 = var12;
  124.                   continue label49;
  125.                }
  126.             }
  127.  
  128.             var5 = true;
  129.          }
  130.  
  131.          Vector var10 = new Vector();
  132.  
  133.          for(int var11 = 0; var11 < ((Object[])var2).length; ++var11) {
  134.             var10.addElement(((Object[])var2)[var11]);
  135.          }
  136.  
  137.          var0[var1] = var10;
  138.       }
  139.  
  140.       return var0;
  141.    }
  142.  
  143.    private static void plotPoints(Vector[] var0, double var1, double var3, double var5, double var7) {
  144.       var0[3].addElement(new Dvoto(var1 + var7, var3 - var5));
  145.       var0[0].addElement(new Dvoto(var1 - var7, var3 - var5));
  146.       var0[4].addElement(new Dvoto(var1 + var7, var3 + var5));
  147.       var0[7].addElement(new Dvoto(var1 - var7, var3 + var5));
  148.       var0[2].addElement(new Dvoto(var1 + var5, var3 - var7));
  149.       var0[1].addElement(new Dvoto(var1 - var5, var3 - var7));
  150.       var0[5].addElement(new Dvoto(var1 + var5, var3 + var7));
  151.       var0[6].addElement(new Dvoto(var1 - var5, var3 + var7));
  152.    }
  153. }
  154.