From: Daniel Kirschten Date: Sun, 13 Dec 2020 02:47:54 +0000 (+0100) Subject: Added ModelSplitter.getOutputPin(int) X-Git-Url: https://mograsim.net/gitweb/?p=Mograsim.git;a=commitdiff_plain;h=64f58916741f4bc74139e071649258a4de1ffecb Added ModelSplitter.getOutputPin(int) --- diff --git a/plugins/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/ModelSplitter.java b/plugins/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/ModelSplitter.java index 035e359c..19ed99ed 100644 --- a/plugins/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/ModelSplitter.java +++ b/plugins/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/ModelSplitter.java @@ -36,6 +36,7 @@ public class ModelSplitter extends ModelComponent public final int logicWidth; private final OrientationCalculator oc; private final Pin inputPin; + private final Pin[] outputPins; private ReadEnd inputEnd; private final ReadEnd[] outputEnds; @@ -55,8 +56,10 @@ public class ModelSplitter extends ModelComponent double inLineY = (logicWidth - 1) * heightPerPin / 2; addPin(this.inputPin = new Pin(model, this, "I", logicWidth, PinUsage.TRISTATE, oc.newX(0, inLineY), oc.newY(0, inLineY))); double outputHeight = (logicWidth - 1) * heightPerPin; + this.outputPins = new Pin[logicWidth]; for (int i = 0; i < logicWidth; i++, outputHeight -= 10) - addPin(new Pin(model, this, "O" + i, 1, PinUsage.TRISTATE, oc.newX(width, outputHeight), oc.newY(width, outputHeight))); + addPin(outputPins[i] = new Pin(model, this, "O" + i, 1, PinUsage.TRISTATE, oc.newX(width, outputHeight), + oc.newY(width, outputHeight))); outputEnds = new ReadEnd[logicWidth]; init(); @@ -123,6 +126,11 @@ public class ModelSplitter extends ModelComponent return inputPin; } + public Pin getOutputPin(int i) + { + return outputPins[i]; + } + /** * Used to leave bit order intuitive (MSB left or on top) */