diff --git a/diylc/diylc-library/lib/diylc-core.jar b/diylc/diylc-library/lib/diylc-core.jar index 31ef4eb5..985a3c07 100644 Binary files a/diylc/diylc-library/lib/diylc-core.jar and b/diylc/diylc-library/lib/diylc-core.jar differ diff --git a/diylc/diylc-library/src/org/diylc/components/electromechanical/RCAJack.java b/diylc/diylc-library/src/org/diylc/components/electromechanical/RCAJack.java index 1c48698c..587db779 100644 --- a/diylc/diylc-library/src/org/diylc/components/electromechanical/RCAJack.java +++ b/diylc/diylc-library/src/org/diylc/components/electromechanical/RCAJack.java @@ -117,10 +117,11 @@ public class RCAJack extends AbstractMultiPartComponent { drawingObserver.startTrackingContinuityArea(true); g2d.fill(body[1]); - g2d.fill(body[2]); + g2d.fill(body[2]); + drawingObserver.stopTrackingContinuityArea(); + if (body[3] != null) - g2d.fill(body[3]); - drawingObserver.stopTrackingContinuityArea(); + g2d.fill(body[3]); g2d.setComposite(oldComposite); @@ -144,11 +145,11 @@ public class RCAJack extends AbstractMultiPartComponent { public Area[] getBody() { if (body == null) { body = new Area[4]; - - int x0 = controlPoints[0].x; - int y0 = controlPoints[0].y; - int x1 = controlPoints[1].x; - int y1 = controlPoints[1].y; + + int x0 = controlPoints[0].x; + int y0 = controlPoints[0].y; + int x1 = controlPoints[1].x; + int y1 = controlPoints[1].y; int bodyDiameter = getClosestOdd(BODY_DIAMETER.convertToPixels()); int waferDiameter = getClosestOdd(WAFER_DIAMETER.convertToPixels()); int springWidth = (int) SPRING_WIDTH.convertToPixels(); @@ -156,33 +157,33 @@ public class RCAJack extends AbstractMultiPartComponent { double hexDiameter = HEX_DIAMETER.convertToPixels(); Area wafer = - new Area(new Ellipse2D.Double(x1 - waferDiameter / 2, y1 - waferDiameter / 2, waferDiameter, + new Area(new Ellipse2D.Double(x0 - waferDiameter / 2, y0 - waferDiameter / 2, waferDiameter, waferDiameter)); - wafer.subtract(new Area(new Ellipse2D.Double(x1 - holeDiameter / 2, y1 - holeDiameter / 2, holeDiameter, + wafer.subtract(new Area(new Ellipse2D.Double(x0 - holeDiameter / 2, y0 - holeDiameter / 2, holeDiameter, holeDiameter))); body[0] = wafer; - Area tip = new TwoCircleTangent(controlPoints[1], controlPoints[0], bodyDiameter / 2, springWidth / 2); + Area tip = new TwoCircleTangent(controlPoints[0], controlPoints[1], bodyDiameter / 2, springWidth / 2); tip.subtract(new Area( - new Ellipse2D.Double(x0 - holeDiameter / 2, y0 - holeDiameter / 2, holeDiameter, holeDiameter))); - tip.subtract(new Area(new Ellipse2D.Double(x1 - waferDiameter / 2, y1 - waferDiameter / 2, waferDiameter, + new Ellipse2D.Double(x1 - holeDiameter / 2, y1 - holeDiameter / 2, holeDiameter, holeDiameter))); + tip.subtract(new Area(new Ellipse2D.Double(x0 - waferDiameter / 2, y0 - waferDiameter / 2, waferDiameter, waferDiameter))); body[1] = tip; Area sleeve = - new Area(new Ellipse2D.Double(x1 - springWidth / 2, y1 - springWidth / 2, + new Area(new Ellipse2D.Double(x0 - springWidth / 2, y0 - springWidth / 2, springWidth, springWidth)); - sleeve.subtract(new Area(new Ellipse2D.Double(x1 - holeDiameter / 2, y1 - holeDiameter / 2, holeDiameter, + sleeve.subtract(new Area(new Ellipse2D.Double(x0 - holeDiameter / 2, y0 - holeDiameter / 2, holeDiameter, holeDiameter))); body[2] = sleeve; Path2D hex = new Path2D.Double(); for (int i = 0; i < 6; i++) { - double x = x1 + Math.cos(Math.PI / 3 * i) * hexDiameter / 2; - double y = y1 + Math.sin(Math.PI / 3 * i) * hexDiameter / 2; + double x = x0 + Math.cos(Math.PI / 3 * i) * hexDiameter / 2; + double y = y0 + Math.sin(Math.PI / 3 * i) * hexDiameter / 2; if (i == 0) hex.moveTo(x, y); else @@ -190,7 +191,7 @@ public class RCAJack extends AbstractMultiPartComponent { } hex.closePath(); Area hexArea = new Area(hex); - hexArea.subtract(new Area(new Ellipse2D.Double(x1 - waferDiameter / 2, y1 - waferDiameter / 2, waferDiameter, + hexArea.subtract(new Area(new Ellipse2D.Double(x0 - waferDiameter / 2, y0 - waferDiameter / 2, waferDiameter, waferDiameter))); body[3] = hexArea; } diff --git a/diylc/diylc-swing/library/main.jar b/diylc/diylc-swing/library/main.jar index 5e796760..3fd92285 100644 Binary files a/diylc/diylc-swing/library/main.jar and b/diylc/diylc-swing/library/main.jar differ