mirror of
https://github.com/bancika/diy-layout-creator
synced 2026-11-10 17:22:09 +10:00
flip rca pins
This commit is contained in:
Binary file not shown.
@@ -117,10 +117,11 @@ public class RCAJack extends AbstractMultiPartComponent<String> {
|
|||||||
|
|
||||||
drawingObserver.startTrackingContinuityArea(true);
|
drawingObserver.startTrackingContinuityArea(true);
|
||||||
g2d.fill(body[1]);
|
g2d.fill(body[1]);
|
||||||
g2d.fill(body[2]);
|
g2d.fill(body[2]);
|
||||||
|
drawingObserver.stopTrackingContinuityArea();
|
||||||
|
|
||||||
if (body[3] != null)
|
if (body[3] != null)
|
||||||
g2d.fill(body[3]);
|
g2d.fill(body[3]);
|
||||||
drawingObserver.stopTrackingContinuityArea();
|
|
||||||
|
|
||||||
g2d.setComposite(oldComposite);
|
g2d.setComposite(oldComposite);
|
||||||
|
|
||||||
@@ -144,11 +145,11 @@ public class RCAJack extends AbstractMultiPartComponent<String> {
|
|||||||
public Area[] getBody() {
|
public Area[] getBody() {
|
||||||
if (body == null) {
|
if (body == null) {
|
||||||
body = new Area[4];
|
body = new Area[4];
|
||||||
|
|
||||||
int x0 = controlPoints[0].x;
|
int x0 = controlPoints[0].x;
|
||||||
int y0 = controlPoints[0].y;
|
int y0 = controlPoints[0].y;
|
||||||
int x1 = controlPoints[1].x;
|
int x1 = controlPoints[1].x;
|
||||||
int y1 = controlPoints[1].y;
|
int y1 = controlPoints[1].y;
|
||||||
int bodyDiameter = getClosestOdd(BODY_DIAMETER.convertToPixels());
|
int bodyDiameter = getClosestOdd(BODY_DIAMETER.convertToPixels());
|
||||||
int waferDiameter = getClosestOdd(WAFER_DIAMETER.convertToPixels());
|
int waferDiameter = getClosestOdd(WAFER_DIAMETER.convertToPixels());
|
||||||
int springWidth = (int) SPRING_WIDTH.convertToPixels();
|
int springWidth = (int) SPRING_WIDTH.convertToPixels();
|
||||||
@@ -156,33 +157,33 @@ public class RCAJack extends AbstractMultiPartComponent<String> {
|
|||||||
double hexDiameter = HEX_DIAMETER.convertToPixels();
|
double hexDiameter = HEX_DIAMETER.convertToPixels();
|
||||||
|
|
||||||
Area wafer =
|
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));
|
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)));
|
holeDiameter)));
|
||||||
|
|
||||||
body[0] = wafer;
|
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(
|
tip.subtract(new Area(
|
||||||
new Ellipse2D.Double(x0 - holeDiameter / 2, y0 - holeDiameter / 2, holeDiameter, holeDiameter)));
|
new Ellipse2D.Double(x1 - holeDiameter / 2, y1 - holeDiameter / 2, holeDiameter, holeDiameter)));
|
||||||
tip.subtract(new Area(new Ellipse2D.Double(x1 - waferDiameter / 2, y1 - waferDiameter / 2, waferDiameter,
|
tip.subtract(new Area(new Ellipse2D.Double(x0 - waferDiameter / 2, y0 - waferDiameter / 2, waferDiameter,
|
||||||
waferDiameter)));
|
waferDiameter)));
|
||||||
|
|
||||||
body[1] = tip;
|
body[1] = tip;
|
||||||
|
|
||||||
Area sleeve =
|
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));
|
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)));
|
holeDiameter)));
|
||||||
|
|
||||||
body[2] = sleeve;
|
body[2] = sleeve;
|
||||||
|
|
||||||
Path2D hex = new Path2D.Double();
|
Path2D hex = new Path2D.Double();
|
||||||
for (int i = 0; i < 6; i++) {
|
for (int i = 0; i < 6; i++) {
|
||||||
double x = x1 + Math.cos(Math.PI / 3 * i) * hexDiameter / 2;
|
double x = x0 + Math.cos(Math.PI / 3 * i) * hexDiameter / 2;
|
||||||
double y = y1 + Math.sin(Math.PI / 3 * i) * hexDiameter / 2;
|
double y = y0 + Math.sin(Math.PI / 3 * i) * hexDiameter / 2;
|
||||||
if (i == 0)
|
if (i == 0)
|
||||||
hex.moveTo(x, y);
|
hex.moveTo(x, y);
|
||||||
else
|
else
|
||||||
@@ -190,7 +191,7 @@ public class RCAJack extends AbstractMultiPartComponent<String> {
|
|||||||
}
|
}
|
||||||
hex.closePath();
|
hex.closePath();
|
||||||
Area hexArea = new Area(hex);
|
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)));
|
waferDiameter)));
|
||||||
body[3] = hexArea;
|
body[3] = hexArea;
|
||||||
}
|
}
|
||||||
|
|||||||
Binary file not shown.
Reference in New Issue
Block a user