Multi-layer PCB support

This commit is contained in:
bancika
2012-08-24 11:12:35 +00:00
parent 30ab42a47b
commit 4b2242336a
5 changed files with 57 additions and 0 deletions
@@ -5,6 +5,7 @@ import java.awt.Graphics2D;
import java.awt.Shape;
import org.diylc.common.ObjectCache;
import org.diylc.common.PCBLayer;
import org.diylc.components.AbstractLeadedComponent;
import org.diylc.core.ComponentState;
import org.diylc.core.CreationMethod;
@@ -26,6 +27,7 @@ public class CopperTrace extends AbstractLeadedComponent<Void> {
private Color leadColor = COLOR;
private Size thickness = THICKNESS;
private PCBLayer layer = PCBLayer._1;
@Override
public void drawIcon(Graphics2D g2d, int width, int height) {
@@ -63,6 +65,18 @@ public class CopperTrace extends AbstractLeadedComponent<Void> {
this.thickness = thickness;
}
@EditableProperty
public PCBLayer getLayer() {
if (layer == null) {
layer = PCBLayer._1;
}
return layer;
}
public void setLayer(PCBLayer layer) {
this.layer = layer;
}
@Override
protected int getLeadThickness() {
return (int) getThickness().convertToPixels();
@@ -5,6 +5,7 @@ import java.awt.Graphics2D;
import java.awt.geom.CubicCurve2D;
import org.diylc.common.ObjectCache;
import org.diylc.common.PCBLayer;
import org.diylc.components.AbstractCurvedComponent;
import org.diylc.core.ComponentState;
import org.diylc.core.IDIYComponent;
@@ -23,6 +24,7 @@ public class CurvedTrace extends AbstractCurvedComponent<Void> {
public static Size SIZE = new Size(1d, SizeUnit.mm);
protected Size size = SIZE;
private PCBLayer layer = PCBLayer._1;
@Override
protected Color getDefaultColor() {
@@ -47,6 +49,18 @@ public class CurvedTrace extends AbstractCurvedComponent<Void> {
public void setThickness(Size size) {
this.size = size;
}
@EditableProperty
public PCBLayer getLayer() {
if (layer == null) {
layer = PCBLayer._1;
}
return layer;
}
public void setLayer(PCBLayer layer) {
this.layer = layer;
}
@Override
public Void getValue() {
@@ -6,6 +6,7 @@ import java.awt.Point;
import java.util.Arrays;
import org.diylc.common.ObjectCache;
import org.diylc.common.PCBLayer;
import org.diylc.components.AbstractComponent;
import org.diylc.core.ComponentState;
import org.diylc.core.IDIYComponent;
@@ -36,6 +37,7 @@ public class GroundFill extends AbstractComponent<Void> {
protected Color color = COLOR;
protected PointCount pointCount = PointCount._4;
private PCBLayer layer = PCBLayer._1;
@Override
public void draw(Graphics2D g2d, ComponentState componentState,
@@ -113,6 +115,19 @@ public class GroundFill extends AbstractComponent<Void> {
}
this.pointCount = pointCount;
}
@EditableProperty
public PCBLayer getLayer() {
if (layer == null) {
layer = PCBLayer._1;
}
return layer;
}
public void setLayer(PCBLayer layer) {
this.layer = layer;
}
@Deprecated
@Override
@@ -4,6 +4,7 @@ import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.Point;
import org.diylc.common.PCBLayer;
import org.diylc.components.AbstractComponent;
import org.diylc.core.ComponentState;
import org.diylc.core.IDIYComponent;
@@ -31,6 +32,7 @@ public class SolderPad extends AbstractComponent<Void> {
private Point point = new Point(0, 0);
private Type type = Type.ROUND;
private Size holeSize = HOLE_SIZE;
private PCBLayer layer = PCBLayer._1;
@Override
public void draw(Graphics2D g2d, ComponentState componentState, boolean outlineMode,
@@ -83,6 +85,18 @@ public class SolderPad extends AbstractComponent<Void> {
public void setHoleSize(Size holeSize) {
this.holeSize = holeSize;
}
@EditableProperty
public PCBLayer getLayer() {
if (layer == null) {
layer = PCBLayer._1;
}
return layer;
}
public void setLayer(PCBLayer layer) {
this.layer = layer;
}
@Override
public String getName() {