@skillpet/circuit 0.5.0 → 0.5.2

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.
Files changed (333) hide show
  1. package/LICENSE +43 -0
  2. package/README.md +24 -30
  3. package/dist/circuit.bundle.js +0 -1
  4. package/dist/circuit.bundle.min.js +0 -1
  5. package/dist/circuit.esm.js +0 -1
  6. package/dist/config.d.ts +0 -1
  7. package/dist/container.d.ts +0 -1
  8. package/dist/drawing-gradient.d.ts +0 -1
  9. package/dist/drawing-stack.d.ts +0 -1
  10. package/dist/drawing-transition.d.ts +0 -1
  11. package/dist/drawing.d.ts +0 -1
  12. package/dist/element-label.d.ts +0 -1
  13. package/dist/element-style.d.ts +0 -1
  14. package/dist/element.d.ts +0 -1
  15. package/dist/element2term.d.ts +0 -1
  16. package/dist/elements/cables.d.ts +0 -1
  17. package/dist/elements/capacitor.d.ts +0 -1
  18. package/dist/elements/compound.d.ts +0 -1
  19. package/dist/elements/connectors.d.ts +0 -1
  20. package/dist/elements/crystal.d.ts +0 -1
  21. package/dist/elements/diode-more.d.ts +0 -1
  22. package/dist/elements/diode.d.ts +0 -1
  23. package/dist/elements/element-compound.d.ts +0 -1
  24. package/dist/elements/element-drawing.d.ts +0 -1
  25. package/dist/elements/ground.d.ts +0 -1
  26. package/dist/elements/ic.d.ts +0 -1
  27. package/dist/elements/image.d.ts +0 -1
  28. package/dist/elements/inductor.d.ts +0 -1
  29. package/dist/elements/line.d.ts +0 -1
  30. package/dist/elements/lines-arc-labels.d.ts +0 -1
  31. package/dist/elements/lines-elements.d.ts +0 -1
  32. package/dist/elements/misc-elements.d.ts +0 -1
  33. package/dist/elements/oneterm.d.ts +0 -1
  34. package/dist/elements/opamp.d.ts +0 -1
  35. package/dist/elements/outlets.d.ts +0 -1
  36. package/dist/elements/resistor-more.d.ts +0 -1
  37. package/dist/elements/resistor.d.ts +0 -1
  38. package/dist/elements/source-v.d.ts +0 -1
  39. package/dist/elements/sources.d.ts +0 -1
  40. package/dist/elements/switches.d.ts +0 -1
  41. package/dist/elements/transformer.d.ts +0 -1
  42. package/dist/elements/transistors.d.ts +0 -1
  43. package/dist/elements/tubes.d.ts +0 -1
  44. package/dist/elements/twoports.d.ts +0 -1
  45. package/dist/elements/twoterm-extras.d.ts +0 -1
  46. package/dist/elements/twoterm.d.ts +0 -1
  47. package/dist/geometry/point.d.ts +0 -1
  48. package/dist/geometry/roundcorners.d.ts +0 -1
  49. package/dist/geometry/transform.d.ts +0 -1
  50. package/dist/geometry/util.d.ts +0 -1
  51. package/dist/index.cjs +0 -1
  52. package/dist/index.d.ts +0 -1
  53. package/dist/json/anchor-ref.d.ts +0 -1
  54. package/dist/json/mount.d.ts +0 -1
  55. package/dist/json/registry.d.ts +0 -1
  56. package/dist/json/render.d.ts +0 -1
  57. package/dist/json/theme.d.ts +0 -1
  58. package/dist/json/types.d.ts +0 -1
  59. package/dist/json/validate.d.ts +0 -1
  60. package/dist/label-hint.d.ts +0 -1
  61. package/dist/logic/and.d.ts +0 -1
  62. package/dist/logic/bitfield.d.ts +0 -1
  63. package/dist/logic/buffer.d.ts +0 -1
  64. package/dist/logic/extras.d.ts +0 -1
  65. package/dist/logic/kmap.d.ts +0 -1
  66. package/dist/logic/or.d.ts +0 -1
  67. package/dist/logic/timing.d.ts +0 -1
  68. package/dist/logic/tristate.d.ts +0 -1
  69. package/dist/math-render.d.ts +0 -1
  70. package/dist/package-api.d.ts +0 -1
  71. package/dist/params.d.ts +0 -1
  72. package/dist/react/index.d.ts +0 -1
  73. package/dist/react/index.js +0 -1
  74. package/dist/segment.d.ts +0 -1
  75. package/dist/style.d.ts +0 -1
  76. package/dist/subsystems/dsp.d.ts +0 -1
  77. package/dist/subsystems/flow.d.ts +0 -1
  78. package/dist/subsystems/index.d.ts +0 -1
  79. package/dist/subsystems/parsing.d.ts +0 -1
  80. package/dist/subsystems/pictorial.d.ts +0 -1
  81. package/dist/svg/constants.d.ts +0 -1
  82. package/dist/svg/figure.d.ts +0 -1
  83. package/dist/svg/fmt.d.ts +0 -1
  84. package/dist/svg/svg-style.d.ts +0 -1
  85. package/dist/types.d.ts +0 -1
  86. package/dist/version.d.ts +0 -1
  87. package/dist/vue/index.d.ts +0 -1
  88. package/dist/vue/index.js +0 -1
  89. package/package.json +22 -9
  90. package/dist/circuit.bundle.js.map +0 -7
  91. package/dist/circuit.bundle.min.js.map +0 -7
  92. package/dist/circuit.esm.js.map +0 -7
  93. package/dist/config.d.ts.map +0 -1
  94. package/dist/config.js +0 -23
  95. package/dist/config.js.map +0 -1
  96. package/dist/container.d.ts.map +0 -1
  97. package/dist/container.js +0 -101
  98. package/dist/container.js.map +0 -1
  99. package/dist/drawing-gradient.d.ts.map +0 -1
  100. package/dist/drawing-gradient.js +0 -39
  101. package/dist/drawing-gradient.js.map +0 -1
  102. package/dist/drawing-stack.d.ts.map +0 -1
  103. package/dist/drawing-stack.js +0 -32
  104. package/dist/drawing-stack.js.map +0 -1
  105. package/dist/drawing-transition.d.ts.map +0 -1
  106. package/dist/drawing-transition.js +0 -181
  107. package/dist/drawing-transition.js.map +0 -1
  108. package/dist/drawing.d.ts.map +0 -1
  109. package/dist/drawing.js +0 -337
  110. package/dist/drawing.js.map +0 -1
  111. package/dist/element-label.d.ts.map +0 -1
  112. package/dist/element-label.js +0 -377
  113. package/dist/element-label.js.map +0 -1
  114. package/dist/element-style.d.ts.map +0 -1
  115. package/dist/element-style.js +0 -51
  116. package/dist/element-style.js.map +0 -1
  117. package/dist/element.d.ts.map +0 -1
  118. package/dist/element.js +0 -514
  119. package/dist/element.js.map +0 -1
  120. package/dist/element2term.d.ts.map +0 -1
  121. package/dist/element2term.js +0 -245
  122. package/dist/element2term.js.map +0 -1
  123. package/dist/elements/cables.d.ts.map +0 -1
  124. package/dist/elements/cables.js +0 -100
  125. package/dist/elements/cables.js.map +0 -1
  126. package/dist/elements/capacitor.d.ts.map +0 -1
  127. package/dist/elements/capacitor.js +0 -93
  128. package/dist/elements/capacitor.js.map +0 -1
  129. package/dist/elements/compound.d.ts.map +0 -1
  130. package/dist/elements/compound.js +0 -266
  131. package/dist/elements/compound.js.map +0 -1
  132. package/dist/elements/connectors.d.ts.map +0 -1
  133. package/dist/elements/connectors.js +0 -578
  134. package/dist/elements/connectors.js.map +0 -1
  135. package/dist/elements/crystal.d.ts.map +0 -1
  136. package/dist/elements/crystal.js +0 -31
  137. package/dist/elements/crystal.js.map +0 -1
  138. package/dist/elements/diode-more.d.ts.map +0 -1
  139. package/dist/elements/diode-more.js +0 -233
  140. package/dist/elements/diode-more.js.map +0 -1
  141. package/dist/elements/diode.d.ts.map +0 -1
  142. package/dist/elements/diode.js +0 -58
  143. package/dist/elements/diode.js.map +0 -1
  144. package/dist/elements/element-compound.d.ts.map +0 -1
  145. package/dist/elements/element-compound.js +0 -68
  146. package/dist/elements/element-compound.js.map +0 -1
  147. package/dist/elements/element-drawing.d.ts.map +0 -1
  148. package/dist/elements/element-drawing.js +0 -16
  149. package/dist/elements/element-drawing.js.map +0 -1
  150. package/dist/elements/ground.d.ts.map +0 -1
  151. package/dist/elements/ground.js +0 -30
  152. package/dist/elements/ground.js.map +0 -1
  153. package/dist/elements/ic.d.ts.map +0 -1
  154. package/dist/elements/ic.js +0 -816
  155. package/dist/elements/ic.js.map +0 -1
  156. package/dist/elements/image.d.ts.map +0 -1
  157. package/dist/elements/image.js +0 -27
  158. package/dist/elements/image.js.map +0 -1
  159. package/dist/elements/inductor.d.ts.map +0 -1
  160. package/dist/elements/inductor.js +0 -111
  161. package/dist/elements/inductor.js.map +0 -1
  162. package/dist/elements/line.d.ts.map +0 -1
  163. package/dist/elements/line.js +0 -14
  164. package/dist/elements/line.js.map +0 -1
  165. package/dist/elements/lines-arc-labels.d.ts.map +0 -1
  166. package/dist/elements/lines-arc-labels.js +0 -822
  167. package/dist/elements/lines-arc-labels.js.map +0 -1
  168. package/dist/elements/lines-elements.d.ts.map +0 -1
  169. package/dist/elements/lines-elements.js +0 -271
  170. package/dist/elements/lines-elements.js.map +0 -1
  171. package/dist/elements/misc-elements.d.ts.map +0 -1
  172. package/dist/elements/misc-elements.js +0 -160
  173. package/dist/elements/misc-elements.js.map +0 -1
  174. package/dist/elements/oneterm.d.ts.map +0 -1
  175. package/dist/elements/oneterm.js +0 -163
  176. package/dist/elements/oneterm.js.map +0 -1
  177. package/dist/elements/opamp.d.ts.map +0 -1
  178. package/dist/elements/opamp.js +0 -72
  179. package/dist/elements/opamp.js.map +0 -1
  180. package/dist/elements/outlets.d.ts.map +0 -1
  181. package/dist/elements/outlets.js +0 -285
  182. package/dist/elements/outlets.js.map +0 -1
  183. package/dist/elements/resistor-more.d.ts.map +0 -1
  184. package/dist/elements/resistor-more.js +0 -171
  185. package/dist/elements/resistor-more.js.map +0 -1
  186. package/dist/elements/resistor.d.ts.map +0 -1
  187. package/dist/elements/resistor.js +0 -22
  188. package/dist/elements/resistor.js.map +0 -1
  189. package/dist/elements/source-v.d.ts.map +0 -1
  190. package/dist/elements/source-v.js +0 -3
  191. package/dist/elements/source-v.js.map +0 -1
  192. package/dist/elements/sources.d.ts.map +0 -1
  193. package/dist/elements/sources.js +0 -519
  194. package/dist/elements/sources.js.map +0 -1
  195. package/dist/elements/switches.d.ts.map +0 -1
  196. package/dist/elements/switches.js +0 -328
  197. package/dist/elements/switches.js.map +0 -1
  198. package/dist/elements/transformer.d.ts.map +0 -1
  199. package/dist/elements/transformer.js +0 -184
  200. package/dist/elements/transformer.js.map +0 -1
  201. package/dist/elements/transistors.d.ts.map +0 -1
  202. package/dist/elements/transistors.js +0 -1009
  203. package/dist/elements/transistors.js.map +0 -1
  204. package/dist/elements/tubes.d.ts.map +0 -1
  205. package/dist/elements/tubes.js +0 -386
  206. package/dist/elements/tubes.js.map +0 -1
  207. package/dist/elements/twoports.d.ts.map +0 -1
  208. package/dist/elements/twoports.js +0 -231
  209. package/dist/elements/twoports.js.map +0 -1
  210. package/dist/elements/twoterm-extras.d.ts.map +0 -1
  211. package/dist/elements/twoterm-extras.js +0 -243
  212. package/dist/elements/twoterm-extras.js.map +0 -1
  213. package/dist/elements/twoterm.d.ts.map +0 -1
  214. package/dist/elements/twoterm.js +0 -4
  215. package/dist/elements/twoterm.js.map +0 -1
  216. package/dist/geometry/point.d.ts.map +0 -1
  217. package/dist/geometry/point.js +0 -99
  218. package/dist/geometry/point.js.map +0 -1
  219. package/dist/geometry/roundcorners.d.ts.map +0 -1
  220. package/dist/geometry/roundcorners.js +0 -64
  221. package/dist/geometry/roundcorners.js.map +0 -1
  222. package/dist/geometry/transform.d.ts.map +0 -1
  223. package/dist/geometry/transform.js +0 -33
  224. package/dist/geometry/transform.js.map +0 -1
  225. package/dist/geometry/util.d.ts.map +0 -1
  226. package/dist/geometry/util.js +0 -36
  227. package/dist/geometry/util.js.map +0 -1
  228. package/dist/index.cjs.map +0 -7
  229. package/dist/index.d.ts.map +0 -1
  230. package/dist/index.js +0 -68
  231. package/dist/index.js.map +0 -1
  232. package/dist/json/anchor-ref.d.ts.map +0 -1
  233. package/dist/json/anchor-ref.js +0 -35
  234. package/dist/json/anchor-ref.js.map +0 -1
  235. package/dist/json/mount.d.ts.map +0 -1
  236. package/dist/json/mount.js +0 -369
  237. package/dist/json/mount.js.map +0 -1
  238. package/dist/json/registry.d.ts.map +0 -1
  239. package/dist/json/registry.js +0 -323
  240. package/dist/json/registry.js.map +0 -1
  241. package/dist/json/render.d.ts.map +0 -1
  242. package/dist/json/render.js +0 -113
  243. package/dist/json/render.js.map +0 -1
  244. package/dist/json/theme.d.ts.map +0 -1
  245. package/dist/json/theme.js +0 -57
  246. package/dist/json/theme.js.map +0 -1
  247. package/dist/json/types.d.ts.map +0 -1
  248. package/dist/json/types.js +0 -2
  249. package/dist/json/types.js.map +0 -1
  250. package/dist/json/validate.d.ts.map +0 -1
  251. package/dist/json/validate.js +0 -77
  252. package/dist/json/validate.js.map +0 -1
  253. package/dist/label-hint.d.ts.map +0 -1
  254. package/dist/label-hint.js +0 -2
  255. package/dist/label-hint.js.map +0 -1
  256. package/dist/logic/and.d.ts.map +0 -1
  257. package/dist/logic/and.js +0 -63
  258. package/dist/logic/and.js.map +0 -1
  259. package/dist/logic/bitfield.d.ts.map +0 -1
  260. package/dist/logic/bitfield.js +0 -271
  261. package/dist/logic/bitfield.js.map +0 -1
  262. package/dist/logic/buffer.d.ts.map +0 -1
  263. package/dist/logic/buffer.js +0 -46
  264. package/dist/logic/buffer.js.map +0 -1
  265. package/dist/logic/extras.d.ts.map +0 -1
  266. package/dist/logic/extras.js +0 -211
  267. package/dist/logic/extras.js.map +0 -1
  268. package/dist/logic/kmap.d.ts.map +0 -1
  269. package/dist/logic/kmap.js +0 -163
  270. package/dist/logic/kmap.js.map +0 -1
  271. package/dist/logic/or.d.ts.map +0 -1
  272. package/dist/logic/or.js +0 -117
  273. package/dist/logic/or.js.map +0 -1
  274. package/dist/logic/timing.d.ts.map +0 -1
  275. package/dist/logic/timing.js +0 -791
  276. package/dist/logic/timing.js.map +0 -1
  277. package/dist/logic/tristate.d.ts.map +0 -1
  278. package/dist/logic/tristate.js +0 -48
  279. package/dist/logic/tristate.js.map +0 -1
  280. package/dist/math-render.d.ts.map +0 -1
  281. package/dist/math-render.js +0 -53
  282. package/dist/math-render.js.map +0 -1
  283. package/dist/package-api.d.ts.map +0 -1
  284. package/dist/package-api.js +0 -75
  285. package/dist/package-api.js.map +0 -1
  286. package/dist/params.d.ts.map +0 -1
  287. package/dist/params.js +0 -35
  288. package/dist/params.js.map +0 -1
  289. package/dist/react/index.d.ts.map +0 -1
  290. package/dist/react/index.js.map +0 -1
  291. package/dist/schemdraw-ts.bundle.js +0 -30448
  292. package/dist/schemdraw-ts.bundle.js.map +0 -7
  293. package/dist/segment.d.ts.map +0 -1
  294. package/dist/segment.js +0 -844
  295. package/dist/segment.js.map +0 -1
  296. package/dist/style.d.ts.map +0 -1
  297. package/dist/style.js +0 -230
  298. package/dist/style.js.map +0 -1
  299. package/dist/subsystems/dsp.d.ts.map +0 -1
  300. package/dist/subsystems/dsp.js +0 -267
  301. package/dist/subsystems/dsp.js.map +0 -1
  302. package/dist/subsystems/flow.d.ts.map +0 -1
  303. package/dist/subsystems/flow.js +0 -315
  304. package/dist/subsystems/flow.js.map +0 -1
  305. package/dist/subsystems/index.d.ts.map +0 -1
  306. package/dist/subsystems/index.js +0 -22
  307. package/dist/subsystems/index.js.map +0 -1
  308. package/dist/subsystems/parsing.d.ts.map +0 -1
  309. package/dist/subsystems/parsing.js +0 -456
  310. package/dist/subsystems/parsing.js.map +0 -1
  311. package/dist/subsystems/pictorial.d.ts.map +0 -1
  312. package/dist/subsystems/pictorial.js +0 -469
  313. package/dist/subsystems/pictorial.js.map +0 -1
  314. package/dist/svg/constants.d.ts.map +0 -1
  315. package/dist/svg/constants.js +0 -5
  316. package/dist/svg/constants.js.map +0 -1
  317. package/dist/svg/figure.d.ts.map +0 -1
  318. package/dist/svg/figure.js +0 -634
  319. package/dist/svg/figure.js.map +0 -1
  320. package/dist/svg/fmt.d.ts.map +0 -1
  321. package/dist/svg/fmt.js +0 -7
  322. package/dist/svg/fmt.js.map +0 -1
  323. package/dist/svg/svg-style.d.ts.map +0 -1
  324. package/dist/svg/svg-style.js +0 -46
  325. package/dist/svg/svg-style.js.map +0 -1
  326. package/dist/types.d.ts.map +0 -1
  327. package/dist/types.js +0 -21
  328. package/dist/types.js.map +0 -1
  329. package/dist/version.d.ts.map +0 -1
  330. package/dist/version.js +0 -3
  331. package/dist/version.js.map +0 -1
  332. package/dist/vue/index.d.ts.map +0 -1
  333. package/dist/vue/index.js.map +0 -1
