@cornerstonejs/tools 0.15.0 → 0.15.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/dist/cjs/tools/annotation/PlanarFreehandROITool.d.ts +6 -1
  2. package/dist/cjs/tools/annotation/PlanarFreehandROITool.js +58 -0
  3. package/dist/cjs/tools/annotation/PlanarFreehandROITool.js.map +1 -1
  4. package/dist/cjs/tools/annotation/planarFreehandROITool/closedContourEditLoop.js +13 -0
  5. package/dist/cjs/tools/annotation/planarFreehandROITool/closedContourEditLoop.js.map +1 -1
  6. package/dist/cjs/tools/annotation/planarFreehandROITool/drawLoop.js +26 -9
  7. package/dist/cjs/tools/annotation/planarFreehandROITool/drawLoop.js.map +1 -1
  8. package/dist/cjs/tools/annotation/planarFreehandROITool/editLoopCommon.js +19 -0
  9. package/dist/cjs/tools/annotation/planarFreehandROITool/editLoopCommon.js.map +1 -1
  10. package/dist/cjs/tools/annotation/planarFreehandROITool/findOpenUShapedContourVectorToPeak.d.ts +4 -0
  11. package/dist/cjs/tools/annotation/planarFreehandROITool/findOpenUShapedContourVectorToPeak.js +42 -0
  12. package/dist/cjs/tools/annotation/planarFreehandROITool/findOpenUShapedContourVectorToPeak.js.map +1 -0
  13. package/dist/cjs/tools/annotation/planarFreehandROITool/openContourEditLoop.js +17 -0
  14. package/dist/cjs/tools/annotation/planarFreehandROITool/openContourEditLoop.js.map +1 -1
  15. package/dist/cjs/tools/annotation/planarFreehandROITool/renderMethods.js +43 -1
  16. package/dist/cjs/tools/annotation/planarFreehandROITool/renderMethods.js.map +1 -1
  17. package/dist/cjs/types/ToolSpecificAnnotationTypes.d.ts +2 -0
  18. package/dist/cjs/utilities/math/polyline/getSubPixelSpacingAndXYDirections.js +12 -6
  19. package/dist/cjs/utilities/math/polyline/getSubPixelSpacingAndXYDirections.js.map +1 -1
  20. package/dist/cjs/utilities/planar/filterAnnotationsForDisplay.js +3 -0
  21. package/dist/cjs/utilities/planar/filterAnnotationsForDisplay.js.map +1 -1
  22. package/dist/esm/tools/annotation/PlanarFreehandROITool.d.ts +6 -1
  23. package/dist/esm/tools/annotation/PlanarFreehandROITool.js +59 -1
  24. package/dist/esm/tools/annotation/PlanarFreehandROITool.js.map +1 -1
  25. package/dist/esm/tools/annotation/planarFreehandROITool/closedContourEditLoop.js +13 -0
  26. package/dist/esm/tools/annotation/planarFreehandROITool/closedContourEditLoop.js.map +1 -1
  27. package/dist/esm/tools/annotation/planarFreehandROITool/drawLoop.js +26 -9
  28. package/dist/esm/tools/annotation/planarFreehandROITool/drawLoop.js.map +1 -1
  29. package/dist/esm/tools/annotation/planarFreehandROITool/editLoopCommon.js +19 -0
  30. package/dist/esm/tools/annotation/planarFreehandROITool/editLoopCommon.js.map +1 -1
  31. package/dist/esm/tools/annotation/planarFreehandROITool/findOpenUShapedContourVectorToPeak.d.ts +4 -0
  32. package/dist/esm/tools/annotation/planarFreehandROITool/findOpenUShapedContourVectorToPeak.js +37 -0
  33. package/dist/esm/tools/annotation/planarFreehandROITool/findOpenUShapedContourVectorToPeak.js.map +1 -0
  34. package/dist/esm/tools/annotation/planarFreehandROITool/openContourEditLoop.js +17 -0
  35. package/dist/esm/tools/annotation/planarFreehandROITool/openContourEditLoop.js.map +1 -1
  36. package/dist/esm/tools/annotation/planarFreehandROITool/renderMethods.js +43 -1
  37. package/dist/esm/tools/annotation/planarFreehandROITool/renderMethods.js.map +1 -1
  38. package/dist/esm/types/ToolSpecificAnnotationTypes.d.ts +2 -0
  39. package/dist/esm/utilities/math/polyline/getSubPixelSpacingAndXYDirections.js +12 -6
  40. package/dist/esm/utilities/math/polyline/getSubPixelSpacingAndXYDirections.js.map +1 -1
  41. package/dist/esm/utilities/planar/filterAnnotationsForDisplay.js +3 -0
  42. package/dist/esm/utilities/planar/filterAnnotationsForDisplay.js.map +1 -1
  43. package/dist/umd/index.js +1 -1
  44. package/dist/umd/index.js.map +1 -1
  45. package/package.json +2 -2
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const drawingSvg_1 = require("../../../drawingSvg");
4
4
  const math_1 = require("../../../utilities/math");
5
+ const findOpenUShapedContourVectorToPeak_1 = require("./findOpenUShapedContourVectorToPeak");
5
6
  const { pointsAreWithinCloseContourProximity } = math_1.polyline;
