plotboilerplate 1.23.2 → 1.24.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 +6 -0
- package/dist/index.esm.js +8351 -6928
- package/dist/index.esm.js.map +1 -1
- package/dist/index.esm.min.js +1 -1
- package/dist/index.esm.min.js.map +1 -1
- package/dist/plotboilerplate.browser.min.js +1 -1
- package/dist/plotboilerplate.browser.min.js.map +1 -1
- package/dist/plotboilerplate.js +1590 -123
- package/dist/plotboilerplate.min.js +1 -1
- package/package.json +4 -2
- package/src/cjs/BezierPath.d.ts +41 -5
- package/src/cjs/BezierPath.js +52 -2
- package/src/cjs/BezierPath.js.map +1 -1
- package/src/cjs/Bounds.d.ts +67 -3
- package/src/cjs/Bounds.js +101 -3
- package/src/cjs/Bounds.js.map +1 -1
- package/src/cjs/Circle.d.ts +46 -4
- package/src/cjs/Circle.js +82 -3
- package/src/cjs/Circle.js.map +1 -1
- package/src/cjs/CircleSector.d.ts +51 -2
- package/src/cjs/CircleSector.js +112 -3
- package/src/cjs/CircleSector.js.map +1 -1
- package/src/cjs/CubicBezierCurve.d.ts +113 -7
- package/src/cjs/CubicBezierCurve.js +281 -33
- package/src/cjs/CubicBezierCurve.js.map +1 -1
- package/src/cjs/Line.d.ts +38 -3
- package/src/cjs/Line.js +64 -1
- package/src/cjs/Line.js.map +1 -1
- package/src/cjs/PlotBoilerplate.d.ts +4 -2
- package/src/cjs/PlotBoilerplate.js +9 -12
- package/src/cjs/PlotBoilerplate.js.map +1 -1
- package/src/cjs/Polygon.d.ts +153 -6
- package/src/cjs/Polygon.js +304 -23
- package/src/cjs/Polygon.js.map +1 -1
- package/src/cjs/Triangle.d.ts +73 -4
- package/src/cjs/Triangle.js +94 -2
- package/src/cjs/Triangle.js.map +1 -1
- package/src/cjs/VEllipse.d.ts +62 -3
- package/src/cjs/VEllipse.js +181 -17
- package/src/cjs/VEllipse.js.map +1 -1
- package/src/cjs/VEllipseSector.d.ts +86 -2
- package/src/cjs/VEllipseSector.js +148 -4
- package/src/cjs/VEllipseSector.js.map +1 -1
- package/src/cjs/Vector.d.ts +12 -2
- package/src/cjs/Vector.js +15 -2
- package/src/cjs/Vector.js.map +1 -1
- package/src/cjs/VertTuple.d.ts +39 -10
- package/src/cjs/VertTuple.js +49 -11
- package/src/cjs/VertTuple.js.map +1 -1
- package/src/cjs/Vertex.d.ts +18 -2
- package/src/cjs/Vertex.js +22 -2
- package/src/cjs/Vertex.js.map +1 -1
- package/src/cjs/draw.d.ts +1 -0
- package/src/cjs/draw.js +2 -1
- package/src/cjs/draw.js.map +1 -1
- package/src/cjs/drawutilssvg.js +24 -0
- package/src/cjs/drawutilssvg.js.map +1 -1
- package/src/cjs/geomutils.d.ts +32 -1
- package/src/cjs/geomutils.js +47 -1
- package/src/cjs/geomutils.js.map +1 -1
- package/src/cjs/interfaces/core.d.ts +39 -0
- package/src/cjs/interfaces/core.js +2 -0
- package/src/cjs/interfaces/core.js.map +1 -1
- package/src/cjs/utils/algorithms/PolygonInset.d.ts +184 -0
- package/src/cjs/utils/algorithms/PolygonInset.js +431 -0
- package/src/cjs/utils/algorithms/PolygonInset.js.map +1 -0
- package/src/cjs/utils/algorithms/clearDuplicateVertices.d.ts +5 -4
- package/src/cjs/utils/algorithms/clearDuplicateVertices.js +6 -3
- package/src/cjs/utils/algorithms/clearDuplicateVertices.js.map +1 -1
- package/src/cjs/utils/algorithms/convexPolygonIncircle.d.ts +2 -1
- package/src/cjs/utils/algorithms/convexPolygonIncircle.js +14 -6
- package/src/cjs/utils/algorithms/convexPolygonIncircle.js.map +1 -1
- package/src/cjs/utils/algorithms/findPolygonSelfIntersections.d.ts +2 -1
- package/src/cjs/utils/algorithms/findPolygonSelfIntersections.js +3 -3
- package/src/cjs/utils/algorithms/findPolygonSelfIntersections.js.map +1 -1
- package/src/cjs/utils/algorithms/splitPolygonToNonIntersecting.d.ts +3 -2
- package/src/cjs/utils/algorithms/splitPolygonToNonIntersecting.js +11 -9
- package/src/cjs/utils/algorithms/splitPolygonToNonIntersecting.js.map +1 -1
- package/src/cjs/utils/createRandomizedPolygon.d.ts +14 -0
- package/src/cjs/utils/createRandomizedPolygon.js +32 -0
- package/src/cjs/utils/createRandomizedPolygon.js.map +1 -0
- package/src/cjs/utils/detectDarkMode.js.map +1 -1
- package/src/cjs/utils/dom/guiSizeToggler.d.ts +2 -1
- package/src/cjs/utils/dom/guiSizeToggler.js +5 -3
- package/src/cjs/utils/dom/guiSizeToggler.js.map +1 -1
- package/src/cjs/utils/helpers/BezierPathInteractionHelper.d.ts +9 -7
- package/src/cjs/utils/helpers/BezierPathInteractionHelper.js +37 -23
- package/src/cjs/utils/helpers/BezierPathInteractionHelper.js.map +1 -1
- package/src/cjs/utils/helpers/CircleSectorHelper.d.ts +10 -1
- package/src/cjs/utils/helpers/CircleSectorHelper.js +19 -20
- package/src/cjs/utils/helpers/CircleSectorHelper.js.map +1 -1
- package/src/cjs/utils/helpers/VEllipseHelper.d.ts +30 -0
- package/src/cjs/utils/helpers/VEllipseHelper.js +86 -0
- package/src/cjs/utils/helpers/VEllipseHelper.js.map +1 -0
- package/src/cjs/utils/helpers/VEllipseSectorHelper.d.ts +42 -3
- package/src/cjs/utils/helpers/VEllipseSectorHelper.js +107 -25
- package/src/cjs/utils/helpers/VEllipseSectorHelper.js.map +1 -1
- package/src/createDemoDrawables.js +3 -1
- package/src/esm/BezierPath.d.ts +41 -5
- package/src/esm/BezierPath.js +50 -2
- package/src/esm/BezierPath.js.map +1 -1
- package/src/esm/Bounds.d.ts +67 -3
- package/src/esm/Bounds.js +101 -3
- package/src/esm/Bounds.js.map +1 -1
- package/src/esm/Circle.d.ts +46 -4
- package/src/esm/Circle.js +79 -3
- package/src/esm/Circle.js.map +1 -1
- package/src/esm/CircleSector.d.ts +51 -2
- package/src/esm/CircleSector.js +108 -3
- package/src/esm/CircleSector.js.map +1 -1
- package/src/esm/CubicBezierCurve.d.ts +113 -7
- package/src/esm/CubicBezierCurve.js +277 -33
- package/src/esm/CubicBezierCurve.js.map +1 -1
- package/src/esm/Line.d.ts +38 -3
- package/src/esm/Line.js +62 -1
- package/src/esm/Line.js.map +1 -1
- package/src/esm/PlotBoilerplate.d.ts +4 -2
- package/src/esm/PlotBoilerplate.js +9 -12
- package/src/esm/PlotBoilerplate.js.map +1 -1
- package/src/esm/Polygon.d.ts +153 -6
- package/src/esm/Polygon.js +301 -23
- package/src/esm/Polygon.js.map +1 -1
- package/src/esm/Triangle.d.ts +73 -4
- package/src/esm/Triangle.js +91 -2
- package/src/esm/Triangle.js.map +1 -1
- package/src/esm/VEllipse.d.ts +62 -3
- package/src/esm/VEllipse.js +178 -17
- package/src/esm/VEllipse.js.map +1 -1
- package/src/esm/VEllipseSector.d.ts +86 -2
- package/src/esm/VEllipseSector.js +146 -7
- package/src/esm/VEllipseSector.js.map +1 -1
- package/src/esm/Vector.d.ts +12 -2
- package/src/esm/Vector.js +15 -2
- package/src/esm/Vector.js.map +1 -1
- package/src/esm/VertTuple.d.ts +39 -10
- package/src/esm/VertTuple.js +49 -11
- package/src/esm/VertTuple.js.map +1 -1
- package/src/esm/Vertex.d.ts +18 -2
- package/src/esm/Vertex.js +22 -2
- package/src/esm/Vertex.js.map +1 -1
- package/src/esm/draw.d.ts +1 -0
- package/src/esm/draw.js +2 -1
- package/src/esm/draw.js.map +1 -1
- package/src/esm/drawutilssvg.js +24 -0
- package/src/esm/drawutilssvg.js.map +1 -1
- package/src/esm/geomutils.d.ts +32 -1
- package/src/esm/geomutils.js +47 -1
- package/src/esm/geomutils.js.map +1 -1
- package/src/esm/interfaces/core.d.ts +39 -0
- package/src/esm/interfaces/core.js +2 -0
- package/src/esm/interfaces/core.js.map +1 -1
- package/src/esm/utils/algorithms/PolygonInset.d.ts +184 -0
- package/src/esm/utils/algorithms/PolygonInset.js +424 -0
- package/src/esm/utils/algorithms/PolygonInset.js.map +1 -0
- package/src/esm/utils/algorithms/clearDuplicateVertices.d.ts +5 -4
- package/src/esm/utils/algorithms/clearDuplicateVertices.js +6 -3
- package/src/esm/utils/algorithms/clearDuplicateVertices.js.map +1 -1
- package/src/esm/utils/algorithms/convexPolygonIncircle.d.ts +2 -1
- package/src/esm/utils/algorithms/convexPolygonIncircle.js +15 -7
- package/src/esm/utils/algorithms/convexPolygonIncircle.js.map +1 -1
- package/src/esm/utils/algorithms/createRandomizedPolygon.d.ts +14 -0
- package/src/esm/utils/algorithms/createRandomizedPolygon.js +28 -0
- package/src/esm/utils/algorithms/createRandomizedPolygon.js.map +1 -0
- package/src/esm/utils/algorithms/findPolygonSelfIntersections.d.ts +2 -1
- package/src/esm/utils/algorithms/findPolygonSelfIntersections.js +3 -3
- package/src/esm/utils/algorithms/findPolygonSelfIntersections.js.map +1 -1
- package/src/esm/utils/algorithms/splitPolygonToNonIntersecting.d.ts +3 -2
- package/src/esm/utils/algorithms/splitPolygonToNonIntersecting.js +11 -9
- package/src/esm/utils/algorithms/splitPolygonToNonIntersecting.js.map +1 -1
- package/src/esm/utils/createRandomizedPolygon.d.ts +14 -0
- package/src/esm/utils/createRandomizedPolygon.js +28 -0
- package/src/esm/utils/createRandomizedPolygon.js.map +1 -0
- package/src/esm/utils/detectDarkMode.js.map +1 -1
- package/src/esm/utils/dom/guiSizeToggler.d.ts +2 -1
- package/src/esm/utils/dom/guiSizeToggler.js +4 -2
- package/src/esm/utils/dom/guiSizeToggler.js.map +1 -1
- package/src/esm/utils/helpers/BezierPathInteractionHelper.d.ts +9 -7
- package/src/esm/utils/helpers/BezierPathInteractionHelper.js +35 -22
- package/src/esm/utils/helpers/BezierPathInteractionHelper.js.map +1 -1
- package/src/esm/utils/helpers/CircleSectorHelper.d.ts +10 -1
- package/src/esm/utils/helpers/CircleSectorHelper.js +19 -20
- package/src/esm/utils/helpers/CircleSectorHelper.js.map +1 -1
- package/src/esm/utils/helpers/VEllipseHelper.d.ts +30 -0
- package/src/esm/utils/helpers/VEllipseHelper.js +81 -0
- package/src/esm/utils/helpers/VEllipseHelper.js.map +1 -0
- package/src/esm/utils/helpers/VEllipseSectorHelper.d.ts +42 -3
- package/src/esm/utils/helpers/VEllipseSectorHelper.js +106 -24
- package/src/esm/utils/helpers/VEllipseSectorHelper.js.map +1 -1
- package/src/ts/BezierPath.ts +58 -5
- package/src/ts/Bounds.ts +110 -6
- package/src/ts/Circle.ts +87 -5
- package/src/ts/CircleSector.ts +115 -5
- package/src/ts/CubicBezierCurve.ts +332 -42
- package/src/ts/Line.ts +66 -3
- package/src/ts/PlotBoilerplate.ts +10 -12
- package/src/ts/Polygon.ts +329 -27
- package/src/ts/Triangle.ts +101 -5
- package/src/ts/VEllipse.ts +214 -19
- package/src/ts/VEllipseSector.ts +154 -8
- package/src/ts/Vector.ts +16 -2
- package/src/ts/VertTuple.ts +53 -13
- package/src/ts/Vertex.ts +24 -3
- package/src/ts/draw.ts +2 -1
- package/src/ts/drawutilssvg.ts +29 -0
- package/src/ts/geomutils.ts +49 -1
- package/src/ts/interfaces/core.ts +42 -0
- package/src/ts/utils/algorithms/PolygonInset.ts +529 -0
- package/src/ts/utils/algorithms/clearDuplicateVertices.ts +11 -8
- package/src/ts/utils/algorithms/convexPolygonIncircle.ts +82 -78
- package/src/ts/utils/algorithms/findPolygonSelfIntersections.ts +25 -26
- package/src/ts/utils/algorithms/splitPolygonToNonIntersecting.ts +92 -99
- package/src/ts/utils/createRandomizedPolygon.ts +31 -0
- package/src/ts/utils/detectDarkMode.ts +1 -3
- package/src/ts/utils/dom/guiSizeToggler.ts +4 -2
- package/src/ts/utils/helpers/BezierPathInteractionHelper.ts +45 -29
- package/src/ts/utils/helpers/CircleSectorHelper.ts +115 -125
- package/src/ts/utils/helpers/VEllipseHelper.ts +113 -0
- package/src/ts/utils/helpers/VEllipseSectorHelper.ts +142 -25
|
@@ -1,60 +1,177 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* A helper for VEllipseSectors.
|
|
3
3
|
*
|
|
4
|
-
* @author
|
|
5
|
-
* @date
|
|
6
|
-
* @
|
|
4
|
+
* @author Ikaros Kappler
|
|
5
|
+
* @date 2021-03-24
|
|
6
|
+
* @modified 2025-04-02 Adding `VEllipseSectorHelper.drawHandleLines`.
|
|
7
|
+
* @modified 2025-04-07 Modifying the calculation of `startAngle` and `endAngle` from the rotation control point: wrapping result into [0,TWO_PI).
|
|
8
|
+
* @modified 2025-04-09 Adding the `VEllipseSectorHelper.destroy` method.
|
|
9
|
+
* @version 1.1.0
|
|
7
10
|
*/
|
|
8
11
|
|
|
9
12
|
import { Line } from "../../Line";
|
|
10
13
|
import { VEllipseSector } from "../../VEllipseSector";
|
|
11
14
|
import { Vertex } from "../../Vertex";
|
|
12
|
-
import { VertEvent } from "../../VertexListeners";
|
|
15
|
+
import { VertEvent, VertListener } from "../../VertexListeners";
|
|
16
|
+
import { geomutils } from "../../geomutils";
|
|
17
|
+
import { DrawLib } from "../../interfaces";
|
|
13
18
|
|
|
14
19
|
export class VEllipseSectorHelper {
|
|
20
|
+
private sector: VEllipseSector;
|
|
21
|
+
private startAngleControlPoint: Vertex;
|
|
22
|
+
private endAngleControlPoint: Vertex;
|
|
23
|
+
private rotationControlPoint: Vertex;
|
|
24
|
+
|
|
25
|
+
private _rotationControlLine: Line;
|
|
26
|
+
private _startAngleControlLine: Line;
|
|
27
|
+
private _endAngleControlLine: Line;
|
|
28
|
+
|
|
29
|
+
private _centerHandler: VertListener;
|
|
30
|
+
private _rotationHandler: VertListener;
|
|
31
|
+
private _startAngleHandler: VertListener;
|
|
32
|
+
private _endAngleHandler: VertListener;
|
|
33
|
+
|
|
15
34
|
constructor(
|
|
16
35
|
sector: VEllipseSector,
|
|
17
36
|
startAngleControlPoint: Vertex,
|
|
18
37
|
endAngleControlPoint: Vertex,
|
|
19
38
|
rotationControlPoint: Vertex
|
|
20
39
|
) {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
40
|
+
this.sector = sector;
|
|
41
|
+
this.startAngleControlPoint = startAngleControlPoint;
|
|
42
|
+
this.endAngleControlPoint = endAngleControlPoint;
|
|
43
|
+
this.rotationControlPoint = rotationControlPoint;
|
|
44
|
+
|
|
45
|
+
// const rotationControlLine: Line = new Line(sector.ellipse.center, rotationControlPoint);
|
|
46
|
+
this._rotationControlLine = new Line(sector.ellipse.center, rotationControlPoint);
|
|
47
|
+
// const startAngleControlLine: Line = new Line(sector.ellipse.center, startAngleControlPoint);
|
|
48
|
+
this._startAngleControlLine = new Line(sector.ellipse.center, startAngleControlPoint);
|
|
49
|
+
// const endAngleControlLine: Line = new Line(sector.ellipse.center, endAngleControlPoint);
|
|
50
|
+
this._endAngleControlLine = new Line(sector.ellipse.center, endAngleControlPoint);
|
|
24
51
|
|
|
25
52
|
// +---------------------------------------------------------------------
|
|
26
53
|
// | Listen for the center to be moved.
|
|
27
54
|
// +-------------------------------------------
|
|
28
|
-
sector.ellipse.center.listeners.addDragListener((
|
|
29
|
-
startAngleControlPoint.add(event.params.dragAmount);
|
|
30
|
-
endAngleControlPoint.add(event.params.dragAmount);
|
|
31
|
-
rotationControlPoint.add(event.params.dragAmount);
|
|
32
|
-
});
|
|
55
|
+
sector.ellipse.center.listeners.addDragListener((this._centerHandler = this._handleDragCenterPoint()));
|
|
33
56
|
|
|
34
57
|
// +---------------------------------------------------------------------
|
|
35
58
|
// | Listen for rotation changes.
|
|
36
59
|
// +-------------------------------------------
|
|
37
|
-
rotationControlPoint.listeners.addDragListener((
|
|
38
|
-
var newRotation = rotationControlLine.angle();
|
|
39
|
-
var rDiff = newRotation - sector.ellipse.rotation;
|
|
40
|
-
sector.ellipse.rotation = newRotation;
|
|
41
|
-
sector.ellipse.axis.rotate(rDiff, sector.ellipse.center);
|
|
42
|
-
startAngleControlPoint.rotate(rDiff, sector.ellipse.center);
|
|
43
|
-
endAngleControlPoint.rotate(rDiff, sector.ellipse.center);
|
|
44
|
-
});
|
|
60
|
+
rotationControlPoint.listeners.addDragListener((this._rotationHandler = this._handleDragRotationControlPoint()));
|
|
45
61
|
|
|
46
62
|
// +---------------------------------------------------------------------
|
|
47
63
|
// | Listen for start angle changes.
|
|
48
64
|
// +-------------------------------------------
|
|
49
|
-
startAngleControlPoint.listeners.addDragListener((
|
|
50
|
-
sector.startAngle = startAngleControlLine.angle() - sector.ellipse.rotation;
|
|
51
|
-
});
|
|
65
|
+
startAngleControlPoint.listeners.addDragListener((this._startAngleHandler = this._handleDragStartAngleControlPoint()));
|
|
52
66
|
|
|
53
67
|
// +---------------------------------------------------------------------
|
|
54
68
|
// | Listen for end angle changes.
|
|
55
69
|
// +-------------------------------------------
|
|
56
|
-
endAngleControlPoint.listeners.addDragListener((
|
|
57
|
-
|
|
70
|
+
endAngleControlPoint.listeners.addDragListener((this._endAngleHandler = this._handleDragEndAngleControlPoint()));
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Creates a new drag handler for the circle sector's start control point.
|
|
75
|
+
*
|
|
76
|
+
* @private
|
|
77
|
+
* @method _handleDragStartControlPoint
|
|
78
|
+
* @instance
|
|
79
|
+
* @memberof CircleSectorHelper
|
|
80
|
+
* @returns A new event handler.
|
|
81
|
+
*/
|
|
82
|
+
private _handleDragCenterPoint(): VertListener {
|
|
83
|
+
const _self = this;
|
|
84
|
+
return (event: VertEvent) => {
|
|
85
|
+
_self.startAngleControlPoint.add(event.params.dragAmount);
|
|
86
|
+
_self.endAngleControlPoint.add(event.params.dragAmount);
|
|
87
|
+
_self.rotationControlPoint.add(event.params.dragAmount);
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
private _handleDragRotationControlPoint(): VertListener {
|
|
92
|
+
const _self = this;
|
|
93
|
+
return (event: VertEvent) => {
|
|
94
|
+
const newRotation: number = _self._rotationControlLine.angle();
|
|
95
|
+
const rDiff: number = newRotation - _self.sector.ellipse.rotation;
|
|
96
|
+
_self.sector.ellipse.rotation = newRotation;
|
|
97
|
+
_self.sector.ellipse.axis.rotate(rDiff, _self.sector.ellipse.center);
|
|
98
|
+
_self.startAngleControlPoint.rotate(rDiff, _self.sector.ellipse.center);
|
|
99
|
+
_self.endAngleControlPoint.rotate(rDiff, _self.sector.ellipse.center);
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
private _handleDragStartAngleControlPoint(): VertListener {
|
|
104
|
+
const _self = this;
|
|
105
|
+
return (_event: VertEvent) => {
|
|
106
|
+
// sector.startAngle = startAngleControlLine.angle() - sector.ellipse.rotation;
|
|
107
|
+
_self.sector.startAngle = geomutils.mapAngleTo2PI(_self._startAngleControlLine.angle() - _self.sector.ellipse.rotation);
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
private _handleDragEndAngleControlPoint(): VertListener {
|
|
112
|
+
const _self = this;
|
|
113
|
+
|
|
114
|
+
return (event: VertEvent) => {
|
|
115
|
+
_self.sector.endAngle = geomutils.mapAngleTo2PI(_self._endAngleControlLine.angle() - _self.sector.ellipse.rotation);
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* Draw grey handle lines.
|
|
121
|
+
*
|
|
122
|
+
* @param {DrawLib<any>} draw - The draw library instance to use.
|
|
123
|
+
* @param {DrawLib<any>} fill - The fill library instance to use.
|
|
124
|
+
*/
|
|
125
|
+
drawHandleLines(draw: DrawLib<any>, fill: DrawLib<any>) {
|
|
126
|
+
draw.line(this.sector.ellipse.center, this.startAngleControlPoint, "rgba(64,192,128,0.333)", 1.0, {
|
|
127
|
+
dashOffset: 0.0,
|
|
128
|
+
dashArray: [4, 2]
|
|
129
|
+
});
|
|
130
|
+
draw.line(this.sector.ellipse.center, this.endAngleControlPoint, "rgba(64,192,128,0.333)", 1.0, {
|
|
131
|
+
dashOffset: 0.0,
|
|
132
|
+
dashArray: [4, 2]
|
|
58
133
|
});
|
|
134
|
+
// Draw rotation handle line
|
|
135
|
+
draw.line(this.sector.ellipse.center, this.rotationControlPoint, "rgba(192,64,128,0.333)", 1.0, {
|
|
136
|
+
dashOffset: 0.0,
|
|
137
|
+
dashArray: [4, 2]
|
|
138
|
+
});
|
|
139
|
+
// Draw helper box
|
|
140
|
+
draw.line(
|
|
141
|
+
this.sector.ellipse.center
|
|
142
|
+
.clone()
|
|
143
|
+
.add(0, this.sector.ellipse.signedRadiusV())
|
|
144
|
+
.rotate(this.sector.ellipse.rotation, this.sector.ellipse.center),
|
|
145
|
+
this.sector.ellipse.axis,
|
|
146
|
+
"rgba(64,128,192,0.333)",
|
|
147
|
+
1.0,
|
|
148
|
+
{
|
|
149
|
+
dashOffset: 0.0,
|
|
150
|
+
dashArray: [4, 2]
|
|
151
|
+
}
|
|
152
|
+
);
|
|
153
|
+
draw.line(
|
|
154
|
+
this.sector.ellipse.center
|
|
155
|
+
.clone()
|
|
156
|
+
.add(this.sector.ellipse.signedRadiusH(), 0)
|
|
157
|
+
.rotate(this.sector.ellipse.rotation, this.sector.ellipse.center),
|
|
158
|
+
this.sector.ellipse.axis,
|
|
159
|
+
"rgba(64,128,192,0.333)",
|
|
160
|
+
1.0,
|
|
161
|
+
{
|
|
162
|
+
dashOffset: 0.0,
|
|
163
|
+
dashArray: [4, 2]
|
|
164
|
+
}
|
|
165
|
+
);
|
|
166
|
+
} // END drawHandleLines
|
|
167
|
+
|
|
168
|
+
/**
|
|
169
|
+
* Destroy this VEllipseHandler which means: all listeners are being removed.
|
|
170
|
+
*/
|
|
171
|
+
destroy(): void {
|
|
172
|
+
this.sector.ellipse.center.listeners.removeDragListener(this._centerHandler);
|
|
173
|
+
this.rotationControlPoint.listeners.removeDragListener(this._rotationHandler);
|
|
174
|
+
this.startAngleControlPoint.listeners.removeDragListener(this._startAngleHandler);
|
|
175
|
+
this.endAngleControlPoint.listeners.removeDragListener(this._endAngleHandler);
|
|
59
176
|
}
|
|
60
177
|
}
|