@cornerstonejs/tools 1.21.0 → 1.21.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/dist/cjs/eventDispatchers/mouseEventHandlers/mouseDown.js +1 -1
  2. package/dist/cjs/eventDispatchers/mouseEventHandlers/mouseDown.js.map +1 -1
  3. package/dist/cjs/tools/MagnifyTool.js +2 -2
  4. package/dist/cjs/tools/MagnifyTool.js.map +1 -1
  5. package/dist/cjs/tools/annotation/CobbAngleTool.d.ts +31 -5
  6. package/dist/cjs/tools/annotation/CobbAngleTool.js +266 -70
  7. package/dist/cjs/tools/annotation/CobbAngleTool.js.map +1 -1
  8. package/dist/cjs/tools/base/AnnotationTool.d.ts +1 -1
  9. package/dist/cjs/tools/base/AnnotationTool.js.map +1 -1
  10. package/dist/cjs/types/ToolSpecificAnnotationTypes.d.ts +44 -0
  11. package/dist/cjs/utilities/math/angle/angleBetweenLines.d.ts +3 -1
  12. package/dist/cjs/utilities/math/angle/angleBetweenLines.js +18 -1
  13. package/dist/cjs/utilities/math/angle/angleBetweenLines.js.map +1 -1
  14. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDown.js +1 -1
  15. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDown.js.map +1 -1
  16. package/dist/esm/tools/MagnifyTool.js +2 -2
  17. package/dist/esm/tools/MagnifyTool.js.map +1 -1
  18. package/dist/esm/tools/annotation/CobbAngleTool.d.ts +31 -5
  19. package/dist/esm/tools/annotation/CobbAngleTool.js +273 -71
  20. package/dist/esm/tools/annotation/CobbAngleTool.js.map +1 -1
  21. package/dist/esm/tools/base/AnnotationTool.d.ts +1 -1
  22. package/dist/esm/tools/base/AnnotationTool.js.map +1 -1
  23. package/dist/esm/types/ToolSpecificAnnotationTypes.d.ts +44 -0
  24. package/dist/esm/utilities/math/angle/angleBetweenLines.d.ts +3 -1
  25. package/dist/esm/utilities/math/angle/angleBetweenLines.js +19 -2
  26. package/dist/esm/utilities/math/angle/angleBetweenLines.js.map +1 -1
  27. package/dist/umd/index.js +1 -1
  28. package/dist/umd/index.js.map +1 -1
  29. package/package.json +3 -3
  30. package/src/eventDispatchers/mouseEventHandlers/mouseDown.ts +1 -1
  31. package/src/tools/MagnifyTool.ts +2 -2
  32. package/src/tools/annotation/CobbAngleTool.ts +418 -98
  33. package/src/tools/base/AnnotationTool.ts +2 -1
  34. package/src/types/ToolSpecificAnnotationTypes.ts +46 -0
  35. package/src/utilities/math/angle/angleBetweenLines.ts +39 -9
@@ -8,7 +8,7 @@ import { isAnnotationLocked } from '../../stateManagement/annotation/annotationL
8
8
  import * as lineSegment from '../../utilities/math/line';
9
9
  import angleBetweenLines from '../../utilities/math/angle/angleBetweenLines';
10
10
  import { midPoint2 } from '../../utilities/math/midPoint';
11
- import { drawHandles as drawHandlesSvg, drawLine as drawLineSvg, drawLinkedTextBox as drawLinkedTextBoxSvg, } from '../../drawingSvg';
11
+ import { drawHandles as drawHandlesSvg, drawLine as drawLineSvg, drawLinkedTextBox as drawLinkedTextBoxSvg, drawTextBox as drawTextBoxSvg, } from '../../drawingSvg';
12
12
  import { state } from '../../store';
13
13
  import { getViewportIdsWithToolToRender } from '../../utilities/viewportFilters';
14
14
  import { getTextBoxCoordsCanvas } from '../../utilities/drawing';
@@ -88,52 +88,39 @@ class CobbAngleTool extends AnnotationTool {
88
88
  const enabledElement = getEnabledElement(element);
89
89
  const { viewport } = enabledElement;
90
90
  const { data } = annotation;
91
- const [point1, point2, point3, point4] = data.handles.points;
92
- const canvasPoint1 = viewport.worldToCanvas(point1);
93
- const canvasPoint2 = viewport.worldToCanvas(point2);
94
- const canvasPoint3 = viewport.worldToCanvas(point3);
95
- const canvasPoint4 = viewport.worldToCanvas(point4);
96
- const line1 = {
97
- start: {
98
- x: canvasPoint1[0],
99
- y: canvasPoint1[1],
100
- },
101
- end: {
102
- x: canvasPoint2[0],
103
- y: canvasPoint2[1],
104
- },
105
- };
106
- const line2 = {
107
- start: {
108
- x: canvasPoint3[0],
109
- y: canvasPoint3[1],
110
- },
111
- end: {
112
- x: canvasPoint4[0],
113
- y: canvasPoint4[1],
114
- },
115
- };
116
- const distanceToPoint = lineSegment.distanceToPoint([line1.start.x, line1.start.y], [line1.end.x, line1.end.y], [canvasCoords[0], canvasCoords[1]]);
117
- const distanceToPoint2 = lineSegment.distanceToPoint([line2.start.x, line2.start.y], [line2.end.x, line2.end.y], [canvasCoords[0], canvasCoords[1]]);
91
+ const { distanceToPoint, distanceToPoint2 } = this.distanceToLines({
92
+ viewport,
93
+ points: data.handles.points,
94
+ canvasCoords,
95
+ proximity,
96
+ });
118
97
  if (distanceToPoint <= proximity || distanceToPoint2 <= proximity) {
119
98
  return true;
120
99
  }
121
100
  return false;
122
101
  };
