public override void LayoutSymbol(SymbolLayout Sym) { base.LayoutSymbol(Sym); Sym.InBounds(new Coord(-10, -20), new Coord(10, 20)); Sym.DrawPositive(EdgeType.Black, new Coord(0, 15)); Sym.DrawNegative(EdgeType.Black, new Coord(0, -15)); Sym.DrawText(() => Name.ToString(), new Point(0, 0), Alignment.Center, Alignment.Center); }
public override void LayoutSymbol(SymbolLayout Sym) { base.LayoutSymbol(Sym); int w = 10; Sym.AddLine(EdgeType.Black, new Coord(-w, 20), new Coord(w, 20)); Sym.DrawPositive(EdgeType.Black, new Coord(0, 15)); Sym.AddLine(EdgeType.Black, new Coord(-w, -20), new Coord(w, -20)); Sym.DrawNegative(EdgeType.Black, new Coord(0, -15)); Sym.DrawText(() => Name, new Point(0, 0), Alignment.Center, Alignment.Center); }
public static void LayoutSymbol(SymbolLayout Sym, Terminal p, Terminal n, Terminal o, Terminal vp, Terminal vn, Func <string> Name, Func <string> Part) { IdealOpAmp.LayoutSymbol(Sym, p, n, o, Name); Sym.AddTerminal(vn, new Coord(0, -20), new Coord(0, -10)); Sym.DrawNegative(EdgeType.Black, new Coord(5, -13)); Sym.AddTerminal(vp, new Coord(0, 20), new Coord(0, 10)); Sym.DrawPositive(EdgeType.Black, new Coord(5, 13)); if (Part != null) { Sym.DrawText(Part, new Coord(12, 4), Alignment.Near, Alignment.Near); } }
public static void LayoutSymbol(SymbolLayout Sym, Terminal p, Terminal n, Terminal o, Func <string> Name) { Sym.AddTerminal(p, new Coord(-20, -10)); Sym.DrawPositive(EdgeType.Black, new Coord(-15, -10)); Sym.AddTerminal(n, new Coord(-20, 10)); Sym.DrawNegative(EdgeType.Black, new Coord(-15, 10)); Sym.AddTerminal(o, new Coord(20, 0)); Sym.AddWire(o, new Coord(20, 0)); Sym.AddLoop(EdgeType.Black, new Coord(-20, 20), new Coord(-20, -20), new Coord(20, 0)); Sym.DrawText(Name, new Coord(12, -4), Alignment.Near, Alignment.Far); }
public static void LayoutSymbol(SymbolLayout Sym, Terminal p, Terminal n, Terminal o, Func<string> Name) { Sym.AddTerminal(p, new Coord(-20, -10)); Sym.DrawPositive(EdgeType.Black, new Coord(-15, -10)); Sym.AddTerminal(n, new Coord(-20, 10)); Sym.DrawNegative(EdgeType.Black, new Coord(-15, 10)); Sym.AddTerminal(o, new Coord(20, 0)); Sym.AddWire(o, new Coord(20, 0)); Sym.AddLoop(EdgeType.Black, new Coord(-20, 20), new Coord(-20, -20), new Coord(20, 0)); Sym.DrawText(Name, new Coord(12, -4), Alignment.Near, Alignment.Far); }
public override sealed void LayoutSymbol(SymbolLayout Sym) { Sym.InBounds(new Coord(-20, -20), new Coord(10, 20)); Sym.AddTerminal(Anode, new Coord(-10, 20), new Coord(-10, 16)); Sym.DrawPositive(EdgeType.Black, new Coord(-16, 16)); Sym.AddTerminal(Cathode, new Coord(-10, -20), new Coord(-10, -16)); Sym.DrawNegative(EdgeType.Black, new Coord(-16, -16)); Sym.AddTerminal(Wiper, new Coord(10, 0)); Sym.DrawArrow(EdgeType.Black, new Coord(10, 0), new Coord(-6, 0), 0.2); Resistor.Draw(Sym, -10, -16, 16, 7); Sym.DrawText(() => Resistance.ToString(), new Coord(-17, 0), Alignment.Far, Alignment.Center); Sym.DrawText(() => Wipe.ToString("G3"), new Coord(-4, 4), Alignment.Near, Alignment.Near); Sym.DrawText(() => Name, new Coord(-4, -4), Alignment.Near, Alignment.Far); }
public override void LayoutSymbol(SymbolLayout Sym) { base.LayoutSymbol(Sym); int r = 10; Sym.AddWire(Anode, new Coord(0, r)); Sym.AddWire(Cathode, new Coord(0, -r)); Sym.AddCircle(EdgeType.Black, new Coord(0, 0), r); Sym.DrawPositive(EdgeType.Black, new Coord(0, 7)); Sym.DrawNegative(EdgeType.Black, new Coord(0, -7)); if (!((Expression)Voltage is Constant)) { Sym.DrawFunction( EdgeType.Black, (t) => t * r * 0.75, (t) => Math.Sin(t * 3.1415) * r * 0.5, -1, 1); } Sym.DrawText(() => Voltage.ToString(), new Point(r * 0.7, r * 0.7), Alignment.Near, Alignment.Near); Sym.DrawText(() => Name, new Point(r * 0.7, r * -0.7), Alignment.Near, Alignment.Far); }
public override void LayoutSymbol(SymbolLayout Sym) { base.LayoutSymbol(Sym); int r = 10; Sym.AddWire(Anode, new Coord(0, r)); Sym.AddWire(Cathode, new Coord(0, -r)); Sym.AddCircle(EdgeType.Black, new Coord(0, 0), r); Sym.DrawPositive(EdgeType.Black, new Coord(0, 7)); Sym.DrawNegative(EdgeType.Black, new Coord(0, -7)); if (!((Expression)Voltage is Constant)) Sym.DrawFunction( EdgeType.Black, (t) => t * r * 0.75, (t) => Math.Sin(t * 3.1415) * r * 0.5, -1, 1); Sym.DrawText(() => Voltage.ToString(), new Point(r * 0.7, r * 0.7), Alignment.Near, Alignment.Near); Sym.DrawText(() => Name, new Point(r * 0.7, r * -0.7), Alignment.Near, Alignment.Far); }
public static void LayoutSymbol(SymbolLayout Sym, Terminal p, Terminal n, Terminal o, Terminal vp, Terminal vn, Func<string> Name, Func<string> Part) { IdealOpAmp.LayoutSymbol(Sym, p, n, o, Name); Sym.AddTerminal(vn, new Coord(0, -20), new Coord(0, -10)); Sym.DrawNegative(EdgeType.Black, new Coord(5, -13)); Sym.AddTerminal(vp, new Coord(0, 20), new Coord(0, 10)); Sym.DrawPositive(EdgeType.Black, new Coord(5, 13)); if (Part != null) Sym.DrawText(Part, new Coord(12, 4), Alignment.Near, Alignment.Near); }