1 Clazz.declarePackage ("java.awt.geom");
\r
2 Clazz.load (["java.awt.Shape"], "java.awt.geom.Line2D", ["java.lang.InternalError", "java.awt.geom.LineIterator", "$.Point2D", "$.Rectangle2D"], function () {
\r
3 c$ = Clazz.declareType (java.awt.geom, "Line2D", null, [java.awt.Shape, Cloneable]);
\r
4 Clazz.makeConstructor (c$,
\r
7 Clazz.defineMethod (c$, "setLine",
\r
9 this.setLine (p1.getX (), p1.getY (), p2.getX (), p2.getY ());
\r
10 }, "java.awt.geom.Point2D,java.awt.geom.Point2D");
\r
11 Clazz.defineMethod (c$, "setLine",
\r
13 this.setLine (l.getX1 (), l.getY1 (), l.getX2 (), l.getY2 ());
\r
14 }, "java.awt.geom.Line2D");
\r
15 c$.relativeCCW = Clazz.defineMethod (c$, "relativeCCW",
\r
16 function (x1, y1, x2, y2, px, py) {
\r
21 var ccw = px * y2 - py * x2;
\r
23 ccw = px * x2 + py * y2;
\r
27 ccw = px * x2 + py * y2;
\r
30 }}}return (ccw < 0.0) ? -1 : ((ccw > 0.0) ? 1 : 0);
\r
31 }, "~N,~N,~N,~N,~N,~N");
\r
32 Clazz.defineMethod (c$, "relativeCCW",
\r
34 return java.awt.geom.Line2D.relativeCCW (this.getX1 (), this.getY1 (), this.getX2 (), this.getY2 (), px, py);
\r
36 Clazz.defineMethod (c$, "relativeCCW",
\r
38 return java.awt.geom.Line2D.relativeCCW (this.getX1 (), this.getY1 (), this.getX2 (), this.getY2 (), p.getX (), p.getY ());
\r
39 }, "java.awt.geom.Point2D");
\r
40 c$.linesIntersect = Clazz.defineMethod (c$, "linesIntersect",
\r
41 function (x1, y1, x2, y2, x3, y3, x4, y4) {
\r
42 return ((java.awt.geom.Line2D.relativeCCW (x1, y1, x2, y2, x3, y3) * java.awt.geom.Line2D.relativeCCW (x1, y1, x2, y2, x4, y4) <= 0) && (java.awt.geom.Line2D.relativeCCW (x3, y3, x4, y4, x1, y1) * java.awt.geom.Line2D.relativeCCW (x3, y3, x4, y4, x2, y2) <= 0));
\r
43 }, "~N,~N,~N,~N,~N,~N,~N,~N");
\r
44 Clazz.defineMethod (c$, "intersectsLine",
\r
45 function (x1, y1, x2, y2) {
\r
46 return java.awt.geom.Line2D.linesIntersect (x1, y1, x2, y2, this.getX1 (), this.getY1 (), this.getX2 (), this.getY2 ());
\r
48 Clazz.defineMethod (c$, "intersectsLine",
\r
50 return java.awt.geom.Line2D.linesIntersect (l.getX1 (), l.getY1 (), l.getX2 (), l.getY2 (), this.getX1 (), this.getY1 (), this.getX2 (), this.getY2 ());
\r
51 }, "java.awt.geom.Line2D");
\r
52 c$.ptSegDistSq = Clazz.defineMethod (c$, "ptSegDistSq",
\r
53 function (x1, y1, x2, y2, px, py) {
\r
58 var dotprod = px * x2 + py * y2;
\r
60 if (dotprod <= 0.0) {
\r
65 dotprod = px * x2 + py * y2;
\r
66 if (dotprod <= 0.0) {
\r
69 projlenSq = dotprod * dotprod / (x2 * x2 + y2 * y2);
\r
70 }}var lenSq = px * px + py * py - projlenSq;
\r
74 }, "~N,~N,~N,~N,~N,~N");
\r
75 c$.ptSegDist = Clazz.defineMethod (c$, "ptSegDist",
\r
76 function (x1, y1, x2, y2, px, py) {
\r
77 return Math.sqrt (java.awt.geom.Line2D.ptSegDistSq (x1, y1, x2, y2, px, py));
\r
78 }, "~N,~N,~N,~N,~N,~N");
\r
79 Clazz.defineMethod (c$, "ptSegDistSq",
\r
81 return java.awt.geom.Line2D.ptSegDistSq (this.getX1 (), this.getY1 (), this.getX2 (), this.getY2 (), px, py);
\r
83 Clazz.defineMethod (c$, "ptSegDistSq",
\r
85 return java.awt.geom.Line2D.ptSegDistSq (this.getX1 (), this.getY1 (), this.getX2 (), this.getY2 (), pt.getX (), pt.getY ());
\r
86 }, "java.awt.geom.Point2D");
\r
87 Clazz.defineMethod (c$, "ptSegDist",
\r
89 return java.awt.geom.Line2D.ptSegDist (this.getX1 (), this.getY1 (), this.getX2 (), this.getY2 (), px, py);
\r
91 Clazz.defineMethod (c$, "ptSegDist",
\r
93 return java.awt.geom.Line2D.ptSegDist (this.getX1 (), this.getY1 (), this.getX2 (), this.getY2 (), pt.getX (), pt.getY ());
\r
94 }, "java.awt.geom.Point2D");
\r
95 c$.ptLineDistSq = Clazz.defineMethod (c$, "ptLineDistSq",
\r
96 function (x1, y1, x2, y2, px, py) {
\r
101 var dotprod = px * x2 + py * y2;
\r
102 var projlenSq = dotprod * dotprod / (x2 * x2 + y2 * y2);
\r
103 var lenSq = px * px + py * py - projlenSq;
\r
107 }, "~N,~N,~N,~N,~N,~N");
\r
108 c$.ptLineDist = Clazz.defineMethod (c$, "ptLineDist",
\r
109 function (x1, y1, x2, y2, px, py) {
\r
110 return Math.sqrt (java.awt.geom.Line2D.ptLineDistSq (x1, y1, x2, y2, px, py));
\r
111 }, "~N,~N,~N,~N,~N,~N");
\r
112 Clazz.defineMethod (c$, "ptLineDistSq",
\r
113 function (px, py) {
\r
114 return java.awt.geom.Line2D.ptLineDistSq (this.getX1 (), this.getY1 (), this.getX2 (), this.getY2 (), px, py);
\r
116 Clazz.defineMethod (c$, "ptLineDistSq",
\r
118 return java.awt.geom.Line2D.ptLineDistSq (this.getX1 (), this.getY1 (), this.getX2 (), this.getY2 (), pt.getX (), pt.getY ());
\r
119 }, "java.awt.geom.Point2D");
\r
120 Clazz.defineMethod (c$, "ptLineDist",
\r
121 function (px, py) {
\r
122 return java.awt.geom.Line2D.ptLineDist (this.getX1 (), this.getY1 (), this.getX2 (), this.getY2 (), px, py);
\r
124 Clazz.defineMethod (c$, "ptLineDist",
\r
126 return java.awt.geom.Line2D.ptLineDist (this.getX1 (), this.getY1 (), this.getX2 (), this.getY2 (), pt.getX (), pt.getY ());
\r
127 }, "java.awt.geom.Point2D");
\r
128 Clazz.defineMethod (c$, "contains",
\r
132 Clazz.defineMethod (c$, "contains",
\r
135 }, "java.awt.geom.Point2D");
\r
136 Clazz.defineMethod (c$, "intersects",
\r
137 function (x, y, w, h) {
\r
138 return this.intersects ( new java.awt.geom.Rectangle2D.Double (x, y, w, h));
\r
140 Clazz.defineMethod (c$, "intersects",
\r
142 return r.intersectsLine (this.getX1 (), this.getY1 (), this.getX2 (), this.getY2 ());
\r
143 }, "java.awt.geom.Rectangle2D");
\r
144 Clazz.defineMethod (c$, "contains",
\r
145 function (x, y, w, h) {
\r
148 Clazz.defineMethod (c$, "contains",
\r
151 }, "java.awt.geom.Rectangle2D");
\r
152 Clazz.overrideMethod (c$, "getBounds",
\r
154 return this.getBounds2D ().getBounds ();
\r
156 Clazz.defineMethod (c$, "getPathIterator",
\r
158 return new java.awt.geom.LineIterator (this, at);
\r
159 }, "java.awt.geom.AffineTransform");
\r
160 Clazz.defineMethod (c$, "getPathIterator",
\r
161 function (at, flatness) {
\r
162 return new java.awt.geom.LineIterator (this, at);
\r
163 }, "java.awt.geom.AffineTransform,~N");
\r
164 Clazz.defineMethod (c$, "clone",
\r
167 return Clazz.superCall (this, java.awt.geom.Line2D, "clone", []);
\r
169 if (Clazz.exceptionOf (e, CloneNotSupportedException)) {
\r
170 throw new InternalError ();
\r
176 Clazz.pu$h(self.c$);
\r
177 c$ = Clazz.decorateAsClass (function () {
\r
182 Clazz.instantialize (this, arguments);
\r
183 }, java.awt.geom.Line2D, "Float", java.awt.geom.Line2D);
\r
184 Clazz.makeConstructor (c$,
\r
186 Clazz.superConstructor (this, java.awt.geom.Line2D.Float, []);
\r
188 Clazz.makeConstructor (c$,
\r
189 function (a, b, c, d) {
\r
190 Clazz.superConstructor (this, java.awt.geom.Line2D.Float, []);
\r
191 this.setLine (a, b, c, d);
\r
193 Clazz.makeConstructor (c$,
\r
195 Clazz.superConstructor (this, java.awt.geom.Line2D.Float, []);
\r
196 this.setLine (a, b);
\r
197 }, "java.awt.geom.Point2D,java.awt.geom.Point2D");
\r
198 Clazz.overrideMethod (c$, "getX1",
\r
202 Clazz.overrideMethod (c$, "getY1",
\r
206 Clazz.overrideMethod (c$, "getP1",
\r
208 return new java.awt.geom.Point2D.Float (this.x1, this.y1);
\r
210 Clazz.overrideMethod (c$, "getX2",
\r
214 Clazz.overrideMethod (c$, "getY2",
\r
218 Clazz.overrideMethod (c$, "getP2",
\r
220 return new java.awt.geom.Point2D.Float (this.x2, this.y2);
\r
222 Clazz.defineMethod (c$, "setLine",
\r
223 function (a, b, c, d) {
\r
229 Clazz.defineMethod (c$, "setLine",
\r
230 function (a, b, c, d) {
\r
236 Clazz.overrideMethod (c$, "getBounds2D",
\r
242 if (this.x1 < this.x2) {
\r
244 c = this.x2 - this.x1;
\r
247 c = this.x1 - this.x2;
\r
248 }if (this.y1 < this.y2) {
\r
250 d = this.y2 - this.y1;
\r
253 d = this.y1 - this.y2;
\r
254 }return new java.awt.geom.Rectangle2D.Float (a, b, c, d);
\r
257 Clazz.pu$h(self.c$);
\r
258 c$ = Clazz.decorateAsClass (function () {
\r
263 Clazz.instantialize (this, arguments);
\r
264 }, java.awt.geom.Line2D, "Double", java.awt.geom.Line2D);
\r
265 Clazz.makeConstructor (c$,
\r
267 Clazz.superConstructor (this, java.awt.geom.Line2D.Double, []);
\r
269 Clazz.makeConstructor (c$,
\r
270 function (a, b, c, d) {
\r
271 Clazz.superConstructor (this, java.awt.geom.Line2D.Double, []);
\r
272 this.setLine (a, b, c, d);
\r
274 Clazz.makeConstructor (c$,
\r
276 Clazz.superConstructor (this, java.awt.geom.Line2D.Double, []);
\r
277 this.setLine (a, b);
\r
278 }, "java.awt.geom.Point2D,java.awt.geom.Point2D");
\r
279 Clazz.overrideMethod (c$, "getX1",
\r
283 Clazz.overrideMethod (c$, "getY1",
\r
287 Clazz.overrideMethod (c$, "getP1",
\r
289 return new java.awt.geom.Point2D.Double (this.x1, this.y1);
\r
291 Clazz.overrideMethod (c$, "getX2",
\r
295 Clazz.overrideMethod (c$, "getY2",
\r
299 Clazz.overrideMethod (c$, "getP2",
\r
301 return new java.awt.geom.Point2D.Double (this.x2, this.y2);
\r
303 Clazz.defineMethod (c$, "setLine",
\r
304 function (a, b, c, d) {
\r
310 Clazz.overrideMethod (c$, "getBounds2D",
\r
316 if (this.x1 < this.x2) {
\r
318 c = this.x2 - this.x1;
\r
321 c = this.x1 - this.x2;
\r
322 }if (this.y1 < this.y2) {
\r
324 d = this.y2 - this.y1;
\r
327 d = this.y1 - this.y2;
\r
328 }return new java.awt.geom.Rectangle2D.Double (a, b, c, d);
\r