home *** CD-ROM | disk | FTP | other *** search
/ S283 Planetary Science &n…he Search for Life DVD 2 / DVD-ROM.iso / install / jre1_3 / lib / rt.jar / java / awt / geom / Rectangle2D.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  3.2 KB  |  171 lines

  1. package java.awt.geom;
  2.  
  3. public abstract class Rectangle2D extends RectangularShape {
  4.    public static final int OUT_LEFT = 1;
  5.    public static final int OUT_TOP = 2;
  6.    public static final int OUT_RIGHT = 4;
  7.    public static final int OUT_BOTTOM = 8;
  8.  
  9.    protected Rectangle2D() {
  10.    }
  11.  
  12.    public abstract void setRect(double var1, double var3, double var5, double var7);
  13.  
  14.    public void setRect(Rectangle2D var1) {
  15.       this.setRect(((RectangularShape)var1).getX(), ((RectangularShape)var1).getY(), ((RectangularShape)var1).getWidth(), ((RectangularShape)var1).getHeight());
  16.    }
  17.  
  18.    public boolean intersectsLine(double var1, double var3, double var5, double var7) {
  19.       int var9 = this.outcode(var1, var3);
  20.  
  21.       for(int var10 = this.outcode(var5, var7); (var9 & var10) == 0; var9 = this.outcode(var1, var3)) {
  22.          if (var9 == 0) {
  23.             if (var10 == 0) {
  24.                return true;
  25.             }
  26.  
  27.             double var11 = var1;
  28.             var1 = var5;
  29.             var5 = var11;
  30.             var11 = var3;
  31.             var3 = var7;
  32.             var7 = var11;
  33.             int var13 = var9;
  34.             var9 = var10;
  35.             var10 = var13;
  36.          }
  37.  
  38.          if ((var9 & 5) != 0) {
  39.             double var15 = ((RectangularShape)this).getX();
  40.             if ((var9 & 4) != 0) {
  41.                var15 += ((RectangularShape)this).getWidth();
  42.             }
  43.  
  44.             var3 += (var15 - var1) * (var7 - var3) / (var5 - var1);
  45.             var1 = var15;
  46.          } else if ((var9 & 10) != 0) {
  47.             double var16 = ((RectangularShape)this).getY();
  48.             if ((var9 & 8) != 0) {
  49.                var16 += ((RectangularShape)this).getHeight();
  50.             }
  51.  
  52.             var1 += (var16 - var3) * (var5 - var1) / (var7 - var3);
  53.             var3 = var16;
  54.          }
  55.       }
  56.  
  57.       return false;
  58.    }
  59.  
  60.    public boolean intersectsLine(Line2D var1) {
  61.       return this.intersectsLine(var1.getX1(), var1.getY1(), var1.getX2(), var1.getY2());
  62.    }
  63.  
  64.    public abstract int outcode(double var1, double var3);
  65.  
  66.    public int outcode(Point2D var1) {
  67.       return this.outcode(var1.getX(), var1.getY());
  68.    }
  69.  
  70.    public void setFrame(double var1, double var3, double var5, double var7) {
  71.       this.setRect(var1, var3, var5, var7);
  72.    }
  73.  
  74.    public Rectangle2D getBounds2D() {
  75.       return (Rectangle2D)((RectangularShape)this).clone();
  76.    }
  77.  
  78.    public boolean contains(double var1, double var3) {
  79.       double var5 = ((RectangularShape)this).getX();
  80.       double var7 = ((RectangularShape)this).getY();
  81.       return var1 >= var5 && var3 >= var7 && var1 < var5 + ((RectangularShape)this).getWidth() && var3 < var7 + ((RectangularShape)this).getHeight();
  82.    }
  83.  
  84.    public boolean intersects(double var1, double var3, double var5, double var7) {
  85.       if (!((RectangularShape)this).isEmpty() && !(var5 <= (double)0.0F) && !(var7 <= (double)0.0F)) {
  86.          double var9 = ((RectangularShape)this).getX();
  87.          double var11 = ((RectangularShape)this).getY();
  88.          return var1 + var5 > var9 && var3 + var7 > var11 && var1 < var9 + ((RectangularShape)this).getWidth() && var3 < var11 + ((RectangularShape)this).getHeight();
  89.       } else {
  90.          return false;
  91.       }
  92.    }
  93.  
  94.    public boolean contains(double var1, double var3, double var5, double var7) {
  95.       if (!((RectangularShape)this).isEmpty() && !(var5 <= (double)0.0F) && !(var7 <= (double)0.0F)) {
  96.          double var9 = ((RectangularShape)this).getX();
  97.          double var11 = ((RectangularShape)this).getY();
  98.          return var1 >= var9 && var3 >= var11 && var1 + var5 <= var9 + ((RectangularShape)this).getWidth() && var3 + var7 <= var11 + ((RectangularShape)this).getHeight();
  99.       } else {
  100.          return false;
  101.       }
  102.    }
  103.  
  104.    public abstract Rectangle2D createIntersection(Rectangle2D var1);
  105.  
  106.    public static void intersect(Rectangle2D var0, Rectangle2D var1, Rectangle2D var2) {
  107.       double var3 = Math.max(((RectangularShape)var0).getMinX(), ((RectangularShape)var1).getMinX());
  108.       double var5 = Math.max(((RectangularShape)var0).getMinY(), ((RectangularShape)var1).getMinY());
  109.       double var7 = Math.min(((RectangularShape)var0).getMaxX(), ((RectangularShape)var1).getMaxX());
  110.       double var9 = Math.min(((RectangularShape)var0).getMaxY(), ((RectangularShape)var1).getMaxY());
  111.       ((RectangularShape)var2).setFrameFromDiagonal(var3, var5, var7, var9);
  112.    }
  113.  
  114.    public abstract Rectangle2D createUnion(Rectangle2D var1);
  115.  
  116.    public static void union(Rectangle2D var0, Rectangle2D var1, Rectangle2D var2) {
  117.       double var3 = Math.min(((RectangularShape)var0).getMinX(), ((RectangularShape)var1).getMinX());
  118.       double var5 = Math.min(((RectangularShape)var0).getMinY(), ((RectangularShape)var1).getMinY());
  119.       double var7 = Math.max(((RectangularShape)var0).getMaxX(), ((RectangularShape)var1).getMaxX());
  120.       double var9 = Math.max(((RectangularShape)var0).getMaxY(), ((RectangularShape)var1).getMaxY());
  121.       ((RectangularShape)var2).setFrameFromDiagonal(var3, var5, var7, var9);
  122.    }
  123.  
  124.    public void add(double var1, double var3) {
  125.       double var5 = Math.min(((RectangularShape)this).getMinX(), var1);
  126.       double var7 = Math.max(((RectangularShape)this).getMaxX(), var1);
  127.       double var9 = Math.min(((RectangularShape)this).getMinY(), var3);
  128.       double var11 = Math.max(((RectangularShape)this).getMaxY(), var3);
  129.       this.setRect(var5, var9, var7 - var5, var11 - var9);
  130.    }
  131.  
  132.    public void add(Point2D var1) {
  133.       this.add(var1.getX(), var1.getY());
  134.    }
  135.  
  136.    public void add(Rectangle2D var1) {
  137.       double var2 = Math.min(((RectangularShape)this).getMinX(), ((RectangularShape)var1).getMinX());
  138.       double var4 = Math.max(((RectangularShape)this).getMaxX(), ((RectangularShape)var1).getMaxX());
  139.       double var6 = Math.min(((RectangularShape)this).getMinY(), ((RectangularShape)var1).getMinY());
  140.       double var8 = Math.max(((RectangularShape)this).getMaxY(), ((RectangularShape)var1).getMaxY());
  141.       this.setRect(var2, var6, var4 - var2, var8 - var6);
  142.    }
  143.  
  144.    public PathIterator getPathIterator(AffineTransform var1) {
  145.       return new RectIterator(this, var1);
  146.    }
  147.  
  148.    public PathIterator getPathIterator(AffineTransform var1, double var2) {
  149.       return new RectIterator(this, var1);
  150.    }
  151.  
  152.    public int hashCode() {
  153.       long var1 = java.lang.Double.doubleToLongBits(((RectangularShape)this).getX());
  154.       var1 += java.lang.Double.doubleToLongBits(((RectangularShape)this).getY()) * 37L;
  155.       var1 += java.lang.Double.doubleToLongBits(((RectangularShape)this).getWidth()) * 43L;
  156.       var1 += java.lang.Double.doubleToLongBits(((RectangularShape)this).getHeight()) * 47L;
  157.       return (int)var1 ^ (int)(var1 >> 32);
  158.    }
  159.  
  160.    public boolean equals(Object var1) {
  161.       if (var1 == this) {
  162.          return true;
  163.       } else if (!(var1 instanceof Rectangle2D)) {
  164.          return false;
  165.       } else {
  166.          Rectangle2D var2 = (Rectangle2D)var1;
  167.          return ((RectangularShape)this).getX() == ((RectangularShape)var2).getX() && ((RectangularShape)this).getY() == ((RectangularShape)var2).getY() && ((RectangularShape)this).getWidth() == ((RectangularShape)var2).getWidth() && ((RectangularShape)this).getHeight() == ((RectangularShape)var2).getHeight();
  168.       }
  169.    }
  170. }
  171.