1 package net.mograsim.logic.model.util;
3 import net.mograsim.logic.model.model.LogicModelModifiable;
4 import net.mograsim.logic.model.model.components.ModelComponent;
5 import net.mograsim.logic.model.model.wires.ModelWire;
6 import net.mograsim.logic.model.model.wires.Pin;
7 import net.mograsim.logic.model.model.wires.ModelWireCrossPoint;
9 public class ModellingTool
11 private LogicModelModifiable model;
13 ModellingTool(LogicModelModifiable model)
18 public ModelWire connect(ModelComponent a, ModelComponent b, String pinA, String pinB)
20 return connect(null, a, b, pinA, pinB);
23 public ModelWire connect(ModelWireCrossPoint a, ModelComponent b, String pinB)
25 return connect(null, a, b, pinB);
28 public ModelWire connect(Pin a, ModelComponent b, String pinB)
30 return connect(null, a, b, pinB);
33 public ModelWire connect(ModelComponent a, ModelWireCrossPoint b, String pinA)
35 return connect(null, a, b, pinA);
38 public ModelWire connect(ModelWireCrossPoint a, ModelWireCrossPoint b)
40 return connect(null, a, b);
43 public ModelWire connect(Pin a, ModelWireCrossPoint b)
45 return connect(null, a, b);
48 public ModelWire connect(ModelComponent a, Pin b, String pinA)
50 return connect(null, a, b, pinA);
53 public ModelWire connect(ModelWireCrossPoint a, Pin b)
55 return connect(null, a, b);
58 public ModelWire connect(Pin a, Pin b)
60 return connect(null, a, b);
63 public ModelWire connect(String name, ModelComponent a, ModelComponent b, String pinA, String pinB)
65 return connect(name, a.getPin(pinA), b.getPin(pinB));
68 public ModelWire connect(String name, ModelWireCrossPoint a, ModelComponent b, String pinB)
70 return connect(name, a.getPin(), b.getPin(pinB));
73 public ModelWire connect(String name, Pin a, ModelComponent b, String pinB)
75 return connect(name, a, b.getPin(pinB));
78 public ModelWire connect(String name, ModelComponent a, ModelWireCrossPoint b, String pinA)
80 return connect(name, a.getPin(pinA), b.getPin());
83 public ModelWire connect(String name, ModelWireCrossPoint a, ModelWireCrossPoint b)
85 return connect(name, a.getPin(), b.getPin());
88 public ModelWire connect(String name, Pin a, ModelWireCrossPoint b)
90 return connect(name, a, b.getPin());
93 public ModelWire connect(String name, ModelComponent a, Pin b, String pinA)
95 return connect(name, a.getPin(pinA), b);
98 public ModelWire connect(String name, ModelWireCrossPoint a, Pin b)
100 return connect(name, a.getPin(), b);
103 public ModelWire connect(String name, Pin a, Pin b)
105 return new ModelWire(model, name, a, b);
108 public static ModellingTool createFor(LogicModelModifiable model)
110 return new ModellingTool(model);