home *** CD-ROM | disk | FTP | other *** search
- package sun.awt.geom;
-
- import java.awt.geom.Rectangle2D;
-
- final class Order1 extends Curve {
- // $FF: renamed from: x0 double
- private double field_0;
- // $FF: renamed from: y0 double
- private double field_1;
- // $FF: renamed from: x1 double
- private double field_2;
- // $FF: renamed from: y1 double
- private double field_3;
- private double xmin;
- private double xmax;
-
- public Order1(double var1, double var3, double var5, double var7, int var9) {
- super(var9);
- this.field_0 = var1;
- this.field_1 = var3;
- this.field_2 = var5;
- this.field_3 = var7;
- if (var1 < var5) {
- this.xmin = var1;
- this.xmax = var5;
- } else {
- this.xmin = var5;
- this.xmax = var1;
- }
-
- }
-
- public int getOrder() {
- return 1;
- }
-
- public double getXTop() {
- return this.field_0;
- }
-
- public double getYTop() {
- return this.field_1;
- }
-
- public double getXBot() {
- return this.field_2;
- }
-
- public double getYBot() {
- return this.field_3;
- }
-
- public double getXMin() {
- return this.xmin;
- }
-
- public double getXMax() {
- return this.xmax;
- }
-
- public double getX0() {
- return super.direction == 1 ? this.field_0 : this.field_2;
- }
-
- public double getY0() {
- return super.direction == 1 ? this.field_1 : this.field_3;
- }
-
- public double getX1() {
- return super.direction == -1 ? this.field_0 : this.field_2;
- }
-
- public double getY1() {
- return super.direction == -1 ? this.field_1 : this.field_3;
- }
-
- public double XforY(double var1) {
- if (this.field_0 != this.field_2 && var1 != this.field_1) {
- return var1 == this.field_3 ? this.field_2 : this.field_0 + (var1 - this.field_1) * (this.field_2 - this.field_0) / (this.field_3 - this.field_1);
- } else {
- return this.field_0;
- }
- }
-
- public double TforY(double var1) {
- return (var1 - this.field_1) / (this.field_3 - this.field_1);
- }
-
- public double XforT(double var1) {
- return this.field_0 + var1 * (this.field_2 - this.field_0);
- }
-
- public double YforT(double var1) {
- return this.field_1 + var1 * (this.field_3 - this.field_1);
- }
-
- public double dXforT(double var1, int var3) {
- switch (var3) {
- case 0:
- return this.field_0 + var1 * (this.field_2 - this.field_0);
- case 1:
- return this.field_2 - this.field_0;
- default:
- return (double)0.0F;
- }
- }
-
- public double dYforT(double var1, int var3) {
- switch (var3) {
- case 0:
- return this.field_1 + var1 * (this.field_3 - this.field_1);
- case 1:
- return this.field_3 - this.field_1;
- default:
- return (double)0.0F;
- }
- }
-
- public double nextVertical(double var1, double var3) {
- return var3;
- }
-
- public boolean accumulateCrossings(Crossings var1) {
- double var2 = var1.getXLo();
- double var4 = var1.getYLo();
- double var6 = var1.getXHi();
- double var8 = var1.getYHi();
- if (this.xmin >= var6) {
- return false;
- } else {
- double var10;
- double var12;
- if (this.field_1 < var4) {
- if (this.field_3 <= var4) {
- return false;
- }
-
- var12 = var4;
- var10 = this.XforY(var4);
- } else {
- if (this.field_1 >= var8) {
- return false;
- }
-
- var12 = this.field_1;
- var10 = this.field_0;
- }
-
- double var14;
- double var16;
- if (this.field_3 > var8) {
- var16 = var8;
- var14 = this.XforY(var8);
- } else {
- var16 = this.field_3;
- var14 = this.field_2;
- }
-
- if (var10 >= var6 && var14 >= var6) {
- return false;
- } else if (!(var10 > var2) && !(var14 > var2)) {
- var1.record(var12, var16, super.direction);
- return false;
- } else {
- return true;
- }
- }
- }
-
- public void enlarge(Rectangle2D var1) {
- var1.add(this.field_0, this.field_1);
- var1.add(this.field_2, this.field_3);
- }
-
- public Curve getSubCurve(double var1, double var3, int var5) {
- if (var1 == this.field_1 && var3 == this.field_3) {
- return ((Curve)this).getWithDirection(var5);
- } else if (this.field_0 == this.field_2) {
- return new Order1(this.field_0, var1, this.field_2, var3, var5);
- } else {
- double var6 = this.field_0 - this.field_2;
- double var8 = this.field_1 - this.field_3;
- double var10 = this.field_0 + (var1 - this.field_1) * var6 / var8;
- double var12 = this.field_0 + (var3 - this.field_1) * var6 / var8;
- return new Order1(var10, var1, var12, var3, var5);
- }
- }
-
- public Curve getReversedCurve() {
- return new Order1(this.field_0, this.field_1, this.field_2, this.field_3, -super.direction);
- }
-
- public int compareTo(Curve var1, double[] var2) {
- if (!(var1 instanceof Order1)) {
- return super.compareTo(var1, var2);
- } else {
- Order1 var3 = (Order1)var1;
- if (var2[1] <= var2[0]) {
- throw new InternalError("yrange already screwed up...");
- } else {
- var2[1] = Math.min(Math.min(var2[1], this.field_3), var3.field_3);
- if (var2[1] <= var2[0]) {
- throw new InternalError("backstepping from " + var2[0] + " to " + var2[1]);
- } else if (this.xmax <= var3.xmin) {
- return this.xmin == var3.xmax ? 0 : -1;
- } else if (this.xmin >= var3.xmax) {
- return 1;
- } else {
- double var4 = this.field_2 - this.field_0;
- double var6 = this.field_3 - this.field_1;
- double var8 = var3.field_2 - var3.field_0;
- double var10 = var3.field_3 - var3.field_1;
- double var12 = var8 * var6 - var4 * var10;
- double var18;
- if (var12 != (double)0.0F) {
- double var16 = (this.field_0 - var3.field_0) * var6 * var10 - this.field_1 * var4 * var10 + var3.field_1 * var8 * var6;
- var18 = var16 / var12;
- if (var18 <= var2[0]) {
- var18 = Math.min(this.field_3, var3.field_3);
- } else {
- if (var18 < var2[1]) {
- var2[1] = var18;
- }
-
- var18 = Math.max(this.field_1, var3.field_1);
- }
- } else {
- var18 = Math.max(this.field_1, var3.field_1);
- }
-
- return Curve.orderof(this.XforY(var18), var3.XforY(var18));
- }
- }
- }
- }
-
- public int getSegment(double[] var1) {
- if (super.direction == 1) {
- var1[0] = this.field_2;
- var1[1] = this.field_3;
- } else {
- var1[0] = this.field_0;
- var1[1] = this.field_1;
- }
-
- return 1;
- }
- }
-