@ohif/app 3.13.0-beta.3 → 3.13.0-beta.31
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/dist/{1459.bundle.06807094c21c02b6a2bc.js → 1459.bundle.1ed62a389ef5e69896e6.js} +5 -6
- package/dist/{147.bundle.37d627289453cb6c3937.js → 147.bundle.9c245011849e09bd7904.js} +6 -5
- package/dist/{1608.bundle.0687c661f1c9edfb3b8a.js → 1608.bundle.7a4a3b49cae10f6ba2cf.js} +8 -8
- package/dist/{1927.bundle.3050588e95f43cf57cdd.js → 1927.bundle.be67b3aafe238ca9f191.js} +27 -38
- package/dist/{1933.bundle.931455c6772b70d3336e.js → 1933.bundle.5d56b263f810bcfb92da.js} +27 -22
- package/dist/{2018.bundle.a9ea7d41cb8aef67e21b.js → 2018.bundle.c0a632305697a7f70bd0.js} +18 -19
- package/dist/{6409.bundle.b36048896cb11c8571fb.js → 2075.bundle.16215ba94d714a1c905f.js} +308 -237
- package/dist/{2108.bundle.e84aa8d858d8c4f2413e.js → 2108.bundle.f1ef8e8746eb3936bb47.js} +567 -556
- package/dist/{213.bundle.141ce91906813f9f3682.js → 213.bundle.f3e21c0e4f2d67655ed3.js} +3 -5
- package/dist/{2424.bundle.e695a735566cea98e16f.js → 2424.bundle.0fd7d5f651785e2421ee.js} +3 -5
- package/dist/{2516.bundle.1ea0988d309a757bb6da.js → 2516.bundle.f62228e9a800de8d4b31.js} +6 -6
- package/dist/{2701.bundle.12bd01a80a9f8ea4cd94.js → 2701.bundle.8abdc7f6578c00d4539f.js} +6 -6
- package/dist/{3081.bundle.ef4a1a9f71f455c2c951.js → 3081.bundle.1ae781cf7b86be4929e8.js} +273 -179
- package/dist/{1730.bundle.0d6e739187811c6a5927.js → 3138.bundle.1129fbca861e6eea95ae.js} +10 -304
- package/dist/{3461.bundle.0f02169530057dfb2ecb.js → 3461.bundle.5be70790c391126c7c9c.js} +22 -26
- package/dist/{4202.bundle.5a0f8e4004c5d8a68548.js → 4202.bundle.dd592e5575b8e302689a.js} +4 -4
- package/dist/{4019.bundle.83a604779f7da0101ced.js → 4287.bundle.d2d09ffd5cd8680fad8d.js} +345 -234
- package/dist/{5462.bundle.21beddaca145b7465c72.js → 4406.bundle.573d234b4641d23cf8db.js} +1083 -1308
- package/dist/{1403.bundle.9b81d7ef41459986c8a9.js → 4507.bundle.c5c93663e20aa09f0a09.js} +10 -305
- package/dist/{4819.bundle.0e7fa0da8b548fdcd360.js → 4819.bundle.18576a488b3e228efe11.js} +25 -26
- package/dist/{4775.bundle.ffcdc0c1c013d5a1844d.js → 5015.bundle.a0421e5a88f22552acc1.js} +27 -331
- package/dist/{5028.bundle.5a8ddc736d637ecdd865.js → 5028.bundle.980a49124f1a10fc7591.js} +9 -11
- package/dist/{5261.bundle.6e1a017f8f1027557f5b.js → 5261.bundle.2655560097e9250eac44.js} +412 -345
- package/dist/{5457.bundle.65a0f54faba80efcb561.js → 5457.bundle.16a9fce17065f102dee6.js} +16 -23
- package/dist/{5485.bundle.bad8122607ed6e274d69.js → 5485.bundle.f41f88d0395421f435e6.js} +14 -29
- package/dist/{5491.bundle.2e01dd7ad29e4cc01bc1.js → 5491.bundle.4866d2ecb20dd089e071.js} +54 -51
- package/dist/{5802.bundle.3bf5e6b3ab330a594a47.js → 5802.bundle.70d423c8b488cc56cc36.js} +74 -16
- package/dist/5802.css +1 -1
- package/dist/{6347.bundle.784c48912700f281de1d.js → 581.bundle.b70e5d2d0f3958df69f0.js} +337 -543
- package/dist/{5830.bundle.b073c265c4fcea1afff3.js → 5830.bundle.791019deddd536980a11.js} +3 -3
- package/dist/{5858.bundle.ff6b340cf7457db76a1a.js → 5858.bundle.466e58128de344ab53f3.js} +90 -86
- package/dist/{6027.bundle.6027e854811684e41980.js → 6027.bundle.f54d617fa2ed3977dd19.js} +3 -5
- package/dist/{997.bundle.822b33e561263084e18c.js → 6280.bundle.081861b7e685b28616c8.js} +2345 -1657
- package/dist/{6354.bundle.c387737dc09c9cab4ff2.js → 6354.bundle.d8a592b03e9a5b7a66c2.js} +102 -96
- package/dist/{6376.bundle.9cb74d7bc08476e2f1a7.js → 6376.bundle.839c708f2fc41e76ee58.js} +6 -6
- package/dist/{2842.bundle.860b9f10fcdd9656947a.js → 6386.bundle.c0618e49b65769ddf752.js} +876 -2295
- package/dist/6939.bundle.41fbdef87597b5172ec6.js +3 -3
- package/dist/{7159.bundle.a5991a5d4f0dd8f1c95f.js → 7159.bundle.fb9df255868960f69765.js} +7 -5
- package/dist/{7190.bundle.e8f0193e0e06472f795c.js → 7190.bundle.6314b558746e394aeb0e.js} +40 -40
- package/dist/{732.bundle.6978ac30a1e36abf06db.js → 732.bundle.ea6f9d8504e37e01a208.js} +5 -13
- package/dist/{7431.bundle.b01791d10e6cf9f503b0.js → 7431.bundle.84b3d88ef94b97c84298.js} +28 -28
- package/dist/{4410.bundle.c5224cd7d6238a7d4660.js → 7537.bundle.1a18959ceec98634bc48.js} +4423 -1541
- package/dist/{7639.bundle.b4ac770b1338438aa3a2.js → 7639.bundle.ae082b6402f18d913d03.js} +3 -5
- package/dist/7758.bundle.c8d106364298e7d288f0.js +3 -3
- package/dist/{8094.bundle.5c44190a325ac23e3e5c.js → 8094.bundle.148a66619607e37cbf19.js} +3 -4
- package/dist/{8305.bundle.5819f9bf422ecbb27900.js → 8305.bundle.1f77b8a6de8c981e7e27.js} +11 -13
- package/dist/{6163.bundle.d2cf9edf196d02c98b8c.js → 8499.bundle.67dfea8ab199edb8c8ed.js} +5 -300
- package/dist/8499.css +2 -0
- package/dist/{85.bundle.4252b24960db7d6ecd97.js → 85.bundle.d6cf07a530b402dc3645.js} +3 -5
- package/dist/{8558.bundle.b02fe1cd95ab4b4f6336.js → 8558.bundle.74f5ebf68a3527b65a54.js} +11 -309
- package/dist/{8583.bundle.c614a4ced182d6a5ffc6.js → 8583.bundle.69271a5c5c1340a69f11.js} +18 -21
- package/dist/{9195.bundle.d363cc5b470efa218617.js → 9195.bundle.461e6c60aeb9427cadd9.js} +97 -112
- package/dist/{7412.bundle.fab1742191b7fe937330.js → 9205.bundle.09c52845b43bd8513d50.js} +4336 -1908
- package/dist/{3584.bundle.8cc0750425513433e9cc.js → 933.bundle.ea9db108b8a4e3d51904.js} +264 -2219
- package/dist/{9845.bundle.255e7c7f7a88193b4e47.js → 9845.bundle.d52e8993eb5cde995219.js} +6 -6
- package/dist/{9862.bundle.3a8958a82c572015d25d.js → 9862.bundle.126a8a8c84421a076527.js} +6 -4
- package/dist/{9927.bundle.e7d188ce9b9ea5b719e2.js → 9927.bundle.89211b1e0eae869eafb9.js} +3 -5
- package/dist/app.bundle.css +3 -3
- package/dist/{app.bundle.eca4b5be61ff963d8c53.js → app.bundle.e3fa4b085a6650a81af8.js} +65471 -63535
- package/dist/{compute.bundle.64280c7af19ff567465f.js → compute.bundle.6016de6e5f7c25749422.js} +10 -22
- package/dist/{histogram-worker.bundle.d4e40a8018d2698b072e.js → histogram-worker.bundle.5b679ce4142c803c80a4.js} +11 -23
- package/dist/index.html +1 -1
- package/dist/{interpolation.bundle.c70cb95d164dc494e6dc.js → interpolation.bundle.072a28b303f2dbafe05c.js} +14 -26
- package/dist/{polySeg.bundle.a5aa9130b4191253c410.js → polySeg.bundle.cdcc2c3d11009ccf112c.js} +8 -20
- package/dist/sw.js +1 -1
- package/package.json +23 -22
- package/dist/3343.bundle.d7578ce8f75d158c0bab.js +0 -297
- /package/dist/{1730.css → 3138.css} +0 -0
- /package/dist/{3343.css → 4972.css} +0 -0
- /package/dist/{6163.css → 7829.css} +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[
|
|
2
|
+
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[2075],{
|
|
3
3
|
|
|
4
|
-
/***/ 18262
|
|
5
|
-
|
|
4
|
+
/***/ 18262
|
|
5
|
+
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
// EXPORTS
|
|
@@ -81,20 +81,26 @@ function clearUntouched(svgLayerElement, canvasHash) {
|
|
|
81
81
|
}
|
|
82
82
|
/* harmony default export */ const drawingSvg_getSvgDrawingHelper = (getSvgDrawingHelper);
|
|
83
83
|
|
|
84
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/utilities/drawing/textBoxOverlapRegistry.js
|
|
85
|
+
var textBoxOverlapRegistry = __webpack_require__(49773);
|
|
84
86
|
;// ../../../node_modules/@cornerstonejs/tools/dist/esm/drawingSvg/draw.js
|
|
85
87
|
|
|
88
|
+
|
|
86
89
|
function draw(element, fn) {
|
|
87
90
|
const svgDrawingHelper = drawingSvg_getSvgDrawingHelper(element);
|
|
91
|
+
if (svgDrawingHelper.svgLayerElement) {
|
|
92
|
+
(0,textBoxOverlapRegistry/* clearTextBoxRegistry */.F4)(svgDrawingHelper.svgLayerElement);
|
|
93
|
+
}
|
|
88
94
|
fn(svgDrawingHelper);
|
|
89
95
|
svgDrawingHelper.clearUntouched();
|
|
90
96
|
}
|
|
91
97
|
/* harmony default export */ const drawingSvg_draw = (draw);
|
|
92
98
|
|
|
93
99
|
|
|
94
|
-
/***/ }
|
|
100
|
+
/***/ },
|
|
95
101
|
|
|
96
|
-
/***/ 12004
|
|
97
|
-
|
|
102
|
+
/***/ 12004
|
|
103
|
+
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
98
104
|
|
|
99
105
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
100
106
|
/* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
@@ -146,10 +152,10 @@ function drawCircle(svgDrawingHelper, annotationUID, circleUID, center, radius,
|
|
|
146
152
|
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (drawCircle);
|
|
147
153
|
|
|
148
154
|
|
|
149
|
-
/***/ }
|
|
155
|
+
/***/ },
|
|
150
156
|
|
|
151
|
-
/***/ 56745
|
|
152
|
-
|
|
157
|
+
/***/ 56745
|
|
158
|
+
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
153
159
|
|
|
154
160
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
155
161
|
/* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
@@ -164,73 +170,10 @@ function drawHandles(svgDrawingHelper, annotationUID, handleGroupUID, handlePoin
|
|
|
164
170
|
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (drawHandles);
|
|
165
171
|
|
|
166
172
|
|
|
167
|
-
/***/ }
|
|
168
|
-
|
|
169
|
-
/***/ 1595:
|
|
170
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
// EXPORTS
|
|
174
|
-
__webpack_require__.d(__webpack_exports__, {
|
|
175
|
-
A: () => (/* binding */ drawingSvg_drawLinkedTextBox)
|
|
176
|
-
});
|
|
177
|
-
|
|
178
|
-
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/drawingSvg/drawTextBox.js
|
|
179
|
-
var drawTextBox = __webpack_require__(26290);
|
|
180
|
-
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/drawingSvg/drawLine.js
|
|
181
|
-
var drawLine = __webpack_require__(92118);
|
|
182
|
-
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/utilities/math/vec2/findClosestPoint.js
|
|
183
|
-
var findClosestPoint = __webpack_require__(90554);
|
|
184
|
-
;// ../../../node_modules/@cornerstonejs/tools/dist/esm/drawingSvg/drawLink.js
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
function drawLink(svgDrawingHelper, annotationUID, linkUID, annotationAnchorPoints, refPoint, boundingBox, options = {}) {
|
|
188
|
-
const start = annotationAnchorPoints.length > 0
|
|
189
|
-
? (0,findClosestPoint/* default */.A)(annotationAnchorPoints, refPoint)
|
|
190
|
-
: refPoint;
|
|
191
|
-
const boundingBoxPoints = _boundingBoxPoints(boundingBox);
|
|
192
|
-
const end = (0,findClosestPoint/* default */.A)(boundingBoxPoints, start);
|
|
193
|
-
const mergedOptions = Object.assign({
|
|
194
|
-
color: 'rgb(255, 255, 0)',
|
|
195
|
-
lineWidth: '1',
|
|
196
|
-
lineDash: '2,3',
|
|
197
|
-
}, options);
|
|
198
|
-
(0,drawLine/* default */.A)(svgDrawingHelper, annotationUID, `link-${linkUID}`, start, end, mergedOptions);
|
|
199
|
-
}
|
|
200
|
-
function _boundingBoxPoints(boundingBox) {
|
|
201
|
-
const { x: left, y: top, height, width } = boundingBox;
|
|
202
|
-
const halfWidth = width / 2;
|
|
203
|
-
const halfHeight = height / 2;
|
|
204
|
-
const topMiddle = [left + halfWidth, top];
|
|
205
|
-
const leftMiddle = [left, top + halfHeight];
|
|
206
|
-
const bottomMiddle = [left + halfWidth, top + height];
|
|
207
|
-
const rightMiddle = [left + width, top + halfHeight];
|
|
208
|
-
return [topMiddle, leftMiddle, bottomMiddle, rightMiddle];
|
|
209
|
-
}
|
|
210
|
-
/* harmony default export */ const drawingSvg_drawLink = (drawLink);
|
|
211
|
-
|
|
212
|
-
;// ../../../node_modules/@cornerstonejs/tools/dist/esm/drawingSvg/drawLinkedTextBox.js
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
function drawLinkedTextBox(svgDrawingHelper, annotationUID, textBoxUID, textLines, textBoxPosition, annotationAnchorPoints, textBox, options = {}) {
|
|
216
|
-
const mergedOptions = Object.assign({
|
|
217
|
-
handleRadius: '6',
|
|
218
|
-
centering: {
|
|
219
|
-
x: false,
|
|
220
|
-
y: true,
|
|
221
|
-
},
|
|
222
|
-
}, options);
|
|
223
|
-
const canvasBoundingBox = (0,drawTextBox/* default */.A)(svgDrawingHelper, annotationUID, textBoxUID, textLines, textBoxPosition, mergedOptions);
|
|
224
|
-
drawingSvg_drawLink(svgDrawingHelper, annotationUID, textBoxUID, annotationAnchorPoints, textBoxPosition, canvasBoundingBox, mergedOptions);
|
|
225
|
-
return canvasBoundingBox;
|
|
226
|
-
}
|
|
227
|
-
/* harmony default export */ const drawingSvg_drawLinkedTextBox = (drawLinkedTextBox);
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
/***/ }),
|
|
173
|
+
/***/ },
|
|
231
174
|
|
|
232
|
-
/***/ 97530
|
|
233
|
-
|
|
175
|
+
/***/ 97530
|
|
176
|
+
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
234
177
|
|
|
235
178
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
236
179
|
/* harmony export */ A: () => (/* binding */ drawRect)
|
|
@@ -248,10 +191,10 @@ function drawRect(svgDrawingHelper, annotationUID, rectangleUID, start, end, opt
|
|
|
248
191
|
}
|
|
249
192
|
|
|
250
193
|
|
|
251
|
-
/***/ }
|
|
194
|
+
/***/ },
|
|
252
195
|
|
|
253
|
-
/***/ 92686
|
|
254
|
-
|
|
196
|
+
/***/ 92686
|
|
197
|
+
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
255
198
|
|
|
256
199
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
257
200
|
/* harmony export */ Y: () => (/* binding */ segmentationStyle)
|
|
@@ -483,10 +426,10 @@ const segmentationStyle = new SegmentationStyle();
|
|
|
483
426
|
|
|
484
427
|
|
|
485
428
|
|
|
486
|
-
/***/ }
|
|
429
|
+
/***/ },
|
|
487
430
|
|
|
488
|
-
/***/ 98798
|
|
489
|
-
|
|
431
|
+
/***/ 98798
|
|
432
|
+
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
490
433
|
|
|
491
434
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
492
435
|
/* harmony export */ Q: () => (/* binding */ triggerSegmentationDataModified)
|
|
@@ -508,10 +451,10 @@ function triggerSegmentationDataModified(segmentationId, modifiedSlicesToUse, se
|
|
|
508
451
|
}
|
|
509
452
|
|
|
510
453
|
|
|
511
|
-
/***/ }
|
|
454
|
+
/***/ },
|
|
512
455
|
|
|
513
|
-
/***/ 67165
|
|
514
|
-
|
|
456
|
+
/***/ 67165
|
|
457
|
+
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
515
458
|
|
|
516
459
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
517
460
|
/* harmony export */ T: () => (/* binding */ getActiveSegmentation)
|
|
@@ -524,10 +467,10 @@ function getActiveSegmentation(viewportId) {
|
|
|
524
467
|
}
|
|
525
468
|
|
|
526
469
|
|
|
527
|
-
/***/ }
|
|
470
|
+
/***/ },
|
|
528
471
|
|
|
529
|
-
/***/ 33658
|
|
530
|
-
|
|
472
|
+
/***/ 33658
|
|
473
|
+
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
531
474
|
|
|
532
475
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
533
476
|
/* harmony export */ I: () => (/* binding */ getSegmentationRepresentationVisibility)
|
|
@@ -540,10 +483,10 @@ function getSegmentationRepresentationVisibility(viewportId, specifier) {
|
|
|
540
483
|
}
|
|
541
484
|
|
|
542
485
|
|
|
543
|
-
/***/ }
|
|
486
|
+
/***/ },
|
|
544
487
|
|
|
545
|
-
/***/ 44188
|
|
546
|
-
|
|
488
|
+
/***/ 44188
|
|
489
|
+
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
547
490
|
|
|
548
491
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
549
492
|
/* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
@@ -584,10 +527,10 @@ function internalAddRepresentationData({ segmentationId, type, data, }) {
|
|
|
584
527
|
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (internalAddRepresentationData);
|
|
585
528
|
|
|
586
529
|
|
|
587
|
-
/***/ }
|
|
530
|
+
/***/ },
|
|
588
531
|
|
|
589
|
-
/***/ 65136
|
|
590
|
-
|
|
532
|
+
/***/ 65136
|
|
533
|
+
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
591
534
|
|
|
592
535
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
593
536
|
/* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
@@ -614,10 +557,10 @@ function getToolGroupForViewport(viewportId, renderingEngineId) {
|
|
|
614
557
|
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (getToolGroupForViewport);
|
|
615
558
|
|
|
616
559
|
|
|
617
|
-
/***/ }
|
|
560
|
+
/***/ },
|
|
618
561
|
|
|
619
|
-
/***/ 37590
|
|
620
|
-
|
|
562
|
+
/***/ 37590
|
|
563
|
+
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
621
564
|
|
|
622
565
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
623
566
|
/* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
@@ -662,10 +605,10 @@ class PlanarFreehandContourSegmentationTool extends _PlanarFreehandROITool__WEBP
|
|
|
662
605
|
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (PlanarFreehandContourSegmentationTool);
|
|
663
606
|
|
|
664
607
|
|
|
665
|
-
/***/ }
|
|
608
|
+
/***/ },
|
|
666
609
|
|
|
667
|
-
/***/ 28220
|
|
668
|
-
|
|
610
|
+
/***/ 28220
|
|
611
|
+
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
669
612
|
|
|
670
613
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
671
614
|
/* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
@@ -673,7 +616,7 @@ class PlanarFreehandContourSegmentationTool extends _PlanarFreehandROITool__WEBP
|
|
|
673
616
|
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15327);
|
|
674
617
|
/* harmony import */ var gl_matrix__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3823);
|
|
675
618
|
/* harmony import */ var _utilities_getCalibratedUnits__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4096);
|
|
676
|
-
/* harmony import */ var _utilities_math__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(
|
|
619
|
+
/* harmony import */ var _utilities_math__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(18153);
|
|
677
620
|
/* harmony import */ var _utilities_planar__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(13165);
|
|
678
621
|
/* harmony import */ var _utilities_throttle__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(27730);
|
|
679
622
|
/* harmony import */ var _utilities_viewportFilters__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(60810);
|
|
@@ -685,16 +628,12 @@ class PlanarFreehandContourSegmentationTool extends _PlanarFreehandROITool__WEBP
|
|
|
685
628
|
/* harmony import */ var _planarFreehandROITool_openContourEndEditLoop__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(70734);
|
|
686
629
|
/* harmony import */ var _planarFreehandROITool_renderMethods__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(58161);
|
|
687
630
|
/* harmony import */ var _stateManagement_annotation_helpers_state__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(44049);
|
|
688
|
-
/* harmony import */ var
|
|
689
|
-
/* harmony import */ var
|
|
690
|
-
/* harmony import */ var
|
|
691
|
-
/* harmony import */ var
|
|
692
|
-
/* harmony import */ var
|
|
693
|
-
/* harmony import */ var
|
|
694
|
-
/* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(29857);
|
|
695
|
-
/* harmony import */ var _utilities_getPixelValueUnits__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(40634);
|
|
696
|
-
|
|
697
|
-
|
|
631
|
+
/* harmony import */ var _utilities_math_polyline__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(92984);
|
|
632
|
+
/* harmony import */ var _utilities_viewport_isViewportPreScaled__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(18990);
|
|
633
|
+
/* harmony import */ var _utilities_math_basic__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(73262);
|
|
634
|
+
/* harmony import */ var _base_ContourSegmentationBaseTool__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(36320);
|
|
635
|
+
/* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(29857);
|
|
636
|
+
/* harmony import */ var _utilities_getPixelValueUnits__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(40634);
|
|
698
637
|
|
|
699
638
|
|
|
700
639
|
|
|
@@ -720,7 +659,7 @@ class PlanarFreehandContourSegmentationTool extends _PlanarFreehandROITool__WEBP
|
|
|
720
659
|
const { pointCanProjectOnLine } = _utilities_math__WEBPACK_IMPORTED_MODULE_3__.polyline;
|
|
721
660
|
const { EPSILON } = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.CONSTANTS;
|
|
722
661
|
const PARALLEL_THRESHOLD = 1 - EPSILON;
|
|
723
|
-
class PlanarFreehandROITool extends
|
|
662
|
+
class PlanarFreehandROITool extends _base_ContourSegmentationBaseTool__WEBPACK_IMPORTED_MODULE_18__/* ["default"] */ .A {
|
|
724
663
|
static { this.toolName = 'PlanarFreehandROI'; }
|
|
725
664
|
constructor(toolProps = {}, defaultToolProps = {
|
|
726
665
|
supportedInteractionTypes: ['Mouse', 'Touch'],
|
|
@@ -728,7 +667,7 @@ class PlanarFreehandROITool extends _base_ContourSegmentationBaseTool__WEBPACK_I
|
|
|
728
667
|
storePointData: false,
|
|
729
668
|
shadow: true,
|
|
730
669
|
preventHandleOutsideImage: false,
|
|
731
|
-
contourHoleAdditionModifierKey:
|
|
670
|
+
contourHoleAdditionModifierKey: _enums__WEBPACK_IMPORTED_MODULE_19__.KeyboardBindings.Shift,
|
|
732
671
|
alwaysRenderOpenContourHandles: {
|
|
733
672
|
enabled: false,
|
|
734
673
|
radius: 2,
|
|
@@ -755,7 +694,7 @@ class PlanarFreehandROITool extends _base_ContourSegmentationBaseTool__WEBPACK_I
|
|
|
755
694
|
displayOnePointAsCrosshairs: false,
|
|
756
695
|
calculateStats: true,
|
|
757
696
|
getTextLines: defaultGetTextLines,
|
|
758
|
-
statsCalculator:
|
|
697
|
+
statsCalculator: _utilities_math_basic__WEBPACK_IMPORTED_MODULE_17__.BasicStatsCalculator,
|
|
759
698
|
},
|
|
760
699
|
}) {
|
|
761
700
|
super(toolProps, defaultToolProps);
|
|
@@ -840,10 +779,10 @@ class PlanarFreehandROITool extends _base_ContourSegmentationBaseTool__WEBPACK_I
|
|
|
840
779
|
const { imageData, metadata } = image;
|
|
841
780
|
const canvasCoordinates = points.map((p) => viewport.worldToCanvas(p));
|
|
842
781
|
const modalityUnitOptions = {
|
|
843
|
-
isPreScaled: (0,
|
|
782
|
+
isPreScaled: (0,_utilities_viewport_isViewportPreScaled__WEBPACK_IMPORTED_MODULE_16__/* .isViewportPreScaled */ .u)(viewport, targetId),
|
|
844
783
|
isSuvScaled: this.isSuvScaled(viewport, targetId, annotation.metadata.referencedImageId),
|
|
845
784
|
};
|
|
846
|
-
const modalityUnit = (0,
|
|
785
|
+
const modalityUnit = (0,_utilities_getPixelValueUnits__WEBPACK_IMPORTED_MODULE_20__/* .getPixelValueUnits */ .j)(metadata.Modality, annotation.metadata.referencedImageId, modalityUnitOptions);
|
|
847
786
|
const polyline = data.contour.polyline;
|
|
848
787
|
const numPoints = polyline.length;
|
|
849
788
|
const projectedPolyline = new Array(numPoints);
|
|
@@ -895,7 +834,7 @@ class PlanarFreehandROITool extends _base_ContourSegmentationBaseTool__WEBPACK_I
|
|
|
895
834
|
const invalidated = annotation.invalidated;
|
|
896
835
|
annotation.invalidated = false;
|
|
897
836
|
if (invalidated) {
|
|
898
|
-
(0,_stateManagement_annotation_helpers_state__WEBPACK_IMPORTED_MODULE_14__.triggerAnnotationModified)(annotation, enabledElement.viewport.element,
|
|
837
|
+
(0,_stateManagement_annotation_helpers_state__WEBPACK_IMPORTED_MODULE_14__.triggerAnnotationModified)(annotation, enabledElement.viewport.element, _enums__WEBPACK_IMPORTED_MODULE_19__.ChangeTypes.StatsUpdated);
|
|
899
838
|
}
|
|
900
839
|
return cachedStats;
|
|
901
840
|
};
|
|
@@ -908,30 +847,19 @@ class PlanarFreehandROITool extends _base_ContourSegmentationBaseTool__WEBPACK_I
|
|
|
908
847
|
viewportId: enabledElement.viewport.id,
|
|
909
848
|
annotationUID: annotation.annotationUID,
|
|
910
849
|
};
|
|
911
|
-
const options = this.getLinkedTextBoxStyle(styleSpecifier, annotation);
|
|
912
|
-
if (!options.visibility) {
|
|
913
|
-
return;
|
|
914
|
-
}
|
|
915
850
|
const textLines = this.configuration.getTextLines(data, targetId);
|
|
916
851
|
if (!textLines || textLines.length === 0) {
|
|
917
852
|
return;
|
|
918
853
|
}
|
|
919
854
|
const canvasCoordinates = data.contour.polyline.map((p) => viewport.worldToCanvas(p));
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
const { x: left, y: top, width, height } = boundingBox;
|
|
929
|
-
data.handles.textBox.worldBoundingBox = {
|
|
930
|
-
topLeft: viewport.canvasToWorld([left, top]),
|
|
931
|
-
topRight: viewport.canvasToWorld([left + width, top]),
|
|
932
|
-
bottomLeft: viewport.canvasToWorld([left, top + height]),
|
|
933
|
-
bottomRight: viewport.canvasToWorld([left + width, top + height]),
|
|
934
|
-
};
|
|
855
|
+
this.renderLinkedTextBoxAnnotation({
|
|
856
|
+
enabledElement,
|
|
857
|
+
svgDrawingHelper,
|
|
858
|
+
annotation,
|
|
859
|
+
styleSpecifier,
|
|
860
|
+
textLines,
|
|
861
|
+
canvasCoordinates,
|
|
862
|
+
});
|
|
935
863
|
};
|
|
936
864
|
(0,_planarFreehandROITool_drawLoop__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .A)(this);
|
|
937
865
|
(0,_planarFreehandROITool_editLoopCommon__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .A)(this);
|
|
@@ -1167,7 +1095,7 @@ class PlanarFreehandROITool extends _base_ContourSegmentationBaseTool__WEBPACK_I
|
|
|
1167
1095
|
if (point[1] != curRow) {
|
|
1168
1096
|
intersectionCounter = 0;
|
|
1169
1097
|
curRow = point[1];
|
|
1170
|
-
intersections = (0,
|
|
1098
|
+
intersections = (0,_utilities_math_polyline__WEBPACK_IMPORTED_MODULE_15__.getLineSegmentIntersectionsCoordinates)(canvasCoordinates, point, [canvasPosEnd[0], point[1]]);
|
|
1171
1099
|
intersections.sort((function (index) {
|
|
1172
1100
|
return function (a, b) {
|
|
1173
1101
|
return a[index] === b[index]
|
|
@@ -1196,13 +1124,13 @@ class PlanarFreehandROITool extends _base_ContourSegmentationBaseTool__WEBPACK_I
|
|
|
1196
1124
|
name: 'area',
|
|
1197
1125
|
value: area,
|
|
1198
1126
|
unit: areaUnit,
|
|
1199
|
-
type:
|
|
1127
|
+
type: _enums__WEBPACK_IMPORTED_MODULE_19__.MeasurementType.Area,
|
|
1200
1128
|
};
|
|
1201
1129
|
const namedPerimeter = {
|
|
1202
1130
|
name: 'perimeter',
|
|
1203
1131
|
value: perimeter,
|
|
1204
1132
|
unit,
|
|
1205
|
-
type:
|
|
1133
|
+
type: _enums__WEBPACK_IMPORTED_MODULE_19__.MeasurementType.Linear,
|
|
1206
1134
|
};
|
|
1207
1135
|
cachedStats[targetId] = {
|
|
1208
1136
|
Modality: metadata.Modality,
|
|
@@ -1227,7 +1155,7 @@ class PlanarFreehandROITool extends _base_ContourSegmentationBaseTool__WEBPACK_I
|
|
|
1227
1155
|
name: 'length',
|
|
1228
1156
|
value: length,
|
|
1229
1157
|
unit,
|
|
1230
|
-
type:
|
|
1158
|
+
type: _enums__WEBPACK_IMPORTED_MODULE_19__.MeasurementType.Linear,
|
|
1231
1159
|
};
|
|
1232
1160
|
cachedStats[targetId] = {
|
|
1233
1161
|
Modality: metadata.Modality,
|
|
@@ -1271,10 +1199,10 @@ function defaultGetTextLines(data, targetId) {
|
|
|
1271
1199
|
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (PlanarFreehandROITool);
|
|
1272
1200
|
|
|
1273
1201
|
|
|
1274
|
-
/***/ }
|
|
1202
|
+
/***/ },
|
|
1275
1203
|
|
|
1276
|
-
/***/ 4010
|
|
1277
|
-
|
|
1204
|
+
/***/ 4010
|
|
1205
|
+
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
1278
1206
|
|
|
1279
1207
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
1280
1208
|
/* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
@@ -1293,14 +1221,12 @@ function defaultGetTextLines(data, targetId) {
|
|
|
1293
1221
|
/* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(29857);
|
|
1294
1222
|
/* harmony import */ var _utilities_viewportFilters__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(60810);
|
|
1295
1223
|
/* harmony import */ var _utilities_math_rectangle__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(33657);
|
|
1296
|
-
/* harmony import */ var
|
|
1297
|
-
/* harmony import */ var
|
|
1298
|
-
/* harmony import */ var
|
|
1299
|
-
/* harmony import */ var
|
|
1300
|
-
/* harmony import */ var
|
|
1301
|
-
/* harmony import */ var
|
|
1302
|
-
/* harmony import */ var _stateManagement_annotation_config_helpers__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(76712);
|
|
1303
|
-
|
|
1224
|
+
/* harmony import */ var _cursors_elementCursor__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(7001);
|
|
1225
|
+
/* harmony import */ var _utilities_triggerAnnotationRenderForViewportIds__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(58640);
|
|
1226
|
+
/* harmony import */ var _utilities_getPixelValueUnits__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(40634);
|
|
1227
|
+
/* harmony import */ var _utilities_viewport_isViewportPreScaled__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(18990);
|
|
1228
|
+
/* harmony import */ var _utilities_math_basic__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(73262);
|
|
1229
|
+
/* harmony import */ var _stateManagement_annotation_config_helpers__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(76712);
|
|
1304
1230
|
|
|
1305
1231
|
|
|
1306
1232
|
|
|
@@ -1332,7 +1258,7 @@ class RectangleROITool extends _base__WEBPACK_IMPORTED_MODULE_0__/* .AnnotationT
|
|
|
1332
1258
|
preventHandleOutsideImage: false,
|
|
1333
1259
|
calculateStats: true,
|
|
1334
1260
|
getTextLines: defaultGetTextLines,
|
|
1335
|
-
statsCalculator:
|
|
1261
|
+
statsCalculator: _utilities_math_basic__WEBPACK_IMPORTED_MODULE_18__.BasicStatsCalculator,
|
|
1336
1262
|
},
|
|
1337
1263
|
}) {
|
|
1338
1264
|
super(toolProps, defaultToolProps);
|
|
@@ -1377,9 +1303,9 @@ class RectangleROITool extends _base__WEBPACK_IMPORTED_MODULE_0__/* .AnnotationT
|
|
|
1377
1303
|
hasMoved: false,
|
|
1378
1304
|
};
|
|
1379
1305
|
this._activateDraw(element);
|
|
1380
|
-
(0,
|
|
1306
|
+
(0,_cursors_elementCursor__WEBPACK_IMPORTED_MODULE_14__.hideElementCursor)(element);
|
|
1381
1307
|
evt.preventDefault();
|
|
1382
|
-
(0,
|
|
1308
|
+
(0,_utilities_triggerAnnotationRenderForViewportIds__WEBPACK_IMPORTED_MODULE_15__/* ["default"] */ .A)(viewportIdsToRender);
|
|
1383
1309
|
return annotation;
|
|
1384
1310
|
};
|
|
1385
1311
|
this.isPointNearTool = (element, annotation, canvasCoords, proximity) => {
|
|
@@ -1412,10 +1338,10 @@ class RectangleROITool extends _base__WEBPACK_IMPORTED_MODULE_0__/* .AnnotationT
|
|
|
1412
1338
|
movingTextBox: false,
|
|
1413
1339
|
};
|
|
1414
1340
|
this._activateModify(element);
|
|
1415
|
-
(0,
|
|
1341
|
+
(0,_cursors_elementCursor__WEBPACK_IMPORTED_MODULE_14__.hideElementCursor)(element);
|
|
1416
1342
|
const enabledElement = (0,_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_1__.getEnabledElement)(element);
|
|
1417
1343
|
const { renderingEngine } = enabledElement;
|
|
1418
|
-
(0,
|
|
1344
|
+
(0,_utilities_triggerAnnotationRenderForViewportIds__WEBPACK_IMPORTED_MODULE_15__/* ["default"] */ .A)(viewportIdsToRender);
|
|
1419
1345
|
evt.preventDefault();
|
|
1420
1346
|
};
|
|
1421
1347
|
this.handleSelectedCallback = (evt, annotation, handle) => {
|
|
@@ -1439,10 +1365,10 @@ class RectangleROITool extends _base__WEBPACK_IMPORTED_MODULE_0__/* .AnnotationT
|
|
|
1439
1365
|
movingTextBox,
|
|
1440
1366
|
};
|
|
1441
1367
|
this._activateModify(element);
|
|
1442
|
-
(0,
|
|
1368
|
+
(0,_cursors_elementCursor__WEBPACK_IMPORTED_MODULE_14__.hideElementCursor)(element);
|
|
1443
1369
|
const enabledElement = (0,_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_1__.getEnabledElement)(element);
|
|
1444
1370
|
const { renderingEngine } = enabledElement;
|
|
1445
|
-
(0,
|
|
1371
|
+
(0,_utilities_triggerAnnotationRenderForViewportIds__WEBPACK_IMPORTED_MODULE_15__/* ["default"] */ .A)(viewportIdsToRender);
|
|
1446
1372
|
evt.preventDefault();
|
|
1447
1373
|
};
|
|
1448
1374
|
this._endCallback = (evt) => {
|
|
@@ -1456,7 +1382,7 @@ class RectangleROITool extends _base__WEBPACK_IMPORTED_MODULE_0__/* .AnnotationT
|
|
|
1456
1382
|
data.handles.activeHandleIndex = null;
|
|
1457
1383
|
this._deactivateModify(element);
|
|
1458
1384
|
this._deactivateDraw(element);
|
|
1459
|
-
(0,
|
|
1385
|
+
(0,_cursors_elementCursor__WEBPACK_IMPORTED_MODULE_14__.resetElementCursor)(element);
|
|
1460
1386
|
this.doneEditMemo();
|
|
1461
1387
|
this.editData = null;
|
|
1462
1388
|
this.isDrawing = false;
|
|
@@ -1464,7 +1390,7 @@ class RectangleROITool extends _base__WEBPACK_IMPORTED_MODULE_0__/* .AnnotationT
|
|
|
1464
1390
|
this.configuration.preventHandleOutsideImage) {
|
|
1465
1391
|
(0,_stateManagement__WEBPACK_IMPORTED_MODULE_5__/* .removeAnnotation */ .O8)(annotation.annotationUID);
|
|
1466
1392
|
}
|
|
1467
|
-
(0,
|
|
1393
|
+
(0,_utilities_triggerAnnotationRenderForViewportIds__WEBPACK_IMPORTED_MODULE_15__/* ["default"] */ .A)(viewportIdsToRender);
|
|
1468
1394
|
if (newAnnotation) {
|
|
1469
1395
|
(0,_stateManagement_annotation_helpers_state__WEBPACK_IMPORTED_MODULE_8__.triggerAnnotationCompleted)(annotation);
|
|
1470
1396
|
}
|
|
@@ -1546,7 +1472,7 @@ class RectangleROITool extends _base__WEBPACK_IMPORTED_MODULE_0__/* .AnnotationT
|
|
|
1546
1472
|
}
|
|
1547
1473
|
this.editData.hasMoved = true;
|
|
1548
1474
|
const enabledElement = (0,_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_1__.getEnabledElement)(element);
|
|
1549
|
-
(0,
|
|
1475
|
+
(0,_utilities_triggerAnnotationRenderForViewportIds__WEBPACK_IMPORTED_MODULE_15__/* ["default"] */ .A)(viewportIdsToRender);
|
|
1550
1476
|
if (annotation.invalidated) {
|
|
1551
1477
|
(0,_stateManagement_annotation_helpers_state__WEBPACK_IMPORTED_MODULE_8__.triggerAnnotationModified)(annotation, element, _enums__WEBPACK_IMPORTED_MODULE_11__.ChangeTypes.HandlesUpdated);
|
|
1552
1478
|
}
|
|
@@ -1556,12 +1482,12 @@ class RectangleROITool extends _base__WEBPACK_IMPORTED_MODULE_0__/* .AnnotationT
|
|
|
1556
1482
|
this.isDrawing = false;
|
|
1557
1483
|
this._deactivateDraw(element);
|
|
1558
1484
|
this._deactivateModify(element);
|
|
1559
|
-
(0,
|
|
1485
|
+
(0,_cursors_elementCursor__WEBPACK_IMPORTED_MODULE_14__.resetElementCursor)(element);
|
|
1560
1486
|
const { annotation, viewportIdsToRender, newAnnotation } = this.editData;
|
|
1561
1487
|
const { data } = annotation;
|
|
1562
1488
|
annotation.highlighted = false;
|
|
1563
1489
|
data.handles.activeHandleIndex = null;
|
|
1564
|
-
(0,
|
|
1490
|
+
(0,_utilities_triggerAnnotationRenderForViewportIds__WEBPACK_IMPORTED_MODULE_15__/* ["default"] */ .A)(viewportIdsToRender);
|
|
1565
1491
|
if (newAnnotation) {
|
|
1566
1492
|
(0,_stateManagement_annotation_helpers_state__WEBPACK_IMPORTED_MODULE_8__.triggerAnnotationCompleted)(annotation);
|
|
1567
1493
|
}
|
|
@@ -1683,7 +1609,7 @@ class RectangleROITool extends _base__WEBPACK_IMPORTED_MODULE_0__/* .AnnotationT
|
|
|
1683
1609
|
activeHandleIndex !== undefined) {
|
|
1684
1610
|
activeHandleCanvasCoords = [canvasCoordinates[activeHandleIndex]];
|
|
1685
1611
|
}
|
|
1686
|
-
const showHandlesAlways = Boolean((0,
|
|
1612
|
+
const showHandlesAlways = Boolean((0,_stateManagement_annotation_config_helpers__WEBPACK_IMPORTED_MODULE_19__/* .getStyleProperty */ .h)('showHandlesAlways', {}));
|
|
1687
1613
|
if (activeHandleCanvasCoords || showHandlesAlways) {
|
|
1688
1614
|
const handleGroupUID = '0';
|
|
1689
1615
|
(0,_drawingSvg__WEBPACK_IMPORTED_MODULE_9__.drawHandles)(svgDrawingHelper, annotationUID, handleGroupUID, showHandlesAlways ? canvasCoordinates : activeHandleCanvasCoords, {
|
|
@@ -1698,39 +1624,20 @@ class RectangleROITool extends _base__WEBPACK_IMPORTED_MODULE_0__/* .AnnotationT
|
|
|
1698
1624
|
lineWidth,
|
|
1699
1625
|
}, dataId);
|
|
1700
1626
|
renderStatus = true;
|
|
1701
|
-
const options = this.getLinkedTextBoxStyle(styleSpecifier, annotation);
|
|
1702
|
-
if (!options.visibility) {
|
|
1703
|
-
data.handles.textBox = {
|
|
1704
|
-
hasMoved: false,
|
|
1705
|
-
worldPosition: [0, 0, 0],
|
|
1706
|
-
worldBoundingBox: {
|
|
1707
|
-
topLeft: [0, 0, 0],
|
|
1708
|
-
topRight: [0, 0, 0],
|
|
1709
|
-
bottomLeft: [0, 0, 0],
|
|
1710
|
-
bottomRight: [0, 0, 0],
|
|
1711
|
-
},
|
|
1712
|
-
};
|
|
1713
|
-
continue;
|
|
1714
|
-
}
|
|
1715
1627
|
const textLines = this.configuration.getTextLines(data, targetId);
|
|
1716
1628
|
if (!textLines || textLines.length === 0) {
|
|
1717
1629
|
continue;
|
|
1718
1630
|
}
|
|
1719
|
-
if (!
|
|
1720
|
-
|
|
1721
|
-
|
|
1722
|
-
|
|
1631
|
+
if (!this.renderLinkedTextBoxAnnotation({
|
|
1632
|
+
enabledElement,
|
|
1633
|
+
svgDrawingHelper,
|
|
1634
|
+
annotation,
|
|
1635
|
+
styleSpecifier,
|
|
1636
|
+
textLines,
|
|
1637
|
+
canvasCoordinates,
|
|
1638
|
+
})) {
|
|
1639
|
+
continue;
|
|
1723
1640
|
}
|
|
1724
|
-
const textBoxPosition = viewport.worldToCanvas(data.handles.textBox.worldPosition);
|
|
1725
|
-
const textBoxUID = '1';
|
|
1726
|
-
const boundingBox = (0,_drawingSvg__WEBPACK_IMPORTED_MODULE_9__.drawLinkedTextBox)(svgDrawingHelper, annotationUID, textBoxUID, textLines, textBoxPosition, canvasCoordinates, {}, options);
|
|
1727
|
-
const { x: left, y: top, width, height } = boundingBox;
|
|
1728
|
-
data.handles.textBox.worldBoundingBox = {
|
|
1729
|
-
topLeft: viewport.canvasToWorld([left, top]),
|
|
1730
|
-
topRight: viewport.canvasToWorld([left + width, top]),
|
|
1731
|
-
bottomLeft: viewport.canvasToWorld([left, top + height]),
|
|
1732
|
-
bottomRight: viewport.canvasToWorld([left + width, top + height]),
|
|
1733
|
-
};
|
|
1734
1641
|
}
|
|
1735
1642
|
return renderStatus;
|
|
1736
1643
|
};
|
|
@@ -1783,10 +1690,10 @@ class RectangleROITool extends _base__WEBPACK_IMPORTED_MODULE_0__/* .AnnotationT
|
|
|
1783
1690
|
const area = Math.abs(width * height);
|
|
1784
1691
|
const { areaUnit } = calibrate;
|
|
1785
1692
|
const pixelUnitsOptions = {
|
|
1786
|
-
isPreScaled: (0,
|
|
1693
|
+
isPreScaled: (0,_utilities_viewport_isViewportPreScaled__WEBPACK_IMPORTED_MODULE_17__/* .isViewportPreScaled */ .u)(viewport, targetId),
|
|
1787
1694
|
isSuvScaled: this.isSuvScaled(viewport, targetId, annotation.metadata.referencedImageId),
|
|
1788
1695
|
};
|
|
1789
|
-
const modalityUnit = (0,
|
|
1696
|
+
const modalityUnit = (0,_utilities_getPixelValueUnits__WEBPACK_IMPORTED_MODULE_16__/* .getPixelValueUnits */ .j)(metadata.Modality, annotation.metadata.referencedImageId, pixelUnitsOptions);
|
|
1790
1697
|
let pointsInShape;
|
|
1791
1698
|
if (voxelManager) {
|
|
1792
1699
|
pointsInShape = voxelManager.forEach(this.configuration.statsCalculator.statsCallback, {
|
|
@@ -1860,7 +1767,7 @@ class RectangleROITool extends _base__WEBPACK_IMPORTED_MODULE_0__/* .AnnotationT
|
|
|
1860
1767
|
},
|
|
1861
1768
|
};
|
|
1862
1769
|
(0,_stateManagement__WEBPACK_IMPORTED_MODULE_5__/* .addAnnotation */ .lC)(annotation, viewport.element);
|
|
1863
|
-
(0,
|
|
1770
|
+
(0,_utilities_triggerAnnotationRenderForViewportIds__WEBPACK_IMPORTED_MODULE_15__/* ["default"] */ .A)([viewport.id]);
|
|
1864
1771
|
}; }
|
|
1865
1772
|
}
|
|
1866
1773
|
function defaultGetTextLines(data, targetId) {
|
|
@@ -1890,10 +1797,10 @@ function defaultGetTextLines(data, targetId) {
|
|
|
1890
1797
|
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (RectangleROITool);
|
|
1891
1798
|
|
|
1892
1799
|
|
|
1893
|
-
/***/ }
|
|
1800
|
+
/***/ },
|
|
1894
1801
|
|
|
1895
|
-
/***/ 91350
|
|
1896
|
-
|
|
1802
|
+
/***/ 91350
|
|
1803
|
+
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
1897
1804
|
|
|
1898
1805
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
1899
1806
|
/* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
@@ -1905,10 +1812,14 @@ function defaultGetTextLines(data, targetId) {
|
|
|
1905
1812
|
/* harmony import */ var _stateManagement_annotation_annotationVisibility__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(29601);
|
|
1906
1813
|
/* harmony import */ var _stateManagement_annotation_annotationState__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(82056);
|
|
1907
1814
|
/* harmony import */ var _stateManagement_annotation_helpers_state__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(44049);
|
|
1908
|
-
/* harmony import */ var
|
|
1909
|
-
/* harmony import */ var
|
|
1910
|
-
/* harmony import */ var
|
|
1911
|
-
/* harmony import */ var
|
|
1815
|
+
/* harmony import */ var _drawingSvg__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(74347);
|
|
1816
|
+
/* harmony import */ var _utilities_drawing__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(473);
|
|
1817
|
+
/* harmony import */ var _enums_ChangeTypes__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(75183);
|
|
1818
|
+
/* harmony import */ var _stateManagement_annotation_annotationSelection__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(17343);
|
|
1819
|
+
/* harmony import */ var _utilities_contourSegmentation__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(56534);
|
|
1820
|
+
/* harmony import */ var _utilities_safeStructuredClone__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(33459);
|
|
1821
|
+
|
|
1822
|
+
|
|
1912
1823
|
|
|
1913
1824
|
|
|
1914
1825
|
|
|
@@ -2023,6 +1934,54 @@ class AnnotationTool extends _AnnotationDisplayTool__WEBPACK_IMPORTED_MODULE_2__
|
|
|
2023
1934
|
textBoxLinkLineColor: this.getStyle('textBoxLinkLineColor', specifications, annotation),
|
|
2024
1935
|
};
|
|
2025
1936
|
}
|
|
1937
|
+
renderLinkedTextBoxAnnotation(options) {
|
|
1938
|
+
const { enabledElement, svgDrawingHelper, annotation, styleSpecifier, textLines, canvasCoordinates, textBoxUID = '1', placementPoints, } = options;
|
|
1939
|
+
const { viewport } = enabledElement;
|
|
1940
|
+
const { element } = viewport;
|
|
1941
|
+
const { annotationUID, data } = annotation;
|
|
1942
|
+
const styleOptions = this.getLinkedTextBoxStyle(styleSpecifier, annotation);
|
|
1943
|
+
if (!styleOptions.visibility) {
|
|
1944
|
+
data.handles.textBox = {
|
|
1945
|
+
hasMoved: false,
|
|
1946
|
+
worldPosition: [0, 0, 0],
|
|
1947
|
+
worldBoundingBox: {
|
|
1948
|
+
topLeft: [0, 0, 0],
|
|
1949
|
+
topRight: [0, 0, 0],
|
|
1950
|
+
bottomLeft: [0, 0, 0],
|
|
1951
|
+
bottomRight: [0, 0, 0],
|
|
1952
|
+
},
|
|
1953
|
+
};
|
|
1954
|
+
return false;
|
|
1955
|
+
}
|
|
1956
|
+
if (!data.handles.textBox) {
|
|
1957
|
+
data.handles.textBox = {
|
|
1958
|
+
hasMoved: false,
|
|
1959
|
+
worldPosition: [0, 0, 0],
|
|
1960
|
+
worldBoundingBox: {
|
|
1961
|
+
topLeft: [0, 0, 0],
|
|
1962
|
+
topRight: [0, 0, 0],
|
|
1963
|
+
bottomLeft: [0, 0, 0],
|
|
1964
|
+
bottomRight: [0, 0, 0],
|
|
1965
|
+
},
|
|
1966
|
+
};
|
|
1967
|
+
}
|
|
1968
|
+
const pointsForPlacement = placementPoints ?? canvasCoordinates;
|
|
1969
|
+
if (!data.handles.textBox.hasMoved) {
|
|
1970
|
+
const canvasTextBoxCoords = (0,_utilities_drawing__WEBPACK_IMPORTED_MODULE_8__.getTextBoxCoordsCanvas)(pointsForPlacement, element, textLines);
|
|
1971
|
+
data.handles.textBox.worldPosition =
|
|
1972
|
+
viewport.canvasToWorld(canvasTextBoxCoords);
|
|
1973
|
+
}
|
|
1974
|
+
const textBoxPosition = viewport.worldToCanvas(data.handles.textBox.worldPosition);
|
|
1975
|
+
const boundingBox = (0,_drawingSvg__WEBPACK_IMPORTED_MODULE_7__.drawLinkedTextBox)(svgDrawingHelper, annotationUID, textBoxUID, textLines, textBoxPosition, canvasCoordinates, {}, styleOptions);
|
|
1976
|
+
const { x: left, y: top, width, height } = boundingBox;
|
|
1977
|
+
data.handles.textBox.worldBoundingBox = {
|
|
1978
|
+
topLeft: viewport.canvasToWorld([left, top]),
|
|
1979
|
+
topRight: viewport.canvasToWorld([left + width, top]),
|
|
1980
|
+
bottomLeft: viewport.canvasToWorld([left, top + height]),
|
|
1981
|
+
bottomRight: viewport.canvasToWorld([left + width, top + height]),
|
|
1982
|
+
};
|
|
1983
|
+
return true;
|
|
1984
|
+
}
|
|
2026
1985
|
static isSuvScaled(viewport, targetId, imageId) {
|
|
2027
1986
|
if (viewport instanceof _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.BaseVolumeViewport) {
|
|
2028
1987
|
const volumeId = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.utilities.getVolumeId(targetId);
|
|
@@ -2074,7 +2033,7 @@ class AnnotationTool extends _AnnotationDisplayTool__WEBPACK_IMPORTED_MODULE_2__
|
|
|
2074
2033
|
const { data, annotationUID } = annotation;
|
|
2075
2034
|
return {
|
|
2076
2035
|
annotationUID,
|
|
2077
|
-
data: (0,
|
|
2036
|
+
data: (0,_utilities_safeStructuredClone__WEBPACK_IMPORTED_MODULE_12__/* .safeStructuredClone */ .W)(data),
|
|
2078
2037
|
deleting,
|
|
2079
2038
|
};
|
|
2080
2039
|
}
|
|
@@ -2098,19 +2057,19 @@ class AnnotationTool extends _AnnotationDisplayTool__WEBPACK_IMPORTED_MODULE_2__
|
|
|
2098
2057
|
annotationData.contour.polyline = state.data.contour.pointsManager.points;
|
|
2099
2058
|
delete state.data.contour.pointsManager;
|
|
2100
2059
|
if (annotationData.segmentation) {
|
|
2101
|
-
(0,
|
|
2060
|
+
(0,_utilities_contourSegmentation__WEBPACK_IMPORTED_MODULE_11__.addContourSegmentationAnnotation)(annotation);
|
|
2102
2061
|
}
|
|
2103
2062
|
}
|
|
2104
2063
|
state.data = newState.data;
|
|
2105
2064
|
(0,_stateManagement_annotation_annotationState__WEBPACK_IMPORTED_MODULE_5__.addAnnotation)(annotation, element);
|
|
2106
|
-
(0,
|
|
2065
|
+
(0,_stateManagement_annotation_annotationSelection__WEBPACK_IMPORTED_MODULE_10__.setAnnotationSelected)(annotation.annotationUID, true);
|
|
2107
2066
|
viewport?.render();
|
|
2108
2067
|
return;
|
|
2109
2068
|
}
|
|
2110
2069
|
if (state.deleting === false) {
|
|
2111
2070
|
state.deleting = true;
|
|
2112
2071
|
state.data = newState.data;
|
|
2113
|
-
(0,
|
|
2072
|
+
(0,_stateManagement_annotation_annotationSelection__WEBPACK_IMPORTED_MODULE_10__.setAnnotationSelected)(annotation.annotationUID);
|
|
2114
2073
|
(0,_stateManagement_annotation_annotationState__WEBPACK_IMPORTED_MODULE_5__.removeAnnotation)(annotation.annotationUID);
|
|
2115
2074
|
viewport?.render();
|
|
2116
2075
|
return;
|
|
@@ -2128,7 +2087,7 @@ class AnnotationTool extends _AnnotationDisplayTool__WEBPACK_IMPORTED_MODULE_2__
|
|
|
2128
2087
|
state.data = newState.data;
|
|
2129
2088
|
currentAnnotation.invalidated = true;
|
|
2130
2089
|
if (element) {
|
|
2131
|
-
(0,_stateManagement_annotation_helpers_state__WEBPACK_IMPORTED_MODULE_6__.triggerAnnotationModified)(currentAnnotation, element,
|
|
2090
|
+
(0,_stateManagement_annotation_helpers_state__WEBPACK_IMPORTED_MODULE_6__.triggerAnnotationModified)(currentAnnotation, element, _enums_ChangeTypes__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .A.History);
|
|
2132
2091
|
}
|
|
2133
2092
|
},
|
|
2134
2093
|
id: annotationUID,
|
|
@@ -2192,10 +2151,10 @@ AnnotationTool.toolName = 'AnnotationTool';
|
|
|
2192
2151
|
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (AnnotationTool);
|
|
2193
2152
|
|
|
2194
2153
|
|
|
2195
|
-
/***/ }
|
|
2154
|
+
/***/ },
|
|
2196
2155
|
|
|
2197
|
-
/***/ 23631
|
|
2198
|
-
|
|
2156
|
+
/***/ 23631
|
|
2157
|
+
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
2199
2158
|
|
|
2200
2159
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
2201
2160
|
/* harmony export */ A: () => (/* binding */ LabelmapBaseTool)
|
|
@@ -2593,10 +2552,10 @@ function lightenColor(r, g, b, a, factor = 0.4) {
|
|
|
2593
2552
|
}
|
|
2594
2553
|
|
|
2595
2554
|
|
|
2596
|
-
/***/ }
|
|
2555
|
+
/***/ },
|
|
2597
2556
|
|
|
2598
|
-
/***/ 52905
|
|
2599
|
-
|
|
2557
|
+
/***/ 52905
|
|
2558
|
+
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
2600
2559
|
|
|
2601
2560
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
2602
2561
|
/* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
@@ -2717,27 +2676,129 @@ function debounce(func, wait, options) {
|
|
|
2717
2676
|
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (debounce);
|
|
2718
2677
|
|
|
2719
2678
|
|
|
2720
|
-
/***/ }
|
|
2679
|
+
/***/ },
|
|
2721
2680
|
|
|
2722
|
-
/***/ 1239
|
|
2723
|
-
|
|
2681
|
+
/***/ 1239
|
|
2682
|
+
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
2724
2683
|
|
|
2725
2684
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
2726
2685
|
/* harmony export */ A: () => (/* binding */ getTextBoxCoordsCanvas)
|
|
2727
2686
|
/* harmony export */ });
|
|
2728
|
-
|
|
2687
|
+
/* harmony import */ var _textBoxOverlapRegistry__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(49773);
|
|
2688
|
+
/* harmony import */ var _math_aabb_intersectAABB__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(33277);
|
|
2689
|
+
|
|
2690
|
+
|
|
2691
|
+
const VIEWPORT_ELEMENT = 'viewport-element';
|
|
2692
|
+
const TEXT_BOX_GAP = 6;
|
|
2693
|
+
function getTextBoxCoordsCanvas(annotationCanvasPoints, element, textLines = []) {
|
|
2694
|
+
if (!annotationCanvasPoints?.length || !annotationCanvasPoints[0]) {
|
|
2695
|
+
return [0, 0];
|
|
2696
|
+
}
|
|
2729
2697
|
const corners = _determineCorners(annotationCanvasPoints);
|
|
2730
2698
|
const centerY = (corners.top[1] + corners.bottom[1]) / 2;
|
|
2731
|
-
const
|
|
2732
|
-
|
|
2699
|
+
const defaultTextBoxCanvas = [corners.right[0], centerY];
|
|
2700
|
+
if (!element) {
|
|
2701
|
+
return defaultTextBoxCanvas;
|
|
2702
|
+
}
|
|
2703
|
+
const { width: textBoxWidth, height: textBoxHeight } = _estimateTextBoxSize(textLines);
|
|
2704
|
+
const margin = 4;
|
|
2705
|
+
const maxX = element.clientWidth - margin;
|
|
2706
|
+
const maxY = element.clientHeight - margin;
|
|
2707
|
+
let x = corners.right[0];
|
|
2708
|
+
let y = centerY - textBoxHeight / 2;
|
|
2709
|
+
if (x + textBoxWidth > maxX) {
|
|
2710
|
+
x = corners.left[0] - textBoxWidth;
|
|
2711
|
+
}
|
|
2712
|
+
x = Math.max(margin, Math.min(x, maxX - textBoxWidth));
|
|
2713
|
+
y = Math.max(margin, Math.min(y, maxY - textBoxHeight));
|
|
2714
|
+
const svgLayer = _findSvgLayer(element);
|
|
2715
|
+
if (svgLayer) {
|
|
2716
|
+
const existingBoxes = (0,_textBoxOverlapRegistry__WEBPACK_IMPORTED_MODULE_0__/* .getRegisteredTextBoxes */ .Pd)(svgLayer);
|
|
2717
|
+
if (existingBoxes.length > 0) {
|
|
2718
|
+
const resolved = _resolveOverlap(x, y, textBoxWidth, textBoxHeight, existingBoxes, margin, maxX, maxY);
|
|
2719
|
+
x = resolved[0];
|
|
2720
|
+
y = resolved[1];
|
|
2721
|
+
}
|
|
2722
|
+
}
|
|
2723
|
+
return [x, y];
|
|
2724
|
+
}
|
|
2725
|
+
function _resolveOverlap(x, y, width, height, existingBoxes, margin, maxX, maxY) {
|
|
2726
|
+
if (!_overlapsAny(x, y, width, height, existingBoxes)) {
|
|
2727
|
+
return [x, y];
|
|
2728
|
+
}
|
|
2729
|
+
let candidateY = y;
|
|
2730
|
+
for (let i = 0; i < 30; i++) {
|
|
2731
|
+
const blocker = _findFirstOverlap(x, candidateY, width, height, existingBoxes);
|
|
2732
|
+
if (!blocker) {
|
|
2733
|
+
break;
|
|
2734
|
+
}
|
|
2735
|
+
candidateY = blocker.y + blocker.height + TEXT_BOX_GAP;
|
|
2736
|
+
if (candidateY + height > maxY) {
|
|
2737
|
+
candidateY = Infinity;
|
|
2738
|
+
break;
|
|
2739
|
+
}
|
|
2740
|
+
}
|
|
2741
|
+
if (candidateY !== Infinity &&
|
|
2742
|
+
!_overlapsAny(x, candidateY, width, height, existingBoxes)) {
|
|
2743
|
+
return [
|
|
2744
|
+
x,
|
|
2745
|
+
Math.max(margin, Math.min(candidateY, maxY - height)),
|
|
2746
|
+
];
|
|
2747
|
+
}
|
|
2748
|
+
candidateY = y;
|
|
2749
|
+
for (let i = 0; i < 30; i++) {
|
|
2750
|
+
const blocker = _findFirstOverlap(x, candidateY, width, height, existingBoxes);
|
|
2751
|
+
if (!blocker) {
|
|
2752
|
+
break;
|
|
2753
|
+
}
|
|
2754
|
+
candidateY = blocker.y - height - TEXT_BOX_GAP;
|
|
2755
|
+
if (candidateY < margin) {
|
|
2756
|
+
candidateY = -Infinity;
|
|
2757
|
+
break;
|
|
2758
|
+
}
|
|
2759
|
+
}
|
|
2760
|
+
if (candidateY !== -Infinity &&
|
|
2761
|
+
!_overlapsAny(x, candidateY, width, height, existingBoxes)) {
|
|
2762
|
+
return [
|
|
2763
|
+
x,
|
|
2764
|
+
Math.max(margin, Math.min(candidateY, maxY - height)),
|
|
2765
|
+
];
|
|
2766
|
+
}
|
|
2767
|
+
return [x, y];
|
|
2768
|
+
}
|
|
2769
|
+
function _overlapsAny(x, y, w, h, boxes) {
|
|
2770
|
+
const candidate = _toTextBoxAABB({ x, y, width: w, height: h });
|
|
2771
|
+
return boxes.some((box) => (0,_math_aabb_intersectAABB__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A)(candidate, _toTextBoxAABB(box, TEXT_BOX_GAP / 2)));
|
|
2772
|
+
}
|
|
2773
|
+
function _findFirstOverlap(x, y, w, h, boxes) {
|
|
2774
|
+
const candidate = _toTextBoxAABB({ x, y, width: w, height: h });
|
|
2775
|
+
return boxes.find((box) => (0,_math_aabb_intersectAABB__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A)(candidate, _toTextBoxAABB(box, TEXT_BOX_GAP / 2)));
|
|
2776
|
+
}
|
|
2777
|
+
function _toTextBoxAABB(rect, inflate = 0) {
|
|
2778
|
+
return {
|
|
2779
|
+
minX: rect.x - inflate,
|
|
2780
|
+
minY: rect.y - inflate,
|
|
2781
|
+
maxX: rect.x + rect.width + inflate,
|
|
2782
|
+
maxY: rect.y + rect.height + inflate,
|
|
2783
|
+
};
|
|
2784
|
+
}
|
|
2785
|
+
function _findSvgLayer(element) {
|
|
2786
|
+
const internalDiv = element.querySelector(`.${VIEWPORT_ELEMENT}`);
|
|
2787
|
+
return internalDiv?.querySelector(':scope > .svg-layer') || null;
|
|
2733
2788
|
}
|
|
2734
2789
|
function _determineCorners(canvasPoints) {
|
|
2790
|
+
const p0 = canvasPoints[0];
|
|
2791
|
+
if (!p0 || canvasPoints.length < 2) {
|
|
2792
|
+
return { left: p0, right: p0, top: p0, bottom: p0 };
|
|
2793
|
+
}
|
|
2735
2794
|
const handlesLeftToRight = [canvasPoints[0], canvasPoints[1]].sort(_compareX);
|
|
2736
2795
|
const handlesTopToBottom = [canvasPoints[0], canvasPoints[1]].sort(_compareY);
|
|
2796
|
+
const left = handlesLeftToRight[0];
|
|
2737
2797
|
const right = handlesLeftToRight[handlesLeftToRight.length - 1];
|
|
2738
2798
|
const top = handlesTopToBottom[0];
|
|
2739
2799
|
const bottom = handlesTopToBottom[handlesTopToBottom.length - 1];
|
|
2740
2800
|
return {
|
|
2801
|
+
left,
|
|
2741
2802
|
top,
|
|
2742
2803
|
bottom,
|
|
2743
2804
|
right,
|
|
@@ -2749,12 +2810,22 @@ function _determineCorners(canvasPoints) {
|
|
|
2749
2810
|
return a[1] < b[1] ? -1 : 1;
|
|
2750
2811
|
}
|
|
2751
2812
|
}
|
|
2813
|
+
function _estimateTextBoxSize(textLines) {
|
|
2814
|
+
const estimatedPadding = 25;
|
|
2815
|
+
const estimatedCharWidth = 8;
|
|
2816
|
+
const estimatedLineHeight = 17;
|
|
2817
|
+
const longestLineLength = textLines.reduce((max, line) => Math.max(max, line?.length ?? 0), 0);
|
|
2818
|
+
const lineCount = Math.max(textLines.length, 1);
|
|
2819
|
+
const width = longestLineLength * estimatedCharWidth + estimatedPadding * 2;
|
|
2820
|
+
const height = lineCount * estimatedLineHeight + estimatedPadding * 2;
|
|
2821
|
+
return { width, height };
|
|
2822
|
+
}
|
|
2752
2823
|
|
|
2753
2824
|
|
|
2754
|
-
/***/ }
|
|
2825
|
+
/***/ },
|
|
2755
2826
|
|
|
2756
|
-
/***/ 40133
|
|
2757
|
-
|
|
2827
|
+
/***/ 40133
|
|
2828
|
+
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
2758
2829
|
|
|
2759
2830
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
2760
2831
|
/* harmony export */ A: () => (/* binding */ getViewportForAnnotation)
|
|
@@ -2773,10 +2844,10 @@ function getViewportForAnnotation(annotation) {
|
|
|
2773
2844
|
}
|
|
2774
2845
|
|
|
2775
2846
|
|
|
2776
|
-
/***/ }
|
|
2847
|
+
/***/ },
|
|
2777
2848
|
|
|
2778
|
-
/***/ 45217
|
|
2779
|
-
|
|
2849
|
+
/***/ 45217
|
|
2850
|
+
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
2780
2851
|
|
|
2781
2852
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
2782
2853
|
/* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
@@ -2788,10 +2859,10 @@ function isObject(value) {
|
|
|
2788
2859
|
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (isObject);
|
|
2789
2860
|
|
|
2790
2861
|
|
|
2791
|
-
/***/ }
|
|
2862
|
+
/***/ },
|
|
2792
2863
|
|
|
2793
|
-
/***/ 62783
|
|
2794
|
-
|
|
2864
|
+
/***/ 62783
|
|
2865
|
+
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
2795
2866
|
|
|
2796
2867
|
|
|
2797
2868
|
// EXPORTS
|
|
@@ -2814,10 +2885,10 @@ function pointInSphere(sphere, pointLPS) {
|
|
|
2814
2885
|
|
|
2815
2886
|
|
|
2816
2887
|
|
|
2817
|
-
/***/ }
|
|
2888
|
+
/***/ },
|
|
2818
2889
|
|
|
2819
|
-
/***/ 33459
|
|
2820
|
-
|
|
2890
|
+
/***/ 33459
|
|
2891
|
+
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
2821
2892
|
|
|
2822
2893
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
2823
2894
|
/* harmony export */ W: () => (/* binding */ safeStructuredClone)
|
|
@@ -2878,10 +2949,10 @@ function safeStructuredClone(value) {
|
|
|
2878
2949
|
}
|
|
2879
2950
|
|
|
2880
2951
|
|
|
2881
|
-
/***/ }
|
|
2952
|
+
/***/ },
|
|
2882
2953
|
|
|
2883
|
-
/***/ 27730
|
|
2884
|
-
|
|
2954
|
+
/***/ 27730
|
|
2955
|
+
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
2885
2956
|
|
|
2886
2957
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
2887
2958
|
/* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
@@ -2909,10 +2980,10 @@ function throttle(func, wait, options) {
|
|
|
2909
2980
|
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (throttle);
|
|
2910
2981
|
|
|
2911
2982
|
|
|
2912
|
-
/***/ }
|
|
2983
|
+
/***/ },
|
|
2913
2984
|
|
|
2914
|
-
/***/ 18990
|
|
2915
|
-
|
|
2985
|
+
/***/ 18990
|
|
2986
|
+
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
2916
2987
|
|
|
2917
2988
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
2918
2989
|
/* harmony export */ u: () => (/* binding */ isViewportPreScaled)
|
|
@@ -2936,6 +3007,6 @@ function isViewportPreScaled(viewport, targetId) {
|
|
|
2936
3007
|
|
|
2937
3008
|
|
|
2938
3009
|
|
|
2939
|
-
/***/ }
|
|
3010
|
+
/***/ }
|
|
2940
3011
|
|
|
2941
3012
|
}]);
|