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 / Line2D.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  3.3 KB  |  192 lines

  1. package java.awt.geom;
  2.  
  3. import java.awt.Rectangle;
  4. import java.awt.Shape;
  5.  
  6. public abstract class Line2D implements Shape, Cloneable {
  7.    protected Line2D() {
  8.    }
  9.  
  10.    public abstract double getX1();
  11.  
  12.    public abstract double getY1();
  13.  
  14.    public abstract Point2D getP1();
  15.  
  16.    public abstract double getX2();
  17.  
  18.    public abstract double getY2();
  19.  
  20.    public abstract Point2D getP2();
  21.  
  22.    public abstract void setLine(double var1, double var3, double var5, double var7);
  23.  
  24.    public void setLine(Point2D var1, Point2D var2) {
  25.       this.setLine(var1.getX(), var1.getY(), var2.getX(), var2.getY());
  26.    }
  27.  
  28.    public void setLine(Line2D var1) {
  29.       this.setLine(var1.getX1(), var1.getY1(), var1.getX2(), var1.getY2());
  30.    }
  31.  
  32.    public static int relativeCCW(double var0, double var2, double var4, double var6, double var8, double var10) {
  33.       var4 -= var0;
  34.       var6 -= var2;
  35.       var8 -= var0;
  36.       var10 -= var2;
  37.       double var12 = var8 * var6 - var10 * var4;
  38.       if (var12 == (double)0.0F) {
  39.          var12 = var8 * var4 + var10 * var6;
  40.          if (var12 > (double)0.0F) {
  41.             var8 -= var4;
  42.             var10 -= var6;
  43.             var12 = var8 * var4 + var10 * var6;
  44.             if (var12 < (double)0.0F) {
  45.                var12 = (double)0.0F;
  46.             }
  47.          }
  48.       }
  49.  
  50.       return var12 < (double)0.0F ? -1 : (var12 > (double)0.0F ? 1 : 0);
  51.    }
  52.  
  53.    public int relativeCCW(double var1, double var3) {
  54.       return relativeCCW(this.getX1(), this.getY1(), this.getX2(), this.getY2(), var1, var3);
  55.    }
  56.  
  57.    public int relativeCCW(Point2D var1) {
  58.       return relativeCCW(this.getX1(), this.getY1(), this.getX2(), this.getY2(), var1.getX(), var1.getY());
  59.    }
  60.  
  61.    public static boolean linesIntersect(double var0, double var2, double var4, double var6, double var8, double var10, double var12, double var14) {
  62.       return relativeCCW(var0, var2, var4, var6, var8, var10) * relativeCCW(var0, var2, var4, var6, var12, var14) <= 0 && relativeCCW(var8, var10, var12, var14, var0, var2) * relativeCCW(var8, var10, var12, var14, var4, var6) <= 0;
  63.    }
  64.  
  65.    public boolean intersectsLine(double var1, double var3, double var5, double var7) {
  66.       return linesIntersect(var1, var3, var5, var7, this.getX1(), this.getY1(), this.getX2(), this.getY2());
  67.    }
  68.  
  69.    public boolean intersectsLine(Line2D var1) {
  70.       return linesIntersect(var1.getX1(), var1.getY1(), var1.getX2(), var1.getY2(), this.getX1(), this.getY1(), this.getX2(), this.getY2());
  71.    }
  72.  
  73.    public static double ptSegDistSq(double var0, double var2, double var4, double var6, double var8, double var10) {
  74.       var4 -= var0;
  75.       var6 -= var2;
  76.       var8 -= var0;
  77.       var10 -= var2;
  78.       double var12 = var8 * var4 + var10 * var6;
  79.       double var14;
  80.       if (var12 <= (double)0.0F) {
  81.          var14 = (double)0.0F;
  82.       } else {
  83.          var8 = var4 - var8;
  84.          var10 = var6 - var10;
  85.          var12 = var8 * var4 + var10 * var6;
  86.          if (var12 <= (double)0.0F) {
  87.             var14 = (double)0.0F;
  88.          } else {
  89.             var14 = var12 * var12 / (var4 * var4 + var6 * var6);
  90.          }
  91.       }
  92.  
  93.       return var8 * var8 + var10 * var10 - var14;
  94.    }
  95.  
  96.    public static double ptSegDist(double var0, double var2, double var4, double var6, double var8, double var10) {
  97.       return Math.sqrt(ptSegDistSq(var0, var2, var4, var6, var8, var10));
  98.    }
  99.  
  100.    public double ptSegDistSq(double var1, double var3) {
  101.       return ptSegDistSq(this.getX1(), this.getY1(), this.getX2(), this.getY2(), var1, var3);
  102.    }
  103.  
  104.    public double ptSegDistSq(Point2D var1) {
  105.       return ptSegDistSq(this.getX1(), this.getY1(), this.getX2(), this.getY2(), var1.getX(), var1.getY());
  106.    }
  107.  
  108.    public double ptSegDist(double var1, double var3) {
  109.       return ptSegDist(this.getX1(), this.getY1(), this.getX2(), this.getY2(), var1, var3);
  110.    }
  111.  
  112.    public double ptSegDist(Point2D var1) {
  113.       return ptSegDist(this.getX1(), this.getY1(), this.getX2(), this.getY2(), var1.getX(), var1.getY());
  114.    }
  115.  
  116.    public static double ptLineDistSq(double var0, double var2, double var4, double var6, double var8, double var10) {
  117.       var4 -= var0;
  118.       var6 -= var2;
  119.       var8 -= var0;
  120.       var10 -= var2;
  121.       double var12 = var8 * var4 + var10 * var6;
  122.       double var14 = var12 * var12 / (var4 * var4 + var6 * var6);
  123.       return var8 * var8 + var10 * var10 - var14;
  124.    }
  125.  
  126.    public static double ptLineDist(double var0, double var2, double var4, double var6, double var8, double var10) {
  127.       return Math.sqrt(ptLineDistSq(var0, var2, var4, var6, var8, var10));
  128.    }
  129.  
  130.    public double ptLineDistSq(double var1, double var3) {
  131.       return ptLineDistSq(this.getX1(), this.getY1(), this.getX2(), this.getY2(), var1, var3);
  132.    }
  133.  
  134.    public double ptLineDistSq(Point2D var1) {
  135.       return ptLineDistSq(this.getX1(), this.getY1(), this.getX2(), this.getY2(), var1.getX(), var1.getY());
  136.    }
  137.  
  138.    public double ptLineDist(double var1, double var3) {
  139.       return ptLineDist(this.getX1(), this.getY1(), this.getX2(), this.getY2(), var1, var3);
  140.    }
  141.  
  142.    public double ptLineDist(Point2D var1) {
  143.       return ptLineDist(this.getX1(), this.getY1(), this.getX2(), this.getY2(), var1.getX(), var1.getY());
  144.    }
  145.  
  146.    public boolean contains(double var1, double var3) {
  147.       return false;
  148.    }
  149.  
  150.    public boolean contains(Point2D var1) {
  151.       return false;
  152.    }
  153.  
  154.    public boolean intersects(double var1, double var3, double var5, double var7) {
  155.       return this.intersects(new Rectangle2D.Double(var1, var3, var5, var7));
  156.    }
  157.  
  158.    public boolean intersects(Rectangle2D var1) {
  159.       return var1.intersectsLine(this.getX1(), this.getY1(), this.getX2(), this.getY2());
  160.    }
  161.  
  162.    public boolean contains(double var1, double var3, double var5, double var7) {
  163.       return false;
  164.    }
  165.  
  166.    public boolean contains(Rectangle2D var1) {
  167.       return false;
  168.    }
  169.  
  170.    public Rectangle getBounds() {
  171.       return this.getBounds2D().getBounds();
  172.    }
  173.  
  174.    public PathIterator getPathIterator(AffineTransform var1) {
  175.       return new LineIterator(this, var1);
  176.    }
  177.  
  178.    public PathIterator getPathIterator(AffineTransform var1, double var2) {
  179.       return new LineIterator(this, var1);
  180.    }
  181.  
  182.    public Object clone() {
  183.       try {
  184.          return super.clone();
  185.       } catch (CloneNotSupportedException var2) {
  186.          throw new InternalError();
  187.       }
  188.    }
  189.  
  190.    public abstract Rectangle2D getBounds2D();
  191. }
  192.