@@ -1,231 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"twoports.js","sourceRoot":"","sources":["../../src/elements/twoports.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
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"}
@@ -1,243 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"twoterm-extras.js","sourceRoot":"","sources":["../../src/elements/twoterm-extras.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
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"}
@@ -1,4 +0,0 @@
1
- /** Shared geometry for two-terminal elements — aligned with Python `twoterm.py`. */
2
- export const resheight = 0.25;
3
- export const reswidth = 1.0 / 6;
4
- //# sourceMappingURL=twoterm.js.map
@@ -1 +0,0 @@
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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"point.d.ts","sourceRoot":"","sources":["../../src/geometry/point.ts"],"names":[],"mappings":"AAYA,MAAM,MAAM,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC;AAMnD,qBAAa,KAAK;IAChB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;gBAEP,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAKhC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,KAAK;IAInD,GAAG,CAAC,KAAK,EAAE,EAAE,GAAG,KAAK;IAKrB,GAAG,CAAC,KAAK,EAAE,EAAE,GAAG,KAAK;IAKrB,oDAAoD;IACpD,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,KAAK;IAI/B,GAAG,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK;IAOjC,GAAG,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK;IAOjC,GAAG,IAAI,KAAK;IAIZ,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,EAAW,GAAG,KAAK;IAMjD,OAAO,CAAC,OAAO,GAAE,MAAU,GAAG,KAAK;IAKnC,IAAI,IAAI,KAAK;IAKb,OAAO,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;CAG5B;AAED,wBAAgB,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,KAAK,CAEjD;AAED,+CAA+C;AAC/C,wBAAgB,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,EAAW,GAAG,KAAK,CAKxE;AAED,wBAAgB,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,GAAE,MAAU,GAAG,KAAK,CAI1D;AAED,wBAAgB,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,KAAK,CAIlC;AAED,wBAAgB,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,KAAK,CAKzC;AAED,wBAAgB,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,MAAM,CAI1C;AAED,wBAAgB,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,MAAM,CAIzC;AAED,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC"}
@@ -1,99 +0,0 @@
1
- /**
2
- * Point in drawing coordinates — aligned with Python `schemdraw/util.py` · `Point`.
3
- */
4
- import { angleXY, deltaXY, distXY, flipXY, mirrorxXY, rotateXY, } from "./util.js";
5
- function coords(p) {
6
- return p instanceof Point ? p : { x: p[0], y: p[1] };
7
- }
8
- export class Point {
9
- x;
10
- y;
11
- constructor(x, y) {
12
- this.x = x;
13
- this.y = y;
14
- }
15
- static fromXY(xy) {
16
- return new Point(xy[0], xy[1]);
17
- }
18
- add(other) {
19
- const o = coords(other);
20
- return new Point(this.x + o.x, this.y + o.y);
21
- }
22
- sub(other) {
23
- const o = coords(other);
24
- return new Point(this.x - o.x, this.y - o.y);
25
- }
26
- /** Scalar − this (Python `__rsub__` for scalar). */
27
- subFromScalar(s) {
28
- return new Point(s - this.x, s - this.y);
29
- }
30
- mul(other) {
31
- if (typeof other === "number") {
32
- return new Point(this.x * other, this.y * other);
33
- }
34
- return new Point(this.x * other.x, this.y * other.y);
35
- }
36
- div(other) {
37
- if (typeof other === "number") {
38
- return new Point(this.x / other, this.y / other);
39
- }
40
- return new Point(this.x / other.x, this.y / other.y);
41
- }
42
- neg() {
43
- return new Point(-this.x, -this.y);
44
- }
45
- rotate(angle, center = [0, 0]) {
46
- const c = coords(center);
47
- const [nx, ny] = rotateXY(this.x, this.y, angle, c.x, c.y);
48
- return new Point(nx, ny);
49
- }
50
- mirrorx(centerx = 0) {
51
- const [nx, ny] = mirrorxXY(this.x, this.y, centerx);
52
- return new Point(nx, ny);
53
- }
54
- flip() {
55
- const [nx, ny] = flipXY(this.x, this.y);
56
- return new Point(nx, ny);
57
- }
58
- toTuple() {
59
- return [this.x, this.y];
60
- }
61
- }
62
- export function point(x, y) {
63
- return new Point(x, y);
64
- }
65
- /** Python `util.rotate(xy, angle, center)`. */
66
- export function rotate(xy, angle, center = [0, 0]) {
67
- const p = coords(xy);
68
- const c = coords(center);
69
- const [nx, ny] = rotateXY(p.x, p.y, angle, c.x, c.y);
70
- return new Point(nx, ny);
71
- }
72
- export function mirrorx(xy, centerx = 0) {
73
- const p = coords(xy);
74
- const [nx, ny] = mirrorxXY(p.x, p.y, centerx);
75
- return new Point(nx, ny);
76
- }
77
- export function flip(xy) {
78
- const p = coords(xy);
79
- const [nx, ny] = flipXY(p.x, p.y);
80
- return new Point(nx, ny);
81
- }
82
- export function delta(a, b) {
83
- const pa = coords(a);
84
- const pb = coords(b);
85
- const [dx, dy] = deltaXY(pa.x, pa.y, pb.x, pb.y);
86
- return new Point(dx, dy);
87
- }
88
- export function angle(a, b) {
89
- const pa = coords(a);
90
- const pb = coords(b);
91
- return angleXY(pa.x, pa.y, pb.x, pb.y);
92
- }
93
- export function dist(a, b) {
94
- const pa = coords(a);
95
- const pb = coords(b);
96
- return distXY(pa.x, pa.y, pb.x, pb.y);
97
- }
98
- export { linspace } from "./util.js";
99
- //# sourceMappingURL=point.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"point.js","sourceRoot":"","sources":["../../src/geometry/point.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"roundcorners.d.ts","sourceRoot":"","sources":["../../src/geometry/roundcorners.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,MAAM,YAAY,CAAC;AAO5C,iFAAiF;AACjF,wBAAgB,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,KAAK,EAAE,CAsEjE"}