6
7
  function _getRenderingOptions(enabledElement, annotation) {
7
8
  const styleSpecifier = {
@@ -24,12 +25,24 @@ function _getRenderingOptions(enabledElement, annotation) {
24
25
  }
25
26
  function renderContour(enabledElement, svgDrawingHelper, annotation) {
26
27
  if (annotation.data.isOpenContour) {
27
- this.renderOpenContour(enabledElement, svgDrawingHelper, annotation);
28
+ if (annotation.data.isOpenUShapeContour) {
29
+ calculateUShapeContourVectorToPeakIfNotPresent(enabledElement, annotation);
30
+ this.renderOpenUShapedContour(enabledElement, svgDrawingHelper, annotation);
31
+ }
32
+ else {
33
+ this.renderOpenContour(enabledElement, svgDrawingHelper, annotation);
34
+ }
28
35
  }
29
36
  else {
30
37
  this.renderClosedContour(enabledElement, svgDrawingHelper, annotation);
31
38
  }
32
39
  }
40
+ function calculateUShapeContourVectorToPeakIfNotPresent(enabledElement, annotation) {
41
+ if (!annotation.data.openUShapeContourVectorToPeak) {
42
+ annotation.data.openUShapeContourVectorToPeak =
43
+ (0, findOpenUShapedContourVectorToPeak_1.findOpenUShapedContourVectorToPeakOnRender)(enabledElement, annotation);
44
+ }
45
+ }
33
46
  function renderClosedContour(enabledElement, svgDrawingHelper, annotation) {
34
47
  const { viewport } = enabledElement;
35
48
  const options = this._getRenderingOptions(enabledElement, annotation);
@@ -51,6 +64,33 @@ function renderOpenContour(enabledElement, svgDrawingHelper, annotation) {
51
64
  (0, drawingSvg_1.drawHandles)(svgDrawingHelper, annotation.annotationUID, handleGroupUID, [handlePoint], { color: options.color });
52
65
  }
53
66
  }
67
+ function renderOpenUShapedContour(enabledElement, svgDrawingHelper, annotation) {
68
+ const { viewport } = enabledElement;
69
+ const { polyline, openUShapeContourVectorToPeak } = annotation.data;
70
+ this.renderOpenContour(enabledElement, svgDrawingHelper, annotation);
71
+ const firstCanvasPoint = viewport.worldToCanvas(polyline[0]);
72
+ const lastCanvasPoint = viewport.worldToCanvas(polyline[polyline.length - 1]);
73
+ const openUShapeContourVectorToPeakCanvas = [
74
+ viewport.worldToCanvas(openUShapeContourVectorToPeak[0]),
75
+ viewport.worldToCanvas(openUShapeContourVectorToPeak[1]),
76
+ ];
77
+ const options = this._getRenderingOptions(enabledElement, annotation);
78
+ (0, drawingSvg_1.drawPolyline)(svgDrawingHelper, annotation.annotationUID, 'first-to-last', [firstCanvasPoint, lastCanvasPoint], {
79
+ color: options.color,
80
+ width: options.width,
81
+ connectLastToFirst: false,
82
+ lineDash: '2,2',
83
+ });
84
+ (0, drawingSvg_1.drawPolyline)(svgDrawingHelper, annotation.annotationUID, 'midpoint-to-open-contour', [
85
+ openUShapeContourVectorToPeakCanvas[0],
86
+ openUShapeContourVectorToPeakCanvas[1],
87
+ ], {
88
+ color: options.color,
89
+ width: options.width,
90
+ connectLastToFirst: false,
91
+ lineDash: '2,2',
92
+ });
93
+ }
54
94
  function renderContourBeingDrawn(enabledElement, svgDrawingHelper, annotation) {
55
95
  const options = this._getRenderingOptions(enabledElement, annotation);
56
96
  const { allowOpenContours } = this.configuration;
@@ -93,6 +133,8 @@ function registerRenderMethods(toolInstance) {
93
133
  toolInstance.renderContour = renderContour.bind(toolInstance);
94
134
  toolInstance.renderClosedContour = renderClosedContour.bind(toolInstance);
95
135
  toolInstance.renderOpenContour = renderOpenContour.bind(toolInstance);
136
+ toolInstance.renderOpenUShapedContour =
137
+ renderOpenUShapedContour.bind(toolInstance);
96
138
  toolInstance.renderContourBeingDrawn =
97
139
  renderContourBeingDrawn.bind(toolInstance);
98
140
  toolInstance.renderClosedContourBeingEdited =
@@ -1 +1 @@
1
- {"version":3,"file":"renderMethods.js","sourceRoot":"","sources":["../../../../../src/tools/annotation/planarFreehandROITool/renderMethods.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"renderMethods.js","sourceRoot":"","sources":["../../../../../src/tools/annotation/planarFreehandROITool/renderMethods.ts"],"names":[],"mappings":"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"}
@@ -180,6 +180,8 @@ export interface PlanarFreehandROIAnnotation extends Annotation {
180
180
  polyline: Types.Point3[];
181
181
  label?: string;
182
182
  isOpenContour?: boolean;
183
+ isOpenUShapeContour?: boolean;
184
+ openUShapeContourVectorToPeak?: Types.Point3[];
183
185
  handles: {
184
186
  points: Types.Point3[];
185
187
  activeHandleIndex: number | null;
@@ -23,32 +23,38 @@ const getSubPixelSpacingAndXYDirections = (viewport, subPixelResolution) => {
23
23
  let viewRight = gl_matrix_1.vec3.create();
24
24
  gl_matrix_1.vec3.cross(viewRight, viewUp, viewPlaneNormal);
25
25
  viewRight = [-viewRight[0], -viewRight[1], -viewRight[2]];
26
+ const absViewRightDotI = Math.abs(gl_matrix_1.vec3.dot(viewRight, iVector));
27
+ const absViewRightDotJ = Math.abs(gl_matrix_1.vec3.dot(viewRight, jVector));
28
+ const absViewRightDotK = Math.abs(gl_matrix_1.vec3.dot(viewRight, kVector));
26
29
  let xSpacing;
27
- if (Math.abs(1 - gl_matrix_1.vec3.dot(viewRight, iVector)) < EPSILON) {
30
+ if (Math.abs(1 - absViewRightDotI) < EPSILON) {
28
31
  xSpacing = volumeSpacing[0];
29
32
  xDir = iVector;
30
33
  }
31
- else if (Math.abs(1 - gl_matrix_1.vec3.dot(viewRight, jVector)) < EPSILON) {
34
+ else if (Math.abs(1 - absViewRightDotJ) < EPSILON) {
32
35
  xSpacing = volumeSpacing[1];
33
36
  xDir = jVector;
34
37
  }
35
- else if (Math.abs(1 - gl_matrix_1.vec3.dot(viewRight, kVector)) < EPSILON) {
38
+ else if (Math.abs(1 - absViewRightDotK) < EPSILON) {
36
39
  xSpacing = volumeSpacing[2];
37
40
  xDir = kVector;
38
41
  }
39
42
  else {
40
43
  throw new Error('No support yet for oblique plane planar contours');
41
44
  }
45
+ const absViewPlaneNormalDotI = Math.abs(gl_matrix_1.vec3.dot(viewPlaneNormal, iVector));
46
+ const absViewPlaneNormalDotJ = Math.abs(gl_matrix_1.vec3.dot(viewPlaneNormal, jVector));
47
+ const absViewPlaneNormalDotK = Math.abs(gl_matrix_1.vec3.dot(viewPlaneNormal, kVector));
42
48
  let ySpacing;
43
- if (Math.abs(1 - gl_matrix_1.vec3.dot(viewPlaneNormal, iVector)) < EPSILON) {
49
+ if (Math.abs(1 - absViewPlaneNormalDotI) < EPSILON) {
44
50
  ySpacing = volumeSpacing[0];
45
51
  yDir = iVector;
46
52
  }
47
- else if (Math.abs(1 - gl_matrix_1.vec3.dot(viewPlaneNormal, jVector)) < EPSILON) {
53
+ else if (Math.abs(1 - absViewPlaneNormalDotJ) < EPSILON) {
48
54
  ySpacing = volumeSpacing[1];
49
55
  yDir = jVector;
50
56
  }
51
- else if (Math.abs(1 - gl_matrix_1.vec3.dot(viewPlaneNormal, kVector)) < EPSILON) {
57
+ else if (Math.abs(1 - absViewPlaneNormalDotK) < EPSILON) {
52
58
  ySpacing = volumeSpacing[2];
53
59
  yDir = kVector;
54
60
  }
@@ -1 +1 @@
1
- {"version":3,"file":"getSubPixelSpacingAndXYDirections.js","sourceRoot":"","sources":["../../../../../src/utilities/math/polyline/getSubPixelSpacingAndXYDirections.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getSubPixelSpacingAndXYDirections.js","sourceRoot":"","sources":["../../../../../src/utilities/math/polyline/getSubPixelSpacingAndXYDirections.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,9 @@ function filterAnnotationsForDisplay(viewport, annotations) {
12
12
  const imageURI = imageId.substring(colonIndex + 1);
13
13
  return annotations.filter((annotation) => {
14
14
  const imageId = annotation.metadata.referencedImageId;
15
+ if (imageId === undefined) {
16
+ return false;
17
+ }
15
18
  const colonIndex = imageId.indexOf(':');
16
19
  const referenceImageURI = imageId.substring(colonIndex + 1);
17
20
  return referenceImageURI === imageURI;
@@ -1 +1 @@
1
- {"version":3,"file":"filterAnnotationsForDisplay.js","sourceRoot":"","sources":["../../../../src/utilities/planar/filterAnnotationsForDisplay.ts"],"names":[],"mappings":";;;;;AAAA,8CAK6B;AAE7B,kGAA0E;AAS1E,SAAwB,2BAA2B,CACjD,QAAyB,EACzB,WAAwB;IAExB,IAAI,QAAQ,YAAY,oBAAa,EAAE;QAErC,MAAM,OAAO,GAAG,QAAQ,CAAC,iBAAiB,EAAE,CAAC;QAK7C,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;QAOnD,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE;YACvC,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YACtD,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACxC,MAAM,iBAAiB,GAAG,OAAO,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;YAC5D,OAAO,iBAAiB,KAAK,QAAQ,CAAC;QACxC,CAAC,CAAC,CAAC;KACJ;SAAM,IAAI,QAAQ,YAAY,qBAAc,EAAE;QAC7C,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;QAEpC,MAAM,EAAE,wBAAwB,EAAE,GAChC,gBAAO,CAAC,oCAAoC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAGjE,OAAO,IAAA,sCAA4B,EACjC,WAAW,EACX,MAAM,EACN,wBAAwB,CACzB,CAAC;KACH;SAAM;QACL,MAAM,IAAI,KAAK,CAAC,iBAAiB,QAAQ,CAAC,IAAI,gBAAgB,CAAC,CAAC;KACjE;AACH,CAAC;AAxCD,8CAwCC"}
1
+ {"version":3,"file":"filterAnnotationsForDisplay.js","sourceRoot":"","sources":["../../../../src/utilities/planar/filterAnnotationsForDisplay.ts"],"names":[],"mappings":";;;;;AAAA,8CAK6B;AAE7B,kGAA0E;AAS1E,SAAwB,2BAA2B,CACjD,QAAyB,EACzB,WAAwB;IAExB,IAAI,QAAQ,YAAY,oBAAa,EAAE;QAErC,MAAM,OAAO,GAAG,QAAQ,CAAC,iBAAiB,EAAE,CAAC;QAK7C,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;QAOnD,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE;YACvC,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YAEtD,IAAI,OAAO,KAAK,SAAS,EAAE;gBAGzB,OAAO,KAAK,CAAC;aACd;YAED,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACxC,MAAM,iBAAiB,GAAG,OAAO,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;YAC5D,OAAO,iBAAiB,KAAK,QAAQ,CAAC;QACxC,CAAC,CAAC,CAAC;KACJ;SAAM,IAAI,QAAQ,YAAY,qBAAc,EAAE;QAC7C,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;QAEpC,MAAM,EAAE,wBAAwB,EAAE,GAChC,gBAAO,CAAC,oCAAoC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAGjE,OAAO,IAAA,sCAA4B,EACjC,WAAW,EACX,MAAM,EACN,wBAAwB,CACzB,CAAC;KACH;SAAM;QACL,MAAM,IAAI,KAAK,CAAC,iBAAiB,QAAQ,CAAC,IAAI,gBAAgB,CAAC,CAAC;KACjE;AACH,CAAC;AA/CD,8CA+CC"}
@@ -1,6 +1,6 @@
1
1
  import type { Types } from '@cornerstonejs/core';
2
2
  import { AnnotationTool } from '../base';
3
- import { EventTypes, ToolHandle, PublicToolProps, ToolProps, InteractionTypes } from '../../types';
3
+ import { EventTypes, ToolHandle, Annotations, PublicToolProps, ToolProps, InteractionTypes } from '../../types';
4
4
  import { PlanarFreehandROIAnnotation } from '../../types/ToolSpecificAnnotationTypes';
5
5
  declare class PlanarFreehandROITool extends AnnotationTool {
6
6
  static toolName: string;
@@ -15,6 +15,9 @@ declare class PlanarFreehandROITool extends AnnotationTool {
15
15
  private activateClosedContourEdit;
16
16
  private activateOpenContourEdit;
17
17
  private activateOpenContourEndEdit;
18
+ private cancelDrawing;
19
+ private cancelClosedContourEdit;
20
+ private cancelOpenContourEdit;
18
21
  private renderContour;
19
22
  private renderContourBeingDrawn;
20
23
  private renderClosedContourBeingEdited;
@@ -27,6 +30,8 @@ declare class PlanarFreehandROITool extends AnnotationTool {
27
30
  cancel: (element: HTMLDivElement) => void;
28
31
  triggerAnnotationModified: (annotation: PlanarFreehandROIAnnotation, enabledElement: Types.IEnabledElement) => void;
29
32
  triggerAnnotationCompleted: (annotation: PlanarFreehandROIAnnotation) => void;
33
+ filterInteractableAnnotationsForElement(element: HTMLDivElement, annotations: Annotations): Annotations | undefined;
34
+ private filterAnnotationsWithinSlice;
30
35
  renderAnnotation: (enabledElement: Types.IEnabledElement, svgDrawingHelper: any) => void;
31
36
  }
32
37
  export default PlanarFreehandROITool;
@@ -1,8 +1,10 @@
1
- import { getEnabledElement, triggerEvent, eventTarget, } from '@cornerstonejs/core';
1
+ import { getEnabledElement, triggerEvent, eventTarget, StackViewport, VolumeViewport, utilities as csUtils, } from '@cornerstonejs/core';
2
+ import { vec3 } from 'gl-matrix';
2
3
  import { Events } from '../../enums';
3
4
  import { AnnotationTool } from '../base';
4
5
  import { addAnnotation, getAnnotations, } from '../../stateManagement/annotation/annotationState';
5
6
  import { polyline } from '../../utilities/math';
7
+ import { filterAnnotationsForDisplay } from '../../utilities/planar';
6
8
  import { getViewportIdsWithToolToRender } from '../../utilities/viewportFilters';
7
9
  import triggerAnnotationRenderForViewportIds from '../../utilities/triggerAnnotationRenderForViewportIds';
8
10
  import registerDrawLoop from './planarFreehandROITool/drawLoop';
@@ -116,6 +118,18 @@ class PlanarFreehandROITool extends AnnotationTool {
116
118
  return false;
117
119
  };
118
120
  this.cancel = (element) => {
121
+ const isDrawing = this.isDrawing;
122
+ const isEditingOpen = this.isEditingOpen;
123
+ const isEditingClosed = this.isEditingClosed;
124
+ if (isDrawing) {
125
+ this.cancelDrawing(element);
126
+ }
127
+ else if (isEditingOpen) {
128
+ this.cancelOpenContourEdit(element);
129
+ }
130
+ else if (isEditingClosed) {
131
+ this.cancelClosedContourEdit(element);
132
+ }
119
133
  };
120
134
  this.triggerAnnotationModified = (annotation, enabledElement) => {
121
135
  const { viewportId, renderingEngineId } = enabledElement;
@@ -180,6 +194,50 @@ class PlanarFreehandROITool extends AnnotationTool {
180
194
  registerOpenContourEndEditLoop(this);
181
195
  registerRenderMethods(this);
182
196
  }
197
+ filterInteractableAnnotationsForElement(element, annotations) {
198
+ if (!annotations || !annotations.length) {
199
+ return;
200
+ }
201
+ const enabledElement = getEnabledElement(element);
202
+ const { viewport } = enabledElement;
203
+ let annotationsToDisplay;
204
+ if (viewport instanceof StackViewport) {
205
+ annotationsToDisplay = filterAnnotationsForDisplay(viewport, annotations);
206
+ }
207
+ else if (viewport instanceof VolumeViewport) {
208
+ const camera = viewport.getCamera();
209
+ const { spacingInNormalDirection } = csUtils.getTargetVolumeAndSpacingInNormalDir(viewport, camera);
210
+ annotationsToDisplay = this.filterAnnotationsWithinSlice(annotations, camera, spacingInNormalDirection);
211
+ }
212
+ else {
213
+ throw new Error(`Viewport Type ${viewport.type} not supported`);
214
+ }
215
+ return annotationsToDisplay;
216
+ }
217
+ filterAnnotationsWithinSlice(annotations, camera, spacingInNormalDirection) {
218
+ const { viewPlaneNormal } = camera;
219
+ const annotationsWithSameNormal = annotations.filter((td) => {
220
+ const annotationViewPlaneNormal = td.metadata.viewPlaneNormal;
221
+ return csUtils.isEqual(annotationViewPlaneNormal, viewPlaneNormal);
222
+ });
223
+ if (!annotationsWithSameNormal.length) {
224
+ return [];
225
+ }
226
+ const halfSpacingInNormalDirection = spacingInNormalDirection / 2;
227
+ const { focalPoint } = camera;
228
+ const annotationsWithinSlice = [];
229
+ for (const annotation of annotationsWithSameNormal) {
230
+ const data = annotation.data;
231
+ const point = data.polyline[0];
232
+ const dir = vec3.create();
233
+ vec3.sub(dir, focalPoint, point);
234
+ const dot = vec3.dot(dir, viewPlaneNormal);
235
+ if (Math.abs(dot) < halfSpacingInNormalDirection) {
236
+ annotationsWithinSlice.push(annotation);
237
+ }
238
+ }
239
+ return annotationsWithinSlice;
240
+ }
183
241
  }
184
242
  PlanarFreehandROITool.toolName = 'PlanarFreehandROI';
185
243
  export default PlanarFreehandROITool;
@@ -1 +1 @@
1
- {"version":3,"file":"PlanarFreehandROITool.js","sourceRoot":"","sources":["../../../../src/tools/annotation/PlanarFreehandROITool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PlanarFreehandROITool.js","sourceRoot":"","sources":["../../../../src/tools/annotation/PlanarFreehandROITool.ts"],"names":[],"mappings":"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"}
@@ -59,6 +59,9 @@ function mouseDragClosedContourEditCallback(evt) {
59
59
  if (xDist <= spacing[0] && yDist <= spacing[1]) {
60
60
  return;
61
61
  }
62
+ if (startCrossingIndex !== undefined) {
63
+ this.checkAndRemoveCrossesOnEditLine(evt);
64
+ }
62
65
  const numPointsAdded = addCanvasPointsToArray(element, editCanvasPoints, canvasPos, this.commonData);
63
66
  const currentEditIndex = editIndex + numPointsAdded;
64
67
  this.editData.editIndex = currentEditIndex;
@@ -177,6 +180,9 @@ function fuseEditPointsWithClosedContour(evt) {
177
180
  function mouseUpClosedContourEditCallback(evt) {
178
181
  const eventDetail = evt.detail;
179
182
  const { element } = eventDetail;
183
+ this.completeClosedContourEdit(element);
184
+ }
185
+ function completeClosedContourEdit(element) {
180
186
  const enabledElement = getEnabledElement(element);
181
187
  const { viewport, renderingEngine } = enabledElement;
182
188
  const { annotation, viewportIdsToRender } = this.commonData;
@@ -193,6 +199,9 @@ function mouseUpClosedContourEditCallback(evt) {
193
199
  triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
194
200
  this.deactivateClosedContourEdit(element);
195
201
  }
202
+ function cancelClosedContourEdit(element) {
203
+ this.completeClosedContourEdit(element);
204
+ }
196
205
  function registerClosedContourEditLoop(toolInstance) {
197
206
  toolInstance.activateClosedContourEdit =
198
207
  activateClosedContourEdit.bind(toolInstance);
@@ -206,6 +215,10 @@ function registerClosedContourEditLoop(toolInstance) {
206
215
  finishEditAndStartNewEdit.bind(toolInstance);
207
216
  toolInstance.fuseEditPointsWithClosedContour =
208
217
  fuseEditPointsWithClosedContour.bind(toolInstance);
218
+ toolInstance.cancelClosedContourEdit =
219
+ cancelClosedContourEdit.bind(toolInstance);
220
+ toolInstance.completeClosedContourEdit =
221
+ completeClosedContourEdit.bind(toolInstance);
209
222
  }
210
223
  export default registerClosedContourEditLoop;
211
224
  //# sourceMappingURL=closedContourEditLoop.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"closedContourEditLoop.js","sourceRoot":"","sources":["../../../../../src/tools/annotation/planarFreehandROITool/closedContourEditLoop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EACL,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEvC,OAAO,qCAAqC,MAAM,0DAA0D,CAAC;AAE7G,MAAM,EACJ,iCAAiC,EACjC,sBAAsB,EACtB,qBAAqB,GACtB,GAAG,QAAQ,CAAC;AAKb,SAAS,yBAAyB,CAChC,GAA0C,EAC1C,UAAuC,EACvC,mBAA6B;IAE7B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;IAE5B,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC;IAC/B,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;IAC/C,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC;IACvC,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC;IAEpC,MAAM,gBAAgB,GAAG,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IAE9E,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,iCAAiC,CAC/D,QAAQ,EACR,IAAI,CAAC,aAAa,CAAC,kBAAkB,CACtC,CAAC;IAEF,IAAI,CAAC,QAAQ,GAAG;QACd,gBAAgB;QAChB,gBAAgB,EAAE,CAAC,SAAS,CAAC;QAC7B,kBAAkB,EAAE,SAAS;QAC7B,SAAS,EAAE,CAAC;KACb,CAAC;IAEF,IAAI,CAAC,UAAU,GAAG;QAChB,UAAU;QACV,mBAAmB;QACnB,OAAO;QACP,IAAI;QACJ,IAAI;KACL,CAAC;IAEF,KAAK,CAAC,qBAAqB,GAAG,IAAI,CAAC;IAEnC,OAAO,CAAC,gBAAgB,CACtB,MAAM,CAAC,QAAQ,EACf,IAAI,CAAC,gCAAgC,CACtC,CAAC;IACF,OAAO,CAAC,gBAAgB,CACtB,MAAM,CAAC,UAAU,EACjB,IAAI,CAAC,kCAAkC,CACxC,CAAC;IACF,OAAO,CAAC,gBAAgB,CACtB,MAAM,CAAC,WAAW,EAClB,IAAI,CAAC,gCAAgC,CACtC,CAAC;IAEF,iBAAiB,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC;AAKD,SAAS,2BAA2B,CAAC,OAAuB;IAC1D,KAAK,CAAC,qBAAqB,GAAG,KAAK,CAAC;IAEpC,OAAO,CAAC,mBAAmB,CACzB,MAAM,CAAC,QAAQ,EACf,IAAI,CAAC,gCAAgC,CACtC,CAAC;IACF,OAAO,CAAC,mBAAmB,CACzB,MAAM,CAAC,UAAU,EACjB,IAAI,CAAC,kCAAkC,CACxC,CAAC;IACF,OAAO,CAAC,mBAAmB,CACzB,MAAM,CAAC,WAAW,EAClB,IAAI,CAAC,gCAAgC,CACtC,CAAC;IAEF,kBAAkB,CAAC,OAAO,CAAC,CAAC;AAC9B,CAAC;AAOD,SAAS,kCAAkC,CACzC,GAAkC;IAElC,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC;IAC/B,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;IAC/C,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC;IACrC,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC;IACvC,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC;IAErD,MAAM,EAAE,mBAAmB,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC;IACrE,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;IAE1E,MAAM,eAAe,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACtE,MAAM,cAAc,GAAG,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;IAE/D,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IAEnC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;IAEtD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC;IACrD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC;IAGrD,IAAI,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;QAE9C,OAAO;KACR;IAED,MAAM,cAAc,GAAG,sBAAsB,CAC3C,OAAO,EACP,gBAAgB,EAChB,SAAS,EACT,IAAI,CAAC,UAAU,CAChB,CAAC;IAEF,MAAM,gBAAgB,GAAG,SAAS,GAAG,cAAc,CAAC;IAEpD,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,gBAAgB,CAAC;IAE3C,IAAI,kBAAkB,KAAK,SAAS,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;QAGnE,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;KACvC;IAED,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;IAE/C,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,KAAK,CAAC,CAAC,EAAE;QAGlC,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC;QACpC,OAAO;KACR;IAED,IAAI,CAAC,QAAQ,CAAC,iBAAiB,GAAG,IAAI,CAAC,+BAA+B,CAAC,GAAG,CAAC,CAAC;IAE5E,IACE,kBAAkB,KAAK,SAAS;QAChC,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,IAAI,CAAC,EACtC;QAEA,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC;KACrC;IAED,qCAAqC,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;AAC9E,CAAC;AAKD,SAAS,yBAAyB,CAChC,GAAkE;IAElE,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC;IAC/B,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;IAChC,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,cAAc,CAAC;IAErD,MAAM,EAAE,UAAU,EAAE,mBAAmB,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC;IAC5D,MAAM,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;IAE9D,MAAM,WAAW,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CACxD,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC,CACpC,CAAC;IAEF,UAAU,CAAC,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC;IACvC,UAAU,CAAC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;IAEtC,IAAI,CAAC,yBAAyB,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IAE3D,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,GAAG,EAAE,CAAC;IAEnD,IAAI,CAAC,QAAQ,GAAG;QACd,gBAAgB,EAAE,iBAAiB;QACnC,gBAAgB,EAAE,CAAC,mBAAmB,CAAC;QACvC,kBAAkB,EAAE,SAAS;QAC7B,SAAS,EAAE,CAAC;QACZ,SAAS,EAAE,SAAS;KACrB,CAAC;IAEF,qCAAqC,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;AAC9E,CAAC;AAmBD,SAAS,+BAA+B,CACtC,GAAkE;IAElE,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,SAAS,EAAE,GACzE,IAAI,CAAC,QAAQ,CAAC;IAEhB,IAAI,kBAAkB,KAAK,SAAS,IAAI,SAAS,KAAK,SAAS,EAAE;QAC/D,OAAO;KACR;IAED,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC;IAC/B,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;IAGhC,MAAM,yBAAyB,GAAG,CAAC,GAAG,gBAAgB,CAAC,CAAC;IAExD,sBAAsB,CACpB,OAAO,EACP,yBAAyB,EACzB,gBAAgB,CAAC,SAAS,CAAC,EAC3B,IAAI,CAAC,UAAU,CAChB,CAAC;IAEF,IAAI,yBAAyB,CAAC,MAAM,GAAG,gBAAgB,CAAC,MAAM,EAAE;QAE9D,yBAAyB,CAAC,GAAG,EAAE,CAAC;KACjC;IAKD,IAAI,QAAQ,CAAC;IACb,IAAI,SAAS,CAAC;IAEd,IAAI,kBAAkB,GAAG,SAAS,EAAE;QAClC,QAAQ,GAAG,SAAS,CAAC;QACrB,SAAS,GAAG,kBAAkB,CAAC;KAChC;SAAM;QACL,QAAQ,GAAG,kBAAkB,CAAC;QAC9B,SAAS,GAAG,SAAS,CAAC;KACvB;IAED,MAAM,+BAA+B,GAAG,IAAI,CAAC,QAAQ,CACnD,gBAAgB,CAAC,QAAQ,CAAC,EAC1B,yBAAyB,CAAC,CAAC,CAAC,CAC7B,CAAC;IAEF,MAAM,8BAA8B,GAAG,IAAI,CAAC,QAAQ,CAClD,gBAAgB,CAAC,QAAQ,CAAC,EAC1B,yBAAyB,CAAC,yBAAyB,CAAC,MAAM,GAAG,CAAC,CAAC,CAChE,CAAC;IAEF,MAAM,gCAAgC,GAAG,IAAI,CAAC,QAAQ,CACpD,gBAAgB,CAAC,SAAS,CAAC,EAC3B,yBAAyB,CAAC,CAAC,CAAC,CAC7B,CAAC;IAEF,MAAM,+BAA+B,GAAG,IAAI,CAAC,QAAQ,CACnD,gBAAgB,CAAC,SAAS,CAAC,EAC3B,yBAAyB,CAAC,yBAAyB,CAAC,MAAM,GAAG,CAAC,CAAC,CAChE,CAAC;IAYF,MAAM,SAAS,GAAG,EAAE,CAAC;IAGrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE;QACjC,MAAM,WAAW,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;QAExC,SAAS,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAClD;IAKD,IAAI,eAAe,GACjB,+BAA+B,GAAG,+BAA+B,CAAC;IAEpE,IAAI,eAAe,GACjB,8BAA8B,GAAG,gCAAgC,CAAC;IAEpE,IAAI,eAAe,GAAG,eAAe,EAAE;QACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,yBAAyB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACzD,MAAM,WAAW,GAAG,yBAAyB,CAAC,CAAC,CAAC,CAAC;YAEjD,SAAS,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAClD;KACF;SAAM;QACL,KAAK,IAAI,CAAC,GAAG,yBAAyB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;YAC9D,MAAM,WAAW,GAAG,yBAAyB,CAAC,CAAC,CAAC,CAAC;YAEjD,SAAS,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAClD;KACF;IAGD,KAAK,IAAI,CAAC,GAAG,SAAS,EAAE,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACxD,MAAM,WAAW,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;QAExC,SAAS,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAClD;IAGD,MAAM,SAAS,GAAG,EAAE,CAAC;IAErB,KAAK,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE;QACzC,MAAM,WAAW,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;QAExC,SAAS,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAClD;IAED,eAAe;QACb,gCAAgC,GAAG,8BAA8B,CAAC;IAEpE,eAAe;QACb,+BAA+B,GAAG,+BAA+B,CAAC;IAEpE,IAAI,eAAe,GAAG,eAAe,EAAE;QACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,yBAAyB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACzD,MAAM,WAAW,GAAG,yBAAyB,CAAC,CAAC,CAAC,CAAC;YAEjD,SAAS,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAClD;KACF;SAAM;QACL,KAAK,IAAI,CAAC,GAAG,yBAAyB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;YAC9D,MAAM,WAAW,GAAG,yBAAyB,CAAC,CAAC,CAAC,CAAC;YAEjD,SAAS,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAClD;KACF;IAED,MAAM,aAAa,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC;IACvD,MAAM,aAAa,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC;IAEvD,MAAM,cAAc,GAClB,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IAExD,OAAO,cAAc,CAAC;AACxB,CAAC;AAKD,SAAS,gCAAgC,CACvC,GAAiE;IAEjE,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC;IAC/B,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;IAChC,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,cAAc,CAAC;IAErD,MAAM,EAAE,UAAU,EAAE,mBAAmB,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC;IAC5D,MAAM,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;IAE5C,IAAI,iBAAiB,EAAE;QACrB,MAAM,WAAW,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CACxD,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC,CACpC,CAAC;QAEF,UAAU,CAAC,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC;QACvC,UAAU,CAAC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAEtC,IAAI,CAAC,yBAAyB,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;KAC5D;IAED,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;IAC7B,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;IAC1B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAE5B,qCAAqC,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;IAE5E,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC,CAAC;AAC5C,CAAC;AAKD,SAAS,6BAA6B,CAAC,YAAY;IACjD,YAAY,CAAC,yBAAyB;QACpC,yBAAyB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC/C,YAAY,CAAC,2BAA2B;QACtC,2BAA2B,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACjD,YAAY,CAAC,kCAAkC;QAC7C,kCAAkC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACxD,YAAY,CAAC,gCAAgC;QAC3C,gCAAgC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACtD,YAAY,CAAC,yBAAyB;QACpC,yBAAyB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC/C,YAAY,CAAC,+BAA+B;QAC1C,+BAA+B,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AACvD,CAAC;AAED,eAAe,6BAA6B,CAAC"}
1
+ {"version":3,"file":"closedContourEditLoop.js","sourceRoot":"","sources":["../../../../../src/tools/annotation/planarFreehandROITool/closedContourEditLoop.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import { Events } from '../../../enums';
4
4
  import { state } from '../../../store';
5
5
  import { vec3 } from 'gl-matrix';
6
6
  import triggerAnnotationRenderForViewportIds from '../../../utilities/triggerAnnotationRenderForViewportIds';
7
+ import findOpenUShapedContourVectorToPeak from './findOpenUShapedContourVectorToPeak';
7
8
  import { polyline } from '../../../utilities/math';
8
9
  const { addCanvasPointsToArray, pointsAreWithinCloseContourProximity, getFirstIntersectionWithPolyline, getSubPixelSpacingAndXYDirections, } = polyline;
9
10
  function activateDraw(evt, annotation, viewportIdsToRender) {
@@ -71,20 +72,20 @@ function mouseUpDrawCallback(evt) {
71
72
  const { canvasPoints } = this.drawData;
72
73
  const firstPoint = canvasPoints[0];
73
74
  const lastPoint = canvasPoints[canvasPoints.length - 1];
75
+ const eventDetail = evt.detail;
76
+ const { element } = eventDetail;
74
77
  if (allowOpenContours &&
75
78
  !pointsAreWithinCloseContourProximity(firstPoint, lastPoint, this.configuration.closeContourProximity)) {
76
- this.completeDrawOpenContour(evt);
79
+ this.completeDrawOpenContour(element);
77
80
  }
78
81
  else {
79
- this.completeDrawClosedContour(evt);
82
+ this.completeDrawClosedContour(element);
80
83
  }
81
84
  }
82
- function completeDrawClosedContour(evt) {
85
+ function completeDrawClosedContour(element) {
83
86
  this.removeCrossedLinesOnCompleteDraw();
84
87
  const { canvasPoints } = this.drawData;
85
88
  const { annotation, viewportIdsToRender } = this.commonData;
86
- const eventDetail = evt.detail;
87
- const { element } = eventDetail;
88
89
  const enabledElement = getEnabledElement(element);
89
90
  const { viewport, renderingEngine } = enabledElement;
90
91
  addCanvasPointsToArray(element, canvasPoints, canvasPoints[0], this.commonData);
@@ -110,11 +111,9 @@ function removeCrossedLinesOnCompleteDraw() {
110
111
  this.drawData.canvasPoints = canvasPoints.splice(0, indexToRemoveUpTo);
111
112
  }
112
113
  }
113
- function completeDrawOpenContour(evt) {
114
+ function completeDrawOpenContour(element) {
114
115
  const { canvasPoints } = this.drawData;
115
116
  const { annotation, viewportIdsToRender } = this.commonData;
116
- const eventDetail = evt.detail;
117
- const { element } = eventDetail;
118
117
  const enabledElement = getEnabledElement(element);
119
118
  const { viewport, renderingEngine } = enabledElement;
120
119
  const worldPoints = canvasPoints.map((canvasPoint) => viewport.canvasToWorld(canvasPoint));
@@ -124,6 +123,10 @@ function completeDrawOpenContour(evt) {
124
123
  worldPoints[0],
125
124
  worldPoints[worldPoints.length - 1],
126
125
  ];
126
+ if (annotation.data.isOpenUShapeContour) {
127
+ annotation.data.openUShapeContourVectorToPeak =
128
+ findOpenUShapedContourVectorToPeak(canvasPoints, viewport);
129
+ }
127
130
  this.triggerAnnotationCompleted(annotation);
128
131
  this.isDrawing = false;
129
132
  this.drawData = undefined;
@@ -155,9 +158,22 @@ function applyCreateOnCross(evt, crossingIndex) {
155
158
  for (let i = 0; i < crossingIndex; i++) {
156
159
  canvasPoints.shift();
157
160
  }
158
- this.completeDrawClosedContour(evt);
161
+ this.completeDrawClosedContour(element);
159
162
  this.activateClosedContourEdit(evt, annotation, viewportIdsToRender);
160
163
  }
164
+ function cancelDrawing(element) {
165
+ const { allowOpenContours } = this.configuration;
166
+ const { canvasPoints } = this.drawData;
167
+ const firstPoint = canvasPoints[0];
168
+ const lastPoint = canvasPoints[canvasPoints.length - 1];
169
+ if (allowOpenContours &&
170
+ !pointsAreWithinCloseContourProximity(firstPoint, lastPoint, this.configuration.closeContourProximity)) {
171
+ this.completeDrawOpenContour(element);
172
+ }
173
+ else {
174
+ this.completeDrawClosedContour(element);
175
+ }
176
+ }
161
177
  function registerDrawLoop(toolInstance) {
162
178
  toolInstance.activateDraw = activateDraw.bind(toolInstance);
163
179
  toolInstance.deactivateDraw = deactivateDraw.bind(toolInstance);
@@ -172,6 +188,7 @@ function registerDrawLoop(toolInstance) {
172
188
  toolInstance.mouseUpDrawCallback = mouseUpDrawCallback.bind(toolInstance);
173
189
  toolInstance.completeDrawClosedContour =
174
190
  completeDrawClosedContour.bind(toolInstance);
191
+ toolInstance.cancelDrawing = cancelDrawing.bind(toolInstance);
175
192
  }
176
193
  export default registerDrawLoop;
177
194
  //# sourceMappingURL=drawLoop.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"drawLoop.js","sourceRoot":"","sources":["../../../../../src/tools/annotation/planarFreehandROITool/drawLoop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"drawLoop.js","sourceRoot":"","sources":["../../../../../src/tools/annotation/planarFreehandROITool/drawLoop.ts"],"names":[],"mappings":"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"}
@@ -111,6 +111,23 @@ function findSnapIndex() {
111
111
  }
112
112
  return -1;
113
113
  }
114
+ function checkAndRemoveCrossesOnEditLine(evt) {
115
+ const eventDetail = evt.detail;
116
+ const { currentPoints, lastPoints } = eventDetail;
117
+ const canvasPos = currentPoints.canvas;
118
+ const lastCanvasPoint = lastPoints.canvas;
119
+ const { editCanvasPoints } = this.editData;
120
+ const editCanvasPointsLessLastOne = editCanvasPoints.slice(0, -2);
121
+ const crossedLineSegment = getFirstIntersectionWithPolyline(editCanvasPointsLessLastOne, canvasPos, lastCanvasPoint, false);
122
+ if (!crossedLineSegment) {
123
+ return;
124
+ }
125
+ const editIndexCrossed = crossedLineSegment[0];
126
+ const numPointsToRemove = editCanvasPoints.length - editIndexCrossed;
127
+ for (let i = 0; i < numPointsToRemove; i++) {
128
+ editCanvasPoints.pop();
129
+ }
130
+ }
114
131
  function registerEditLoopCommon(toolInstance) {
115
132
  toolInstance.checkForFirstCrossing = checkForFirstCrossing.bind(toolInstance);
116
133
  toolInstance.removePointsUpUntilFirstCrossing =
@@ -120,6 +137,8 @@ function registerEditLoopCommon(toolInstance) {
120
137
  toolInstance.findSnapIndex = findSnapIndex.bind(toolInstance);
121
138
  toolInstance.removePointsAfterSecondCrossing =
122
139
  removePointsAfterSecondCrossing.bind(toolInstance);
140
+ toolInstance.checkAndRemoveCrossesOnEditLine =
141
+ checkAndRemoveCrossesOnEditLine.bind(toolInstance);
123
142
  }
124
143
  export default registerEditLoopCommon;
125
144
  //# sourceMappingURL=editLoopCommon.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"editLoopCommon.js","sourceRoot":"","sources":["../../../../../src/tools/annotation/planarFreehandROITool/editLoopCommon.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"editLoopCommon.js","sourceRoot":"","sources":["../../../../../src/tools/annotation/planarFreehandROITool/editLoopCommon.ts"],"names":[],"mappings":"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"}