1 |
/* QuadCurve2D.java -- represents a parameterized quadratic curve in 2-D space |
/* QuadCurve2D.java -- represents a parameterized quadratic curve in 2-D space |
2 |
Copyright (C) 2002 Free Software Foundation |
Copyright (C) 2002, 2003 Free Software Foundation |
3 |
|
|
4 |
This file is part of GNU Classpath. |
This file is part of GNU Classpath. |
5 |
|
|
89 |
public static double getFlatnessSq(double x1, double y1, double cx, |
public static double getFlatnessSq(double x1, double y1, double cx, |
90 |
double cy, double x2, double y2) |
double cy, double x2, double y2) |
91 |
{ |
{ |
92 |
// XXX Implement. |
return Line2D.ptSegDistSq(x1, y1, x2, y2, cx, cy); |
|
throw new Error("not implemented"); |
|
93 |
} |
} |
94 |
public static double getFlatness(double x1, double y1, double cx, double cy, |
public static double getFlatness(double x1, double y1, double cx, double cy, |
95 |
double x2, double y2) |
double x2, double y2) |
96 |
{ |
{ |
97 |
return Math.sqrt(getFlatnessSq(x1, y1, cx, cy, x2, y2)); |
return Line2D.ptSegDist(x1, y1, x2, y2, cx, cy); |
98 |
} |
} |
99 |
public static double getFlatnessSq(double[] coords, int offset) |
public static double getFlatnessSq(double[] coords, int offset) |
100 |
{ |
{ |
101 |
return getFlatnessSq(coords[offset++], coords[offset++], |
return Line2D.ptSegDistSq(coords[offset], coords[offset + 1], |
102 |
coords[offset++], coords[offset++], |
coords[offset + 4], coords[offset + 5], |
103 |
coords[offset++], coords[offset++]); |
coords[offset + 2], coords[offset + 3]); |
104 |
} |
} |
105 |
public static double getFlatness(double[] coords, int offset) |
public static double getFlatness(double[] coords, int offset) |
106 |
{ |
{ |
107 |
return Math.sqrt(getFlatnessSq(coords[offset++], coords[offset++], |
return Line2D.ptSegDist(coords[offset], coords[offset + 1], |
108 |
coords[offset++], coords[offset++], |
coords[offset + 4], coords[offset + 5], |
109 |
coords[offset++], coords[offset++])); |
coords[offset + 2], coords[offset + 3]); |
110 |
} |
} |
111 |
public double getFlatnessSq() |
public double getFlatnessSq() |
112 |
{ |
{ |
113 |
return getFlatnessSq(getX1(), getY1(), getCtrlX(), getCtrlY(), |
return Line2D.ptSegDistSq(getX1(), getY1(), |
114 |
getX2(), getY2()); |
getX2(), getY2(), |
115 |
|
getCtrlX(), getCtrlY()); |
116 |
} |
} |
117 |
public double getFlatness() |
public double getFlatness() |
118 |
{ |
{ |
119 |
return Math.sqrt(getFlatnessSq(getX1(), getY1(), getCtrlX(), getCtrlY(), |
return Line2D.ptSegDist(getX1(), getY1(), |
120 |
getX2(), getY2())); |
getX2(), getY2(), |
121 |
|
getCtrlX(), getCtrlY()); |
122 |
} |
} |
123 |
|
|
124 |
public void subdivide(QuadCurve2D l, QuadCurve2D r) |
public void subdivide(QuadCurve2D l, QuadCurve2D r) |