home *** CD-ROM | disk | FTP | other *** search
- import java.util.Vector;
-
- class Vrato {
- private static void sort(Object[] var0, Object[] var1, int var2, int var3, boolean var4, Sravn var5) {
- if (var0 != null && var0.length >= 2) {
- int var6 = var2;
- int var7 = var3;
- Object var8 = var0[(var2 + var3) / 2];
-
- do {
- if (var4) {
- while(var6 < var3 && var5.compare(var8, var0[var6]) > 0) {
- ++var6;
- }
-
- while(var7 > var2 && var5.compare(var8, var0[var7]) < 0) {
- --var7;
- }
- } else {
- while(var6 < var3 && var5.compare(var8, var0[var6]) < 0) {
- ++var6;
- }
-
- while(var7 > var2 && var5.compare(var8, var0[var7]) > 0) {
- --var7;
- }
- }
-
- if (var6 < var7) {
- Object var9 = var0[var6];
- var0[var6] = var0[var7];
- var0[var7] = var9;
- if (var1 != null) {
- var9 = var1[var6];
- var1[var6] = var1[var7];
- var1[var7] = var9;
- }
- }
-
- if (var6 <= var7) {
- ++var6;
- --var7;
- }
- } while(var6 <= var7);
-
- if (var2 < var7) {
- sort(var0, var1, var2, var7, var4, var5);
- }
-
- if (var6 < var3) {
- sort(var0, var1, var6, var3, var4, var5);
- }
-
- }
- }
-
- public static Vector circle(int var0, int var1, double var2, int var4) {
- double var5 = (double)var0;
- double var7 = (double)var1;
- double var11 = (double)var4;
- Vector var13 = new Vector();
- Vector[] var14 = new Vector[8];
-
- for(int var15 = 0; var15 < var14.length; ++var15) {
- var14[var15] = new Vector();
- }
-
- double var16 = (double)0.0F;
- double var18 = var2;
- double var20 = var11 - var2;
- plotPoints(var14, var5, var7, var16, var2);
-
- for(; var16 < var18; plotPoints(var14, var5, var7, var16, var18)) {
- var16 += (double)var4;
- if (var20 < (double)0.0F) {
- var20 += (double)2.0F * var16 + var11;
- } else {
- var18 -= var11;
- var20 += (double)2.0F * (var16 - var18) + var11;
- }
- }
-
- var14 = sort_by_x(var14);
-
- for(int var22 = 0; var22 < var14.length; ++var22) {
- for(int var23 = 0; var23 < var14[var22].size(); ++var23) {
- if (!var13.contains(var14[var22].elementAt(var23))) {
- var13.addElement(var14[var22].elementAt(var23));
- }
- }
- }
-
- return var13;
- }
-
- private static Object[] sort_by_y(Object[] var0, int var1, int var2, int var3) {
- boolean var4 = var3 > 1 && var3 < 6;
- sort(var0, (Object[])null, var1, var2, var4, new YSravn());
- return var0;
- }
-
- private static Vector[] sort_by_x(Vector[] var0) {
- for(int var1 = 0; var1 < 8; ++var1) {
- Object var2 = new Dvoto[var0[var1].size()];
-
- for(int var3 = 0; var3 < ((Object[])var2).length; ++var3) {
- ((Object[])var2)[var3] = var0[var1].elementAt(var3);
- }
-
- boolean var4 = var1 <= 3;
- sort((Object[])var2, (Object[])null, 0, ((Object[])var2).length - 1, var4, new XSravn());
- boolean var5 = false;
- int var6 = 0;
- double var7 = ((Dvoto)((Object[])var2)[0]).x;
-
- int var12;
- label49:
- for(var12 = 0; !var5; var2 = sort_by_y((Object[])var2, var6, var12 - 1, var1)) {
- for(var12 = var6; var12 != ((Object[])var2).length; ++var12) {
- if (((Dvoto)((Object[])var2)[var12]).x != var7) {
- var2 = sort_by_y((Object[])var2, var6, var12 - 1, var1);
- var7 = ((Dvoto)((Object[])var2)[var12]).x;
- var6 = var12;
- continue label49;
- }
- }
-
- var5 = true;
- }
-
- Vector var10 = new Vector();
-
- for(int var11 = 0; var11 < ((Object[])var2).length; ++var11) {
- var10.addElement(((Object[])var2)[var11]);
- }
-
- var0[var1] = var10;
- }
-
- return var0;
- }
-
- private static void plotPoints(Vector[] var0, double var1, double var3, double var5, double var7) {
- var0[3].addElement(new Dvoto(var1 + var7, var3 - var5));
- var0[0].addElement(new Dvoto(var1 - var7, var3 - var5));
- var0[4].addElement(new Dvoto(var1 + var7, var3 + var5));
- var0[7].addElement(new Dvoto(var1 - var7, var3 + var5));
- var0[2].addElement(new Dvoto(var1 + var5, var3 - var7));
- var0[1].addElement(new Dvoto(var1 - var5, var3 - var7));
- var0[5].addElement(new Dvoto(var1 + var5, var3 + var7));
- var0[6].addElement(new Dvoto(var1 - var5, var3 + var7));
- }
- }
-