123
- this.toolSelectedCallback = (evt, annotation, interactionType) => {
102
+ this.toolSelectedCallback = (evt, annotation, interactionType, canvasCoords, proximity = 6) => {
124
103
  const eventDetail = evt.detail;
125
104
  const { element } = eventDetail;
126
105
  annotation.highlighted = true;
127
106
  const viewportIdsToRender = getViewportIdsWithToolToRender(element, this.getToolName());
107
+ const enabledElement = getEnabledElement(element);
108
+ const { renderingEngine, viewport } = enabledElement;
109
+ const { isNearFirstLine, isNearSecondLine } = this.distanceToLines({
110
+ viewport,
111
+ points: annotation.data.handles.points,
112
+ canvasCoords,
113
+ proximity,
114
+ });
128
115
  this.editData = {
129
116
  annotation,
130
117
  viewportIdsToRender,
131
118
  movingTextBox: false,
119
+ isNearFirstLine,
120
+ isNearSecondLine,
132
121
  };
133
122
  this._activateModify(element);
134
123
  hideElementCursor(element);
135
- const enabledElement = getEnabledElement(element);
136
- const { renderingEngine } = enabledElement;
137
124
  triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
138
125
  evt.preventDefault();
139
126
  };
@@ -202,7 +189,7 @@ class CobbAngleTool extends AnnotationTool {
202
189
  this.isDrawing = true;
203
190
  const eventDetail = evt.detail;
204
191
  const { element } = eventDetail;
205
- const { annotation, viewportIdsToRender, handleIndex, movingTextBox } = this.editData;
192
+ const { annotation, viewportIdsToRender, handleIndex, movingTextBox, isNearFirstLine, isNearSecondLine, } = this.editData;
206
193
  const { data } = annotation;
207
194
  if (movingTextBox) {
208
195
  const { deltaPoints } = eventDetail;
@@ -214,15 +201,27 @@ class CobbAngleTool extends AnnotationTool {
214
201
  worldPosition[2] += worldPosDelta[2];
215
202
  textBox.hasMoved = true;
216
203
  }
217
- else if (handleIndex === undefined) {
204
+ else if (handleIndex === undefined &&
205
+ (isNearFirstLine || isNearSecondLine)) {
218
206
  const { deltaPoints } = eventDetail;
219
207
  const worldPosDelta = deltaPoints.world;
220
208
  const points = data.handles.points;
221
- points.forEach((point) => {
222
- point[0] += worldPosDelta[0];
223
- point[1] += worldPosDelta[1];
224
- point[2] += worldPosDelta[2];
225
- });
209
+ if (isNearFirstLine) {
210
+ const firstLinePoints = [points[0], points[1]];
211
+ firstLinePoints.forEach((point) => {
212
+ point[0] += worldPosDelta[0];
213
+ point[1] += worldPosDelta[1];
214
+ point[2] += worldPosDelta[2];
215
+ });
216
+ }
217
+ else if (isNearSecondLine) {
218
+ const secondLinePoints = [points[2], points[3]];
219
+ secondLinePoints.forEach((point) => {
220
+ point[0] += worldPosDelta[0];
221
+ point[1] += worldPosDelta[1];
222
+ point[2] += worldPosDelta[2];
223
+ });
224
+ }
226
225
  annotation.invalidated = true;
227
226
  }
228
227
  else {
@@ -237,29 +236,33 @@ class CobbAngleTool extends AnnotationTool {
237
236
  triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
238
237
  };
239
238
  this.cancel = (element) => {
240
- if (this.isDrawing) {
241
- this.isDrawing = false;
242
- this._deactivateDraw(element);
243
- this._deactivateModify(element);
244
- resetElementCursor(element);
245
- const { annotation, viewportIdsToRender, newAnnotation } = this.editData;
246
- const { data } = annotation;
247
- annotation.highlighted = false;
248
- data.handles.activeHandleIndex = null;
249
- const enabledElement = getEnabledElement(element);
250
- const { renderingEngine } = enabledElement;
251
- triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
252
- if (newAnnotation) {
253
- const eventType = Events.ANNOTATION_COMPLETED;
254
- const eventDetail = {
255
- annotation,
256
- };
257
- triggerEvent(eventTarget, eventType, eventDetail);
258
- }
259
- this.editData = null;
260
- this.angleStartedNotYetCompleted = false;
261
- return annotation.annotationUID;
239
+ if (!this.isDrawing) {
240
+ return;
241
+ }
242
+ this.isDrawing = false;
243
+ this._deactivateDraw(element);
244
+ this._deactivateModify(element);
245
+ resetElementCursor(element);
246
+ const { annotation, viewportIdsToRender, newAnnotation } = this.editData;
247
+ const { data } = annotation;
248
+ if (data.handles.points.length < 4) {
249
+ removeAnnotation(annotation.annotationUID);
262
250
  }
251
+ annotation.highlighted = false;
252
+ data.handles.activeHandleIndex = null;
253
+ const enabledElement = getEnabledElement(element);
254
+ const { renderingEngine } = enabledElement;
255
+ triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
256
+ if (newAnnotation) {
257
+ const eventType = Events.ANNOTATION_COMPLETED;
258
+ const eventDetail = {
259
+ annotation,
260
+ };
261
+ triggerEvent(eventTarget, eventType, eventDetail);
262
+ }
263
+ this.editData = null;
264
+ this.angleStartedNotYetCompleted = false;
265
+ return annotation.annotationUID;
263
266
  };
264
267
  this._activateModify = (element) => {
265
268
  state.isInteractingWithTool = true;
@@ -321,6 +324,26 @@ class CobbAngleTool extends AnnotationTool {
321
324
  data.cachedStats[targetId].angle == null) {
322
325
  data.cachedStats[targetId] = {
323
326
  angle: null,
327
+ arc1Angle: null,
328
+ arc2Angle: null,
329
+ points: {
330
+ world: {
331
+ arc1Start: null,
332
+ arc1End: null,
333
+ arc2Start: null,
334
+ arc2End: null,
335
+ arc1Angle: null,
336
+ arc2Angle: null,
337
+ },
338
+ canvas: {
339
+ arc1Start: null,
340
+ arc1End: null,
341
+ arc2Start: null,
342
+ arc2End: null,
343
+ arc1Angle: null,
344
+ arc2Angle: null,
345
+ },
346
+ },
324
347
  };
325
348
  this._calculateCachedStats(annotation, renderingEngine, enabledElement);
326
349
  }
@@ -345,8 +368,10 @@ class CobbAngleTool extends AnnotationTool {
345
368
  lineWidth,
346
369
  });
347
370
  }
348
- let lineUID = '1';
349
- drawLineSvg(svgDrawingHelper, annotationUID, lineUID, canvasCoordinates[0], canvasCoordinates[1], {
371
+ const firstLine = [canvasCoordinates[0], canvasCoordinates[1]];
372
+ const secondLine = [canvasCoordinates[2], canvasCoordinates[3]];
373
+ let lineUID = 'line1';
374
+ drawLineSvg(svgDrawingHelper, annotationUID, lineUID, firstLine[0], firstLine[1], {
350
375
  color,
351
376
  width: lineWidth,
352
377
  lineDash,
@@ -355,20 +380,32 @@ class CobbAngleTool extends AnnotationTool {
355
380
  if (canvasCoordinates.length < 4) {
356
381
  return renderStatus;
357
382
  }
358
- lineUID = '2';
359
- drawLineSvg(svgDrawingHelper, annotationUID, lineUID, canvasCoordinates[2], canvasCoordinates[3], {
383
+ lineUID = 'line2';
384
+ drawLineSvg(svgDrawingHelper, annotationUID, lineUID, secondLine[0], secondLine[1], {
360
385
  color,
361
386
  width: lineWidth,
362
387
  lineDash,
363
388
  });
364
- lineUID = '3';
365
- const mid1 = midPoint2(canvasCoordinates[0], canvasCoordinates[1]);
366
- const mid2 = midPoint2(canvasCoordinates[2], canvasCoordinates[3]);
389
+ lineUID = 'linkLine';
390
+ const mid1 = midPoint2(firstLine[0], firstLine[1]);
391
+ const mid2 = midPoint2(secondLine[0], secondLine[1]);
367
392
  drawLineSvg(svgDrawingHelper, annotationUID, lineUID, mid1, mid2, {
368
393
  color,
369
394
  lineWidth: '1',
370
395
  lineDash: '1,4',
371
396
  });
397
+ const { arc1Start, arc1End, arc2End, arc2Start } = data.cachedStats[targetId].points.canvas;
398
+ const { arc1Angle, arc2Angle } = data.cachedStats[targetId];
399
+ lineUID = 'arc1';
400
+ drawLineSvg(svgDrawingHelper, annotationUID, lineUID, arc1Start, arc1End, {
401
+ color,
402
+ lineWidth: '1',
403
+ });
404
+ lineUID = 'arc2';
405
+ drawLineSvg(svgDrawingHelper, annotationUID, lineUID, arc2Start, arc2End, {
406
+ color,
407
+ lineWidth: '1',
408
+ });
372
409
  if (!data.cachedStats[targetId]?.angle) {
373
410
  continue;
374
411
  }
@@ -393,7 +430,7 @@ class CobbAngleTool extends AnnotationTool {
393
430
  viewport.canvasToWorld(canvasTextBoxCoords);
394
431
  }
395
432
  const textBoxPosition = viewport.worldToCanvas(data.handles.textBox.worldPosition);
396
- const textBoxUID = '1';
433
+ const textBoxUID = 'cobbAngleText';
397
434
  const boundingBox = drawLinkedTextBoxSvg(svgDrawingHelper, annotationUID, textBoxUID, textLines, textBoxPosition, canvasCoordinates, {}, options);
398
435
  const { x: left, y: top, width, height } = boundingBox;
399
436
  data.handles.textBox.worldBoundingBox = {
@@ -402,10 +439,148 @@ class CobbAngleTool extends AnnotationTool {
402
439
  bottomLeft: viewport.canvasToWorld([left, top + height]),
403
440
  bottomRight: viewport.canvasToWorld([left + width, top + height]),
404
441
  };
442
+ const arc1TextBoxUID = 'arcAngle1';
443
+ const arc1TextLine = [
444
+ `${arc1Angle.toFixed(2)} ${String.fromCharCode(176)}`,
445
+ ];
446
+ const arch1TextPosCanvas = midPoint2(arc1Start, arc1End);
447
+ drawTextBoxSvg(svgDrawingHelper, annotationUID, arc1TextBoxUID, arc1TextLine, arch1TextPosCanvas, {
448
+ ...options,
449
+ padding: 3,
450
+ });
451
+ const arc2TextBoxUID = 'arcAngle2';
452
+ const arc2TextLine = [
453
+ `${arc2Angle.toFixed(2)} ${String.fromCharCode(176)}`,
454
+ ];
455
+ const arch2TextPosCanvas = midPoint2(arc2Start, arc2End);
456
+ drawTextBoxSvg(svgDrawingHelper, annotationUID, arc2TextBoxUID, arc2TextLine, arch2TextPosCanvas, {
457
+ ...options,
458
+ padding: 3,
459
+ });
405
460
  }
406
461
  return renderStatus;
407
462
  };
408
- this._throttledCalculateCachedStats = throttle(this._calculateCachedStats, 100, { trailing: true });
463
+ this.distanceToLines = ({ viewport, points, canvasCoords, proximity }) => {
464
+ const [point1, point2, point3, point4] = points;
465
+ const canvasPoint1 = viewport.worldToCanvas(point1);
466
+ const canvasPoint2 = viewport.worldToCanvas(point2);
467
+ const canvasPoint3 = viewport.worldToCanvas(point3);
468
+ const canvasPoint4 = viewport.worldToCanvas(point4);
469
+ const line1 = {
470
+ start: {
471
+ x: canvasPoint1[0],
472
+ y: canvasPoint1[1],
473
+ },
474
+ end: {
475
+ x: canvasPoint2[0],
476
+ y: canvasPoint2[1],
477
+ },
478
+ };
479
+ const line2 = {
480
+ start: {
481
+ x: canvasPoint3[0],
482
+ y: canvasPoint3[1],
483
+ },
484
+ end: {
485
+ x: canvasPoint4[0],
486
+ y: canvasPoint4[1],
487
+ },
488
+ };
489
+ const distanceToPoint = lineSegment.distanceToPoint([line1.start.x, line1.start.y], [line1.end.x, line1.end.y], [canvasCoords[0], canvasCoords[1]]);
490
+ const distanceToPoint2 = lineSegment.distanceToPoint([line2.start.x, line2.start.y], [line2.end.x, line2.end.y], [canvasCoords[0], canvasCoords[1]]);
491
+ let isNearFirstLine = false;
492
+ let isNearSecondLine = false;
493
+ if (distanceToPoint <= proximity) {
494
+ isNearFirstLine = true;
495
+ }
496
+ else if (distanceToPoint2 <= proximity) {
497
+ isNearSecondLine = true;
498
+ }
499
+ return {
500
+ distanceToPoint,
501
+ distanceToPoint2,
502
+ isNearFirstLine,
503
+ isNearSecondLine,
504
+ };
505
+ };
506
+ this.getArcsStartEndPoints = ({ firstLine, secondLine, mid1, mid2, }) => {
507
+ const linkLine = [mid1, mid2];
508
+ const arc1Angle = angleBetweenLines(firstLine, linkLine);
509
+ const arc2Angle = angleBetweenLines(secondLine, linkLine);
510
+ const arc1Side = arc1Angle > 90 ? 1 : 0;
511
+ const arc2Side = arc2Angle > 90 ? 0 : 1;
512
+ const midLinkLine = midPoint2(linkLine[0], linkLine[1]);
513
+ const linkLineLength = Math.sqrt((linkLine[1][0] - linkLine[0][0]) ** 2 +
514
+ (linkLine[1][1] - linkLine[0][1]) ** 2);
515
+ const ratio = 0.1;
516
+ const midFirstLine = midPoint2(firstLine[0], firstLine[1]);
517
+ const midSecondLine = midPoint2(secondLine[0], secondLine[1]);
518
+ const directionVectorStartArc1 = [
519
+ firstLine[arc1Side][0] - midFirstLine[0],
520
+ firstLine[arc1Side][1] - midFirstLine[1],
521
+ ];
522
+ const magnitudeStartArc1 = Math.sqrt(directionVectorStartArc1[0] ** 2 + directionVectorStartArc1[1] ** 2);
523
+ const normalizedDirectionStartArc1 = [
524
+ directionVectorStartArc1[0] / magnitudeStartArc1,
525
+ directionVectorStartArc1[1] / magnitudeStartArc1,
526
+ ];
527
+ const arc1Start = [
528
+ midFirstLine[0] +
529
+ normalizedDirectionStartArc1[0] * linkLineLength * ratio,
530
+ midFirstLine[1] +
531
+ normalizedDirectionStartArc1[1] * linkLineLength * ratio,
532
+ ];
533
+ const directionVectorEndArc1 = [
534
+ midLinkLine[0] - mid1[0],
535
+ midLinkLine[1] - mid1[1],
536
+ ];
537
+ const magnitudeEndArc1 = Math.sqrt(directionVectorEndArc1[0] ** 2 + directionVectorEndArc1[1] ** 2);
538
+ const normalizedDirectionEndArc1 = [
539
+ directionVectorEndArc1[0] / magnitudeEndArc1,
540
+ directionVectorEndArc1[1] / magnitudeEndArc1,
541
+ ];
542
+ const arc1End = [
543
+ mid1[0] + normalizedDirectionEndArc1[0] * linkLineLength * ratio,
544
+ mid1[1] + normalizedDirectionEndArc1[1] * linkLineLength * ratio,
545
+ ];
546
+ const directionVectorStartArc2 = [
547
+ secondLine[arc2Side][0] - midSecondLine[0],
548
+ secondLine[arc2Side][1] - midSecondLine[1],
549
+ ];
550
+ const magnitudeStartArc2 = Math.sqrt(directionVectorStartArc2[0] ** 2 + directionVectorStartArc2[1] ** 2);
551
+ const normalizedDirectionStartArc2 = [
552
+ directionVectorStartArc2[0] / magnitudeStartArc2,
553
+ directionVectorStartArc2[1] / magnitudeStartArc2,
554
+ ];
555
+ const arc2Start = [
556
+ midSecondLine[0] +
557
+ normalizedDirectionStartArc2[0] * linkLineLength * ratio,
558
+ midSecondLine[1] +
559
+ normalizedDirectionStartArc2[1] * linkLineLength * ratio,
560
+ ];
561
+ const directionVectorEndArc2 = [
562
+ midLinkLine[0] - mid2[0],
563
+ midLinkLine[1] - mid2[1],
564
+ ];
565
+ const magnitudeEndArc2 = Math.sqrt(directionVectorEndArc2[0] ** 2 + directionVectorEndArc2[1] ** 2);
566
+ const normalizedDirectionEndArc2 = [
567
+ directionVectorEndArc2[0] / magnitudeEndArc2,
568
+ directionVectorEndArc2[1] / magnitudeEndArc2,
569
+ ];
570
+ const arc2End = [
571
+ mid2[0] + normalizedDirectionEndArc2[0] * linkLineLength * ratio,
572
+ mid2[1] + normalizedDirectionEndArc2[1] * linkLineLength * ratio,
573
+ ];
574
+ return {
575
+ arc1Start,
576
+ arc1End,
577
+ arc2Start,
578
+ arc2End,
579
+ arc1Angle: arc1Angle > 90 ? 180 - arc1Angle : arc1Angle,
580
+ arc2Angle: arc2Angle > 90 ? 180 - arc2Angle : arc2Angle,
581
+ };
582
+ };
583
+ this._throttledCalculateCachedStats = throttle(this._calculateCachedStats, 25, { trailing: true });
409
584
  }
410
585
  handleSelectedCallback(evt, annotation, handle, interactionType = 'mouse') {
411
586
  const eventDetail = evt.detail;
@@ -455,13 +630,40 @@ class CobbAngleTool extends AnnotationTool {
455
630
  }
456
631
  }
457
632
  }
633
+ const { viewport } = enabledElement;
634
+ const canvasPoints = data.handles.points.map((p) => viewport.worldToCanvas(p));
635
+ const firstLine = [canvasPoints[0], canvasPoints[1]];
636
+ const secondLine = [canvasPoints[2], canvasPoints[3]];
637
+ const mid1 = midPoint2(firstLine[0], firstLine[1]);
638
+ const mid2 = midPoint2(secondLine[0], secondLine[1]);
639
+ const { arc1Start, arc1End, arc2End, arc2Start, arc1Angle, arc2Angle } = this.getArcsStartEndPoints({
640
+ firstLine,
641
+ secondLine,
642
+ mid1,
643
+ mid2,
644
+ });
458
645
  const { cachedStats } = data;
459
646
  const targetIds = Object.keys(cachedStats);
460
647
  for (let i = 0; i < targetIds.length; i++) {
461
648
  const targetId = targetIds[i];
462
- const angle = angleBetweenLines(seg1, seg2);
463
649
  cachedStats[targetId] = {
464
- angle,
650
+ angle: angleBetweenLines(seg1, seg2),
651
+ arc1Angle,
652
+ arc2Angle,
653
+ points: {
654
+ canvas: {
655
+ arc1Start,
656
+ arc1End,
657
+ arc2End,
658
+ arc2Start,
659
+ },
660
+ world: {
661
+ arc1Start: viewport.canvasToWorld(arc1Start),
662
+ arc1End: viewport.canvasToWorld(arc1End),
663
+ arc2End: viewport.canvasToWorld(arc2End),
664
+ arc2Start: viewport.canvasToWorld(arc2Start),
665
+ },
666
+ },
465
667
  };
466
668
  }
467
669
  annotation.invalidated = false;
@@ -1 +1 @@
1
- {"version":3,"file":"CobbAngleTool.js","sourceRoot":"","sources":["../../../../src/tools/annotation/CobbAngleTool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CobbAngleTool.js","sourceRoot":"","sources":["../../../../src/tools/annotation/CobbAngleTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,QAAQ,MAAM,0BAA0B,CAAC;AAChD,OAAO,EACL,aAAa,EACb,cAAc,EACd,gBAAgB,GACjB,MAAM,kDAAkD,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oDAAoD,CAAC;AACxF,OAAO,KAAK,WAAW,MAAM,2BAA2B,CAAC;AACzD,OAAO,iBAAiB,MAAM,8CAA8C,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAE1D,OAAO,EACL,WAAW,IAAI,cAAc,EAC7B,QAAQ,IAAI,WAAW,EACvB,iBAAiB,IAAI,oBAAoB,EACzC,WAAW,IAAI,cAAc,GAC9B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,8BAA8B,EAAE,MAAM,iCAAiC,CAAC;AACjF,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,qCAAqC,MAAM,uDAAuD,CAAC;AAM1G,OAAO,EACL,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,6BAA6B,CAAC;AAcrC,MAAM,aAAc,SAAQ,cAAc;IAoBxC,YACE,YAA6B,EAAE,EAC/B,mBAA8B;QAC5B,yBAAyB,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;QAC7C,aAAa,EAAE;YACb,MAAM,EAAE,IAAI;YACZ,yBAAyB,EAAE,KAAK;YAChC,YAAY,EAAE,mBAAmB;SAClC;KACF;QAED,KAAK,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;QAiBrC,qBAAgB,GAAG,CACjB,GAA0C,EACrB,EAAE;YACvB,IAAI,IAAI,CAAC,2BAA2B,EAAE;gBACpC,OAAO;aACR;YAED,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC;YACxC,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC;YAC/B,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;YAC/C,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC;YACrC,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAClD,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,cAAc,CAAC;YAErD,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YAEtB,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;YACpC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;YAE3C,MAAM,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,CACjD,QAAQ,EACR,QAAQ,EACR,eAAe,EACf,MAAM,CACP,CAAC;YAEF,MAAM,mBAAmB,GAAG,QAAQ,CAAC,sBAAsB,EAAE,CAAC;YAE9D,MAAM,UAAU,GAAG;gBACjB,WAAW,EAAE,IAAI;gBACjB,WAAW,EAAE,IAAI;gBACjB,QAAQ,EAAE;oBACR,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE;oBAC5B,eAAe,EAAgB,CAAC,GAAG,eAAe,CAAC;oBACnD,MAAM,EAAgB,CAAC,GAAG,MAAM,CAAC;oBACjC,mBAAmB;oBACnB,iBAAiB;iBAClB;gBACD,IAAI,EAAE;oBACJ,OAAO,EAAE;wBACP,MAAM,EAAE,CAAe,CAAC,GAAG,QAAQ,CAAC,EAAgB,CAAC,GAAG,QAAQ,CAAC,CAAC;wBAClE,iBAAiB,EAAE,IAAI;wBACvB,OAAO,EAAE;4BACP,QAAQ,EAAE,KAAK;4BACf,aAAa,EAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;4BACtC,gBAAgB,EAAE;gCAChB,OAAO,EAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gCAChC,QAAQ,EAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gCACjC,UAAU,EAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gCACnC,WAAW,EAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;6BACrC;yBACF;qBACF;oBACD,KAAK,EAAE,EAAE;oBACT,WAAW,EAAE,EAAE;iBAChB;aACF,CAAC;YAEF,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAEnC,MAAM,mBAAmB,GAAG,8BAA8B,CACxD,OAAO,EACP,IAAI,CAAC,WAAW,EAAE,CACnB,CAAC;YAEF,IAAI,CAAC,QAAQ,GAAG;gBACd,UAAU;gBACV,mBAAmB;gBACnB,WAAW,EAAE,CAAC;gBACd,aAAa,EAAE,KAAK;gBACpB,aAAa,EAAE,IAAI;gBACnB,QAAQ,EAAE,KAAK;aAChB,CAAC;YACF,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAE5B,GAAG,CAAC,cAAc,EAAE,CAAC;YAErB,qCAAqC,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;YAE5E,OAAO,UAAU,CAAC;QACpB,CAAC,CAAC;QAaF,oBAAe,GAAG,CAChB,OAAuB,EACvB,UAA+B,EAC/B,YAA0B,EAC1B,SAAiB,EACR,EAAE;YACX,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAClD,MAAM,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC;YACpC,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC;YAE5B,MAAM,EAAE,eAAe,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC;gBACjE,QAAQ;gBACR,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;gBAC3B,YAAY;gBACZ,SAAS;aACV,CAAC,CAAC;YAEH,IAAI,eAAe,IAAI,SAAS,IAAI,gBAAgB,IAAI,SAAS,EAAE;gBACjE,OAAO,IAAI,CAAC;aACb;YAED,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;QAEF,yBAAoB,GAAG,CACrB,GAAkC,EAClC,UAA+B,EAC/B,eAAiC,EACjC,YAA0B,EAC1B,SAAS,GAAG,CAAC,EACP,EAAE;YACR,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC;YAC/B,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;YAEhC,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC;YAE9B,MAAM,mBAAmB,GAAG,8BAA8B,CACxD,OAAO,EACP,IAAI,CAAC,WAAW,EAAE,CACnB,CAAC;YAEF,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAClD,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC;YAErD,MAAM,EAAE,eAAe,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC;gBACjE,QAAQ;gBACR,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM;gBACtC,YAAY;gBACZ,SAAS;aACV,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,GAAG;gBACd,UAAU;gBACV,mBAAmB;gBACnB,aAAa,EAAE,KAAK;gBACpB,eAAe;gBACf,gBAAgB;aACjB,CAAC;YAEF,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAE9B,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAE3B,qCAAqC,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;YAE5E,GAAG,CAAC,cAAc,EAAE,CAAC;QACvB,CAAC,CAAC;QA+CF,qBAAgB,GAAG,CACjB,GAAiE,EACjE,EAAE;YACF,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC;YAC/B,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;YAEhC,MAAM,EAAE,UAAU,EAAE,mBAAmB,EAAE,aAAa,EAAE,QAAQ,EAAE,GAChE,IAAI,CAAC,QAAQ,CAAC;YAEhB,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC;YAC5B,IAAI,aAAa,IAAI,CAAC,QAAQ,EAAE;gBAG9B,OAAO;aACR;YAID,IAAI,IAAI,CAAC,2BAA2B,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;gBACtE,kBAAkB,CAAC,OAAO,CAAC,CAAC;gBAG5B,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;gBACvD,OAAO;aACR;YAED,IAAI,CAAC,2BAA2B,GAAG,KAAK,CAAC;YACzC,IAAI,CAAC,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAEtC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAChC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAC9B,kBAAkB,CAAC,OAAO,CAAC,CAAC;YAE5B,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAClD,MAAM,EAAE,eAAe,EAAE,GAAG,cAAc,CAAC;YAE3C,IACE,IAAI,CAAC,oBAAoB;gBACzB,IAAI,CAAC,aAAa,CAAC,yBAAyB,EAC5C;gBACA,gBAAgB,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;aAC5C;YAED,qCAAqC,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;YAE5E,IAAI,aAAa,EAAE;gBACjB,MAAM,SAAS,GAAG,MAAM,CAAC,oBAAoB,CAAC;gBAE9C,MAAM,WAAW,GAAmC;oBAClD,UAAU;iBACX,CAAC;gBAEF,YAAY,CAAC,WAAW,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;aACnD;YAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACzB,CAAC,CAAC;QAQF,uBAAkB,GAAG,CACnB,GAAiE,EACjE,EAAE;YACF,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;YAClD,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC;YAC/B,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,WAAW,CAAC;YAC/C,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC;YACrC,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC;YAE5B,IAAI,WAAW,KAAK,CAAC,EAAE;gBAGrB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;gBAClC,IAAI,CAAC,QAAQ,CAAC,QAAQ;oBACpB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBACvD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1D,OAAO;aACR;YAED,IAAI,WAAW,KAAK,CAAC,EAAE;gBAErB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;gBAClC,IAAI,CAAC,QAAQ,CAAC,QAAQ;oBACpB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBACvD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAE1D,IAAI,CAAC,2BAA2B,GAAG,KAAK,CAAC;gBACzC,OAAO;aACR;YAID,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAC;YAC/B,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAG3B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;YAC3D,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QAC7D,CAAC,CAAC;QAEF,uBAAkB,GAAG,CACnB,GAAkE,EAClE,EAAE;YACF,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC;YAC/B,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;YAEhC,MAAM,EACJ,UAAU,EACV,mBAAmB,EACnB,WAAW,EACX,aAAa,EACb,eAAe,EACf,gBAAgB,GACjB,GAAG,IAAI,CAAC,QAAQ,CAAC;YAClB,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC;YAE5B,IAAI,aAAa,EAAE;gBAEjB,MAAM,EAAE,WAAW,EAAE,GAAG,WAA8C,CAAC;gBACvE,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,CAAC;gBAExC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;gBACjC,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;gBAElC,aAAa,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC;gBACrC,aAAa,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC;gBACrC,aAAa,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC;gBAErC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;aACzB;iBAAM,IACL,WAAW,KAAK,SAAS;gBACzB,CAAC,eAAe,IAAI,gBAAgB,CAAC,EACrC;gBAEA,MAAM,EAAE,WAAW,EAAE,GAAG,WAA8C,CAAC;gBACvE,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,CAAC;gBACxC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;gBAGnC,IAAI,eAAe,EAAE;oBACnB,MAAM,eAAe,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC/C,eAAe,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;wBAChC,KAAK,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC;wBAC7B,KAAK,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC;wBAC7B,KAAK,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC;oBAC/B,CAAC,CAAC,CAAC;iBACJ;qBAAM,IAAI,gBAAgB,EAAE;oBAC3B,MAAM,gBAAgB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;oBAChD,gBAAgB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;wBACjC,KAAK,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC;wBAC7B,KAAK,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC;wBAC7B,KAAK,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC;oBAC/B,CAAC,CAAC,CAAC;iBACJ;gBAED,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC;aAC/B;iBAAM;gBAEL,MAAM,EAAE,aAAa,EAAE,GAAG,WAAW,CAAC;gBACtC,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC;gBAErC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;gBACjD,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC;aAC/B;YAED,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;YAE9B,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAClD,MAAM,EAAE,eAAe,EAAE,GAAG,cAAc,CAAC;YAE3C,qCAAqC,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;QAC9E,CAAC,CAAC;QAEF,WAAM,GAAG,CAAC,OAAuB,EAAE,EAAE;YAEnC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;gBACnB,OAAO;aACR;YAED,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAC9B,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAChC,kBAAkB,CAAC,OAAO,CAAC,CAAC;YAE5B,MAAM,EAAE,UAAU,EAAE,mBAAmB,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;YACzE,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC;YAE5B,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;gBAElC,gBAAgB,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;aAC5C;YAED,UAAU,CAAC,WAAW,GAAG,KAAK,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAEtC,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAClD,MAAM,EAAE,eAAe,EAAE,GAAG,cAAc,CAAC;YAE3C,qCAAqC,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;YAE5E,IAAI,aAAa,EAAE;gBACjB,MAAM,SAAS,GAAG,MAAM,CAAC,oBAAoB,CAAC;gBAE9C,MAAM,WAAW,GAAmC;oBAClD,UAAU;iBACX,CAAC;gBAEF,YAAY,CAAC,WAAW,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;aACnD;YAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,2BAA2B,GAAG,KAAK,CAAC;YACzC,OAAO,UAAU,CAAC,aAAa,CAAC;QAClC,CAAC,CAAC;QAEF,oBAAe,GAAG,CAAC,OAAuB,EAAE,EAAE;YAC5C,KAAK,CAAC,qBAAqB,GAAG,IAAI,CAAC;YAEnC,OAAO,CAAC,gBAAgB,CACtB,MAAM,CAAC,QAAQ,EACf,IAAI,CAAC,gBAAiC,CACvC,CAAC;YACF,OAAO,CAAC,gBAAgB,CACtB,MAAM,CAAC,UAAU,EACjB,IAAI,CAAC,kBAAmC,CACzC,CAAC;YACF,OAAO,CAAC,gBAAgB,CACtB,MAAM,CAAC,WAAW,EAClB,IAAI,CAAC,gBAAiC,CACvC,CAAC;QAIJ,CAAC,CAAC;QAEF,sBAAiB,GAAG,CAAC,OAAuB,EAAE,EAAE;YAC9C,KAAK,CAAC,qBAAqB,GAAG,KAAK,CAAC;YAEpC,OAAO,CAAC,mBAAmB,CACzB,MAAM,CAAC,QAAQ,EACf,IAAI,CAAC,gBAAiC,CACvC,CAAC;YACF,OAAO,CAAC,mBAAmB,CACzB,MAAM,CAAC,UAAU,EACjB,IAAI,CAAC,kBAAmC,CACzC,CAAC;YACF,OAAO,CAAC,mBAAmB,CACzB,MAAM,CAAC,WAAW,EAClB,IAAI,CAAC,gBAAiC,CACvC,CAAC;QAIJ,CAAC,CAAC;QAEF,kBAAa,GAAG,CAAC,OAAuB,EAAE,EAAE;YAC1C,KAAK,CAAC,qBAAqB,GAAG,IAAI,CAAC;YAEnC,OAAO,CAAC,gBAAgB,CACtB,MAAM,CAAC,QAAQ,EACf,IAAI,CAAC,gBAAiC,CACvC,CAAC;YACF,OAAO,CAAC,gBAAgB,CACtB,MAAM,CAAC,UAAU,EACjB,IAAI,CAAC,kBAAmC,CACzC,CAAC;YACF,OAAO,CAAC,gBAAgB,CACtB,MAAM,CAAC,UAAU,EACjB,IAAI,CAAC,kBAAmC,CACzC,CAAC;YACF,OAAO,CAAC,gBAAgB,CACtB,MAAM,CAAC,WAAW,EAClB,IAAI,CAAC,gBAAiC,CACvC,CAAC;YACF,OAAO,CAAC,gBAAgB,CACtB,MAAM,CAAC,UAAU,EACjB,IAAI,CAAC,kBAAmC,CACzC,CAAC;QAIJ,CAAC,CAAC;QAEF,oBAAe,GAAG,CAAC,OAAuB,EAAE,EAAE;YAC5C,KAAK,CAAC,qBAAqB,GAAG,KAAK,CAAC;YAEpC,OAAO,CAAC,mBAAmB,CACzB,MAAM,CAAC,QAAQ,EACf,IAAI,CAAC,gBAAiC,CACvC,CAAC;YACF,OAAO,CAAC,mBAAmB,CACzB,MAAM,CAAC,UAAU,EACjB,IAAI,CAAC,kBAAmC,CACzC,CAAC;YACF,OAAO,CAAC,mBAAmB,CACzB,MAAM,CAAC,UAAU,EACjB,IAAI,CAAC,kBAAmC,CACzC,CAAC;YACF,OAAO,CAAC,mBAAmB,CACzB,MAAM,CAAC,WAAW,EAClB,IAAI,CAAC,gBAAiC,CACvC,CAAC;YACF,OAAO,CAAC,mBAAmB,CACzB,MAAM,CAAC,UAAU,EACjB,IAAI,CAAC,kBAAmC,CACzC,CAAC;QAIJ,CAAC,CAAC;QAUF,qBAAgB,GAAG,CACjB,cAAqC,EACrC,gBAAkC,EACzB,EAAE;YACX,IAAI,YAAY,GAAG,KAAK,CAAC;YAEzB,MAAM,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC;YACpC,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC;YAE7B,IAAI,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,OAAO,CAAC,CAAC;YAG9D,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE;gBACxB,OAAO,YAAY,CAAC;aACrB;YAED,WAAW,GAAG,IAAI,CAAC,uCAAuC,CACxD,OAAO,EACP,WAAW,CACZ,CAAC;YAEF,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE;gBACxB,OAAO,YAAY,CAAC;aACrB;YAED,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAC5C,MAAM,eAAe,GAAG,QAAQ,CAAC,kBAAkB,EAAE,CAAC;YAEtD,MAAM,cAAc,GAAmB;gBACrC,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE;gBAC5B,UAAU,EAAE,cAAc,CAAC,QAAQ,CAAC,EAAE;aACvC,CAAC;YAGF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC3C,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAwB,CAAC;gBACzD,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC;gBAC3C,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;gBAEnD,cAAc,CAAC,aAAa,GAAG,aAAa,CAAC;gBAE7C,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC;gBACzE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC;gBACvE,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC;gBAEjE,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;gBAGvE,IACE,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;oBAC3B,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,KAAK,IAAI,IAAI,EACxC;oBACA,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG;wBAC3B,KAAK,EAAE,IAAI;wBACX,SAAS,EAAE,IAAI;wBACf,SAAS,EAAE,IAAI;wBACf,MAAM,EAAE;4BACN,KAAK,EAAE;gCACL,SAAS,EAAE,IAAI;gCACf,OAAO,EAAE,IAAI;gCACb,SAAS,EAAE,IAAI;gCACf,OAAO,EAAE,IAAI;gCACb,SAAS,EAAE,IAAI;gCACf,SAAS,EAAE,IAAI;6BAChB;4BACD,MAAM,EAAE;gCACN,SAAS,EAAE,IAAI;gCACf,OAAO,EAAE,IAAI;gCACb,SAAS,EAAE,IAAI;gCACf,OAAO,EAAE,IAAI;gCACb,SAAS,EAAE,IAAI;gCACf,SAAS,EAAE,IAAI;6BAChB;yBACF;qBACF,CAAC;oBAEF,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;iBACzE;qBAAM,IAAI,UAAU,CAAC,WAAW,EAAE;oBACjC,IAAI,CAAC,8BAA8B,CACjC,UAAU,EACV,eAAe,EACf,cAAc,CACf,CAAC;iBACH;gBAED,IAAI,wBAAwB,CAAC;gBAE7B,IACE,CAAC,kBAAkB,CAAC,UAAU,CAAC;oBAC/B,CAAC,IAAI,CAAC,QAAQ;oBACd,iBAAiB,KAAK,IAAI,EAC1B;oBAEA,wBAAwB,GAAG,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC,CAAC;iBACnE;gBAGD,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,EAAE;oBAClC,OAAO,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;oBACpD,OAAO,YAAY,CAAC;iBACrB;gBAED,IAAI,wBAAwB,EAAE;oBAC5B,MAAM,cAAc,GAAG,GAAG,CAAC;oBAE3B,cAAc,CACZ,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB;wBACE,KAAK;wBACL,QAAQ;wBACR,SAAS;qBACV,CACF,CAAC;iBACH;gBAED,MAAM,SAAS,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAG5D,CAAC;gBACF,MAAM,UAAU,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAG7D,CAAC;gBAEF,IAAI,OAAO,GAAG,OAAO,CAAC;gBACtB,WAAW,CACT,gBAAgB,EAChB,aAAa,EACb,OAAO,EACP,SAAS,CAAC,CAAC,CAAC,EACZ,SAAS,CAAC,CAAC,CAAC,EACZ;oBACE,KAAK;oBACL,KAAK,EAAE,SAAS;oBAChB,QAAQ;iBACT,CACF,CAAC;gBAEF,YAAY,GAAG,IAAI,CAAC;gBAGpB,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE;oBAChC,OAAO,YAAY,CAAC;iBACrB;gBAED,OAAO,GAAG,OAAO,CAAC;gBAElB,WAAW,CACT,gBAAgB,EAChB,aAAa,EACb,OAAO,EACP,UAAU,CAAC,CAAC,CAAC,EACb,UAAU,CAAC,CAAC,CAAC,EACb;oBACE,KAAK;oBACL,KAAK,EAAE,SAAS;oBAChB,QAAQ;iBACT,CACF,CAAC;gBAEF,OAAO,GAAG,UAAU,CAAC;gBACrB,MAAM,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnD,MAAM,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;gBACrD,WAAW,CAAC,gBAAgB,EAAE,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;oBAChE,KAAK;oBACL,SAAS,EAAE,GAAG;oBACd,QAAQ,EAAE,KAAK;iBAChB,CAAC,CAAC;gBAIH,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,GAC9C,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;gBAC3C,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;gBAE5D,OAAO,GAAG,MAAM,CAAC;gBAEjB,WAAW,CACT,gBAAgB,EAChB,aAAa,EACb,OAAO,EACP,SAAyB,EACzB,OAAuB,EACvB;oBACE,KAAK;oBACL,SAAS,EAAE,GAAG;iBACf,CACF,CAAC;gBAEF,OAAO,GAAG,MAAM,CAAC;gBAEjB,WAAW,CACT,gBAAgB,EAChB,aAAa,EACb,OAAO,EACP,SAAyB,EACzB,OAAuB,EACvB;oBACE,KAAK;oBACL,SAAS,EAAE,GAAG;iBACf,CACF,CAAC;gBAEF,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE;oBACtC,SAAS;iBACV;gBAED,MAAM,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;gBACvE,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;oBACvB,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG;wBACrB,QAAQ,EAAE,KAAK;wBACf,aAAa,EAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;wBACtC,gBAAgB,EAAE;4BAChB,OAAO,EAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;4BAChC,QAAQ,EAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;4BACjC,UAAU,EAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;4BACnC,WAAW,EAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;yBACrC;qBACF,CAAC;oBACF,SAAS;iBACV;gBAED,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAElE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE;oBAClC,MAAM,mBAAmB,GAAG,sBAAsB,CAAC,iBAAiB,CAAC,CAAC;oBAEtE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa;wBAChC,QAAQ,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;iBAC/C;gBAED,MAAM,eAAe,GAAG,QAAQ,CAAC,aAAa,CAC5C,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CACnC,CAAC;gBAEF,MAAM,UAAU,GAAG,eAAe,CAAC;gBACnC,MAAM,WAAW,GAAG,oBAAoB,CACtC,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,SAAS,EACT,eAAe,EACf,iBAAiB,EACjB,EAAE,EACF,OAAO,CACR,CAAC;gBAEF,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC;gBAEvD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAgB,GAAG;oBACtC,OAAO,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;oBAC5C,QAAQ,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC,IAAI,GAAG,KAAK,EAAE,GAAG,CAAC,CAAC;oBACrD,UAAU,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,CAAC,CAAC;oBACxD,WAAW,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC,IAAI,GAAG,KAAK,EAAE,GAAG,GAAG,MAAM,CAAC,CAAC;iBAClE,CAAC;gBAEF,MAAM,cAAc,GAAG,WAAW,CAAC;gBAEnC,MAAM,YAAY,GAAG;oBACnB,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE;iBACtD,CAAC;gBAEF,MAAM,kBAAkB,GAAG,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBAEzD,cAAc,CACZ,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,YAAY,EACZ,kBAAkB,EAClB;oBACE,GAAG,OAAO;oBACV,OAAO,EAAE,CAAC;iBACX,CACF,CAAC;gBAEF,MAAM,cAAc,GAAG,WAAW,CAAC;gBAEnC,MAAM,YAAY,GAAG;oBACnB,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE;iBACtD,CAAC;gBAEF,MAAM,kBAAkB,GAAG,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBAEzD,cAAc,CACZ,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,YAAY,EACZ,kBAAkB,EAClB;oBACE,GAAG,OAAO;oBACV,OAAO,EAAE,CAAC;iBACX,CACF,CAAC;aACH;YAED,OAAO,YAAY,CAAC;QACtB,CAAC,CAAC;QA0GF,oBAAe,GAAG,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,EAAE;YAClE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC;YAChD,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YACpD,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YACpD,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YACpD,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAEpD,MAAM,KAAK,GAAG;gBACZ,KAAK,EAAE;oBACL,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;oBAClB,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;iBACnB;gBACD,GAAG,EAAE;oBACH,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;oBAClB,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;iBACnB;aACF,CAAC;YAEF,MAAM,KAAK,GAAG;gBACZ,KAAK,EAAE;oBACL,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;oBAClB,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;iBACnB;gBACD,GAAG,EAAE;oBACH,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;oBAClB,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;iBACnB;aACF,CAAC;YAEF,MAAM,eAAe,GAAG,WAAW,CAAC,eAAe,CACjD,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAC9B,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAC1B,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CACnC,CAAC;YAEF,MAAM,gBAAgB,GAAG,WAAW,CAAC,eAAe,CAClD,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAC9B,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAC1B,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CACnC,CAAC;YAEF,IAAI,eAAe,GAAG,KAAK,CAAC;YAC5B,IAAI,gBAAgB,GAAG,KAAK,CAAC;YAE7B,IAAI,eAAe,IAAI,SAAS,EAAE;gBAChC,eAAe,GAAG,IAAI,CAAC;aACxB;iBAAM,IAAI,gBAAgB,IAAI,SAAS,EAAE;gBACxC,gBAAgB,GAAG,IAAI,CAAC;aACzB;YACD,OAAO;gBACL,eAAe;gBACf,gBAAgB;gBAChB,eAAe;gBACf,gBAAgB;aACjB,CAAC;QACJ,CAAC,CAAC;QAEF,0BAAqB,GAAG,CAAC,EACvB,SAAS,EACT,UAAU,EACV,IAAI,EACJ,IAAI,GACL,EAOC,EAAE;YACF,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,IAAI,CAAiC,CAAC;YAE9D,MAAM,SAAS,GAAG,iBAAiB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YACzD,MAAM,SAAS,GAAG,iBAAiB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YAE1D,MAAM,QAAQ,GAAG,SAAS,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxC,MAAM,QAAQ,GAAG,SAAS,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAExC,MAAM,WAAW,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAExD,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAC9B,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACpC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CACzC,CAAC;YACF,MAAM,KAAK,GAAG,GAAG,CAAC;YAElB,MAAM,YAAY,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3D,MAAM,aAAa,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YAG9D,MAAM,wBAAwB,GAAG;gBAC/B,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;gBACxC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;aACzC,CAAC;YACF,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAClC,wBAAwB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,wBAAwB,CAAC,CAAC,CAAC,IAAI,CAAC,CACpE,CAAC;YACF,MAAM,4BAA4B,GAAG;gBACnC,wBAAwB,CAAC,CAAC,CAAC,GAAG,kBAAkB;gBAChD,wBAAwB,CAAC,CAAC,CAAC,GAAG,kBAAkB;aACjD,CAAC;YACF,MAAM,SAAS,GAAG;gBAChB,YAAY,CAAC,CAAC,CAAC;oBACb,4BAA4B,CAAC,CAAC,CAAC,GAAG,cAAc,GAAG,KAAK;gBAC1D,YAAY,CAAC,CAAC,CAAC;oBACb,4BAA4B,CAAC,CAAC,CAAC,GAAG,cAAc,GAAG,KAAK;aAC3C,CAAC;YAGlB,MAAM,sBAAsB,GAAG;gBAC7B,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;gBACxB,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;aACzB,CAAC;YACF,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAChC,sBAAsB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,sBAAsB,CAAC,CAAC,CAAC,IAAI,CAAC,CAChE,CAAC;YACF,MAAM,0BAA0B,GAAG;gBACjC,sBAAsB,CAAC,CAAC,CAAC,GAAG,gBAAgB;gBAC5C,sBAAsB,CAAC,CAAC,CAAC,GAAG,gBAAgB;aAC7C,CAAC;YACF,MAAM,OAAO,GAAG;gBACd,IAAI,CAAC,CAAC,CAAC,GAAG,0BAA0B,CAAC,CAAC,CAAC,GAAG,cAAc,GAAG,KAAK;gBAChE,IAAI,CAAC,CAAC,CAAC,GAAG,0BAA0B,CAAC,CAAC,CAAC,GAAG,cAAc,GAAG,KAAK;aACjD,CAAC;YAGlB,MAAM,wBAAwB,GAAG;gBAC/B,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC;gBAC1C,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC;aAC3C,CAAC;YACF,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAClC,wBAAwB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,wBAAwB,CAAC,CAAC,CAAC,IAAI,CAAC,CACpE,CAAC;YACF,MAAM,4BAA4B,GAAG;gBACnC,wBAAwB,CAAC,CAAC,CAAC,GAAG,kBAAkB;gBAChD,wBAAwB,CAAC,CAAC,CAAC,GAAG,kBAAkB;aACjD,CAAC;YACF,MAAM,SAAS,GAAG;gBAChB,aAAa,CAAC,CAAC,CAAC;oBACd,4BAA4B,CAAC,CAAC,CAAC,GAAG,cAAc,GAAG,KAAK;gBAC1D,aAAa,CAAC,CAAC,CAAC;oBACd,4BAA4B,CAAC,CAAC,CAAC,GAAG,cAAc,GAAG,KAAK;aAC3C,CAAC;YAGlB,MAAM,sBAAsB,GAAG;gBAC7B,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;gBACxB,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;aACzB,CAAC;YACF,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAChC,sBAAsB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,sBAAsB,CAAC,CAAC,CAAC,IAAI,CAAC,CAChE,CAAC;YACF,MAAM,0BAA0B,GAAG;gBACjC,sBAAsB,CAAC,CAAC,CAAC,GAAG,gBAAgB;gBAC5C,sBAAsB,CAAC,CAAC,CAAC,GAAG,gBAAgB;aAC7C,CAAC;YACF,MAAM,OAAO,GAAG;gBACd,IAAI,CAAC,CAAC,CAAC,GAAG,0BAA0B,CAAC,CAAC,CAAC,GAAG,cAAc,GAAG,KAAK;gBAChE,IAAI,CAAC,CAAC,CAAC,GAAG,0BAA0B,CAAC,CAAC,CAAC,GAAG,cAAc,GAAG,KAAK;aACjD,CAAC;YAElB,OAAO;gBACL,SAAS;gBACT,OAAO;gBACP,SAAS;gBACT,OAAO;gBACP,SAAS,EAAE,SAAS,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS;gBACvD,SAAS,EAAE,SAAS,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS;aACxD,CAAC;QACJ,CAAC,CAAC;QApmCA,IAAI,CAAC,8BAA8B,GAAG,QAAQ,CAC5C,IAAI,CAAC,qBAAqB,EAC1B,EAAE,EACF,EAAE,QAAQ,EAAE,IAAI,EAAE,CACnB,CAAC;IACJ,CAAC;IA4KD,sBAAsB,CACpB,GAAkC,EAClC,UAA+B,EAC/B,MAAkB,EAClB,eAAe,GAAG,OAAO;QAEzB,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC;QAC/B,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;QAChC,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC;QAE5B,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC;QAE9B,IAAI,aAAa,GAAG,KAAK,CAAC;QAC1B,IAAI,WAAW,CAAC;QAEhB,IAAK,MAAwB,CAAC,aAAa,EAAE;YAC3C,aAAa,GAAG,IAAI,CAAC;SACtB;aAAM;YACL,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC;SAClE;QAGD,MAAM,mBAAmB,GAAG,8BAA8B,CACxD,OAAO,EACP,IAAI,CAAC,WAAW,EAAE,CACnB,CAAC;QAEF,IAAI,CAAC,QAAQ,GAAG;YACd,UAAU;YACV,mBAAmB;YACnB,WAAW;YACX,aAAa;SACd,CAAC;QACF,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAE9B,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAE3B,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAClD,MAAM,EAAE,eAAe,EAAE,GAAG,cAAc,CAAC;QAE3C,qCAAqC,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;QAE5E,GAAG,CAAC,cAAc,EAAE,CAAC;IACvB,CAAC;IAunBD,qBAAqB,CAAC,UAAU,EAAE,eAAe,EAAE,cAAc;QAC/D,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QAC7B,MAAM,EAAE,UAAU,EAAE,iBAAiB,EAAE,GAAG,cAAc,CAAC;QAGzD,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;YACpC,OAAO;SACR;QAED,MAAM,IAAI,GAAiC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACxD,MAAM,IAAI,GAAiC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACxD,IAAI,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC;QAU/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE;YAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE;gBAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CACxB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EACtB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CACvB,CAAC;gBACF,IAAI,IAAI,GAAG,OAAO,EAAE;oBAClB,OAAO,GAAG,IAAI,CAAC;oBACf,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oBACjC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC3C,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oBACjC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;iBAClD;aACF;SACF;QACD,MAAM,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC;QAEpC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACjD,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAC1B,CAAC;QAEF,MAAM,SAAS,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAGlD,CAAC;QACF,MAAM,UAAU,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAGnD,CAAC;QAEF,MAAM,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QAErD,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,GACpE,IAAI,CAAC,qBAAqB,CAAC;YACzB,SAAS;YACT,UAAU;YACV,IAAI;YACJ,IAAI;SACL,CAAC,CAAC;QAEL,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;QAC7B,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAE3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACzC,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAE9B,WAAW,CAAC,QAAQ,CAAC,GAAG;gBACtB,KAAK,EAAE,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC;gBACpC,SAAS;gBACT,SAAS;gBACT,MAAM,EAAE;oBACN,MAAM,EAAE;wBACN,SAAS;wBACT,OAAO;wBACP,OAAO;wBACP,SAAS;qBACV;oBACD,KAAK,EAAE;wBACL,SAAS,EAAE,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC;wBAC5C,OAAO,EAAE,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC;wBACxC,OAAO,EAAE,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC;wBACxC,SAAS,EAAE,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC;qBAC7C;iBACF;aACF,CAAC;SACH;QAED,UAAU,CAAC,WAAW,GAAG,KAAK,CAAC;QAG/B,MAAM,SAAS,GAAG,MAAM,CAAC,mBAAmB,CAAC;QAE7C,MAAM,WAAW,GAAkC;YACjD,UAAU;YACV,UAAU;YACV,iBAAiB;SAClB,CAAC;QACF,YAAY,CAAC,WAAW,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QAElD,OAAO,WAAW,CAAC;IACrB,CAAC;CA4KF;AAED,SAAS,mBAAmB,CAAC,IAAI,EAAE,QAAQ;IACzC,MAAM,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACrD,MAAM,EAAE,KAAK,EAAE,GAAG,iBAAiB,CAAC;IAEpC,IAAI,KAAK,KAAK,SAAS,EAAE;QACvB,OAAO;KACR;IAED,MAAM,SAAS,GAAG,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEtE,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,aAAa,CAAC,QAAQ,GAAG,WAAW,CAAC;AACrC,eAAe,aAAa,CAAC"}
@@ -8,7 +8,7 @@ declare abstract class AnnotationTool extends AnnotationDisplayTool {
8
8
  abstract addNewAnnotation(evt: EventTypes.InteractionEventType, interactionType: InteractionTypes): Annotation;
9
9
  abstract cancel(element: HTMLDivElement): any;
10
10
  abstract handleSelectedCallback(evt: EventTypes.InteractionEventType, annotation: Annotation, handle: ToolHandle, interactionType: InteractionTypes): void;
11
- abstract toolSelectedCallback(evt: EventTypes.InteractionEventType, annotation: Annotation, interactionType: InteractionTypes): void;
11
+ abstract toolSelectedCallback(evt: EventTypes.InteractionEventType, annotation: Annotation, interactionType: InteractionTypes, canvasCoords?: Types.Point2): void;
12
12
  abstract isPointNearTool(element: HTMLDivElement, annotation: Annotation, canvasCoords: Types.Point2, proximity: number, interactionType: string): boolean;
13
13
  mouseMoveCallback: (evt: EventTypes.MouseMoveEventType, filteredAnnotations?: Annotations) => boolean;
14
14
  getHandleNearImagePoint(element: HTMLDivElement, annotation: Annotation, canvasCoords: Types.Point2, proximity: number): ToolHandle | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"AnnotationTool.js","sourceRoot":"","sources":["../../../../src/tools/base/AnnotationTool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AnnotationTool.js","sourceRoot":"","sources":["../../../../src/tools/base/AnnotationTool.ts"],"names":[],"mappings":"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"}
@@ -284,6 +284,50 @@ export interface AngleAnnotation extends Annotation {
284
284
  };
285
285
  };
286
286
  }
287
+ export interface CobbAngleAnnotation extends Annotation {
288
+ data: {
289
+ handles: {
290
+ points: Types.Point3[];
291
+ activeHandleIndex: number | null;
292
+ textBox: {
293
+ hasMoved: boolean;
294
+ worldPosition: Types.Point3;
295
+ worldBoundingBox: {
296
+ topLeft: Types.Point3;
297
+ topRight: Types.Point3;
298
+ bottomLeft: Types.Point3;
299
+ bottomRight: Types.Point3;
300
+ };
301
+ };
302
+ };
303
+ label: string;
304
+ cachedStats: {
305
+ [targetId: string]: {
306
+ angle: number;
307
+ arc1Angle: number;
308
+ arc2Angle: number;
309
+ points: {
310
+ world: {
311
+ arc1Start: Types.Point3;
312
+ arc1End: Types.Point3;
313
+ arc2Start: Types.Point3;
314
+ arc2End: Types.Point3;
315
+ arc1Angle: number;
316
+ arc2Angle: number;
317
+ };
318
+ canvas: {
319
+ arc1Start: Types.Point2;
320
+ arc1End: Types.Point2;
321
+ arc2Start: Types.Point2;
322
+ arc2End: Types.Point2;
323
+ arc1Angle: number;
324
+ arc2Angle: number;
325
+ };
326
+ };
327
+ };
328
+ };
329
+ };
330
+ }
287
331
  export interface ReferenceCursor extends Annotation {
288
332
  data: {
289
333
  handles: {