@skillpet/circuit 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +131 -0
- package/dist/circuit.bundle.js +31103 -0
- package/dist/circuit.bundle.js.map +7 -0
- package/dist/circuit.bundle.min.js +273 -0
- package/dist/circuit.bundle.min.js.map +7 -0
- package/dist/circuit.esm.js +31069 -0
- package/dist/circuit.esm.js.map +7 -0
- package/dist/config.d.ts +26 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +23 -0
- package/dist/config.js.map +1 -0
- package/dist/container.d.ts +32 -0
- package/dist/container.d.ts.map +1 -0
- package/dist/container.js +101 -0
- package/dist/container.js.map +1 -0
- package/dist/drawing-gradient.d.ts +13 -0
- package/dist/drawing-gradient.d.ts.map +1 -0
- package/dist/drawing-gradient.js +39 -0
- package/dist/drawing-gradient.js.map +1 -0
- package/dist/drawing-stack.d.ts +16 -0
- package/dist/drawing-stack.d.ts.map +1 -0
- package/dist/drawing-stack.js +32 -0
- package/dist/drawing-stack.js.map +1 -0
- package/dist/drawing-transition.d.ts +34 -0
- package/dist/drawing-transition.d.ts.map +1 -0
- package/dist/drawing-transition.js +181 -0
- package/dist/drawing-transition.js.map +1 -0
- package/dist/drawing.d.ts +117 -0
- package/dist/drawing.d.ts.map +1 -0
- package/dist/drawing.js +337 -0
- package/dist/drawing.js.map +1 -0
- package/dist/element-label.d.ts +54 -0
- package/dist/element-label.d.ts.map +1 -0
- package/dist/element-label.js +377 -0
- package/dist/element-label.js.map +1 -0
- package/dist/element-style.d.ts +34 -0
- package/dist/element-style.d.ts.map +1 -0
- package/dist/element-style.js +51 -0
- package/dist/element-style.js.map +1 -0
- package/dist/element.d.ts +114 -0
- package/dist/element.d.ts.map +1 -0
- package/dist/element.js +514 -0
- package/dist/element.js.map +1 -0
- package/dist/element2term.d.ts +25 -0
- package/dist/element2term.d.ts.map +1 -0
- package/dist/element2term.js +245 -0
- package/dist/element2term.js.map +1 -0
- package/dist/elements/cables.d.ts +22 -0
- package/dist/elements/cables.d.ts.map +1 -0
- package/dist/elements/cables.js +100 -0
- package/dist/elements/cables.js.map +1 -0
- package/dist/elements/capacitor.d.ts +23 -0
- package/dist/elements/capacitor.d.ts.map +1 -0
- package/dist/elements/capacitor.js +93 -0
- package/dist/elements/capacitor.js.map +1 -0
- package/dist/elements/compound.d.ts +41 -0
- package/dist/elements/compound.d.ts.map +1 -0
- package/dist/elements/compound.js +266 -0
- package/dist/elements/compound.js.map +1 -0
- package/dist/elements/connectors.d.ts +81 -0
- package/dist/elements/connectors.d.ts.map +1 -0
- package/dist/elements/connectors.js +578 -0
- package/dist/elements/connectors.js.map +1 -0
- package/dist/elements/crystal.d.ts +8 -0
- package/dist/elements/crystal.d.ts.map +1 -0
- package/dist/elements/crystal.js +31 -0
- package/dist/elements/crystal.js.map +1 -0
- package/dist/elements/diode-more.d.ts +36 -0
- package/dist/elements/diode-more.d.ts.map +1 -0
- package/dist/elements/diode-more.js +233 -0
- package/dist/elements/diode-more.js.map +1 -0
- package/dist/elements/diode.d.ts +14 -0
- package/dist/elements/diode.d.ts.map +1 -0
- package/dist/elements/diode.js +58 -0
- package/dist/elements/diode.js.map +1 -0
- package/dist/elements/element-compound.d.ts +16 -0
- package/dist/elements/element-compound.d.ts.map +1 -0
- package/dist/elements/element-compound.js +68 -0
- package/dist/elements/element-compound.js.map +1 -0
- package/dist/elements/element-drawing.d.ts +10 -0
- package/dist/elements/element-drawing.d.ts.map +1 -0
- package/dist/elements/element-drawing.js +16 -0
- package/dist/elements/element-drawing.js.map +1 -0
- package/dist/elements/ground.d.ts +6 -0
- package/dist/elements/ground.d.ts.map +1 -0
- package/dist/elements/ground.js +30 -0
- package/dist/elements/ground.js.map +1 -0
- package/dist/elements/ic.d.ts +169 -0
- package/dist/elements/ic.d.ts.map +1 -0
- package/dist/elements/ic.js +816 -0
- package/dist/elements/ic.js.map +1 -0
- package/dist/elements/image.d.ts +9 -0
- package/dist/elements/image.d.ts.map +1 -0
- package/dist/elements/image.js +27 -0
- package/dist/elements/image.js.map +1 -0
- package/dist/elements/inductor.d.ts +15 -0
- package/dist/elements/inductor.d.ts.map +1 -0
- package/dist/elements/inductor.js +111 -0
- package/dist/elements/inductor.js.map +1 -0
- package/dist/elements/line.d.ts +8 -0
- package/dist/elements/line.d.ts.map +1 -0
- package/dist/elements/line.js +14 -0
- package/dist/elements/line.js.map +1 -0
- package/dist/elements/lines-arc-labels.d.ts +223 -0
- package/dist/elements/lines-arc-labels.d.ts.map +1 -0
- package/dist/elements/lines-arc-labels.js +822 -0
- package/dist/elements/lines-arc-labels.js.map +1 -0
- package/dist/elements/lines-elements.d.ts +89 -0
- package/dist/elements/lines-elements.d.ts.map +1 -0
- package/dist/elements/lines-elements.js +271 -0
- package/dist/elements/lines-elements.js.map +1 -0
- package/dist/elements/misc-elements.d.ts +25 -0
- package/dist/elements/misc-elements.d.ts.map +1 -0
- package/dist/elements/misc-elements.js +160 -0
- package/dist/elements/misc-elements.js.map +1 -0
- package/dist/elements/oneterm.d.ts +29 -0
- package/dist/elements/oneterm.d.ts.map +1 -0
- package/dist/elements/oneterm.js +163 -0
- package/dist/elements/oneterm.js.map +1 -0
- package/dist/elements/opamp.d.ts +11 -0
- package/dist/elements/opamp.d.ts.map +1 -0
- package/dist/elements/opamp.js +72 -0
- package/dist/elements/opamp.js.map +1 -0
- package/dist/elements/outlets.d.ts +39 -0
- package/dist/elements/outlets.d.ts.map +1 -0
- package/dist/elements/outlets.js +285 -0
- package/dist/elements/outlets.js.map +1 -0
- package/dist/elements/resistor-more.d.ts +42 -0
- package/dist/elements/resistor-more.d.ts.map +1 -0
- package/dist/elements/resistor-more.js +171 -0
- package/dist/elements/resistor-more.js.map +1 -0
- package/dist/elements/resistor.d.ts +6 -0
- package/dist/elements/resistor.d.ts.map +1 -0
- package/dist/elements/resistor.js +22 -0
- package/dist/elements/resistor.js.map +1 -0
- package/dist/elements/source-v.d.ts +3 -0
- package/dist/elements/source-v.d.ts.map +1 -0
- package/dist/elements/source-v.js +3 -0
- package/dist/elements/source-v.js.map +1 -0
- package/dist/elements/sources.d.ts +111 -0
- package/dist/elements/sources.d.ts.map +1 -0
- package/dist/elements/sources.js +519 -0
- package/dist/elements/sources.js.map +1 -0
- package/dist/elements/switches.d.ts +66 -0
- package/dist/elements/switches.d.ts.map +1 -0
- package/dist/elements/switches.js +328 -0
- package/dist/elements/switches.js.map +1 -0
- package/dist/elements/transformer.d.ts +17 -0
- package/dist/elements/transformer.d.ts.map +1 -0
- package/dist/elements/transformer.js +184 -0
- package/dist/elements/transformer.js.map +1 -0
- package/dist/elements/transistors.d.ts +197 -0
- package/dist/elements/transistors.d.ts.map +1 -0
- package/dist/elements/transistors.js +1009 -0
- package/dist/elements/transistors.js.map +1 -0
- package/dist/elements/tubes.d.ts +70 -0
- package/dist/elements/tubes.d.ts.map +1 -0
- package/dist/elements/tubes.js +386 -0
- package/dist/elements/tubes.js.map +1 -0
- package/dist/elements/twoports.d.ts +47 -0
- package/dist/elements/twoports.d.ts.map +1 -0
- package/dist/elements/twoports.js +231 -0
- package/dist/elements/twoports.js.map +1 -0
- package/dist/elements/twoterm-extras.d.ts +50 -0
- package/dist/elements/twoterm-extras.d.ts.map +1 -0
- package/dist/elements/twoterm-extras.js +243 -0
- package/dist/elements/twoterm-extras.js.map +1 -0
- package/dist/elements/twoterm.d.ts +4 -0
- package/dist/elements/twoterm.d.ts.map +1 -0
- package/dist/elements/twoterm.js +4 -0
- package/dist/elements/twoterm.js.map +1 -0
- package/dist/geometry/point.d.ts +28 -0
- package/dist/geometry/point.d.ts.map +1 -0
- package/dist/geometry/point.js +99 -0
- package/dist/geometry/point.js.map +1 -0
- package/dist/geometry/roundcorners.d.ts +7 -0
- package/dist/geometry/roundcorners.d.ts.map +1 -0
- package/dist/geometry/roundcorners.js +64 -0
- package/dist/geometry/roundcorners.js.map +1 -0
- package/dist/geometry/transform.d.ts +14 -0
- package/dist/geometry/transform.d.ts.map +1 -0
- package/dist/geometry/transform.js +33 -0
- package/dist/geometry/transform.js.map +1 -0
- package/dist/geometry/util.d.ts +12 -0
- package/dist/geometry/util.d.ts.map +1 -0
- package/dist/geometry/util.js +36 -0
- package/dist/geometry/util.js.map +1 -0
- package/dist/index.cjs +31456 -0
- package/dist/index.cjs.map +7 -0
- package/dist/index.d.ts +77 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +68 -0
- package/dist/index.js.map +1 -0
- package/dist/json/anchor-ref.d.ts +5 -0
- package/dist/json/anchor-ref.d.ts.map +1 -0
- package/dist/json/anchor-ref.js +35 -0
- package/dist/json/anchor-ref.js.map +1 -0
- package/dist/json/mount.d.ts +60 -0
- package/dist/json/mount.d.ts.map +1 -0
- package/dist/json/mount.js +369 -0
- package/dist/json/mount.js.map +1 -0
- package/dist/json/registry.d.ts +7 -0
- package/dist/json/registry.d.ts.map +1 -0
- package/dist/json/registry.js +323 -0
- package/dist/json/registry.js.map +1 -0
- package/dist/json/render.d.ts +59 -0
- package/dist/json/render.d.ts.map +1 -0
- package/dist/json/render.js +113 -0
- package/dist/json/render.js.map +1 -0
- package/dist/json/theme.d.ts +18 -0
- package/dist/json/theme.d.ts.map +1 -0
- package/dist/json/theme.js +57 -0
- package/dist/json/theme.js.map +1 -0
- package/dist/json/types.d.ts +42 -0
- package/dist/json/types.d.ts.map +1 -0
- package/dist/json/types.js +2 -0
- package/dist/json/types.js.map +1 -0
- package/dist/json/validate.d.ts +11 -0
- package/dist/json/validate.d.ts.map +1 -0
- package/dist/json/validate.js +77 -0
- package/dist/json/validate.js.map +1 -0
- package/dist/label-hint.d.ts +11 -0
- package/dist/label-hint.d.ts.map +1 -0
- package/dist/label-hint.js +2 -0
- package/dist/label-hint.js.map +1 -0
- package/dist/logic/and.d.ts +13 -0
- package/dist/logic/and.d.ts.map +1 -0
- package/dist/logic/and.js +63 -0
- package/dist/logic/and.js.map +1 -0
- package/dist/logic/bitfield.d.ts +32 -0
- package/dist/logic/bitfield.d.ts.map +1 -0
- package/dist/logic/bitfield.js +271 -0
- package/dist/logic/bitfield.js.map +1 -0
- package/dist/logic/buffer.d.ts +11 -0
- package/dist/logic/buffer.d.ts.map +1 -0
- package/dist/logic/buffer.js +46 -0
- package/dist/logic/buffer.js.map +1 -0
- package/dist/logic/extras.d.ts +36 -0
- package/dist/logic/extras.d.ts.map +1 -0
- package/dist/logic/extras.js +211 -0
- package/dist/logic/extras.js.map +1 -0
- package/dist/logic/kmap.d.ts +16 -0
- package/dist/logic/kmap.d.ts.map +1 -0
- package/dist/logic/kmap.js +163 -0
- package/dist/logic/kmap.js.map +1 -0
- package/dist/logic/or.d.ts +18 -0
- package/dist/logic/or.d.ts.map +1 -0
- package/dist/logic/or.js +117 -0
- package/dist/logic/or.js.map +1 -0
- package/dist/logic/timing.d.ts +44 -0
- package/dist/logic/timing.d.ts.map +1 -0
- package/dist/logic/timing.js +791 -0
- package/dist/logic/timing.js.map +1 -0
- package/dist/logic/tristate.d.ts +11 -0
- package/dist/logic/tristate.d.ts.map +1 -0
- package/dist/logic/tristate.js +48 -0
- package/dist/logic/tristate.js.map +1 -0
- package/dist/math-render.d.ts +9 -0
- package/dist/math-render.d.ts.map +1 -0
- package/dist/math-render.js +53 -0
- package/dist/math-render.js.map +1 -0
- package/dist/package-api.d.ts +20 -0
- package/dist/package-api.d.ts.map +1 -0
- package/dist/package-api.js +75 -0
- package/dist/package-api.js.map +1 -0
- package/dist/params.d.ts +6 -0
- package/dist/params.d.ts.map +1 -0
- package/dist/params.js +35 -0
- package/dist/params.js.map +1 -0
- package/dist/react/index.d.ts +22 -0
- package/dist/react/index.d.ts.map +1 -0
- package/dist/react/index.js +52 -0
- package/dist/react/index.js.map +1 -0
- package/dist/schemdraw-ts.bundle.js +30448 -0
- package/dist/schemdraw-ts.bundle.js.map +7 -0
- package/dist/segment.d.ts +267 -0
- package/dist/segment.d.ts.map +1 -0
- package/dist/segment.js +844 -0
- package/dist/segment.js.map +1 -0
- package/dist/style.d.ts +18 -0
- package/dist/style.d.ts.map +1 -0
- package/dist/style.js +230 -0
- package/dist/style.js.map +1 -0
- package/dist/subsystems/dsp.d.ts +65 -0
- package/dist/subsystems/dsp.d.ts.map +1 -0
- package/dist/subsystems/dsp.js +267 -0
- package/dist/subsystems/dsp.js.map +1 -0
- package/dist/subsystems/flow.d.ts +92 -0
- package/dist/subsystems/flow.d.ts.map +1 -0
- package/dist/subsystems/flow.js +315 -0
- package/dist/subsystems/flow.js.map +1 -0
- package/dist/subsystems/index.d.ts +22 -0
- package/dist/subsystems/index.d.ts.map +1 -0
- package/dist/subsystems/index.js +22 -0
- package/dist/subsystems/index.js.map +1 -0
- package/dist/subsystems/parsing.d.ts +41 -0
- package/dist/subsystems/parsing.d.ts.map +1 -0
- package/dist/subsystems/parsing.js +456 -0
- package/dist/subsystems/parsing.js.map +1 -0
- package/dist/subsystems/pictorial.d.ts +73 -0
- package/dist/subsystems/pictorial.d.ts.map +1 -0
- package/dist/subsystems/pictorial.js +469 -0
- package/dist/subsystems/pictorial.js.map +1 -0
- package/dist/svg/constants.d.ts +5 -0
- package/dist/svg/constants.d.ts.map +1 -0
- package/dist/svg/constants.js +5 -0
- package/dist/svg/constants.js.map +1 -0
- package/dist/svg/figure.d.ts +157 -0
- package/dist/svg/figure.d.ts.map +1 -0
- package/dist/svg/figure.js +634 -0
- package/dist/svg/figure.js.map +1 -0
- package/dist/svg/fmt.d.ts +2 -0
- package/dist/svg/fmt.d.ts.map +1 -0
- package/dist/svg/fmt.js +7 -0
- package/dist/svg/fmt.js.map +1 -0
- package/dist/svg/svg-style.d.ts +15 -0
- package/dist/svg/svg-style.d.ts.map +1 -0
- package/dist/svg/svg-style.js +46 -0
- package/dist/svg/svg-style.js.map +1 -0
- package/dist/types.d.ts +39 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +21 -0
- package/dist/types.js.map +1 -0
- package/dist/version.d.ts +3 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +3 -0
- package/dist/version.js.map +1 -0
- package/dist/vue/index.d.ts +43 -0
- package/dist/vue/index.d.ts.map +1 -0
- package/dist/vue/index.js +55 -0
- package/dist/vue/index.js.map +1 -0
- package/package.json +71 -0
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { ElementCompound } from "./element-compound.js";
|
|
2
|
+
import type { Element } from "../element.js";
|
|
3
|
+
export declare class ElementTwoport extends ElementCompound {
|
|
4
|
+
protected inputComponent: Element;
|
|
5
|
+
protected outputComponent: Element;
|
|
6
|
+
constructor(userParams?: Record<string, unknown>);
|
|
7
|
+
setup(): void;
|
|
8
|
+
}
|
|
9
|
+
export declare class TwoPort extends ElementTwoport {
|
|
10
|
+
constructor(userParams?: Record<string, unknown> & {
|
|
11
|
+
sign?: boolean;
|
|
12
|
+
arrow?: boolean;
|
|
13
|
+
reverse_output?: boolean;
|
|
14
|
+
});
|
|
15
|
+
setup(): void;
|
|
16
|
+
}
|
|
17
|
+
export declare class VoltageTransactor extends ElementTwoport {
|
|
18
|
+
constructor(userParams?: Record<string, unknown> & {
|
|
19
|
+
reverse_output?: boolean;
|
|
20
|
+
});
|
|
21
|
+
setup(): void;
|
|
22
|
+
}
|
|
23
|
+
export declare class TransimpedanceTransactor extends ElementTwoport {
|
|
24
|
+
constructor(userParams?: Record<string, unknown> & {
|
|
25
|
+
reverse_output?: boolean;
|
|
26
|
+
});
|
|
27
|
+
setup(): void;
|
|
28
|
+
}
|
|
29
|
+
export declare class CurrentTransactor extends ElementTwoport {
|
|
30
|
+
constructor(userParams?: Record<string, unknown> & {
|
|
31
|
+
reverse_output?: boolean;
|
|
32
|
+
});
|
|
33
|
+
setup(): void;
|
|
34
|
+
}
|
|
35
|
+
export declare class TransadmittanceTransactor extends ElementTwoport {
|
|
36
|
+
constructor(userParams?: Record<string, unknown> & {
|
|
37
|
+
reverse_output?: boolean;
|
|
38
|
+
});
|
|
39
|
+
setup(): void;
|
|
40
|
+
}
|
|
41
|
+
export declare class Nullor extends ElementTwoport {
|
|
42
|
+
constructor(userParams?: Record<string, unknown>);
|
|
43
|
+
}
|
|
44
|
+
export declare class VMCMPair extends ElementTwoport {
|
|
45
|
+
constructor(userParams?: Record<string, unknown>);
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=twoports.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"twoports.d.ts","sourceRoot":"","sources":["../../src/elements/twoports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAoB7C,qBAAa,cAAe,SAAQ,eAAe;IACjD,SAAS,CAAC,cAAc,EAAG,OAAO,CAAC;IACnC,SAAS,CAAC,eAAe,EAAG,OAAO,CAAC;gBAExB,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;IAIpD,KAAK,IAAI,IAAI;CA6Fd;AAED,qBAAa,OAAQ,SAAQ,cAAc;gBAEvC,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;QACpC,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,cAAc,CAAC,EAAE,OAAO,CAAC;KACrB;IAWR,KAAK,IAAI,IAAI;CAwEd;AAED,qBAAa,iBAAkB,SAAQ,cAAc;gBAEjD,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;QAAE,cAAc,CAAC,EAAE,OAAO,CAAA;KAAO;IAazE,KAAK,IAAI,IAAI;CAmBd;AAED,qBAAa,wBAAyB,SAAQ,cAAc;gBAExD,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;QAAE,cAAc,CAAC,EAAE,OAAO,CAAA;KAAO;IAazE,KAAK,IAAI,IAAI;CAQd;AAED,qBAAa,iBAAkB,SAAQ,cAAc;gBAEjD,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;QAAE,cAAc,CAAC,EAAE,OAAO,CAAA;KAAO;IAazE,KAAK,IAAI,IAAI;CAQd;AAED,qBAAa,yBAA0B,SAAQ,cAAc;gBAEzD,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;QAAE,cAAc,CAAC,EAAE,OAAO,CAAA;KAAO;IAazE,KAAK,IAAI,IAAI;CAmBd;AAED,qBAAa,MAAO,SAAQ,cAAc;gBAC5B,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;CAQrD;AAED,qBAAa,QAAS,SAAQ,cAAc;gBAC9B,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;CAQrD"}
|
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
import { ElementCompound } from "./element-compound.js";
|
|
2
|
+
import { Line } from "./line.js";
|
|
3
|
+
import { Gap, Rect } from "./lines-elements.js";
|
|
4
|
+
import { SourceControlledV, SourceControlledI } from "./sources.js";
|
|
5
|
+
import { Nullator, Norator, VoltageMirror, CurrentMirror } from "./twoterm-extras.js";
|
|
6
|
+
import { CurrentLabelInline } from "./lines-arc-labels.js";
|
|
7
|
+
import { Segment, SegmentText } from "../segment.js";
|
|
8
|
+
const TP_ARROWLEN = 1;
|
|
9
|
+
const TP_TERMLEN = 0.5;
|
|
10
|
+
function absXY(el, name) {
|
|
11
|
+
const p = el.absanchors[name];
|
|
12
|
+
return [p.x, p.y];
|
|
13
|
+
}
|
|
14
|
+
export class ElementTwoport extends ElementCompound {
|
|
15
|
+
inputComponent;
|
|
16
|
+
outputComponent;
|
|
17
|
+
constructor(userParams = {}) {
|
|
18
|
+
super({ unit: userParams.unit ?? 1.5, ...userParams });
|
|
19
|
+
}
|
|
20
|
+
setup() {
|
|
21
|
+
const inputFactory = this.userParams._inputFactory;
|
|
22
|
+
const outputFactory = this.userParams._outputFactory;
|
|
23
|
+
const boxpadx = this.userParams.boxpadx ?? 0.2;
|
|
24
|
+
const boxpady = this.userParams.boxpady ?? 0.2;
|
|
25
|
+
const minw = this.userParams.minw ?? 0.5;
|
|
26
|
+
const terminals = this.userParams.terminals ?? true;
|
|
27
|
+
const tpWidth = this.userParams.width ?? 2.15;
|
|
28
|
+
const drawBox = this.userParams.box ?? true;
|
|
29
|
+
const boxfill = this.userParams.boxfill;
|
|
30
|
+
const boxlw = this.userParams.boxlw;
|
|
31
|
+
const boxls = this.userParams.boxls;
|
|
32
|
+
const inputEl = (inputFactory ?? (() => new Gap()))();
|
|
33
|
+
inputEl.down();
|
|
34
|
+
const outputEl = (outputFactory ?? (() => new Gap()))();
|
|
35
|
+
outputEl.down();
|
|
36
|
+
const bboxInput = inputEl.getBBox(false, false);
|
|
37
|
+
const bboxOutput = outputEl.getBBox(false, false);
|
|
38
|
+
const inW = Math.max((bboxInput.ymax - bboxInput.ymin) / 2, minw / 2);
|
|
39
|
+
const outW = Math.max((bboxOutput.ymax - bboxOutput.ymin) / 2, minw / 2);
|
|
40
|
+
inputEl.at([boxpadx + inW, 0]);
|
|
41
|
+
outputEl.at([tpWidth - boxpadx - outW, 0]);
|
|
42
|
+
this.inputComponent = this.add(inputEl);
|
|
43
|
+
this.outputComponent = this.add(outputEl);
|
|
44
|
+
let bb = this.getBBox(false, false);
|
|
45
|
+
if (drawBox) {
|
|
46
|
+
this.add(new Rect({
|
|
47
|
+
theta: 0,
|
|
48
|
+
at: [0, 0],
|
|
49
|
+
corner1: [0, bb.ymin - boxpady],
|
|
50
|
+
corner2: [tpWidth, bb.ymax + boxpady],
|
|
51
|
+
fill: boxfill ?? "none",
|
|
52
|
+
lw: boxlw,
|
|
53
|
+
ls: boxls,
|
|
54
|
+
zorder: 0,
|
|
55
|
+
}));
|
|
56
|
+
}
|
|
57
|
+
bb = this.getBBox(false, false);
|
|
58
|
+
const outPLine = this.add(new Line({ at: absXY(this.outputComponent, "start") })
|
|
59
|
+
.tox(bb.xmax)
|
|
60
|
+
.right());
|
|
61
|
+
const outNLine = this.add(new Line({ at: absXY(this.outputComponent, "end") })
|
|
62
|
+
.tox(bb.xmax)
|
|
63
|
+
.right());
|
|
64
|
+
const inPLine = this.add(new Line({ at: absXY(this.inputComponent, "start") })
|
|
65
|
+
.tox(bb.xmin)
|
|
66
|
+
.left());
|
|
67
|
+
const inNLine = this.add(new Line({ at: absXY(this.inputComponent, "end") })
|
|
68
|
+
.tox(bb.xmin)
|
|
69
|
+
.left());
|
|
70
|
+
this.anchors["in_p"] = absXY(inPLine, "end");
|
|
71
|
+
this.anchors["in_n"] = absXY(inNLine, "end");
|
|
72
|
+
this.anchors["out_p"] = absXY(outPLine, "end");
|
|
73
|
+
this.anchors["out_n"] = absXY(outNLine, "end");
|
|
74
|
+
this.anchors["center"] = [
|
|
75
|
+
(bb.xmin + bb.xmax) / 2,
|
|
76
|
+
(bb.ymin + bb.ymax) / 2,
|
|
77
|
+
];
|
|
78
|
+
this._labelhints["in_p"] = { ofst: [0, 0.15], halign: "right" };
|
|
79
|
+
this._labelhints["in_n"] = { ofst: [0, 0.15], halign: "right" };
|
|
80
|
+
this._labelhints["out_p"] = { ofst: [0, 0.15], halign: "left" };
|
|
81
|
+
this._labelhints["out_n"] = { ofst: [0, 0.15], halign: "left" };
|
|
82
|
+
if (terminals) {
|
|
83
|
+
for (const anchor of ["in_p", "in_n", "out_p", "out_n"]) {
|
|
84
|
+
const xadjust = anchor.startsWith("in") ? -TP_TERMLEN : TP_TERMLEN;
|
|
85
|
+
const prev = this.anchors[anchor];
|
|
86
|
+
const next = [prev[0] + xadjust, prev[1]];
|
|
87
|
+
this.anchors[anchor] = next;
|
|
88
|
+
this.segments.push(new Segment([prev, next]));
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
export class TwoPort extends ElementTwoport {
|
|
94
|
+
constructor(userParams = {}) {
|
|
95
|
+
super({
|
|
96
|
+
...userParams,
|
|
97
|
+
_inputFactory: () => new Gap(),
|
|
98
|
+
_outputFactory: () => new Gap(),
|
|
99
|
+
boxpadx: userParams.boxpadx ?? 0,
|
|
100
|
+
minw: userParams.minw ?? 0,
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
setup() {
|
|
104
|
+
super.setup();
|
|
105
|
+
const sign = this.userParams.sign ?? true;
|
|
106
|
+
const arrow = this.userParams.arrow ?? true;
|
|
107
|
+
const reverseOutput = this.userParams.reverse_output ?? false;
|
|
108
|
+
if (sign) {
|
|
109
|
+
const inEnd = this.inputComponent.absanchors["end"];
|
|
110
|
+
const inStart = this.inputComponent.absanchors["start"];
|
|
111
|
+
this.segments.push(new SegmentText([inEnd.x + 0.1, inEnd.y + 0.1], "\u2212", { halign: "left", valign: "center", rotation: 0 }));
|
|
112
|
+
this.segments.push(new SegmentText([inStart.x + 0.1, inStart.y - 0.1], "+", { halign: "left", valign: "center", rotation: 0 }));
|
|
113
|
+
const outEnd = this.outputComponent.absanchors["end"];
|
|
114
|
+
const outStart = this.outputComponent.absanchors["start"];
|
|
115
|
+
if (!reverseOutput) {
|
|
116
|
+
this.segments.push(new SegmentText([outEnd.x - 0.1, outEnd.y + 0.1], "\u2212", { halign: "right", valign: "center", rotation: 0 }));
|
|
117
|
+
this.segments.push(new SegmentText([outStart.x - 0.1, outStart.y - 0.1], "+", { halign: "right", valign: "center", rotation: 0 }));
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
this.segments.push(new SegmentText([outEnd.x - 0.1, outEnd.y + 0.1], "+", { halign: "right", valign: "center", rotation: 0 }));
|
|
121
|
+
this.segments.push(new SegmentText([outStart.x - 0.1, outStart.y - 0.1], "\u2212", { halign: "right", valign: "center", rotation: 0 }));
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
if (arrow) {
|
|
125
|
+
const center = this.anchors["center"];
|
|
126
|
+
this.segments.push(new Segment([
|
|
127
|
+
[center[0] - TP_ARROWLEN / 2, center[1]],
|
|
128
|
+
[center[0] + TP_ARROWLEN / 2, center[1]],
|
|
129
|
+
], { arrow: "->", lw: 2, arrowwidth: 0.3, arrowlength: 0.3 }));
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
export class VoltageTransactor extends ElementTwoport {
|
|
134
|
+
constructor(userParams = {}) {
|
|
135
|
+
const reverseOutput = userParams.reverse_output ?? false;
|
|
136
|
+
super({
|
|
137
|
+
...userParams,
|
|
138
|
+
_inputFactory: () => new Gap(),
|
|
139
|
+
_outputFactory: () => reverseOutput
|
|
140
|
+
? new SourceControlledV()
|
|
141
|
+
: new SourceControlledV({ reverse: true }),
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
setup() {
|
|
145
|
+
super.setup();
|
|
146
|
+
const inEnd = this.inputComponent.absanchors["end"];
|
|
147
|
+
const inStart = this.inputComponent.absanchors["start"];
|
|
148
|
+
this.segments.push(new SegmentText([inEnd.x, inEnd.y + 0.05], "\u2212", { halign: "right", valign: "bottom", rotation: 0 }));
|
|
149
|
+
this.segments.push(new SegmentText([inStart.x, inStart.y - 0.05], "+", { halign: "right", valign: "top", rotation: 0 }));
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
export class TransimpedanceTransactor extends ElementTwoport {
|
|
153
|
+
constructor(userParams = {}) {
|
|
154
|
+
const reverseOutput = userParams.reverse_output ?? false;
|
|
155
|
+
super({
|
|
156
|
+
...userParams,
|
|
157
|
+
_inputFactory: () => new Line(),
|
|
158
|
+
_outputFactory: () => reverseOutput
|
|
159
|
+
? new SourceControlledV()
|
|
160
|
+
: new SourceControlledV({ reverse: true }),
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
setup() {
|
|
164
|
+
super.setup();
|
|
165
|
+
const cli = new CurrentLabelInline("in", -0.15, true, {
|
|
166
|
+
headlength: 0.3,
|
|
167
|
+
});
|
|
168
|
+
cli.at(this.inputComponent);
|
|
169
|
+
this.add(cli);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
export class CurrentTransactor extends ElementTwoport {
|
|
173
|
+
constructor(userParams = {}) {
|
|
174
|
+
const reverseOutput = userParams.reverse_output ?? false;
|
|
175
|
+
super({
|
|
176
|
+
...userParams,
|
|
177
|
+
_inputFactory: () => new Line(),
|
|
178
|
+
_outputFactory: () => reverseOutput
|
|
179
|
+
? new SourceControlledI()
|
|
180
|
+
: new SourceControlledI({ reverse: true }),
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
setup() {
|
|
184
|
+
super.setup();
|
|
185
|
+
const cli = new CurrentLabelInline("in", -0.15, true, {
|
|
186
|
+
headlength: 0.3,
|
|
187
|
+
});
|
|
188
|
+
cli.at(this.inputComponent);
|
|
189
|
+
this.add(cli);
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
export class TransadmittanceTransactor extends ElementTwoport {
|
|
193
|
+
constructor(userParams = {}) {
|
|
194
|
+
const reverseOutput = userParams.reverse_output ?? false;
|
|
195
|
+
super({
|
|
196
|
+
...userParams,
|
|
197
|
+
_inputFactory: () => new Gap(),
|
|
198
|
+
_outputFactory: () => reverseOutput
|
|
199
|
+
? new SourceControlledI()
|
|
200
|
+
: new SourceControlledI({ reverse: true }),
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
setup() {
|
|
204
|
+
super.setup();
|
|
205
|
+
const inEnd = this.inputComponent.absanchors["end"];
|
|
206
|
+
const inStart = this.inputComponent.absanchors["start"];
|
|
207
|
+
this.segments.push(new SegmentText([inEnd.x, inEnd.y + 0.05], "\u2212", { halign: "right", valign: "bottom", rotation: 0 }));
|
|
208
|
+
this.segments.push(new SegmentText([inStart.x, inStart.y - 0.05], "+", { halign: "right", valign: "top", rotation: 0 }));
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
export class Nullor extends ElementTwoport {
|
|
212
|
+
constructor(userParams = {}) {
|
|
213
|
+
super({
|
|
214
|
+
...userParams,
|
|
215
|
+
_inputFactory: () => new Nullator(),
|
|
216
|
+
_outputFactory: () => new Norator(),
|
|
217
|
+
boxpadx: userParams.boxpadx ?? 0.3,
|
|
218
|
+
});
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
export class VMCMPair extends ElementTwoport {
|
|
222
|
+
constructor(userParams = {}) {
|
|
223
|
+
super({
|
|
224
|
+
...userParams,
|
|
225
|
+
_inputFactory: () => new VoltageMirror(),
|
|
226
|
+
_outputFactory: () => new CurrentMirror(),
|
|
227
|
+
boxpadx: userParams.boxpadx ?? 0.3,
|
|
228
|
+
});
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
//# sourceMappingURL=twoports.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"twoports.js","sourceRoot":"","sources":["../../src/elements/twoports.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Misc two-terminal elements — aligned with Python `twoterm.py`.
|
|
3
|
+
*/
|
|
4
|
+
import { Element2Term } from "../element2term.js";
|
|
5
|
+
export declare class Memristor extends Element2Term {
|
|
6
|
+
constructor(userParams?: Record<string, unknown>);
|
|
7
|
+
}
|
|
8
|
+
export declare class Memristor2 extends Element2Term {
|
|
9
|
+
constructor(userParams?: Record<string, unknown>);
|
|
10
|
+
}
|
|
11
|
+
export declare class Josephson extends Element2Term {
|
|
12
|
+
constructor(userParams?: Record<string, unknown> & {
|
|
13
|
+
box?: boolean;
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
export declare class FuseUS extends Element2Term {
|
|
17
|
+
constructor(userParams?: Record<string, unknown> & {
|
|
18
|
+
dots?: boolean;
|
|
19
|
+
dot_r?: number;
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
export declare class Breaker extends Element2Term {
|
|
23
|
+
constructor(userParams?: Record<string, unknown> & {
|
|
24
|
+
dots?: boolean;
|
|
25
|
+
dot_r?: number;
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
export declare class CPE extends Element2Term {
|
|
29
|
+
constructor(userParams?: Record<string, unknown>);
|
|
30
|
+
}
|
|
31
|
+
export declare class SparkGap extends Element2Term {
|
|
32
|
+
constructor(userParams?: Record<string, unknown> & {
|
|
33
|
+
gap?: number;
|
|
34
|
+
arrowwidth?: number;
|
|
35
|
+
arrowlength?: number;
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
export declare class Nullator extends Element2Term {
|
|
39
|
+
constructor(userParams?: Record<string, unknown>);
|
|
40
|
+
}
|
|
41
|
+
export declare class Norator extends Element2Term {
|
|
42
|
+
constructor(userParams?: Record<string, unknown>);
|
|
43
|
+
}
|
|
44
|
+
export declare class CurrentMirror extends Element2Term {
|
|
45
|
+
constructor(userParams?: Record<string, unknown>);
|
|
46
|
+
}
|
|
47
|
+
export declare class VoltageMirror extends Element2Term {
|
|
48
|
+
constructor(userParams?: Record<string, unknown>);
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=twoterm-extras.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"twoterm-extras.d.ts","sourceRoot":"","sources":["../../src/elements/twoterm-extras.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAMlD,qBAAa,SAAU,SAAQ,YAAY;gBAC7B,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;CAsCrD;AAED,qBAAa,UAAW,SAAQ,YAAY;gBAC9B,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;CAwBrD;AAED,qBAAa,SAAU,SAAQ,YAAY;gBAC7B,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;QAAE,GAAG,CAAC,EAAE,OAAO,CAAA;KAAO;CA0CzE;AAED,qBAAa,MAAO,SAAQ,YAAY;gBAC1B,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;QAAE,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAO;CAgB1F;AAED,qBAAa,OAAQ,SAAQ,YAAY;gBAC3B,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;QAAE,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAO;CAwB1F;AAED,qBAAa,GAAI,SAAQ,YAAY;gBACvB,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;CAgDrD;AAED,qBAAa,QAAS,SAAQ,YAAY;gBAC5B,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAO;CAsBnH;AAED,qBAAa,QAAS,SAAQ,YAAY;gBAC5B,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;CAMrD;AAED,qBAAa,OAAQ,SAAQ,YAAY;gBAC3B,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;CAOrD;AAED,qBAAa,aAAc,SAAQ,YAAY;gBACjC,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;CAUrD;AAED,qBAAa,aAAc,SAAQ,YAAY;gBACjC,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;CAQrD"}
|
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Misc two-terminal elements — aligned with Python `twoterm.py`.
|
|
3
|
+
*/
|
|
4
|
+
import { Element2Term } from "../element2term.js";
|
|
5
|
+
import { linspace } from "../geometry/util.js";
|
|
6
|
+
import { getParam } from "../params.js";
|
|
7
|
+
import { GAP, Segment, SegmentArc, SegmentCircle, SegmentPoly } from "../segment.js";
|
|
8
|
+
import { resheight } from "./twoterm.js";
|
|
9
|
+
export class Memristor extends Element2Term {
|
|
10
|
+
constructor(userParams = {}) {
|
|
11
|
+
super(userParams);
|
|
12
|
+
const mr = 0.2;
|
|
13
|
+
this.segments.push(new Segment([
|
|
14
|
+
[0, 0],
|
|
15
|
+
[mr, 0],
|
|
16
|
+
[mr, -mr * 0.75],
|
|
17
|
+
[mr * 2, -mr * 0.75],
|
|
18
|
+
[mr * 2, mr * 0.75],
|
|
19
|
+
[mr * 3, mr * 0.75],
|
|
20
|
+
[mr * 3, -mr * 0.75],
|
|
21
|
+
[mr * 4, -mr * 0.75],
|
|
22
|
+
[mr * 4, 0],
|
|
23
|
+
[mr * 5, 0],
|
|
24
|
+
]));
|
|
25
|
+
this.segments.push(new Segment([
|
|
26
|
+
[0, mr * 1.25],
|
|
27
|
+
[mr * 5, mr * 1.25],
|
|
28
|
+
[mr * 5, mr * -1.25],
|
|
29
|
+
[0, mr * -1.25],
|
|
30
|
+
[0, mr * 1.25],
|
|
31
|
+
]));
|
|
32
|
+
this.segments.push(new SegmentPoly([
|
|
33
|
+
[0, mr * 1.25],
|
|
34
|
+
[0, -mr * 1.25],
|
|
35
|
+
[mr / 2, -mr * 1.25],
|
|
36
|
+
[mr / 2, mr * 1.25],
|
|
37
|
+
], { closed: true, fill: "black" }));
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
export class Memristor2 extends Element2Term {
|
|
41
|
+
constructor(userParams = {}) {
|
|
42
|
+
super(userParams);
|
|
43
|
+
const mr = 0.2;
|
|
44
|
+
const mrv = 0.25;
|
|
45
|
+
this.segments.push(new Segment([
|
|
46
|
+
[0, 0],
|
|
47
|
+
[0, mrv],
|
|
48
|
+
[mr, mrv],
|
|
49
|
+
[mr, -mrv],
|
|
50
|
+
[mr * 2, -mrv],
|
|
51
|
+
[mr * 2, mrv],
|
|
52
|
+
[mr * 3, mrv],
|
|
53
|
+
[mr * 3, -mrv],
|
|
54
|
+
[mr * 4, -mrv],
|
|
55
|
+
[mr * 4, mrv],
|
|
56
|
+
[mr * 5, mrv],
|
|
57
|
+
[mr * 5, -mrv],
|
|
58
|
+
[mr * 6, -mrv],
|
|
59
|
+
[mr * 6, 0],
|
|
60
|
+
[mr * 7, 0],
|
|
61
|
+
]));
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
export class Josephson extends Element2Term {
|
|
65
|
+
constructor(userParams = {}) {
|
|
66
|
+
super(userParams);
|
|
67
|
+
Object.assign(this.defaults, { box: false });
|
|
68
|
+
const h = resheight;
|
|
69
|
+
if (getParam(this.params, "box", false)) {
|
|
70
|
+
this.segments.push(new Segment([[-h, 0], GAP, [h, 0]]));
|
|
71
|
+
this.segments.push(new Segment([
|
|
72
|
+
[-h, h],
|
|
73
|
+
[h, -h],
|
|
74
|
+
GAP,
|
|
75
|
+
[h, h],
|
|
76
|
+
[-h, -h],
|
|
77
|
+
]));
|
|
78
|
+
this.segments.push(new SegmentPoly([
|
|
79
|
+
[-h, h],
|
|
80
|
+
[-h, -h],
|
|
81
|
+
[h, -h],
|
|
82
|
+
[h, h],
|
|
83
|
+
], { closed: true, fill: false }));
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
this.segments.push(new Segment([
|
|
87
|
+
[0, 0],
|
|
88
|
+
GAP,
|
|
89
|
+
[-h, h],
|
|
90
|
+
[h, -h],
|
|
91
|
+
GAP,
|
|
92
|
+
[h, h],
|
|
93
|
+
[-h, -h],
|
|
94
|
+
GAP,
|
|
95
|
+
[0, 0],
|
|
96
|
+
]));
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
export class FuseUS extends Element2Term {
|
|
101
|
+
constructor(userParams = {}) {
|
|
102
|
+
super(userParams);
|
|
103
|
+
Object.assign(this.defaults, { dots: true, dot_r: 0.12 });
|
|
104
|
+
const dotR = getParam(this.params, "dot_r", 0.12);
|
|
105
|
+
const n = 50;
|
|
106
|
+
const fusex = linspace(dotR * 2, 1 + dotR, n);
|
|
107
|
+
const t = linspace(0, 2 * Math.PI, n);
|
|
108
|
+
const fusey = t.map((x) => Math.sin(x) * resheight);
|
|
109
|
+
const path = fusex.map((x, i) => [x, fusey[i]]);
|
|
110
|
+
this.segments.push(new Segment(path));
|
|
111
|
+
this.segments.push(new Segment([[0, 0], GAP, [1 + dotR * 3, 0]]));
|
|
112
|
+
if (getParam(this.params, "dots", true)) {
|
|
113
|
+
this.segments.push(new SegmentCircle([dotR, 0], dotR, { zorder: 4, fill: "bg" }));
|
|
114
|
+
this.segments.push(new SegmentCircle([dotR * 2 + 1, 0], dotR, { zorder: 4, fill: "bg" }));
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
export class Breaker extends Element2Term {
|
|
119
|
+
constructor(userParams = {}) {
|
|
120
|
+
super(userParams);
|
|
121
|
+
Object.assign(this.defaults, { dots: true, dot_r: 0.12 });
|
|
122
|
+
const dotsArg = userParams.dots;
|
|
123
|
+
const dots = getParam(this.params, "dots", true);
|
|
124
|
+
const theta1 = dotsArg ? 25 : 10;
|
|
125
|
+
const theta2 = dotsArg ? 155 : 170;
|
|
126
|
+
const arcLw = getParam(this.params, "arc_lw", undefined);
|
|
127
|
+
const arcColor = getParam(this.params, "arc_color", undefined);
|
|
128
|
+
this.segments.push(new Segment([[0, 0], GAP, [1, 0]]));
|
|
129
|
+
this.segments.push(new SegmentArc([0.5, 0], 1, 0.65, {
|
|
130
|
+
theta1,
|
|
131
|
+
theta2,
|
|
132
|
+
lw: arcLw,
|
|
133
|
+
color: arcColor,
|
|
134
|
+
}));
|
|
135
|
+
if (dots) {
|
|
136
|
+
const rad = getParam(this.params, "dot_r", 0.12);
|
|
137
|
+
this.segments.push(new SegmentCircle([rad, 0], rad, { zorder: 4 }));
|
|
138
|
+
this.segments.push(new SegmentCircle([1 - rad, 0], rad, { zorder: 4 }));
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
export class CPE extends Element2Term {
|
|
143
|
+
constructor(userParams = {}) {
|
|
144
|
+
super(userParams);
|
|
145
|
+
const capgap = 0.25;
|
|
146
|
+
const offset = 0.25;
|
|
147
|
+
const h = resheight;
|
|
148
|
+
this.segments.push(new Segment([
|
|
149
|
+
[0, 0],
|
|
150
|
+
[-offset, 0],
|
|
151
|
+
GAP,
|
|
152
|
+
[offset, 0],
|
|
153
|
+
[0, -h],
|
|
154
|
+
GAP,
|
|
155
|
+
[capgap, 0],
|
|
156
|
+
]));
|
|
157
|
+
this.segments.push(new Segment([
|
|
158
|
+
[0, 0],
|
|
159
|
+
[-offset, 0],
|
|
160
|
+
GAP,
|
|
161
|
+
[offset, 0],
|
|
162
|
+
[0, h],
|
|
163
|
+
GAP,
|
|
164
|
+
[capgap, 0],
|
|
165
|
+
]));
|
|
166
|
+
this.segments.push(new Segment([
|
|
167
|
+
[0, 0],
|
|
168
|
+
[-offset, h],
|
|
169
|
+
GAP,
|
|
170
|
+
[0, -h],
|
|
171
|
+
GAP,
|
|
172
|
+
[capgap, 0],
|
|
173
|
+
]));
|
|
174
|
+
this.segments.push(new Segment([
|
|
175
|
+
[0, 0],
|
|
176
|
+
[-offset, -h],
|
|
177
|
+
GAP,
|
|
178
|
+
[0, -h],
|
|
179
|
+
GAP,
|
|
180
|
+
[capgap, 0],
|
|
181
|
+
]));
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
export class SparkGap extends Element2Term {
|
|
185
|
+
constructor(userParams = {}) {
|
|
186
|
+
super(userParams);
|
|
187
|
+
Object.assign(this.defaults, { gap: 0.08, arrowwidth: 0.25, arrowlength: 0.25 });
|
|
188
|
+
const gapw = getParam(this.params, "gap", 0.08);
|
|
189
|
+
const aw = getParam(this.params, "arrowwidth", 0.25);
|
|
190
|
+
const al = getParam(this.params, "arrowlength", 0.25);
|
|
191
|
+
this.segments.push(new Segment([[0, 0], GAP, [1, 0]]));
|
|
192
|
+
this.segments.push(new Segment([[0, 0], [0.5 - gapw / 2, 0]], {
|
|
193
|
+
arrow: "->",
|
|
194
|
+
arrowwidth: aw,
|
|
195
|
+
arrowlength: al,
|
|
196
|
+
}));
|
|
197
|
+
this.segments.push(new Segment([[1, 0], [0.5 + gapw / 2, 0]], {
|
|
198
|
+
arrow: "->",
|
|
199
|
+
arrowwidth: aw,
|
|
200
|
+
arrowlength: al,
|
|
201
|
+
}));
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
export class Nullator extends Element2Term {
|
|
205
|
+
constructor(userParams = {}) {
|
|
206
|
+
super(userParams);
|
|
207
|
+
this.segments.push(new Segment([[0, 0], [0, 0], GAP, [1, 0], [1, 0]]));
|
|
208
|
+
this.segments.push(new SegmentArc([0.5, 0], 1, 0.5, { theta1: 0, theta2: 360 }));
|
|
209
|
+
this.elmParams.theta = 90;
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
export class Norator extends Element2Term {
|
|
213
|
+
constructor(userParams = {}) {
|
|
214
|
+
super(userParams);
|
|
215
|
+
this.segments.push(new Segment([[0, 0], [0, 0], GAP, [1, 0], [1, 0]]));
|
|
216
|
+
this.segments.push(new SegmentCircle([0.25, 0], 0.25));
|
|
217
|
+
this.segments.push(new SegmentCircle([1 - 0.25, 0], 0.25));
|
|
218
|
+
this.elmParams.theta = 90;
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
export class CurrentMirror extends Element2Term {
|
|
222
|
+
constructor(userParams = {}) {
|
|
223
|
+
super(userParams);
|
|
224
|
+
this.segments.push(new Segment([[0, 0], [0, 0], GAP, [1, 0], [1, 0]]));
|
|
225
|
+
this.segments.push(new SegmentCircle([0.3, 0], 0.3, { lw: 1e-9, ls: "None" }));
|
|
226
|
+
this.segments.push(new SegmentCircle([1 - 0.3, 0], 0.3, { lw: 1e-9, ls: "None" }));
|
|
227
|
+
this.segments.push(new SegmentCircle([0.3, 0], 0.3, { fill: false }));
|
|
228
|
+
this.segments.push(new SegmentCircle([1 - 0.3, 0], 0.3, { fill: false }));
|
|
229
|
+
this.elmParams.theta = 90;
|
|
230
|
+
this.anchors.common = [0.5, Math.sqrt(0.3 ** 2 - 0.2 ** 2)];
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
export class VoltageMirror extends Element2Term {
|
|
234
|
+
constructor(userParams = {}) {
|
|
235
|
+
super(userParams);
|
|
236
|
+
this.segments.push(new Segment([[0, 0], [0, 0], GAP, [1, 0], [1, 0]]));
|
|
237
|
+
this.segments.push(new SegmentArc([0.7, 0], 0.6, 0.3, { theta1: 0, theta2: 360 }));
|
|
238
|
+
this.segments.push(new SegmentArc([0.3, 0], 0.6, 0.3, { theta1: 0, theta2: 360 }));
|
|
239
|
+
this.elmParams.theta = 90;
|
|
240
|
+
this.anchors.common = [0.5, Math.sqrt(1 - (0.2 ** 2) / 0.3 ** 2) * 0.15];
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
//# sourceMappingURL=twoterm-extras.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"twoterm-extras.js","sourceRoot":"","sources":["../../src/elements/twoterm-extras.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"twoterm.d.ts","sourceRoot":"","sources":["../../src/elements/twoterm.ts"],"names":[],"mappings":"AAAA,oFAAoF;AAEpF,eAAO,MAAM,SAAS,OAAO,CAAC;AAC9B,eAAO,MAAM,QAAQ,QAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"twoterm.js","sourceRoot":"","sources":["../../src/elements/twoterm.ts"],"names":[],"mappings":"AAAA,oFAAoF;AAEpF,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,CAAC;AAC9B,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,GAAG,CAAC,CAAC"}
|