@bhbr/minter 0.0.0-stage → 1.0.1
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/LICENSE +21 -0
- package/README.md +4 -2
- package/dist/boards/Board.d.ts +138 -0
- package/dist/boards/Board.d.ts.map +1 -0
- package/dist/boards/Board.js +1329 -0
- package/dist/boards/Board.js.map +1 -0
- package/dist/boards/BoardCreator.d.ts +8 -0
- package/dist/boards/BoardCreator.d.ts.map +1 -0
- package/dist/boards/BoardCreator.js +24 -0
- package/dist/boards/BoardCreator.js.map +1 -0
- package/dist/boards/EditableLinkHook.d.ts +2 -0
- package/dist/boards/EditableLinkHook.d.ts.map +1 -0
- package/dist/boards/EditableLinkHook.js +137 -0
- package/dist/boards/EditableLinkHook.js.map +1 -0
- package/dist/boards/EditableLinkHookView.d.ts +2 -0
- package/dist/boards/EditableLinkHookView.d.ts.map +1 -0
- package/dist/boards/EditableLinkHookView.js +42 -0
- package/dist/boards/EditableLinkHookView.js.map +1 -0
- package/dist/boards/ExpandButton.d.ts +17 -0
- package/dist/boards/ExpandButton.d.ts.map +1 -0
- package/dist/boards/ExpandButton.js +59 -0
- package/dist/boards/ExpandButton.js.map +1 -0
- package/dist/boards/ExpandedBoardIOList.d.ts +12 -0
- package/dist/boards/ExpandedBoardIOList.d.ts.map +1 -0
- package/dist/boards/ExpandedBoardIOList.js +35 -0
- package/dist/boards/ExpandedBoardIOList.js.map +1 -0
- package/dist/boards/ExpandedBoardInputList.d.ts +4 -0
- package/dist/boards/ExpandedBoardInputList.d.ts.map +1 -0
- package/dist/boards/ExpandedBoardInputList.js +4 -0
- package/dist/boards/ExpandedBoardInputList.js.map +1 -0
- package/dist/boards/ExpandedBoardOutputList.d.ts +4 -0
- package/dist/boards/ExpandedBoardOutputList.d.ts.map +1 -0
- package/dist/boards/ExpandedBoardOutputList.js +4 -0
- package/dist/boards/ExpandedBoardOutputList.js.map +1 -0
- package/dist/boards/constants.d.ts +6 -0
- package/dist/boards/constants.d.ts.map +1 -0
- package/dist/boards/constants.js +6 -0
- package/dist/boards/constants.js.map +1 -0
- package/dist/constants.d.ts +14 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +23 -0
- package/dist/constants.js.map +1 -0
- package/dist/creators/Creator.d.ts +19 -0
- package/dist/creators/Creator.d.ts.map +1 -0
- package/dist/creators/Creator.js +54 -0
- package/dist/creators/Creator.js.map +1 -0
- package/dist/creators/DraggingCreator.d.ts +10 -0
- package/dist/creators/DraggingCreator.d.ts.map +1 -0
- package/dist/creators/DraggingCreator.js +45 -0
- package/dist/creators/DraggingCreator.js.map +1 -0
- package/dist/creators/Freehand.d.ts +16 -0
- package/dist/creators/Freehand.d.ts.map +1 -0
- package/dist/creators/Freehand.js +68 -0
- package/dist/creators/Freehand.js.map +1 -0
- package/dist/creators/SpanningCreator.d.ts +15 -0
- package/dist/creators/SpanningCreator.d.ts.map +1 -0
- package/dist/creators/SpanningCreator.js +66 -0
- package/dist/creators/SpanningCreator.js.map +1 -0
- package/dist/functions/logging.d.ts +4 -0
- package/dist/functions/logging.d.ts.map +1 -0
- package/dist/functions/logging.js +103 -0
- package/dist/functions/logging.js.map +1 -0
- package/dist/functions/math.d.ts +9 -0
- package/dist/functions/math.d.ts.map +1 -0
- package/dist/functions/math.js +85 -0
- package/dist/functions/math.js.map +1 -0
- package/dist/functions/various.d.ts +4 -0
- package/dist/functions/various.d.ts.map +1 -0
- package/dist/functions/various.js +54 -0
- package/dist/functions/various.js.map +1 -0
- package/dist/index.d.ts +77 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +79 -0
- package/dist/index.js.map +1 -0
- package/dist/linkables/DependencyLink.d.ts +24 -0
- package/dist/linkables/DependencyLink.d.ts.map +1 -0
- package/dist/linkables/DependencyLink.js +70 -0
- package/dist/linkables/DependencyLink.js.map +1 -0
- package/dist/linkables/IOList.d.ts +37 -0
- package/dist/linkables/IOList.d.ts.map +1 -0
- package/dist/linkables/IOList.js +203 -0
- package/dist/linkables/IOList.js.map +1 -0
- package/dist/linkables/InputList.d.ts +7 -0
- package/dist/linkables/InputList.d.ts.map +1 -0
- package/dist/linkables/InputList.js +13 -0
- package/dist/linkables/InputList.js.map +1 -0
- package/dist/linkables/LinkBullet.d.ts +11 -0
- package/dist/linkables/LinkBullet.d.ts.map +1 -0
- package/dist/linkables/LinkBullet.js +35 -0
- package/dist/linkables/LinkBullet.js.map +1 -0
- package/dist/linkables/LinkHook.d.ts +14 -0
- package/dist/linkables/LinkHook.d.ts.map +1 -0
- package/dist/linkables/LinkHook.js +50 -0
- package/dist/linkables/LinkHook.js.map +1 -0
- package/dist/linkables/LinkOutlet.d.ts +26 -0
- package/dist/linkables/LinkOutlet.d.ts.map +1 -0
- package/dist/linkables/LinkOutlet.js +136 -0
- package/dist/linkables/LinkOutlet.js.map +1 -0
- package/dist/linkables/Linkable.d.ts +55 -0
- package/dist/linkables/Linkable.d.ts.map +1 -0
- package/dist/linkables/Linkable.js +258 -0
- package/dist/linkables/Linkable.js.map +1 -0
- package/dist/linkables/OutputList.d.ts +7 -0
- package/dist/linkables/OutputList.d.ts.map +1 -0
- package/dist/linkables/OutputList.js +16 -0
- package/dist/linkables/OutputList.js.map +1 -0
- package/dist/linkables/constants.d.ts +12 -0
- package/dist/linkables/constants.d.ts.map +1 -0
- package/dist/linkables/constants.js +16 -0
- package/dist/linkables/constants.js.map +1 -0
- package/dist/mobjects/Dependency.d.ts +11 -0
- package/dist/mobjects/Dependency.d.ts.map +1 -0
- package/dist/mobjects/Dependency.js +19 -0
- package/dist/mobjects/Dependency.js.map +1 -0
- package/dist/mobjects/MGroup.d.ts +5 -0
- package/dist/mobjects/MGroup.d.ts.map +1 -0
- package/dist/mobjects/MGroup.js +15 -0
- package/dist/mobjects/MGroup.js.map +1 -0
- package/dist/mobjects/Mobject.d.ts +138 -0
- package/dist/mobjects/Mobject.d.ts.map +1 -0
- package/dist/mobjects/Mobject.js +488 -0
- package/dist/mobjects/Mobject.js.map +1 -0
- package/dist/mobjects/Motor.d.ts +20 -0
- package/dist/mobjects/Motor.d.ts.map +1 -0
- package/dist/mobjects/Motor.js +118 -0
- package/dist/mobjects/Motor.js.map +1 -0
- package/dist/mobjects/Sensor.d.ts +112 -0
- package/dist/mobjects/Sensor.d.ts.map +1 -0
- package/dist/mobjects/Sensor.js +650 -0
- package/dist/mobjects/Sensor.js.map +1 -0
- package/dist/mobjects/UpdateCall.d.ts +17 -0
- package/dist/mobjects/UpdateCall.d.ts.map +1 -0
- package/dist/mobjects/UpdateCall.js +67 -0
- package/dist/mobjects/UpdateCall.js.map +1 -0
- package/dist/mobjects/screen_events.d.ts +38 -0
- package/dist/mobjects/screen_events.d.ts.map +1 -0
- package/dist/mobjects/screen_events.js +143 -0
- package/dist/mobjects/screen_events.js.map +1 -0
- package/dist/paper/APILoader.d.ts +10 -0
- package/dist/paper/APILoader.d.ts.map +1 -0
- package/dist/paper/APILoader.js +18 -0
- package/dist/paper/APILoader.js.map +1 -0
- package/dist/paper/Paper.d.ts +34 -0
- package/dist/paper/Paper.d.ts.map +1 -0
- package/dist/paper/Paper.js +210 -0
- package/dist/paper/Paper.js.map +1 -0
- package/dist/paper/PaperView.d.ts +5 -0
- package/dist/paper/PaperView.d.ts.map +1 -0
- package/dist/paper/PaperView.js +9 -0
- package/dist/paper/PaperView.js.map +1 -0
- package/dist/paper/getPaper.d.ts +3 -0
- package/dist/paper/getPaper.d.ts.map +1 -0
- package/dist/paper/getPaper.js +8 -0
- package/dist/paper/getPaper.js.map +1 -0
- package/dist/paper/initPaper.d.ts +2 -0
- package/dist/paper/initPaper.d.ts.map +1 -0
- package/dist/paper/initPaper.js +3 -0
- package/dist/paper/initPaper.js.map +1 -0
- package/dist/shapes/Circle.d.ts +6 -0
- package/dist/shapes/Circle.d.ts.map +1 -0
- package/dist/shapes/Circle.js +20 -0
- package/dist/shapes/Circle.js.map +1 -0
- package/dist/shapes/CircularArc.d.ts +13 -0
- package/dist/shapes/CircularArc.d.ts.map +1 -0
- package/dist/shapes/CircularArc.js +95 -0
- package/dist/shapes/CircularArc.js.map +1 -0
- package/dist/shapes/CurvedArrow.d.ts +19 -0
- package/dist/shapes/CurvedArrow.d.ts.map +1 -0
- package/dist/shapes/CurvedArrow.js +89 -0
- package/dist/shapes/CurvedArrow.js.map +1 -0
- package/dist/shapes/Line.d.ts +14 -0
- package/dist/shapes/Line.d.ts.map +1 -0
- package/dist/shapes/Line.js +33 -0
- package/dist/shapes/Line.js.map +1 -0
- package/dist/shapes/Pill.d.ts +9 -0
- package/dist/shapes/Pill.d.ts.map +1 -0
- package/dist/shapes/Pill.js +51 -0
- package/dist/shapes/Pill.js.map +1 -0
- package/dist/shapes/Rectangle.d.ts +14 -0
- package/dist/shapes/Rectangle.d.ts.map +1 -0
- package/dist/shapes/Rectangle.js +34 -0
- package/dist/shapes/Rectangle.js.map +1 -0
- package/dist/shapes/RoundedRectangle.d.ts +17 -0
- package/dist/shapes/RoundedRectangle.d.ts.map +1 -0
- package/dist/shapes/RoundedRectangle.js +86 -0
- package/dist/shapes/RoundedRectangle.js.map +1 -0
- package/dist/shapes/Square.d.ts +8 -0
- package/dist/shapes/Square.d.ts.map +1 -0
- package/dist/shapes/Square.js +25 -0
- package/dist/shapes/Square.js.map +1 -0
- package/dist/sidebar/Sidebar.d.ts +28 -0
- package/dist/sidebar/Sidebar.d.ts.map +1 -0
- package/dist/sidebar/Sidebar.js +222 -0
- package/dist/sidebar/Sidebar.js.map +1 -0
- package/dist/sidebar/SidebarView.d.ts +5 -0
- package/dist/sidebar/SidebarView.d.ts.map +1 -0
- package/dist/sidebar/SidebarView.js +9 -0
- package/dist/sidebar/SidebarView.js.map +1 -0
- package/dist/sidebar/buttons/BoardButton.d.ts +6 -0
- package/dist/sidebar/buttons/BoardButton.d.ts.map +1 -0
- package/dist/sidebar/buttons/BoardButton.js +14 -0
- package/dist/sidebar/buttons/BoardButton.js.map +1 -0
- package/dist/sidebar/buttons/ControlsButton.d.ts +5 -0
- package/dist/sidebar/buttons/ControlsButton.d.ts.map +1 -0
- package/dist/sidebar/buttons/ControlsButton.js +11 -0
- package/dist/sidebar/buttons/ControlsButton.js.map +1 -0
- package/dist/sidebar/buttons/CreativeButton.d.ts +13 -0
- package/dist/sidebar/buttons/CreativeButton.d.ts.map +1 -0
- package/dist/sidebar/buttons/CreativeButton.js +49 -0
- package/dist/sidebar/buttons/CreativeButton.js.map +1 -0
- package/dist/sidebar/buttons/DragButton.d.ts +5 -0
- package/dist/sidebar/buttons/DragButton.d.ts.map +1 -0
- package/dist/sidebar/buttons/DragButton.js +10 -0
- package/dist/sidebar/buttons/DragButton.js.map +1 -0
- package/dist/sidebar/buttons/EraseButton.d.ts +7 -0
- package/dist/sidebar/buttons/EraseButton.d.ts.map +1 -0
- package/dist/sidebar/buttons/EraseButton.js +34 -0
- package/dist/sidebar/buttons/EraseButton.js.map +1 -0
- package/dist/sidebar/buttons/LinkButton.d.ts +5 -0
- package/dist/sidebar/buttons/LinkButton.d.ts.map +1 -0
- package/dist/sidebar/buttons/LinkButton.js +9 -0
- package/dist/sidebar/buttons/LinkButton.js.map +1 -0
- package/dist/sidebar/buttons/SidebarButton.d.ts +72 -0
- package/dist/sidebar/buttons/SidebarButton.d.ts.map +1 -0
- package/dist/sidebar/buttons/SidebarButton.js +369 -0
- package/dist/sidebar/buttons/SidebarButton.js.map +1 -0
- package/dist/sidebar/buttons/SidebarButtonView.d.ts +6 -0
- package/dist/sidebar/buttons/SidebarButtonView.d.ts.map +1 -0
- package/dist/sidebar/buttons/SidebarButtonView.js +8 -0
- package/dist/sidebar/buttons/SidebarButtonView.js.map +1 -0
- package/dist/sidebar/buttons/ToggleButton.d.ts +17 -0
- package/dist/sidebar/buttons/ToggleButton.d.ts.map +1 -0
- package/dist/sidebar/buttons/ToggleButton.js +79 -0
- package/dist/sidebar/buttons/ToggleButton.js.map +1 -0
- package/dist/sidebar/buttons/button_geometry.d.ts +10 -0
- package/dist/sidebar/buttons/button_geometry.d.ts.map +1 -0
- package/dist/sidebar/buttons/button_geometry.js +15 -0
- package/dist/sidebar/buttons/button_geometry.js.map +1 -0
- package/dist/sidebar/getSidebar.d.ts +3 -0
- package/dist/sidebar/getSidebar.d.ts.map +1 -0
- package/dist/sidebar/getSidebar.js +8 -0
- package/dist/sidebar/getSidebar.js.map +1 -0
- package/dist/sidebar/initSidebar.d.ts +2 -0
- package/dist/sidebar/initSidebar.d.ts.map +1 -0
- package/dist/sidebar/initSidebar.js +3 -0
- package/dist/sidebar/initSidebar.js.map +1 -0
- package/dist/ui/Checkbox.d.ts +20 -0
- package/dist/ui/Checkbox.d.ts.map +1 -0
- package/dist/ui/Checkbox.js +71 -0
- package/dist/ui/Checkbox.js.map +1 -0
- package/dist/ui/InputTextBox.d.ts +24 -0
- package/dist/ui/InputTextBox.d.ts.map +1 -0
- package/dist/ui/InputTextBox.js +104 -0
- package/dist/ui/InputTextBox.js.map +1 -0
- package/dist/ui/LinkableInputTextBox.d.ts +11 -0
- package/dist/ui/LinkableInputTextBox.d.ts.map +1 -0
- package/dist/ui/LinkableInputTextBox.js +32 -0
- package/dist/ui/LinkableInputTextBox.js.map +1 -0
- package/dist/ui/Popover.d.ts +34 -0
- package/dist/ui/Popover.d.ts.map +1 -0
- package/dist/ui/Popover.js +187 -0
- package/dist/ui/Popover.js.map +1 -0
- package/dist/ui/RadioButton.d.ts +16 -0
- package/dist/ui/RadioButton.d.ts.map +1 -0
- package/dist/ui/RadioButton.js +53 -0
- package/dist/ui/RadioButton.js.map +1 -0
- package/dist/ui/RadioButtonList.d.ts +16 -0
- package/dist/ui/RadioButtonList.d.ts.map +1 -0
- package/dist/ui/RadioButtonList.js +71 -0
- package/dist/ui/RadioButtonList.js.map +1 -0
- package/dist/ui/Scroll.d.ts +10 -0
- package/dist/ui/Scroll.d.ts.map +1 -0
- package/dist/ui/Scroll.js +30 -0
- package/dist/ui/Scroll.js.map +1 -0
- package/dist/ui/SimpleButton.d.ts +16 -0
- package/dist/ui/SimpleButton.d.ts.map +1 -0
- package/dist/ui/SimpleButton.js +61 -0
- package/dist/ui/SimpleButton.js.map +1 -0
- package/dist/ui/TextLabel.d.ts +19 -0
- package/dist/ui/TextLabel.d.ts.map +1 -0
- package/dist/ui/TextLabel.js +21 -0
- package/dist/ui/TextLabel.js.map +1 -0
- package/dist/ui/TextLabelView.d.ts +15 -0
- package/dist/ui/TextLabelView.d.ts.map +1 -0
- package/dist/ui/TextLabelView.js +52 -0
- package/dist/ui/TextLabelView.js.map +1 -0
- package/dist/views/Color.d.ts +31 -0
- package/dist/views/Color.d.ts.map +1 -0
- package/dist/views/Color.js +107 -0
- package/dist/views/Color.js.map +1 -0
- package/dist/views/Frame.d.ts +64 -0
- package/dist/views/Frame.d.ts.map +1 -0
- package/dist/views/Frame.js +132 -0
- package/dist/views/Frame.js.map +1 -0
- package/dist/views/ImageView.d.ts +10 -0
- package/dist/views/ImageView.d.ts.map +1 -0
- package/dist/views/ImageView.js +28 -0
- package/dist/views/ImageView.js.map +1 -0
- package/dist/views/View.d.ts +45 -0
- package/dist/views/View.d.ts.map +1 -0
- package/dist/views/View.js +181 -0
- package/dist/views/View.js.map +1 -0
- package/dist/vmobjects/CurvedLine.d.ts +14 -0
- package/dist/vmobjects/CurvedLine.d.ts.map +1 -0
- package/dist/vmobjects/CurvedLine.js +66 -0
- package/dist/vmobjects/CurvedLine.js.map +1 -0
- package/dist/vmobjects/CurvedShape.d.ts +5 -0
- package/dist/vmobjects/CurvedShape.d.ts.map +1 -0
- package/dist/vmobjects/CurvedShape.js +12 -0
- package/dist/vmobjects/CurvedShape.js.map +1 -0
- package/dist/vmobjects/Polygon.d.ts +5 -0
- package/dist/vmobjects/Polygon.d.ts.map +1 -0
- package/dist/vmobjects/Polygon.js +12 -0
- package/dist/vmobjects/Polygon.js.map +1 -0
- package/dist/vmobjects/PolygonalLine.d.ts +9 -0
- package/dist/vmobjects/PolygonalLine.d.ts.map +1 -0
- package/dist/vmobjects/PolygonalLine.js +34 -0
- package/dist/vmobjects/PolygonalLine.js.map +1 -0
- package/dist/vmobjects/VMobject.d.ts +58 -0
- package/dist/vmobjects/VMobject.d.ts.map +1 -0
- package/dist/vmobjects/VMobject.js +165 -0
- package/dist/vmobjects/VMobject.js.map +1 -0
- package/dist/vmobjects/VView.d.ts +19 -0
- package/dist/vmobjects/VView.d.ts.map +1 -0
- package/dist/vmobjects/VView.js +61 -0
- package/dist/vmobjects/VView.js.map +1 -0
- package/package.json +43 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PaperView.d.ts","sourceRoot":"","sources":["../../src/paper/PaperView.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAEvC,qBAAa,SAAU,SAAQ,IAAI;IAElC,QAAQ,IAAI,MAAM;CAOlB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PaperView.js","sourceRoot":"","sources":["../../src/paper/PaperView.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAEvC,MAAM,OAAO,SAAU,SAAQ,IAAI;IAElC,QAAQ;QACP,OAAO;YACN,GAAG,EAAE,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAmB;SAC1D,CAAA;IACF,CAAC;CAGD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getPaper.d.ts","sourceRoot":"","sources":["../../src/paper/getPaper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAElC,wBAAgB,QAAQ,IAAI,KAAK,CAIhC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getPaper.js","sourceRoot":"","sources":["../../src/paper/getPaper.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,QAAQ;IACvB,IAAI,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC,CAAA;IAClD,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;QAAC,OAAO,SAAS,CAAA;IAAC,CAAC;IAC1C,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,CAAA;AAChC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"initPaper.d.ts","sourceRoot":"","sources":["../../src/paper/initPaper.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"initPaper.js","sourceRoot":"","sources":["../../src/paper/initPaper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAElC,IAAI,CAAC,GAAG,IAAI,KAAK,EAAE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Circle.d.ts","sourceRoot":"","sources":["../../src/shapes/Circle.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAG9C,qBAAa,MAAO,SAAQ,WAAW;IAKtC,QAAQ,IAAI,MAAM;IAOlB,YAAY,IAAI,MAAM;CAOtB"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { CircularArc } from './CircularArc.js';
|
|
2
|
+
import { TAU } from '../constants.js';
|
|
3
|
+
export class Circle extends CircularArc {
|
|
4
|
+
/*
|
|
5
|
+
A Circle is a CircularArc whose angle equals TAU = 2*PI.
|
|
6
|
+
*/
|
|
7
|
+
defaults() {
|
|
8
|
+
return {
|
|
9
|
+
angle: TAU,
|
|
10
|
+
closed: true
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
mutabilities() {
|
|
14
|
+
return {
|
|
15
|
+
angle: 'never',
|
|
16
|
+
closed: 'never'
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=Circle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Circle.js","sourceRoot":"","sources":["../../src/shapes/Circle.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAA;AAErC,MAAM,OAAO,MAAO,SAAQ,WAAW;IACtC;;MAEE;IAEF,QAAQ;QACP,OAAO;YACN,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,IAAI;SACZ,CAAA;IACF,CAAC;IAED,YAAY;QACX,OAAO;YACN,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,OAAO;SACf,CAAA;IACF,CAAC;CAED"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { CurvedLine } from '../vmobjects/CurvedLine.js';
|
|
2
|
+
import { vertex } from '@bhbr/affr2';
|
|
3
|
+
export declare class CircularArc extends CurvedLine {
|
|
4
|
+
radius: number;
|
|
5
|
+
angle: number;
|
|
6
|
+
nbPoints: number;
|
|
7
|
+
defaults(): object;
|
|
8
|
+
get midpoint(): vertex;
|
|
9
|
+
set midpoint(newValue: vertex);
|
|
10
|
+
synchronizeUpdateArguments(args?: object): object;
|
|
11
|
+
updateBezierPoints(): void;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=CircularArc.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CircularArc.d.ts","sourceRoot":"","sources":["../../src/shapes/CircularArc.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AACvD,OAAO,EAAE,MAAM,EAA4D,MAAM,aAAa,CAAA;AAK9F,qBAAa,WAAY,SAAQ,UAAU;IAE1C,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAEhB,QAAQ,IAAI,MAAM;IAalB,IAAI,QAAQ,IAAI,MAAM,CAKrB;IACD,IAAI,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAK5B;IAED,0BAA0B,CAAC,IAAI,GAAE,MAAW,GAAG,MAAM;IAyCrD,kBAAkB;CAyBlB"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { CurvedLine } from '../vmobjects/CurvedLine.js';
|
|
2
|
+
import { vertexTranslatedBy, vertexCentrallyScaledBy } from '@bhbr/affr2';
|
|
3
|
+
import { TAU } from '../constants.js';
|
|
4
|
+
const DEFAULT_RADIUS = 10;
|
|
5
|
+
export class CircularArc extends CurvedLine {
|
|
6
|
+
defaults() {
|
|
7
|
+
return {
|
|
8
|
+
closed: false,
|
|
9
|
+
anchor: undefined,
|
|
10
|
+
midpoint: [DEFAULT_RADIUS, DEFAULT_RADIUS],
|
|
11
|
+
radius: DEFAULT_RADIUS,
|
|
12
|
+
angle: TAU / 4,
|
|
13
|
+
nbPoints: 32
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
// A circle's midpoint is not implemented as its own property,
|
|
17
|
+
// that needs to be kept in sync with its anchor
|
|
18
|
+
get midpoint() {
|
|
19
|
+
if (this.radius === undefined) {
|
|
20
|
+
throw 'No radius yet!';
|
|
21
|
+
}
|
|
22
|
+
return vertexTranslatedBy(this.view.frame.anchor, [this.radius, this.radius]);
|
|
23
|
+
}
|
|
24
|
+
set midpoint(newValue) {
|
|
25
|
+
if (this.radius === undefined) {
|
|
26
|
+
throw 'No radius yet!';
|
|
27
|
+
}
|
|
28
|
+
this.view.frame.anchor = vertexTranslatedBy(newValue, [-this.radius, -this.radius]);
|
|
29
|
+
}
|
|
30
|
+
synchronizeUpdateArguments(args = {}) {
|
|
31
|
+
/*
|
|
32
|
+
Since midpoint is just an alias for a shifted anchor, there is possible
|
|
33
|
+
confusion when updating a Circle/CircularArc with a new midpoint, anchor
|
|
34
|
+
and/or radius.
|
|
35
|
+
This is resolved here:
|
|
36
|
+
- updating the midpoint changes the anchor using the given new or existing radius
|
|
37
|
+
- updating just the radius keeps the midpoint where it is (the anchor changes instead)
|
|
38
|
+
*/
|
|
39
|
+
// read all possible new values
|
|
40
|
+
let r = args['radius'];
|
|
41
|
+
let m = args['midpoint'];
|
|
42
|
+
let a = args['anchor'];
|
|
43
|
+
if (m && a) {
|
|
44
|
+
throw `Inconsistent data: cannot set midpoint and anchor of a ${this.constructor.name} simultaneously`;
|
|
45
|
+
}
|
|
46
|
+
// adjust the anchor according to the given parameters
|
|
47
|
+
if (r !== undefined && !m && !a) { // only r given
|
|
48
|
+
args['anchor'] = vertexTranslatedBy(this.midpoint, [-r, -r]);
|
|
49
|
+
}
|
|
50
|
+
else if (r === undefined && m && !a) { // only m given
|
|
51
|
+
args['anchor'] = vertexTranslatedBy(m, [-this.radius, -this.radius]);
|
|
52
|
+
}
|
|
53
|
+
else if (r === undefined && !m && a) { // only a given
|
|
54
|
+
// nothing to adjust
|
|
55
|
+
}
|
|
56
|
+
else if (r !== undefined && m) { // r and m given, but no a
|
|
57
|
+
args['anchor'] = vertexTranslatedBy(m, [-r, -r]);
|
|
58
|
+
}
|
|
59
|
+
else if (r !== undefined && !m && a) { // r and a given
|
|
60
|
+
// nothing to adjust
|
|
61
|
+
}
|
|
62
|
+
// remove the new midpoint (taken care of by updating the anchor)
|
|
63
|
+
delete args['midpoint'];
|
|
64
|
+
let updatedRadius = (r !== undefined) ? r : this.radius;
|
|
65
|
+
args['frameWidth'] = 2 * updatedRadius;
|
|
66
|
+
args['frameHeight'] = 2 * updatedRadius;
|
|
67
|
+
return args;
|
|
68
|
+
}
|
|
69
|
+
updateBezierPoints() {
|
|
70
|
+
let newBezierPoints = [];
|
|
71
|
+
let d = this.radius * 4 / 3 * Math.tan(this.angle / (4 * this.nbPoints));
|
|
72
|
+
for (let i = 0; i <= this.nbPoints; i++) {
|
|
73
|
+
let theta = i / this.nbPoints * this.angle;
|
|
74
|
+
let radialUnitVector = [Math.cos(theta), Math.sin(theta)];
|
|
75
|
+
let tangentUnitVector = [-Math.sin(theta), Math.cos(theta)];
|
|
76
|
+
let anchorPoint = vertexCentrallyScaledBy(radialUnitVector, this.radius);
|
|
77
|
+
let leftControlPoint = vertexTranslatedBy(anchorPoint, vertexCentrallyScaledBy(tangentUnitVector, -d));
|
|
78
|
+
let rightControlPoint = vertexTranslatedBy(anchorPoint, vertexCentrallyScaledBy(tangentUnitVector, d));
|
|
79
|
+
if (i != 0) {
|
|
80
|
+
newBezierPoints.push(leftControlPoint);
|
|
81
|
+
}
|
|
82
|
+
newBezierPoints.push(anchorPoint);
|
|
83
|
+
if (i != this.nbPoints) {
|
|
84
|
+
newBezierPoints.push(rightControlPoint);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
let translatedBezierPoints = [];
|
|
88
|
+
for (let i = 0; i < newBezierPoints.length; i++) {
|
|
89
|
+
translatedBezierPoints.push(vertexTranslatedBy(newBezierPoints[i], [this.radius, this.radius]));
|
|
90
|
+
}
|
|
91
|
+
this.bezierPoints = translatedBezierPoints;
|
|
92
|
+
// do NOT update the view, because redraw calls updateBezierPoints
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=CircularArc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CircularArc.js","sourceRoot":"","sources":["../../src/shapes/CircularArc.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AACvD,OAAO,EAAuB,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AAC9F,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAA;AAErC,MAAM,cAAc,GAAG,EAAE,CAAA;AAEzB,MAAM,OAAO,WAAY,SAAQ,UAAU;IAM1C,QAAQ;QACP,OAAO;YACN,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,SAAS;YACjB,QAAQ,EAAE,CAAC,cAAc,EAAE,cAAc,CAAC;YAC1C,MAAM,EAAE,cAAc;YACtB,KAAK,EAAE,GAAG,GAAG,CAAC;YACd,QAAQ,EAAE,EAAE;SACZ,CAAA;IACF,CAAC;IAED,8DAA8D;IAC9D,gDAAgD;IAChD,IAAI,QAAQ;QACX,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,gBAAgB,CAAA;QACvB,CAAC;QACD,OAAO,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IAC9E,CAAC;IACD,IAAI,QAAQ,CAAC,QAAgB;QAC5B,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,gBAAgB,CAAA;QACvB,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,kBAAkB,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IACpF,CAAC;IAED,0BAA0B,CAAC,OAAe,EAAE;QAC5C;;;;;;;UAOE;QAED,+BAA+B;QAC/B,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAA;QACtB,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAA;QACxB,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAA;QAEtB,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACZ,MAAM,0DAA0D,IAAI,CAAC,WAAW,CAAC,IAAI,iBAAiB,CAAA;QACvG,CAAC;QAED,sDAAsD;QACtD,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,eAAe;YACjD,IAAI,CAAC,QAAQ,CAAC,GAAG,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QAC7D,CAAC;aAAM,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,eAAe;YACvD,IAAI,CAAC,QAAQ,CAAC,GAAG,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;QACrE,CAAC;aAAM,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,eAAe;YACvD,oBAAoB;QACrB,CAAC;aAAM,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,EAAE,CAAC,CAAC,0BAA0B;YAC5D,IAAI,CAAC,QAAQ,CAAC,GAAG,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QACjD,CAAC;aAAM,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,gBAAgB;YACxD,oBAAoB;QACrB,CAAC;QAED,iEAAiE;QACjE,OAAO,IAAI,CAAC,UAAU,CAAC,CAAA;QAEvB,IAAI,aAAa,GAAG,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAA;QACvD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,aAAa,CAAA;QACtC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,aAAa,CAAA;QACvC,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,kBAAkB;QACjB,IAAI,eAAe,GAAgB,EAAE,CAAA;QACrC,IAAI,CAAC,GAAW,IAAI,CAAC,MAAM,GAAG,CAAC,GAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,GAAC,CAAC,CAAC,GAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;QAC1E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,IAAI,KAAK,GAAW,CAAC,GAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAA;YAChD,IAAI,gBAAgB,GAAW,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;YACjE,IAAI,iBAAiB,GAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;YACnE,IAAI,WAAW,GAAW,uBAAuB,CAAC,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;YAEhF,IAAI,gBAAgB,GAAW,kBAAkB,CAAC,WAAW,EAAE,uBAAuB,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;YAC9G,IAAI,iBAAiB,GAAW,kBAAkB,CAAC,WAAW,EAAE,uBAAuB,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAA;YAE9G,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAAC,eAAe,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;YAAC,CAAC;YACtD,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;YACjC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAAC,eAAe,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;YAAC,CAAC;QACpE,CAAC;QACD,IAAI,sBAAsB,GAAgB,EAAE,CAAA;QAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACjD,sBAAsB,CAAC,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QAChG,CAAC;QACD,IAAI,CAAC,YAAY,GAAG,sBAAsB,CAAA;QAE1C,kEAAkE;IACnE,CAAC;CAED"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { CircularArc } from '../shapes/CircularArc.js';
|
|
2
|
+
import { vertex } from '@bhbr/affr2';
|
|
3
|
+
import { PolygonalLine } from '../vmobjects/PolygonalLine.js';
|
|
4
|
+
export type ArrowTipStyle = 'v' | 'triangle' | 'dart';
|
|
5
|
+
export declare class CurvedArrow extends CircularArc {
|
|
6
|
+
tip: PolygonalLine;
|
|
7
|
+
tipStyle: ArrowTipStyle;
|
|
8
|
+
tipSize: number;
|
|
9
|
+
tipAngle: number;
|
|
10
|
+
defaults(): object;
|
|
11
|
+
getTangentialUnitVector(): vertex;
|
|
12
|
+
getRadialUnitVector(): vertex;
|
|
13
|
+
setup(): void;
|
|
14
|
+
tipPoint(): vertex;
|
|
15
|
+
applyTipStyle(): void;
|
|
16
|
+
update(args?: object, redraw?: boolean): void;
|
|
17
|
+
updateBezierPoints(): void;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=CurvedArrow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CurvedArrow.d.ts","sourceRoot":"","sources":["../../src/shapes/CurvedArrow.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAEtD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAG7D,MAAM,MAAM,aAAa,GAAG,GAAG,GAAG,UAAU,GAAG,MAAM,CAAA;AAErD,qBAAa,WAAY,SAAQ,WAAW;IAE3C,GAAG,EAAE,aAAa,CAAA;IAClB,QAAQ,EAAE,aAAa,CAAA;IACvB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAEhB,QAAQ,IAAI,MAAM;IAUlB,uBAAuB,IAAI,MAAM;IAIjC,mBAAmB,IAAI,MAAM;IAI7B,KAAK;IAWL,QAAQ,IAAI,MAAM;IAOlB,aAAa;IA0Cb,MAAM,CAAC,IAAI,GAAE,MAAW,EAAE,MAAM,GAAE,OAAc;IAOhD,kBAAkB;CAOlB"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { CircularArc } from '../shapes/CircularArc.js';
|
|
2
|
+
import { TAU } from '../constants.js';
|
|
3
|
+
import { PolygonalLine } from '../vmobjects/PolygonalLine.js';
|
|
4
|
+
export class CurvedArrow extends CircularArc {
|
|
5
|
+
defaults() {
|
|
6
|
+
return {
|
|
7
|
+
tipStyle: 'v',
|
|
8
|
+
tipSize: 20,
|
|
9
|
+
tipAngle: TAU / 12,
|
|
10
|
+
tip: new PolygonalLine({ closed: false }),
|
|
11
|
+
fillOpacity: 0
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
getTangentialUnitVector() {
|
|
15
|
+
return [-Math.sin(this.angle), Math.cos(this.angle)];
|
|
16
|
+
}
|
|
17
|
+
getRadialUnitVector() {
|
|
18
|
+
return [Math.cos(this.angle), Math.sin(this.angle)];
|
|
19
|
+
}
|
|
20
|
+
setup() {
|
|
21
|
+
super.setup();
|
|
22
|
+
this.applyTipStyle();
|
|
23
|
+
this.tip.update({
|
|
24
|
+
strokeWidth: this.strokeWidth,
|
|
25
|
+
strokeColor: this.strokeColor,
|
|
26
|
+
fillColor: this.strokeColor
|
|
27
|
+
});
|
|
28
|
+
this.add(this.tip);
|
|
29
|
+
}
|
|
30
|
+
tipPoint() {
|
|
31
|
+
return [
|
|
32
|
+
this.radius + this.radius * Math.cos(this.angle),
|
|
33
|
+
this.radius + this.radius * Math.sin(this.angle)
|
|
34
|
+
];
|
|
35
|
+
}
|
|
36
|
+
applyTipStyle() {
|
|
37
|
+
let rotatedTipAngle1 = this.angle - TAU / 2 - this.tipAngle;
|
|
38
|
+
let rotatedTipAngle2 = this.angle - TAU / 2 + this.tipAngle;
|
|
39
|
+
switch (this.tipStyle) {
|
|
40
|
+
case 'v':
|
|
41
|
+
this.tip.update({
|
|
42
|
+
vertices: [
|
|
43
|
+
[-this.tipSize * Math.sin(rotatedTipAngle1), this.tipSize * Math.cos(rotatedTipAngle1)],
|
|
44
|
+
[0, 0],
|
|
45
|
+
[-this.tipSize * Math.sin(rotatedTipAngle2), this.tipSize * Math.cos(rotatedTipAngle2)]
|
|
46
|
+
],
|
|
47
|
+
closed: false,
|
|
48
|
+
fillOpacity: 0
|
|
49
|
+
});
|
|
50
|
+
break;
|
|
51
|
+
case 'triangle':
|
|
52
|
+
this.tip.update({
|
|
53
|
+
vertices: [
|
|
54
|
+
[-this.tipSize * Math.sin(rotatedTipAngle1), this.tipSize * Math.cos(rotatedTipAngle1)],
|
|
55
|
+
[0, 0],
|
|
56
|
+
[-this.tipSize * Math.sin(rotatedTipAngle2), this.tipSize * Math.cos(rotatedTipAngle2)]
|
|
57
|
+
],
|
|
58
|
+
closed: true,
|
|
59
|
+
fillOpacity: 1
|
|
60
|
+
});
|
|
61
|
+
break;
|
|
62
|
+
case 'dart':
|
|
63
|
+
this.tip.update({
|
|
64
|
+
vertices: [
|
|
65
|
+
[-this.tipSize * Math.sin(rotatedTipAngle1), this.tipSize * Math.cos(rotatedTipAngle1)],
|
|
66
|
+
[0, 0],
|
|
67
|
+
[-this.tipSize * Math.sin(rotatedTipAngle2), this.tipSize * Math.cos(rotatedTipAngle2)],
|
|
68
|
+
[0.5 * this.tipSize * Math.sin(this.angle), -0.5 * this.tipSize * Math.cos(this.angle)]
|
|
69
|
+
],
|
|
70
|
+
closed: true,
|
|
71
|
+
fillOpacity: 1
|
|
72
|
+
});
|
|
73
|
+
break;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
update(args = {}, redraw = true) {
|
|
77
|
+
super.update(args, redraw);
|
|
78
|
+
if (args['tipStyle'] !== undefined || args['tipSize'] !== undefined || args['tipAngle'] !== undefined) {
|
|
79
|
+
this.applyTipStyle();
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
updateBezierPoints() {
|
|
83
|
+
super.updateBezierPoints();
|
|
84
|
+
this.tip.update({
|
|
85
|
+
anchor: this.tipPoint()
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=CurvedArrow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CurvedArrow.js","sourceRoot":"","sources":["../../src/shapes/CurvedArrow.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { vertex } from '@bhbr/affr2';
|
|
2
|
+
import { Polygon } from '../vmobjects/Polygon.js';
|
|
3
|
+
import { Color } from '../views/Color.js';
|
|
4
|
+
export declare class Line extends Polygon {
|
|
5
|
+
startPoint: vertex;
|
|
6
|
+
endPoint: vertex;
|
|
7
|
+
defaults(): object;
|
|
8
|
+
get color(): Color;
|
|
9
|
+
set color(newValue: Color);
|
|
10
|
+
drawingStartPoint(): vertex;
|
|
11
|
+
drawingEndPoint(): vertex;
|
|
12
|
+
update(args?: object, redraw?: boolean): void;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=Line.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Line.d.ts","sourceRoot":"","sources":["../../src/shapes/Line.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAgB,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAEzC,qBAAa,IAAK,SAAQ,OAAO;IAEhC,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAEhB,QAAQ,IAAI,MAAM;IAOlB,IAAI,KAAK,IAAI,KAAK,CAA4B;IAC9C,IAAI,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAiC;IAO1D,iBAAiB;IAIjB,eAAe;IAIf,MAAM,CAAC,IAAI,GAAE,MAAW,EAAE,MAAM,GAAE,OAAc;CAOhD"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { vertexOrigin } from '@bhbr/affr2';
|
|
2
|
+
import { Polygon } from '../vmobjects/Polygon.js';
|
|
3
|
+
export class Line extends Polygon {
|
|
4
|
+
defaults() {
|
|
5
|
+
return {
|
|
6
|
+
startPoint: vertexOrigin(),
|
|
7
|
+
endPoint: vertexOrigin()
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
get color() { return this.strokeColor; }
|
|
11
|
+
set color(newValue) { this.strokeColor = newValue; }
|
|
12
|
+
/*
|
|
13
|
+
Subclasses might want to draw not right from start to end,
|
|
14
|
+
but e. g. extend to the edge of the screen or leave
|
|
15
|
+
space for an arrow
|
|
16
|
+
*/
|
|
17
|
+
drawingStartPoint() {
|
|
18
|
+
return this.startPoint;
|
|
19
|
+
}
|
|
20
|
+
drawingEndPoint() {
|
|
21
|
+
return this.endPoint;
|
|
22
|
+
}
|
|
23
|
+
update(args = {}, redraw = true) {
|
|
24
|
+
super.update(args, false);
|
|
25
|
+
let p = this.drawingStartPoint();
|
|
26
|
+
let q = this.drawingEndPoint();
|
|
27
|
+
this.vertices = [p, q];
|
|
28
|
+
if (redraw) {
|
|
29
|
+
this.view.redraw();
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=Line.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Line.js","sourceRoot":"","sources":["../../src/shapes/Line.ts"],"names":[],"mappings":"AACA,OAAO,EAAU,YAAY,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AAGjD,MAAM,OAAO,IAAK,SAAQ,OAAO;IAKhC,QAAQ;QACP,OAAO;YACN,UAAU,EAAE,YAAY,EAAE;YAC1B,QAAQ,EAAE,YAAY,EAAE;SACxB,CAAA;IACF,CAAC;IAED,IAAI,KAAK,KAAY,OAAO,IAAI,CAAC,WAAW,CAAA,CAAC,CAAC;IAC9C,IAAI,KAAK,CAAC,QAAe,IAAI,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAA,CAAC,CAAC;IAE1D;;;;MAIE;IACF,iBAAiB;QAChB,OAAO,IAAI,CAAC,UAAU,CAAA;IACvB,CAAC;IAED,eAAe;QACd,OAAO,IAAI,CAAC,QAAQ,CAAA;IACrB,CAAC;IAED,MAAM,CAAC,OAAe,EAAE,EAAE,SAAkB,IAAI;QAC/C,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QACzB,IAAI,CAAC,GAAW,IAAI,CAAC,iBAAiB,EAAE,CAAA;QACxC,IAAI,CAAC,GAAW,IAAI,CAAC,eAAe,EAAE,CAAA;QACtC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QACtB,IAAI,MAAM,EAAE,CAAC;YAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAA;QAAC,CAAC;IACnC,CAAC;CACD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Pill.d.ts","sourceRoot":"","sources":["../../src/shapes/Pill.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAGvD,qBAAa,IAAK,SAAQ,UAAU;IAEnC,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,cAAc,EAAE,MAAM,CAAA;IAEtB,QAAQ,IAAI,MAAM;IAQlB,kBAAkB;CAwClB"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { CurvedLine } from '../vmobjects/CurvedLine.js';
|
|
2
|
+
import { vertexCentrallyScaledBy, vertexTranslatedBy } from '@bhbr/affr2';
|
|
3
|
+
export class Pill extends CurvedLine {
|
|
4
|
+
defaults() {
|
|
5
|
+
return {
|
|
6
|
+
radius: 50,
|
|
7
|
+
width: 200,
|
|
8
|
+
nbPointsPerArc: 12
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
updateBezierPoints() {
|
|
12
|
+
let newBezierPoints = [];
|
|
13
|
+
let d = this.radius * 4 / 3 * Math.tan(Math.PI / (4 * this.nbPointsPerArc));
|
|
14
|
+
let leftArcCenter = [this.radius, this.radius];
|
|
15
|
+
for (let i = 0; i <= this.nbPointsPerArc; i++) {
|
|
16
|
+
let theta = i / this.nbPointsPerArc * Math.PI + Math.PI / 2;
|
|
17
|
+
let radialUnitVector = [Math.cos(theta), Math.sin(theta)];
|
|
18
|
+
let tangentUnitVector = [-Math.sin(theta), Math.cos(theta)];
|
|
19
|
+
let anchorPoint = vertexTranslatedBy(leftArcCenter, vertexCentrallyScaledBy(radialUnitVector, this.radius));
|
|
20
|
+
let leftControlPoint = vertexTranslatedBy(anchorPoint, vertexCentrallyScaledBy(tangentUnitVector, -d));
|
|
21
|
+
let rightControlPoint = vertexTranslatedBy(anchorPoint, vertexCentrallyScaledBy(tangentUnitVector, d));
|
|
22
|
+
if (i != 0) {
|
|
23
|
+
newBezierPoints.push(leftControlPoint);
|
|
24
|
+
}
|
|
25
|
+
newBezierPoints.push(anchorPoint);
|
|
26
|
+
if (i != this.nbPointsPerArc) {
|
|
27
|
+
newBezierPoints.push(rightControlPoint);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
newBezierPoints.push([this.width - this.radius, 0]);
|
|
31
|
+
newBezierPoints.push([this.radius, 0]);
|
|
32
|
+
let rightArcCenter = [this.width - this.radius, this.radius];
|
|
33
|
+
for (let i = 0; i <= this.nbPointsPerArc; i++) {
|
|
34
|
+
let theta = i / this.nbPointsPerArc * Math.PI - Math.PI / 2;
|
|
35
|
+
let radialUnitVector = [Math.cos(theta), Math.sin(theta)];
|
|
36
|
+
let tangentUnitVector = [-Math.sin(theta), Math.cos(theta)];
|
|
37
|
+
let anchorPoint = vertexTranslatedBy(rightArcCenter, vertexCentrallyScaledBy(radialUnitVector, this.radius));
|
|
38
|
+
let leftControlPoint = vertexTranslatedBy(anchorPoint, vertexCentrallyScaledBy(tangentUnitVector, -d));
|
|
39
|
+
let rightControlPoint = vertexTranslatedBy(anchorPoint, vertexCentrallyScaledBy(tangentUnitVector, d));
|
|
40
|
+
if (i != 0) {
|
|
41
|
+
newBezierPoints.push(leftControlPoint);
|
|
42
|
+
}
|
|
43
|
+
newBezierPoints.push(anchorPoint);
|
|
44
|
+
if (i != this.nbPointsPerArc) {
|
|
45
|
+
newBezierPoints.push(rightControlPoint);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
this.bezierPoints = newBezierPoints;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=Pill.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Pill.js","sourceRoot":"","sources":["../../src/shapes/Pill.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { vertex } from '@bhbr/affr2';
|
|
2
|
+
import { Polygon } from '../vmobjects/Polygon.js';
|
|
3
|
+
export declare class Rectangle extends Polygon {
|
|
4
|
+
width: number;
|
|
5
|
+
height: number;
|
|
6
|
+
p1: vertex;
|
|
7
|
+
p2: vertex;
|
|
8
|
+
p3: vertex;
|
|
9
|
+
p4: vertex;
|
|
10
|
+
defaults(): object;
|
|
11
|
+
setup(): void;
|
|
12
|
+
update(args?: object, redraw?: boolean): void;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=Rectangle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Rectangle.d.ts","sourceRoot":"","sources":["../../src/shapes/Rectangle.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAgB,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AAEjD,qBAAa,SAAU,SAAQ,OAAO;IAErC,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,EAAE,EAAE,MAAM,CAAA;IACV,EAAE,EAAE,MAAM,CAAA;IACV,EAAE,EAAE,MAAM,CAAA;IACV,EAAE,EAAE,MAAM,CAAA;IAEV,QAAQ,IAAI,MAAM;IAWlB,KAAK;IAOL,MAAM,CAAC,IAAI,GAAE,MAAW,EAAE,MAAM,GAAE,OAAc;CAehD"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { vertexOrigin } from '@bhbr/affr2';
|
|
2
|
+
import { Polygon } from '../vmobjects/Polygon.js';
|
|
3
|
+
export class Rectangle extends Polygon {
|
|
4
|
+
defaults() {
|
|
5
|
+
return {
|
|
6
|
+
width: 200,
|
|
7
|
+
height: 100,
|
|
8
|
+
p1: vertexOrigin(),
|
|
9
|
+
p2: [200, 0],
|
|
10
|
+
p3: [200, 100],
|
|
11
|
+
p4: [0, 100]
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
setup() {
|
|
15
|
+
super.setup();
|
|
16
|
+
this.update({
|
|
17
|
+
vertices: [this.p1, this.p2, this.p3, this.p4]
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
update(args = {}, redraw = true) {
|
|
21
|
+
super.update(args, false);
|
|
22
|
+
//// internal dependencies
|
|
23
|
+
this.view.frame.width = this.width;
|
|
24
|
+
this.view.frame.height = this.height;
|
|
25
|
+
this.p2[0] = this.width;
|
|
26
|
+
this.p3[0] = this.width;
|
|
27
|
+
this.p3[1] = this.height;
|
|
28
|
+
this.p4[1] = this.height;
|
|
29
|
+
if (redraw) {
|
|
30
|
+
this.view.redraw();
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=Rectangle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Rectangle.js","sourceRoot":"","sources":["../../src/shapes/Rectangle.ts"],"names":[],"mappings":"AACA,OAAO,EAAU,YAAY,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AAEjD,MAAM,OAAO,SAAU,SAAQ,OAAO;IASrC,QAAQ;QACP,OAAO;YACN,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,GAAG;YACX,EAAE,EAAE,YAAY,EAAE;YAClB,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;YACZ,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;YACd,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC;SACZ,CAAA;IACF,CAAC;IAED,KAAK;QACJ,KAAK,CAAC,KAAK,EAAE,CAAA;QACb,IAAI,CAAC,MAAM,CAAC;YACX,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;SAC9C,CAAC,CAAA;IACH,CAAC;IAED,MAAM,CAAC,OAAe,EAAE,EAAE,SAAkB,IAAI;QAC/C,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QAEzB,0BAA0B;QAC1B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QAClC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QAEpC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAA;QACvB,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAA;QACvB,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAA;QACxB,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAA;QAExB,IAAI,MAAM,EAAE,CAAC;YAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAA;QAAC,CAAC;IACnC,CAAC;CAED"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { vertexArray } from '@bhbr/affr2';
|
|
2
|
+
import { CurvedShape } from '../vmobjects/CurvedShape.js';
|
|
3
|
+
export declare class RoundedRectangle extends CurvedShape {
|
|
4
|
+
width: number;
|
|
5
|
+
height: number;
|
|
6
|
+
cornerRadii: Array<number>;
|
|
7
|
+
nbPointsPerCorner: number;
|
|
8
|
+
defaults(): object;
|
|
9
|
+
setup(): void;
|
|
10
|
+
get cornerRadius(): number;
|
|
11
|
+
set cornerRadius(newValue: number);
|
|
12
|
+
allCornerRadiiEqual(): boolean;
|
|
13
|
+
bezierPointsForArcNumber(index: 0 | 1 | 2 | 3): vertexArray;
|
|
14
|
+
updateBezierPoints(): void;
|
|
15
|
+
update(args?: object, redraw?: boolean): void;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=RoundedRectangle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RoundedRectangle.d.ts","sourceRoot":"","sources":["../../src/shapes/RoundedRectangle.ts"],"names":[],"mappings":"AACA,OAAO,EAAqB,WAAW,EAA6G,MAAM,aAAa,CAAA;AACvK,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAGzD,qBAAa,gBAAiB,SAAQ,WAAW;IAEhD,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IAC1B,iBAAiB,EAAE,MAAM,CAAA;IAEzB,QAAQ,IAAI,MAAM;IAalB,KAAK;IAKL,IAAI,YAAY,IAAI,MAAM,CAMzB;IACD,IAAI,YAAY,CAAC,QAAQ,EAAE,MAAM,EAGhC;IAED,mBAAmB,IAAI,OAAO;IAS9B,wBAAwB,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,WAAW;IAmB3D,kBAAkB;IAmClB,MAAM,CAAC,IAAI,GAAE,MAAW,EAAE,MAAM,GAAE,OAAc;CAUhD"}
|