@cornerstonejs/tools 1.50.3 → 1.51.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 (489) hide show
  1. package/dist/cjs/eventListeners/annotations/annotationCompletedListener.d.ts +2 -0
  2. package/dist/cjs/eventListeners/annotations/annotationCompletedListener.js +35 -0
  3. package/dist/cjs/eventListeners/annotations/annotationCompletedListener.js.map +1 -0
  4. package/dist/cjs/eventListeners/annotations/contourSegmentation/contourSegmentationCompleted.d.ts +2 -0
  5. package/dist/cjs/eventListeners/annotations/contourSegmentation/contourSegmentationCompleted.js +174 -0
  6. package/dist/cjs/eventListeners/annotations/contourSegmentation/contourSegmentationCompleted.js.map +1 -0
  7. package/dist/cjs/eventListeners/annotations/contourSegmentation/index.d.ts +1 -0
  8. package/dist/cjs/eventListeners/annotations/contourSegmentation/index.js +9 -0
  9. package/dist/cjs/eventListeners/annotations/contourSegmentation/index.js.map +1 -0
  10. package/dist/cjs/eventListeners/annotations/index.d.ts +2 -1
  11. package/dist/cjs/eventListeners/annotations/index.js +3 -1
  12. package/dist/cjs/eventListeners/annotations/index.js.map +1 -1
  13. package/dist/cjs/eventListeners/index.d.ts +2 -2
  14. package/dist/cjs/eventListeners/index.js +2 -1
  15. package/dist/cjs/eventListeners/index.js.map +1 -1
  16. package/dist/cjs/eventListeners/segmentation/labelmap/onLabelmapSegmentationDataModified.d.ts +3 -0
  17. package/dist/cjs/eventListeners/segmentation/labelmap/onLabelmapSegmentationDataModified.js +89 -0
  18. package/dist/cjs/eventListeners/segmentation/labelmap/onLabelmapSegmentationDataModified.js.map +1 -0
  19. package/dist/cjs/eventListeners/segmentation/segmentationDataModifiedEventListener.js +5 -53
  20. package/dist/cjs/eventListeners/segmentation/segmentationDataModifiedEventListener.js.map +1 -1
  21. package/dist/cjs/init.js +2 -0
  22. package/dist/cjs/init.js.map +1 -1
  23. package/dist/cjs/stateManagement/annotation/helpers/state.d.ts +3 -1
  24. package/dist/cjs/stateManagement/annotation/helpers/state.js +21 -1
  25. package/dist/cjs/stateManagement/annotation/helpers/state.js.map +1 -1
  26. package/dist/cjs/store/ToolGroupManager/ToolGroup.d.ts +1 -0
  27. package/dist/cjs/store/ToolGroupManager/ToolGroup.js +3 -0
  28. package/dist/cjs/store/ToolGroupManager/ToolGroup.js.map +1 -1
  29. package/dist/cjs/store/addTool.d.ts +1 -0
  30. package/dist/cjs/store/addTool.js +6 -1
  31. package/dist/cjs/store/addTool.js.map +1 -1
  32. package/dist/cjs/store/index.d.ts +2 -2
  33. package/dist/cjs/store/index.js +2 -1
  34. package/dist/cjs/store/index.js.map +1 -1
  35. package/dist/cjs/store/removeEnabledElement.js +1 -2
  36. package/dist/cjs/store/removeEnabledElement.js.map +1 -1
  37. package/dist/cjs/tools/AdvancedMagnifyTool.js +3 -10
  38. package/dist/cjs/tools/AdvancedMagnifyTool.js.map +1 -1
  39. package/dist/cjs/tools/annotation/AngleTool.js +5 -18
  40. package/dist/cjs/tools/annotation/AngleTool.js.map +1 -1
  41. package/dist/cjs/tools/annotation/ArrowAnnotateTool.js +9 -28
  42. package/dist/cjs/tools/annotation/ArrowAnnotateTool.js.map +1 -1
  43. package/dist/cjs/tools/annotation/BidirectionalTool.js +7 -22
  44. package/dist/cjs/tools/annotation/BidirectionalTool.js.map +1 -1
  45. package/dist/cjs/tools/annotation/CircleROITool.js +7 -22
  46. package/dist/cjs/tools/annotation/CircleROITool.js.map +1 -1
  47. package/dist/cjs/tools/annotation/CobbAngleTool.js +5 -18
  48. package/dist/cjs/tools/annotation/CobbAngleTool.js.map +1 -1
  49. package/dist/cjs/tools/annotation/EllipticalROITool.js +7 -22
  50. package/dist/cjs/tools/annotation/EllipticalROITool.js.map +1 -1
  51. package/dist/cjs/tools/annotation/KeyImageTool.js +5 -12
  52. package/dist/cjs/tools/annotation/KeyImageTool.js.map +1 -1
  53. package/dist/cjs/tools/annotation/LengthTool.js +5 -18
  54. package/dist/cjs/tools/annotation/LengthTool.js.map +1 -1
  55. package/dist/cjs/tools/annotation/LivewireContourTool.d.ts +4 -1
  56. package/dist/cjs/tools/annotation/LivewireContourTool.js +30 -22
  57. package/dist/cjs/tools/annotation/LivewireContourTool.js.map +1 -1
  58. package/dist/cjs/tools/annotation/PlanarFreehandContourSegmentationTool.d.ts +2 -1
  59. package/dist/cjs/tools/annotation/PlanarFreehandContourSegmentationTool.js +11 -0
  60. package/dist/cjs/tools/annotation/PlanarFreehandContourSegmentationTool.js.map +1 -1
  61. package/dist/cjs/tools/annotation/PlanarFreehandROITool.d.ts +2 -10
  62. package/dist/cjs/tools/annotation/PlanarFreehandROITool.js +6 -22
  63. package/dist/cjs/tools/annotation/PlanarFreehandROITool.js.map +1 -1
  64. package/dist/cjs/tools/annotation/ProbeTool.js +8 -23
  65. package/dist/cjs/tools/annotation/ProbeTool.js.map +1 -1
  66. package/dist/cjs/tools/annotation/RectangleROITool.js +8 -22
  67. package/dist/cjs/tools/annotation/RectangleROITool.js.map +1 -1
  68. package/dist/cjs/tools/annotation/SplineROITool.d.ts +8 -9
  69. package/dist/cjs/tools/annotation/SplineROITool.js +27 -10
  70. package/dist/cjs/tools/annotation/SplineROITool.js.map +1 -1
  71. package/dist/cjs/tools/annotation/UltrasoundDirectionalTool.js +5 -18
  72. package/dist/cjs/tools/annotation/UltrasoundDirectionalTool.js.map +1 -1
  73. package/dist/cjs/tools/annotation/planarFreehandROITool/closedContourEditLoop.js +7 -6
  74. package/dist/cjs/tools/annotation/planarFreehandROITool/closedContourEditLoop.js.map +1 -1
  75. package/dist/cjs/tools/annotation/planarFreehandROITool/drawLoop.js +8 -5
  76. package/dist/cjs/tools/annotation/planarFreehandROITool/drawLoop.js.map +1 -1
  77. package/dist/cjs/tools/annotation/planarFreehandROITool/editLoopCommon.js +8 -8
  78. package/dist/cjs/tools/annotation/planarFreehandROITool/editLoopCommon.js.map +1 -1
  79. package/dist/cjs/tools/annotation/planarFreehandROITool/openContourEditLoop.js +6 -5
  80. package/dist/cjs/tools/annotation/planarFreehandROITool/openContourEditLoop.js.map +1 -1
  81. package/dist/cjs/tools/base/ContourBaseTool.d.ts +2 -8
  82. package/dist/cjs/tools/base/ContourBaseTool.js.map +1 -1
  83. package/dist/cjs/tools/base/ContourSegmentationBaseTool.d.ts +3 -2
  84. package/dist/cjs/tools/base/ContourSegmentationBaseTool.js +13 -1
  85. package/dist/cjs/tools/base/ContourSegmentationBaseTool.js.map +1 -1
  86. package/dist/cjs/tools/segmentation/RectangleROIStartEndThresholdTool.js +3 -9
  87. package/dist/cjs/tools/segmentation/RectangleROIStartEndThresholdTool.js.map +1 -1
  88. package/dist/cjs/tools/segmentation/RectangleROIThresholdTool.js +3 -9
  89. package/dist/cjs/tools/segmentation/RectangleROIThresholdTool.js.map +1 -1
  90. package/dist/cjs/types/AnnotationRenderContext.d.ts +11 -0
  91. package/dist/cjs/types/AnnotationRenderContext.js +3 -0
  92. package/dist/cjs/types/AnnotationRenderContext.js.map +1 -0
  93. package/dist/cjs/types/IToolGroup.d.ts +2 -1
  94. package/dist/cjs/types/index.d.ts +2 -1
  95. package/dist/cjs/utilities/contourSegmentation/areSameSegment.d.ts +2 -0
  96. package/dist/cjs/utilities/contourSegmentation/areSameSegment.js +12 -0
  97. package/dist/cjs/utilities/contourSegmentation/areSameSegment.js.map +1 -0
  98. package/dist/cjs/utilities/contourSegmentation/index.d.ts +2 -0
  99. package/dist/cjs/utilities/contourSegmentation/index.js +11 -0
  100. package/dist/cjs/utilities/contourSegmentation/index.js.map +1 -0
  101. package/dist/cjs/utilities/contourSegmentation/isContourSegmentationAnnotation.d.ts +3 -0
  102. package/dist/cjs/utilities/contourSegmentation/isContourSegmentationAnnotation.js +8 -0
  103. package/dist/cjs/utilities/contourSegmentation/isContourSegmentationAnnotation.js.map +1 -0
  104. package/dist/cjs/utilities/contours/areCoplanarContours.d.ts +2 -0
  105. package/dist/cjs/utilities/contours/areCoplanarContours.js +19 -0
  106. package/dist/cjs/utilities/contours/areCoplanarContours.js.map +1 -0
  107. package/dist/cjs/utilities/contours/index.d.ts +2 -1
  108. package/dist/cjs/utilities/contours/index.js +3 -1
  109. package/dist/cjs/utilities/contours/index.js.map +1 -1
  110. package/dist/cjs/utilities/contours/reverseIfAntiClockwise.js +3 -22
  111. package/dist/cjs/utilities/contours/reverseIfAntiClockwise.js.map +1 -1
  112. package/dist/cjs/utilities/math/aabb/index.d.ts +1 -0
  113. package/dist/cjs/utilities/math/aabb/index.js +3 -1
  114. package/dist/cjs/utilities/math/aabb/index.js.map +1 -1
  115. package/dist/cjs/utilities/math/aabb/intersectAABB.d.ts +2 -0
  116. package/dist/cjs/utilities/math/aabb/intersectAABB.js +10 -0
  117. package/dist/cjs/utilities/math/aabb/intersectAABB.js.map +1 -0
  118. package/dist/cjs/utilities/math/point/distanceToPointSquared.js +4 -1
  119. package/dist/cjs/utilities/math/point/distanceToPointSquared.js.map +1 -1
  120. package/dist/cjs/utilities/math/polyline/areLineSegmentsIntersecting.d.ts +2 -0
  121. package/dist/cjs/utilities/math/polyline/areLineSegmentsIntersecting.js +59 -0
  122. package/dist/cjs/utilities/math/polyline/areLineSegmentsIntersecting.js.map +1 -0
  123. package/dist/cjs/utilities/math/polyline/combinePolyline.d.ts +4 -0
  124. package/dist/cjs/utilities/math/polyline/combinePolyline.js +213 -0
  125. package/dist/cjs/utilities/math/polyline/combinePolyline.js.map +1 -0
  126. package/dist/cjs/utilities/math/polyline/containsPoint.d.ts +2 -0
  127. package/dist/cjs/utilities/math/polyline/containsPoint.js +36 -0
  128. package/dist/cjs/utilities/math/polyline/containsPoint.js.map +1 -0
  129. package/dist/cjs/utilities/math/polyline/getAABB.d.ts +2 -0
  130. package/dist/cjs/utilities/math/polyline/getAABB.js +18 -0
  131. package/dist/cjs/utilities/math/polyline/getAABB.js.map +1 -0
  132. package/dist/cjs/utilities/math/polyline/getArea.d.ts +2 -0
  133. package/dist/cjs/utilities/math/polyline/{calculateAreaOfPoints.js → getArea.js} +3 -3
  134. package/dist/cjs/utilities/math/polyline/getArea.js.map +1 -0
  135. package/dist/cjs/utilities/math/polyline/getClosestLineSegmentIntersection.d.ts +5 -0
  136. package/dist/cjs/utilities/math/polyline/getClosestLineSegmentIntersection.js +51 -0
  137. package/dist/cjs/utilities/math/polyline/getClosestLineSegmentIntersection.js.map +1 -0
  138. package/dist/cjs/utilities/math/polyline/getFirstLineSegmentIntersectionIndexes.d.ts +2 -0
  139. package/dist/cjs/utilities/math/polyline/getFirstLineSegmentIntersectionIndexes.js +28 -0
  140. package/dist/cjs/utilities/math/polyline/getFirstLineSegmentIntersectionIndexes.js.map +1 -0
  141. package/dist/cjs/utilities/math/polyline/getLineSegmentIntersectionsCoordinates.d.ts +2 -0
  142. package/dist/cjs/utilities/math/polyline/getLineSegmentIntersectionsCoordinates.js +20 -0
  143. package/dist/cjs/utilities/math/polyline/getLineSegmentIntersectionsCoordinates.js.map +1 -0
  144. package/dist/cjs/utilities/math/polyline/getLineSegmentIntersectionsIndexes.d.ts +2 -0
  145. package/dist/cjs/utilities/math/polyline/getLineSegmentIntersectionsIndexes.js +22 -0
  146. package/dist/cjs/utilities/math/polyline/getLineSegmentIntersectionsIndexes.js.map +1 -0
  147. package/dist/cjs/utilities/math/polyline/getLineSegmentsIntersection.d.ts +2 -0
  148. package/dist/cjs/utilities/math/polyline/getLineSegmentsIntersection.js +21 -0
  149. package/dist/cjs/utilities/math/polyline/getLineSegmentsIntersection.js.map +1 -0
  150. package/dist/cjs/utilities/math/polyline/getNormal2.d.ts +2 -0
  151. package/dist/cjs/utilities/math/polyline/getNormal2.js +12 -0
  152. package/dist/cjs/utilities/math/polyline/getNormal2.js.map +1 -0
  153. package/dist/cjs/utilities/math/polyline/getNormal3.d.ts +2 -0
  154. package/dist/cjs/utilities/math/polyline/getNormal3.js +29 -0
  155. package/dist/cjs/utilities/math/polyline/getNormal3.js.map +1 -0
  156. package/dist/cjs/utilities/math/polyline/getSignedArea.d.ts +2 -0
  157. package/dist/cjs/utilities/math/polyline/getSignedArea.js +20 -0
  158. package/dist/cjs/utilities/math/polyline/getSignedArea.js.map +1 -0
  159. package/dist/cjs/utilities/math/polyline/index.d.ts +14 -3
  160. package/dist/cjs/utilities/math/polyline/index.js +28 -6
  161. package/dist/cjs/utilities/math/polyline/index.js.map +1 -1
  162. package/dist/cjs/utilities/math/polyline/intersectPolyline.d.ts +2 -0
  163. package/dist/cjs/utilities/math/polyline/intersectPolyline.js +20 -0
  164. package/dist/cjs/utilities/math/polyline/intersectPolyline.js.map +1 -0
  165. package/dist/cjs/utilities/math/polyline/isClosed.d.ts +2 -0
  166. package/dist/cjs/utilities/math/polyline/isClosed.js +39 -0
  167. package/dist/cjs/utilities/math/polyline/isClosed.js.map +1 -0
  168. package/dist/esm/eventListeners/annotations/annotationCompletedListener.js +9 -0
  169. package/dist/esm/eventListeners/annotations/annotationCompletedListener.js.map +1 -0
  170. package/dist/esm/eventListeners/annotations/contourSegmentation/contourSegmentationCompleted.js +153 -0
  171. package/dist/esm/eventListeners/annotations/contourSegmentation/contourSegmentationCompleted.js.map +1 -0
  172. package/dist/esm/eventListeners/annotations/contourSegmentation/index.js +2 -0
  173. package/dist/esm/eventListeners/annotations/contourSegmentation/index.js.map +1 -0
  174. package/dist/esm/eventListeners/annotations/index.js +2 -1
  175. package/dist/esm/eventListeners/annotations/index.js.map +1 -1
  176. package/dist/esm/eventListeners/index.js +2 -2
  177. package/dist/esm/eventListeners/index.js.map +1 -1
  178. package/dist/esm/eventListeners/segmentation/labelmap/onLabelmapSegmentationDataModified.js +61 -0
  179. package/dist/esm/eventListeners/segmentation/labelmap/onLabelmapSegmentationDataModified.js.map +1 -0
  180. package/dist/esm/eventListeners/segmentation/segmentationDataModifiedEventListener.js +5 -53
  181. package/dist/esm/eventListeners/segmentation/segmentationDataModifiedEventListener.js.map +1 -1
  182. package/dist/esm/init.js +3 -1
  183. package/dist/esm/init.js.map +1 -1
  184. package/dist/esm/stateManagement/annotation/helpers/state.js +19 -1
  185. package/dist/esm/stateManagement/annotation/helpers/state.js.map +1 -1
  186. package/dist/esm/store/ToolGroupManager/ToolGroup.js +3 -0
  187. package/dist/esm/store/ToolGroupManager/ToolGroup.js.map +1 -1
  188. package/dist/esm/store/addTool.js +4 -0
  189. package/dist/esm/store/addTool.js.map +1 -1
  190. package/dist/esm/store/index.js +2 -2
  191. package/dist/esm/store/index.js.map +1 -1
  192. package/dist/esm/store/removeEnabledElement.js +1 -2
  193. package/dist/esm/store/removeEnabledElement.js.map +1 -1
  194. package/dist/esm/tools/AdvancedMagnifyTool.js +4 -11
  195. package/dist/esm/tools/AdvancedMagnifyTool.js.map +1 -1
  196. package/dist/esm/tools/annotation/AngleTool.js +6 -19
  197. package/dist/esm/tools/annotation/AngleTool.js.map +1 -1
  198. package/dist/esm/tools/annotation/ArrowAnnotateTool.js +10 -29
  199. package/dist/esm/tools/annotation/ArrowAnnotateTool.js.map +1 -1
  200. package/dist/esm/tools/annotation/BidirectionalTool.js +8 -23
  201. package/dist/esm/tools/annotation/BidirectionalTool.js.map +1 -1
  202. package/dist/esm/tools/annotation/CircleROITool.js +8 -23
  203. package/dist/esm/tools/annotation/CircleROITool.js.map +1 -1
  204. package/dist/esm/tools/annotation/CobbAngleTool.js +6 -19
  205. package/dist/esm/tools/annotation/CobbAngleTool.js.map +1 -1
  206. package/dist/esm/tools/annotation/EllipticalROITool.js +8 -23
  207. package/dist/esm/tools/annotation/EllipticalROITool.js.map +1 -1
  208. package/dist/esm/tools/annotation/KeyImageTool.js +6 -13
  209. package/dist/esm/tools/annotation/KeyImageTool.js.map +1 -1
  210. package/dist/esm/tools/annotation/LengthTool.js +6 -19
  211. package/dist/esm/tools/annotation/LengthTool.js.map +1 -1
  212. package/dist/esm/tools/annotation/LivewireContourTool.js +31 -23
  213. package/dist/esm/tools/annotation/LivewireContourTool.js.map +1 -1
  214. package/dist/esm/tools/annotation/PlanarFreehandContourSegmentationTool.js +11 -0
  215. package/dist/esm/tools/annotation/PlanarFreehandContourSegmentationTool.js.map +1 -1
  216. package/dist/esm/tools/annotation/PlanarFreehandROITool.js +7 -23
  217. package/dist/esm/tools/annotation/PlanarFreehandROITool.js.map +1 -1
  218. package/dist/esm/tools/annotation/ProbeTool.js +9 -24
  219. package/dist/esm/tools/annotation/ProbeTool.js.map +1 -1
  220. package/dist/esm/tools/annotation/RectangleROITool.js +9 -23
  221. package/dist/esm/tools/annotation/RectangleROITool.js.map +1 -1
  222. package/dist/esm/tools/annotation/SplineROITool.js +26 -9
  223. package/dist/esm/tools/annotation/SplineROITool.js.map +1 -1
  224. package/dist/esm/tools/annotation/UltrasoundDirectionalTool.js +6 -19
  225. package/dist/esm/tools/annotation/UltrasoundDirectionalTool.js.map +1 -1
  226. package/dist/esm/tools/annotation/planarFreehandROITool/closedContourEditLoop.js +7 -6
  227. package/dist/esm/tools/annotation/planarFreehandROITool/closedContourEditLoop.js.map +1 -1
  228. package/dist/esm/tools/annotation/planarFreehandROITool/drawLoop.js +8 -5
  229. package/dist/esm/tools/annotation/planarFreehandROITool/drawLoop.js.map +1 -1
  230. package/dist/esm/tools/annotation/planarFreehandROITool/editLoopCommon.js +8 -8
  231. package/dist/esm/tools/annotation/planarFreehandROITool/editLoopCommon.js.map +1 -1
  232. package/dist/esm/tools/annotation/planarFreehandROITool/openContourEditLoop.js +6 -5
  233. package/dist/esm/tools/annotation/planarFreehandROITool/openContourEditLoop.js.map +1 -1
  234. package/dist/esm/tools/base/ContourBaseTool.js.map +1 -1
  235. package/dist/esm/tools/base/ContourSegmentationBaseTool.js +13 -1
  236. package/dist/esm/tools/base/ContourSegmentationBaseTool.js.map +1 -1
  237. package/dist/esm/tools/segmentation/RectangleROIStartEndThresholdTool.js +4 -10
  238. package/dist/esm/tools/segmentation/RectangleROIStartEndThresholdTool.js.map +1 -1
  239. package/dist/esm/tools/segmentation/RectangleROIThresholdTool.js +4 -10
  240. package/dist/esm/tools/segmentation/RectangleROIThresholdTool.js.map +1 -1
  241. package/dist/esm/types/AnnotationRenderContext.js +2 -0
  242. package/dist/esm/types/AnnotationRenderContext.js.map +1 -0
  243. package/dist/esm/utilities/contourSegmentation/areSameSegment.js +9 -0
  244. package/dist/esm/utilities/contourSegmentation/areSameSegment.js.map +1 -0
  245. package/dist/esm/utilities/contourSegmentation/index.js +3 -0
  246. package/dist/esm/utilities/contourSegmentation/index.js.map +1 -0
  247. package/dist/esm/utilities/contourSegmentation/isContourSegmentationAnnotation.js +4 -0
  248. package/dist/esm/utilities/contourSegmentation/isContourSegmentationAnnotation.js.map +1 -0
  249. package/dist/esm/utilities/contours/areCoplanarContours.js +16 -0
  250. package/dist/esm/utilities/contours/areCoplanarContours.js.map +1 -0
  251. package/dist/esm/utilities/contours/index.js +2 -1
  252. package/dist/esm/utilities/contours/index.js.map +1 -1
  253. package/dist/esm/utilities/contours/reverseIfAntiClockwise.js +3 -22
  254. package/dist/esm/utilities/contours/reverseIfAntiClockwise.js.map +1 -1
  255. package/dist/esm/utilities/math/aabb/index.js +1 -0
  256. package/dist/esm/utilities/math/aabb/index.js.map +1 -1
  257. package/dist/esm/utilities/math/aabb/intersectAABB.js +7 -0
  258. package/dist/esm/utilities/math/aabb/intersectAABB.js.map +1 -0
  259. package/dist/esm/utilities/math/point/distanceToPointSquared.js +4 -1
  260. package/dist/esm/utilities/math/point/distanceToPointSquared.js.map +1 -1
  261. package/dist/esm/utilities/math/polyline/areLineSegmentsIntersecting.js +56 -0
  262. package/dist/esm/utilities/math/polyline/areLineSegmentsIntersecting.js.map +1 -0
  263. package/dist/esm/utilities/math/polyline/combinePolyline.js +187 -0
  264. package/dist/esm/utilities/math/polyline/combinePolyline.js.map +1 -0
  265. package/dist/esm/utilities/math/polyline/containsPoint.js +30 -0
  266. package/dist/esm/utilities/math/polyline/containsPoint.js.map +1 -0
  267. package/dist/esm/utilities/math/polyline/getAABB.js +15 -0
  268. package/dist/esm/utilities/math/polyline/getAABB.js.map +1 -0
  269. package/dist/esm/utilities/math/polyline/{calculateAreaOfPoints.js → getArea.js} +2 -2
  270. package/dist/esm/utilities/math/polyline/getArea.js.map +1 -0
  271. package/dist/esm/utilities/math/polyline/getClosestLineSegmentIntersection.js +45 -0
  272. package/dist/esm/utilities/math/polyline/getClosestLineSegmentIntersection.js.map +1 -0
  273. package/dist/esm/utilities/math/polyline/getFirstLineSegmentIntersectionIndexes.js +22 -0
  274. package/dist/esm/utilities/math/polyline/getFirstLineSegmentIntersectionIndexes.js.map +1 -0
  275. package/dist/esm/utilities/math/polyline/getLineSegmentIntersectionsCoordinates.js +14 -0
  276. package/dist/esm/utilities/math/polyline/getLineSegmentIntersectionsCoordinates.js.map +1 -0
  277. package/dist/esm/utilities/math/polyline/getLineSegmentIntersectionsIndexes.js +16 -0
  278. package/dist/esm/utilities/math/polyline/getLineSegmentIntersectionsIndexes.js.map +1 -0
  279. package/dist/esm/utilities/math/polyline/getLineSegmentsIntersection.js +18 -0
  280. package/dist/esm/utilities/math/polyline/getLineSegmentsIntersection.js.map +1 -0
  281. package/dist/esm/utilities/math/polyline/getNormal2.js +6 -0
  282. package/dist/esm/utilities/math/polyline/getNormal2.js.map +1 -0
  283. package/dist/esm/utilities/math/polyline/getNormal3.js +26 -0
  284. package/dist/esm/utilities/math/polyline/getNormal3.js.map +1 -0
  285. package/dist/esm/utilities/math/polyline/getSignedArea.js +17 -0
  286. package/dist/esm/utilities/math/polyline/getSignedArea.js.map +1 -0
  287. package/dist/esm/utilities/math/polyline/index.js +14 -3
  288. package/dist/esm/utilities/math/polyline/index.js.map +1 -1
  289. package/dist/esm/utilities/math/polyline/intersectPolyline.js +14 -0
  290. package/dist/esm/utilities/math/polyline/intersectPolyline.js.map +1 -0
  291. package/dist/esm/utilities/math/polyline/isClosed.js +13 -0
  292. package/dist/esm/utilities/math/polyline/isClosed.js.map +1 -0
  293. package/dist/types/eventListeners/annotations/annotationCompletedListener.d.ts +3 -0
  294. package/dist/types/eventListeners/annotations/annotationCompletedListener.d.ts.map +1 -0
  295. package/dist/types/eventListeners/annotations/contourSegmentation/contourSegmentationCompleted.d.ts +3 -0
  296. package/dist/types/eventListeners/annotations/contourSegmentation/contourSegmentationCompleted.d.ts.map +1 -0
  297. package/dist/types/eventListeners/annotations/contourSegmentation/index.d.ts +2 -0
  298. package/dist/types/eventListeners/annotations/contourSegmentation/index.d.ts.map +1 -0
  299. package/dist/types/eventListeners/annotations/index.d.ts +2 -1
  300. package/dist/types/eventListeners/annotations/index.d.ts.map +1 -1
  301. package/dist/types/eventListeners/index.d.ts +2 -2
  302. package/dist/types/eventListeners/index.d.ts.map +1 -1
  303. package/dist/types/eventListeners/segmentation/labelmap/onLabelmapSegmentationDataModified.d.ts +4 -0
  304. package/dist/types/eventListeners/segmentation/labelmap/onLabelmapSegmentationDataModified.d.ts.map +1 -0
  305. package/dist/types/eventListeners/segmentation/segmentationDataModifiedEventListener.d.ts.map +1 -1
  306. package/dist/types/init.d.ts.map +1 -1
  307. package/dist/types/stateManagement/annotation/helpers/state.d.ts +3 -1
  308. package/dist/types/stateManagement/annotation/helpers/state.d.ts.map +1 -1
  309. package/dist/types/store/ToolGroupManager/ToolGroup.d.ts +1 -0
  310. package/dist/types/store/ToolGroupManager/ToolGroup.d.ts.map +1 -1
  311. package/dist/types/store/addTool.d.ts +1 -0
  312. package/dist/types/store/addTool.d.ts.map +1 -1
  313. package/dist/types/store/index.d.ts +2 -2
  314. package/dist/types/store/index.d.ts.map +1 -1
  315. package/dist/types/store/removeEnabledElement.d.ts.map +1 -1
  316. package/dist/types/tools/AdvancedMagnifyTool.d.ts.map +1 -1
  317. package/dist/types/tools/annotation/AngleTool.d.ts.map +1 -1
  318. package/dist/types/tools/annotation/ArrowAnnotateTool.d.ts.map +1 -1
  319. package/dist/types/tools/annotation/BidirectionalTool.d.ts.map +1 -1
  320. package/dist/types/tools/annotation/CircleROITool.d.ts.map +1 -1
  321. package/dist/types/tools/annotation/CobbAngleTool.d.ts.map +1 -1
  322. package/dist/types/tools/annotation/EllipticalROITool.d.ts.map +1 -1
  323. package/dist/types/tools/annotation/KeyImageTool.d.ts.map +1 -1
  324. package/dist/types/tools/annotation/LengthTool.d.ts.map +1 -1
  325. package/dist/types/tools/annotation/LivewireContourTool.d.ts +4 -1
  326. package/dist/types/tools/annotation/LivewireContourTool.d.ts.map +1 -1
  327. package/dist/types/tools/annotation/PlanarFreehandContourSegmentationTool.d.ts +2 -1
  328. package/dist/types/tools/annotation/PlanarFreehandContourSegmentationTool.d.ts.map +1 -1
  329. package/dist/types/tools/annotation/PlanarFreehandROITool.d.ts +2 -10
  330. package/dist/types/tools/annotation/PlanarFreehandROITool.d.ts.map +1 -1
  331. package/dist/types/tools/annotation/ProbeTool.d.ts.map +1 -1
  332. package/dist/types/tools/annotation/RectangleROITool.d.ts.map +1 -1
  333. package/dist/types/tools/annotation/SplineROITool.d.ts +8 -9
  334. package/dist/types/tools/annotation/SplineROITool.d.ts.map +1 -1
  335. package/dist/types/tools/annotation/UltrasoundDirectionalTool.d.ts.map +1 -1
  336. package/dist/types/tools/annotation/planarFreehandROITool/closedContourEditLoop.d.ts.map +1 -1
  337. package/dist/types/tools/annotation/planarFreehandROITool/drawLoop.d.ts.map +1 -1
  338. package/dist/types/tools/annotation/planarFreehandROITool/editLoopCommon.d.ts.map +1 -1
  339. package/dist/types/tools/annotation/planarFreehandROITool/openContourEditLoop.d.ts.map +1 -1
  340. package/dist/types/tools/base/ContourBaseTool.d.ts +2 -8
  341. package/dist/types/tools/base/ContourBaseTool.d.ts.map +1 -1
  342. package/dist/types/tools/base/ContourSegmentationBaseTool.d.ts +3 -2
  343. package/dist/types/tools/base/ContourSegmentationBaseTool.d.ts.map +1 -1
  344. package/dist/types/tools/segmentation/RectangleROIStartEndThresholdTool.d.ts.map +1 -1
  345. package/dist/types/tools/segmentation/RectangleROIThresholdTool.d.ts.map +1 -1
  346. package/dist/types/types/AnnotationRenderContext.d.ts +12 -0
  347. package/dist/types/types/AnnotationRenderContext.d.ts.map +1 -0
  348. package/dist/types/types/IToolGroup.d.ts +2 -1
  349. package/dist/types/types/IToolGroup.d.ts.map +1 -1
  350. package/dist/types/types/index.d.ts +2 -1
  351. package/dist/types/types/index.d.ts.map +1 -1
  352. package/dist/types/utilities/contourSegmentation/areSameSegment.d.ts +3 -0
  353. package/dist/types/utilities/contourSegmentation/areSameSegment.d.ts.map +1 -0
  354. package/dist/types/utilities/contourSegmentation/index.d.ts +3 -0
  355. package/dist/types/utilities/contourSegmentation/index.d.ts.map +1 -0
  356. package/dist/types/utilities/contourSegmentation/isContourSegmentationAnnotation.d.ts +4 -0
  357. package/dist/types/utilities/contourSegmentation/isContourSegmentationAnnotation.d.ts.map +1 -0
  358. package/dist/types/utilities/contours/areCoplanarContours.d.ts +3 -0
  359. package/dist/types/utilities/contours/areCoplanarContours.d.ts.map +1 -0
  360. package/dist/types/utilities/contours/index.d.ts +2 -1
  361. package/dist/types/utilities/contours/index.d.ts.map +1 -1
  362. package/dist/types/utilities/contours/reverseIfAntiClockwise.d.ts.map +1 -1
  363. package/dist/types/utilities/math/aabb/index.d.ts +1 -0
  364. package/dist/types/utilities/math/aabb/index.d.ts.map +1 -1
  365. package/dist/types/utilities/math/aabb/intersectAABB.d.ts +3 -0
  366. package/dist/types/utilities/math/aabb/intersectAABB.d.ts.map +1 -0
  367. package/dist/types/utilities/math/point/distanceToPointSquared.d.ts.map +1 -1
  368. package/dist/types/utilities/math/polyline/areLineSegmentsIntersecting.d.ts +3 -0
  369. package/dist/types/utilities/math/polyline/areLineSegmentsIntersecting.d.ts.map +1 -0
  370. package/dist/types/utilities/math/polyline/combinePolyline.d.ts +5 -0
  371. package/dist/types/utilities/math/polyline/combinePolyline.d.ts.map +1 -0
  372. package/dist/types/utilities/math/polyline/containsPoint.d.ts +3 -0
  373. package/dist/types/utilities/math/polyline/containsPoint.d.ts.map +1 -0
  374. package/dist/types/utilities/math/polyline/getAABB.d.ts +3 -0
  375. package/dist/types/utilities/math/polyline/getAABB.d.ts.map +1 -0
  376. package/dist/types/utilities/math/polyline/getArea.d.ts +3 -0
  377. package/dist/types/utilities/math/polyline/getArea.d.ts.map +1 -0
  378. package/dist/types/utilities/math/polyline/getClosestLineSegmentIntersection.d.ts +6 -0
  379. package/dist/types/utilities/math/polyline/getClosestLineSegmentIntersection.d.ts.map +1 -0
  380. package/dist/types/utilities/math/polyline/getFirstLineSegmentIntersectionIndexes.d.ts +3 -0
  381. package/dist/types/utilities/math/polyline/getFirstLineSegmentIntersectionIndexes.d.ts.map +1 -0
  382. package/dist/types/utilities/math/polyline/getLineSegmentIntersectionsCoordinates.d.ts +3 -0
  383. package/dist/types/utilities/math/polyline/getLineSegmentIntersectionsCoordinates.d.ts.map +1 -0
  384. package/dist/types/utilities/math/polyline/getLineSegmentIntersectionsIndexes.d.ts +3 -0
  385. package/dist/types/utilities/math/polyline/getLineSegmentIntersectionsIndexes.d.ts.map +1 -0
  386. package/dist/types/utilities/math/polyline/getLineSegmentsIntersection.d.ts +3 -0
  387. package/dist/types/utilities/math/polyline/getLineSegmentsIntersection.d.ts.map +1 -0
  388. package/dist/types/utilities/math/polyline/getNormal2.d.ts +3 -0
  389. package/dist/types/utilities/math/polyline/getNormal2.d.ts.map +1 -0
  390. package/dist/types/utilities/math/polyline/getNormal3.d.ts +3 -0
  391. package/dist/types/utilities/math/polyline/getNormal3.d.ts.map +1 -0
  392. package/dist/types/utilities/math/polyline/getSignedArea.d.ts +3 -0
  393. package/dist/types/utilities/math/polyline/getSignedArea.d.ts.map +1 -0
  394. package/dist/types/utilities/math/polyline/index.d.ts +14 -3
  395. package/dist/types/utilities/math/polyline/index.d.ts.map +1 -1
  396. package/dist/types/utilities/math/polyline/intersectPolyline.d.ts +3 -0
  397. package/dist/types/utilities/math/polyline/intersectPolyline.d.ts.map +1 -0
  398. package/dist/types/utilities/math/polyline/isClosed.d.ts +3 -0
  399. package/dist/types/utilities/math/polyline/isClosed.d.ts.map +1 -0
  400. package/dist/umd/index.js +1 -2
  401. package/dist/umd/index.js.map +1 -1
  402. package/package.json +3 -3
  403. package/src/eventListeners/annotations/annotationCompletedListener.ts +13 -0
  404. package/src/eventListeners/annotations/contourSegmentation/contourSegmentationCompleted.ts +273 -0
  405. package/src/eventListeners/annotations/contourSegmentation/index.ts +1 -0
  406. package/src/eventListeners/annotations/index.ts +6 -1
  407. package/src/eventListeners/index.ts +2 -0
  408. package/src/eventListeners/segmentation/labelmap/onLabelmapSegmentationDataModified.ts +117 -0
  409. package/src/eventListeners/segmentation/segmentationDataModifiedEventListener.ts +5 -99
  410. package/src/init.ts +12 -1
  411. package/src/stateManagement/annotation/helpers/state.ts +42 -2
  412. package/src/store/ToolGroupManager/ToolGroup.ts +10 -0
  413. package/src/store/addTool.ts +11 -0
  414. package/src/store/index.ts +2 -1
  415. package/src/store/removeEnabledElement.ts +2 -1
  416. package/src/tools/AdvancedMagnifyTool.ts +4 -21
  417. package/src/tools/annotation/AngleTool.ts +8 -32
  418. package/src/tools/annotation/ArrowAnnotateTool.ts +12 -45
  419. package/src/tools/annotation/BidirectionalTool.ts +11 -39
  420. package/src/tools/annotation/CircleROITool.ts +10 -34
  421. package/src/tools/annotation/CobbAngleTool.ts +9 -32
  422. package/src/tools/annotation/EllipticalROITool.ts +10 -34
  423. package/src/tools/annotation/KeyImageTool.ts +9 -23
  424. package/src/tools/annotation/LengthTool.ts +9 -33
  425. package/src/tools/annotation/LivewireContourTool.ts +58 -33
  426. package/src/tools/annotation/PlanarFreehandContourSegmentationTool.ts +22 -1
  427. package/src/tools/annotation/PlanarFreehandROITool.ts +10 -53
  428. package/src/tools/annotation/ProbeTool.ts +11 -36
  429. package/src/tools/annotation/RectangleROITool.ts +11 -33
  430. package/src/tools/annotation/SplineROITool.ts +53 -24
  431. package/src/tools/annotation/UltrasoundDirectionalTool.ts +8 -29
  432. package/src/tools/annotation/planarFreehandROITool/closedContourEditLoop.ts +9 -11
  433. package/src/tools/annotation/planarFreehandROITool/drawLoop.ts +8 -5
  434. package/src/tools/annotation/planarFreehandROITool/editLoopCommon.ts +9 -8
  435. package/src/tools/annotation/planarFreehandROITool/openContourEditLoop.ts +7 -6
  436. package/src/tools/base/ContourBaseTool.ts +5 -8
  437. package/src/tools/base/ContourSegmentationBaseTool.ts +29 -6
  438. package/src/tools/segmentation/RectangleROIStartEndThresholdTool.ts +3 -13
  439. package/src/tools/segmentation/RectangleROIThresholdTool.ts +3 -14
  440. package/src/types/AnnotationRenderContext.ts +13 -0
  441. package/src/types/IToolGroup.ts +3 -1
  442. package/src/types/index.ts +3 -0
  443. package/src/utilities/contourSegmentation/areSameSegment.ts +24 -0
  444. package/src/utilities/contourSegmentation/index.ts +2 -0
  445. package/src/utilities/contourSegmentation/isContourSegmentationAnnotation.ts +8 -0
  446. package/src/utilities/contours/areCoplanarContours.ts +39 -0
  447. package/src/utilities/contours/index.ts +2 -0
  448. package/src/utilities/contours/reverseIfAntiClockwise.ts +6 -25
  449. package/src/utilities/math/aabb/index.ts +1 -0
  450. package/src/utilities/math/aabb/intersectAABB.ts +19 -0
  451. package/src/utilities/math/point/distanceToPointSquared.ts +6 -1
  452. package/src/utilities/math/polyline/areLineSegmentsIntersecting.ts +118 -0
  453. package/src/utilities/math/polyline/combinePolyline.ts +350 -0
  454. package/src/utilities/math/polyline/containsPoint.ts +63 -0
  455. package/src/utilities/math/polyline/getAABB.ts +20 -0
  456. package/src/utilities/math/polyline/{calculateAreaOfPoints.ts → getArea.ts} +1 -1
  457. package/src/utilities/math/polyline/getClosestLineSegmentIntersection.ts +72 -0
  458. package/src/utilities/math/polyline/getFirstLineSegmentIntersectionIndexes.ts +42 -0
  459. package/src/utilities/math/polyline/getLineSegmentIntersectionsCoordinates.ts +30 -0
  460. package/src/utilities/math/polyline/getLineSegmentIntersectionsIndexes.ts +35 -0
  461. package/src/utilities/math/polyline/getLineSegmentsIntersection.ts +47 -0
  462. package/src/utilities/math/polyline/getNormal2.ts +17 -0
  463. package/src/utilities/math/polyline/getNormal3.ts +53 -0
  464. package/src/utilities/math/polyline/getSignedArea.ts +47 -0
  465. package/src/utilities/math/polyline/index.ts +27 -8
  466. package/src/utilities/math/polyline/intersectPolyline.ts +34 -0
  467. package/src/utilities/math/polyline/isClosed.ts +26 -0
  468. package/dist/cjs/utilities/math/polyline/calculateAreaOfPoints.d.ts +0 -2
  469. package/dist/cjs/utilities/math/polyline/calculateAreaOfPoints.js.map +0 -1
  470. package/dist/cjs/utilities/math/polyline/getIntersectionWithPolyline.d.ts +0 -9
  471. package/dist/cjs/utilities/math/polyline/getIntersectionWithPolyline.js +0 -160
  472. package/dist/cjs/utilities/math/polyline/getIntersectionWithPolyline.js.map +0 -1
  473. package/dist/cjs/utilities/math/polyline/pointInPolyline.d.ts +0 -2
  474. package/dist/cjs/utilities/math/polyline/pointInPolyline.js +0 -15
  475. package/dist/cjs/utilities/math/polyline/pointInPolyline.js.map +0 -1
  476. package/dist/esm/utilities/math/polyline/calculateAreaOfPoints.js.map +0 -1
  477. package/dist/esm/utilities/math/polyline/getIntersectionWithPolyline.js +0 -154
  478. package/dist/esm/utilities/math/polyline/getIntersectionWithPolyline.js.map +0 -1
  479. package/dist/esm/utilities/math/polyline/pointInPolyline.js +0 -12
  480. package/dist/esm/utilities/math/polyline/pointInPolyline.js.map +0 -1
  481. package/dist/types/utilities/math/polyline/calculateAreaOfPoints.d.ts +0 -3
  482. package/dist/types/utilities/math/polyline/calculateAreaOfPoints.d.ts.map +0 -1
  483. package/dist/types/utilities/math/polyline/getIntersectionWithPolyline.d.ts +0 -10
  484. package/dist/types/utilities/math/polyline/getIntersectionWithPolyline.d.ts.map +0 -1
  485. package/dist/types/utilities/math/polyline/pointInPolyline.d.ts +0 -3
  486. package/dist/types/utilities/math/polyline/pointInPolyline.d.ts.map +0 -1
  487. package/dist/umd/index.js.LICENSE.txt +0 -6
  488. package/src/utilities/math/polyline/getIntersectionWithPolyline.ts +0 -275
  489. package/src/utilities/math/polyline/pointInPolyline.ts +0 -19
@@ -1,5 +1,5 @@
1
1
  import { Events } from '../../enums';
2
- import { getEnabledElement, triggerEvent, eventTarget, utilities as csUtils, } from '@cornerstonejs/core';
2
+ import { getEnabledElement, utilities as csUtils } from '@cornerstonejs/core';
3
3
  import { getCalibratedLengthUnitsAndScale } from '../../utilities/getCalibratedUnits';
4
4
  import { roundNumber } from '../../utilities';
5
5
  import { AnnotationTool } from '../base';
@@ -7,6 +7,7 @@ import throttle from '../../utilities/throttle';
7
7
  import { addAnnotation, getAnnotations, removeAnnotation, } from '../../stateManagement/annotation/annotationState';
8
8
  import { isAnnotationLocked } from '../../stateManagement/annotation/annotationLocking';
9
9
  import { isAnnotationVisible } from '../../stateManagement/annotation/annotationVisibility';
10
+ import { triggerAnnotationCompleted, triggerAnnotationModified, } from '../../stateManagement/annotation/helpers/state';
10
11
  import * as lineSegment from '../../utilities/math/line';
11
12
  import { drawHandles as drawHandlesSvg, drawLine as drawLineSvg, drawLinkedTextBox as drawLinkedTextBoxSvg, } from '../../drawingSvg';
12
13
  import { state } from '../../store';
@@ -140,11 +141,7 @@ class LengthTool extends AnnotationTool {
140
141
  }
141
142
  triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
142
143
  if (newAnnotation) {
143
- const eventType = Events.ANNOTATION_COMPLETED;
144
- const eventDetail = {
145
- annotation,
146
- };
147
- triggerEvent(eventTarget, eventType, eventDetail);
144
+ triggerAnnotationCompleted(annotation);
148
145
  }
149
146
  this.editData = null;
150
147
  this.isDrawing = false;
@@ -201,11 +198,7 @@ class LengthTool extends AnnotationTool {
201
198
  const { renderingEngine } = enabledElement;
202
199
  triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
203
200
  if (newAnnotation) {
204
- const eventType = Events.ANNOTATION_COMPLETED;
205
- const eventDetail = {
206
- annotation,
207
- };
208
- triggerEvent(eventTarget, eventType, eventDetail);
201
+ triggerAnnotationCompleted(annotation);
209
202
  }
210
203
  this.editData = null;
211
204
  return annotation.annotationUID;
@@ -389,7 +382,7 @@ class LengthTool extends AnnotationTool {
389
382
  }
390
383
  _calculateCachedStats(annotation, renderingEngine, enabledElement) {
391
384
  const data = annotation.data;
392
- const { viewportId, renderingEngineId } = enabledElement;
385
+ const { element } = enabledElement.viewport;
393
386
  const worldPos1 = data.handles.points[0];
394
387
  const worldPos2 = data.handles.points[1];
395
388
  const { cachedStats } = data;
@@ -415,13 +408,7 @@ class LengthTool extends AnnotationTool {
415
408
  };
416
409
  }
417
410
  annotation.invalidated = false;
418
- const eventType = Events.ANNOTATION_MODIFIED;
419
- const eventDetail = {
420
- annotation,
421
- viewportId,
422
- renderingEngineId,
423
- };
424
- triggerEvent(eventTarget, eventType, eventDetail);
411
+ triggerAnnotationModified(annotation, element);
425
412
  return cachedStats;
426
413
  }
427
414
  _isInsideVolume(index1, index2, dimensions) {
@@ -1 +1 @@
1
- {"version":3,"file":"LengthTool.js","sourceRoot":"","sources":["../../../../src/tools/annotation/LengthTool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LengthTool.js","sourceRoot":"","sources":["../../../../src/tools/annotation/LengthTool.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { vec3 } from 'gl-matrix';
2
- import { getEnabledElement, eventTarget, triggerEvent, utilities as csUtils, VolumeViewport, } from '@cornerstonejs/core';
2
+ import { getEnabledElement, triggerEvent, eventTarget, utilities as csUtils, VolumeViewport, } from '@cornerstonejs/core';
3
3
  import { removeAnnotation } from '../../stateManagement/annotation/annotationState';
4
4
  import { drawHandles as drawHandlesSvg } from '../../drawingSvg';
5
5
  import { state } from '../../store';
@@ -93,23 +93,41 @@ class LivewireContourTool extends ContourSegmentationBaseTool {
93
93
  reverseIfAntiClockwise(data.handles.points.map(worldToSlice), data.handles.points, data.contour.polyline);
94
94
  }
95
95
  triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
96
- const eventType = newAnnotation
97
- ? Events.ANNOTATION_COMPLETED
98
- : Events.ANNOTATION_MODIFIED;
96
+ const changeType = newAnnotation
97
+ ? ChangeTypes.Completed
98
+ : ChangeTypes.HandlesUpdated;
99
+ this.triggerChangeEvent(annotation, enabledElement, changeType);
100
+ this.editData = null;
101
+ this.scissors = null;
102
+ this.scissorsRight = null;
103
+ this.isDrawing = false;
104
+ };
105
+ this.triggerAnnotationCompleted = (annotation) => {
106
+ const eventType = Events.ANNOTATION_COMPLETED;
107
+ const eventDetail = {
108
+ annotation,
109
+ changeType: ChangeTypes.Completed,
110
+ };
111
+ triggerEvent(eventTarget, eventType, eventDetail);
112
+ };
113
+ this.triggerAnnotationModified = (annotation, enabledElement, changeType = ChangeTypes.StatsUpdated) => {
99
114
  const { viewportId, renderingEngineId } = enabledElement;
100
- const eventDetailModified = {
115
+ const eventType = Events.ANNOTATION_MODIFIED;
116
+ const eventDetail = {
101
117
  annotation,
102
118
  viewportId,
103
119
  renderingEngineId,
104
- changeType: newAnnotation
105
- ? ChangeTypes.Completed
106
- : ChangeTypes.HandlesUpdated,
120
+ changeType,
107
121
  };
108
- triggerEvent(eventTarget, eventType, eventDetailModified);
109
- this.editData = null;
110
- this.scissors = null;
111
- this.scissorsRight = null;
112
- this.isDrawing = false;
122
+ triggerEvent(eventTarget, eventType, eventDetail);
123
+ };
124
+ this.triggerChangeEvent = (annotation, enabledElement, changeType = ChangeTypes.StatsUpdated) => {
125
+ if (changeType === ChangeTypes.Completed) {
126
+ this.triggerAnnotationCompleted(annotation);
127
+ }
128
+ else {
129
+ this.triggerAnnotationModified(annotation, enabledElement, changeType);
130
+ }
113
131
  };
114
132
  this._mouseDownCallback = (evt) => {
115
133
  const doubleClick = evt.type === Events.MOUSE_DOUBLE_CLICK;
@@ -226,16 +244,6 @@ class LivewireContourTool extends ContourSegmentationBaseTool {
226
244
  this.scissors = null;
227
245
  return annotation.annotationUID;
228
246
  };
229
- this.triggerAnnotationModified = (annotation, enabledElement) => {
230
- const { viewportId, renderingEngineId } = enabledElement;
231
- const eventType = Events.ANNOTATION_MODIFIED;
232
- const eventDetail = {
233
- annotation,
234
- viewportId,
235
- renderingEngineId,
236
- };
237
- triggerEvent(eventTarget, eventType, eventDetail);
238
- };
239
247
  this._activateModify = (element) => {
240
248
  state.isInteractingWithTool = true;
241
249
  element.addEventListener(Events.MOUSE_UP, this._endCallback);
@@ -1 +1 @@
1
- {"version":3,"file":"LivewireContourTool.js","sourceRoot":"","sources":["../../../../src/tools/annotation/LivewireContourTool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LivewireContourTool.js","sourceRoot":"","sources":["../../../../src/tools/annotation/LivewireContourTool.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { utilities } from '@cornerstonejs/core';
2
2
  import PlanarFreehandROITool from './PlanarFreehandROITool';
3
+ import { triggerSegmentationDataModified } from '../../stateManagement/segmentation/triggerSegmentationEvents';
3
4
  class PlanarFreehandContourSegmentationTool extends PlanarFreehandROITool {
4
5
  constructor(toolProps) {
5
6
  const initialProps = utilities.deepMerge({
@@ -13,6 +14,16 @@ class PlanarFreehandContourSegmentationTool extends PlanarFreehandROITool {
13
14
  isContourSegmentationTool() {
14
15
  return true;
15
16
  }
17
+ renderAnnotationInstance(renderContext) {
18
+ const { annotation } = renderContext;
19
+ const { invalidated } = annotation;
20
+ const renderResult = super.renderAnnotationInstance(renderContext);
21
+ if (invalidated) {
22
+ const { segmentationId } = (annotation).data.segmentation;
23
+ triggerSegmentationDataModified(segmentationId);
24
+ }
25
+ return renderResult;
26
+ }
16
27
  }
17
28
  PlanarFreehandContourSegmentationTool.toolName =
18
29
  'PlanarFreehandContourSegmentationTool';
@@ -1 +1 @@
1
- {"version":3,"file":"PlanarFreehandContourSegmentationTool.js","sourceRoot":"","sources":["../../../../src/tools/annotation/PlanarFreehandContourSegmentationTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAE5D,MAAM,qCAAsC,SAAQ,qBAAqB;IAGvE,YAAY,SAA0B;QACpC,MAAM,YAAY,GAAG,SAAS,CAAC,SAAS,CACtC;YACE,aAAa,EAAE;gBACb,cAAc,EAAE,KAAK;gBAMrB,iBAAiB,EAAE,KAAK;aACzB;SACF,EACD,SAAS,CACV,CAAC;QAEF,KAAK,CAAC,YAAY,CAAC,CAAC;IACtB,CAAC;IAES,yBAAyB;QAEjC,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED,qCAAqC,CAAC,QAAQ;IAC5C,uCAAuC,CAAC;AAE1C,eAAe,qCAAqC,CAAC"}
1
+ {"version":3,"file":"PlanarFreehandContourSegmentationTool.js","sourceRoot":"","sources":["../../../../src/tools/annotation/PlanarFreehandContourSegmentationTool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,+BAA+B,EAAE,MAAM,8DAA8D,CAAC;AAE/G,MAAM,qCAAsC,SAAQ,qBAAqB;IAGvE,YAAY,SAA0B;QACpC,MAAM,YAAY,GAAG,SAAS,CAAC,SAAS,CACtC;YACE,aAAa,EAAE;gBACb,cAAc,EAAE,KAAK;gBAMrB,iBAAiB,EAAE,KAAK;aACzB;SACF,EACD,SAAS,CACV,CAAC;QAEF,KAAK,CAAC,YAAY,CAAC,CAAC;IACtB,CAAC;IAES,yBAAyB;QAEjC,OAAO,IAAI,CAAC;IACd,CAAC;IAES,wBAAwB,CAChC,aAAsC;QAEtC,MAAM,EAAE,UAAU,EAAE,GAAG,aAAa,CAAC;QACrC,MAAM,EAAE,WAAW,EAAE,GAAG,UAAU,CAAC;QACnC,MAAM,YAAY,GAAG,KAAK,CAAC,wBAAwB,CAAC,aAAa,CAAC,CAAC;QAGnE,IAAI,WAAW,EAAE;YACf,MAAM,EAAE,cAAc,EAAE,GAAyC,CAC/D,UAAU,CACV,CAAC,IAAI,CAAC,YAAY,CAAC;YAErB,+BAA+B,CAAC,cAAc,CAAC,CAAC;SACjD;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;CACF;AAED,qCAAqC,CAAC,QAAQ;IAC5C,uCAAuC,CAAC;AAE1C,eAAe,qCAAqC,CAAC"}
@@ -1,8 +1,7 @@
1
- import { CONSTANTS, getEnabledElement, triggerEvent, eventTarget, VolumeViewport, utilities as csUtils, } from '@cornerstonejs/core';
1
+ import { CONSTANTS, getEnabledElement, VolumeViewport, utilities as csUtils, } from '@cornerstonejs/core';
2
2
  import { vec3 } from 'gl-matrix';
3
3
  import { getCalibratedAreaUnits, getCalibratedScale, } from '../../utilities/getCalibratedUnits';
4
4
  import { roundNumber } from '../../utilities';
5
- import { Events } from '../../enums';
6
5
  import { polyline } from '../../utilities/math';
7
6
  import { filterAnnotationsForDisplay } from '../../utilities/planar';
8
7
  import throttle from '../../utilities/throttle';
@@ -14,9 +13,10 @@ import registerClosedContourEditLoop from './planarFreehandROITool/closedContour
14
13
  import registerOpenContourEditLoop from './planarFreehandROITool/openContourEditLoop';
15
14
  import registerOpenContourEndEditLoop from './planarFreehandROITool/openContourEndEditLoop';
16
15
  import registerRenderMethods from './planarFreehandROITool/renderMethods';
16
+ import { triggerAnnotationModified } from '../../stateManagement/annotation/helpers/state';
17
17
  import { drawLinkedTextBox } from '../../drawingSvg';
18
18
  import { getTextBoxCoordsCanvas } from '../../utilities/drawing';
19
- import { getIntersectionCoordinatesWithPolyline } from '../../utilities/math/polyline/getIntersectionWithPolyline';
19
+ import { getLineSegmentIntersectionsCoordinates } from '../../utilities/math/polyline';
20
20
  import pointInShapeCallback from '../../utilities/pointInShapeCallback';
21
21
  import { isViewportPreScaled } from '../../utilities/viewport/isViewportPreScaled';
22
22
  import { getModalityUnit } from '../../utilities/getModalityUnit';
@@ -124,25 +124,9 @@ class PlanarFreehandROITool extends ContourSegmentationBaseTool {
124
124
  this.cancelClosedContourEdit(element);
125
125
  }
126
126
  };
127
- this.triggerAnnotationModified = (annotation, enabledElement) => {
128
- const { viewportId, renderingEngineId } = enabledElement;
129
- const eventType = Events.ANNOTATION_MODIFIED;
130
- const eventDetail = {
131
- annotation,
132
- viewportId,
133
- renderingEngineId,
134
- };
135
- triggerEvent(eventTarget, eventType, eventDetail);
136
- };
137
- this.triggerAnnotationCompleted = (annotation) => {
138
- const eventType = Events.ANNOTATION_COMPLETED;
139
- const eventDetail = {
140
- annotation,
141
- };
142
- triggerEvent(eventTarget, eventType, eventDetail);
143
- };
144
127
  this._calculateCachedStats = (annotation, viewport, renderingEngine, enabledElement) => {
145
128
  const { data } = annotation;
129
+ const { element } = viewport;
146
130
  const { cachedStats } = data;
147
131
  const { polyline: points } = data.contour;
148
132
  const targetIds = Object.keys(cachedStats);
@@ -167,7 +151,7 @@ class PlanarFreehandROITool extends ContourSegmentationBaseTool {
167
151
  const deltaInX = vec3.distance(originalWorldPoint, deltaXPoint);
168
152
  const deltaInY = vec3.distance(originalWorldPoint, deltaYPoint);
169
153
  const scale = getCalibratedScale(image);
170
- let area = polyline.calculateAreaOfPoints(canvasCoordinates) / scale / scale;
154
+ let area = polyline.getArea(canvasCoordinates) / scale / scale;
171
155
  area *= deltaInX * deltaInY;
172
156
  const worldPosIndex = csUtils.transformWorldToIndex(imageData, points[0]);
173
157
  worldPosIndex[0] = Math.floor(worldPosIndex[0]);
@@ -216,7 +200,7 @@ class PlanarFreehandROITool extends ContourSegmentationBaseTool {
216
200
  if (point[1] != curRow) {
217
201
  intersectionCounter = 0;
218
202
  curRow = point[1];
219
- intersections = getIntersectionCoordinatesWithPolyline(canvasCoordinates, point, [canvasPosEnd[0], point[1]]);
203
+ intersections = getLineSegmentIntersectionsCoordinates(canvasCoordinates, point, [canvasPosEnd[0], point[1]]);
220
204
  intersections.sort((function (index) {
221
205
  return function (a, b) {
222
206
  return a[index] === b[index]
@@ -254,7 +238,7 @@ class PlanarFreehandROITool extends ContourSegmentationBaseTool {
254
238
  modalityUnit,
255
239
  };
256
240
  }
257
- this.triggerAnnotationModified(annotation, enabledElement);
241
+ triggerAnnotationModified(annotation, element);
258
242
  annotation.invalidated = false;
259
243
  return cachedStats;
260
244
  };
@@ -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":"AAAA,OAAO,EACL,SAAS,EACT,iBAAiB,EACjB,cAAc,EACd,SAAS,IAAI,OAAO,GACrB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EACL,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,QAAQ,MAAM,0BAA0B,CAAC;AAChD,OAAO,EAAE,8BAA8B,EAAE,MAAM,iCAAiC,CAAC;AACjF,OAAO,qCAAqC,MAAM,uDAAuD,CAAC;AAC1G,OAAO,gBAAgB,MAAM,kCAAkC,CAAC;AAChE,OAAO,sBAAsB,MAAM,wCAAwC,CAAC;AAC5E,OAAO,6BAA6B,MAAM,+CAA+C,CAAC;AAC1F,OAAO,2BAA2B,MAAM,6CAA6C,CAAC;AACtF,OAAO,8BAA8B,MAAM,gDAAgD,CAAC;AAC5F,OAAO,qBAAqB,MAAM,uCAAuC,CAAC;AAY1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,gDAAgD,CAAC;AAC3F,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAGjE,OAAO,EAAE,sCAAsC,EAAE,MAAM,+BAA+B,CAAC;AACvF,OAAO,oBAAoB,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,2BAA2B,MAAM,qCAAqC,CAAC;AAE9E,MAAM,EAAE,qBAAqB,EAAE,GAAG,QAAQ,CAAC;AAC3C,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC;AAE9B,MAAM,kBAAkB,GAAG,CAAC,GAAG,OAAO,CAAC;AA+DvC,MAAM,qBAAsB,SAAQ,2BAA2B;IAyD7D,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,8BAA8B,EAAE;gBAG9B,OAAO,EAAE,KAAK;gBAEd,MAAM,EAAE,CAAC;aACV;YACD,iBAAiB,EAAE,IAAI;YAEvB,qBAAqB,EAAE,EAAE;YAGzB,gCAAgC,EAAE,CAAC;YAInC,aAAa,EAAE,IAAI;YAOnB,kBAAkB,EAAE,CAAC;YAMrB,SAAS,EAAE;gBACT,WAAW,EAAE,KAAK;gBAClB,YAAY,EAAE,KAAK;gBACnB,yBAAyB,EAAE,EAAE;gBAC7B,0BAA0B,EAAE,EAAE;aAC/B;YAQD,aAAa,EAAE;gBACb,OAAO,EAAE,KAAK;gBAGd,uBAAuB,EAAE,IAAI;aAC9B;YACD,cAAc,EAAE,KAAK;YACrB,YAAY,EAAE,mBAAmB;YACjC,eAAe,EAAE,oBAAoB;SACtC;KACF;QAED,KAAK,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;QA/GrC,cAAS,GAAG,KAAK,CAAC;QAClB,oBAAe,GAAG,KAAK,CAAC;QACxB,kBAAa,GAAG,KAAK,CAAC;QAsItB,qBAAgB,GAAG,CACjB,GAAoC,EACP,EAAE;YAC/B,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC;YAC/B,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;YAChC,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAClD,MAAM,EAAE,eAAe,EAAE,GAAG,cAAc,CAAC;YAE3C,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CACtC,GAAG,CAC2B,CAAC;YAEjC,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAExC,MAAM,mBAAmB,GAAG,8BAA8B,CACxD,OAAO,EACP,IAAI,CAAC,WAAW,EAAE,CACnB,CAAC;YAEF,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,UAAU,EAAE,mBAAmB,CAAC,CAAC;YACxD,GAAG,CAAC,cAAc,EAAE,CAAC;YACrB,qCAAqC,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;YAE5E,OAAO,UAAU,CAAC;QACpB,CAAC,CAAC;QAWF,2BAAsB,GAAG,CACvB,GAAoC,EACpC,UAAuC,EACvC,MAAkB,EACZ,EAAE;YACR,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC;YAC/B,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;YAEhC,MAAM,mBAAmB,GAAG,8BAA8B,CACxD,OAAO,EACP,IAAI,CAAC,WAAW,EAAE,CACnB,CAAC;YAEF,IAAI,CAAC,0BAA0B,CAC7B,GAAG,EACH,UAAU,EACV,mBAAmB,EACnB,MAAM,CACP,CAAC;QACJ,CAAC,CAAC;QAKF,yBAAoB,GAAG,CACrB,GAAoC,EACpC,UAAuC,EACjC,EAAE;YACR,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC;YAC/B,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;YAEhC,MAAM,mBAAmB,GAAG,8BAA8B,CACxD,OAAO,EACP,IAAI,CAAC,WAAW,EAAE,CACnB,CAAC;YAEF,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;gBAClC,IAAI,CAAC,yBAAyB,CAAC,GAAG,EAAE,UAAU,EAAE,mBAAmB,CAAC,CAAC;aACtE;iBAAM;gBACL,IAAI,CAAC,uBAAuB,CAAC,GAAG,EAAE,UAAU,EAAE,mBAAmB,CAAC,CAAC;aACpE;QACH,CAAC,CAAC;QAaF,oBAAe,GAAG,CAChB,OAAuB,EACvB,UAAuC,EACvC,YAA0B,EAC1B,SAAiB,EACR,EAAE;YACX,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAClD,MAAM,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC;YAEpC,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;YAIhD,IAAI,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAEtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACtC,MAAM,EAAE,GAAG,aAAa,CAAC;gBACzB,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7C,MAAM,UAAU,GAAG,qBAAqB,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;gBAE1E,IAAI,UAAU,EAAE;oBACd,OAAO,IAAI,CAAC;iBACb;gBAED,aAAa,GAAG,EAAE,CAAC;aACpB;YAED,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;gBAEnC,OAAO,KAAK,CAAC;aACd;YAGD,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YACjD,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YAE/D,OAAO,qBAAqB,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;QACtE,CAAC,CAAC;QAEF,WAAM,GAAG,CAAC,OAAuB,EAAQ,EAAE;YACzC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YACjC,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;YACzC,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;YAE7C,IAAI,SAAS,EAAE;gBACb,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;aAC7B;iBAAM,IAAI,aAAa,EAAE;gBACxB,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;aACrC;iBAAM,IAAI,eAAe,EAAE;gBAC1B,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;aACvC;QACH,CAAC,CAAC;QA+PM,0BAAqB,GAAG,CAC9B,UAAU,EACV,QAAQ,EACR,eAAe,EACf,cAAc,EACd,EAAE;YACF,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC;YAC5B,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC;YAC7B,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;YAC7B,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;YAE1C,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAE3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACzC,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;gBAK/D,IAAI,CAAC,KAAK,EAAE;oBACV,SAAS;iBACV;gBAED,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;gBACtC,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;gBAIvE,MAAM,WAAW,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;gBACzC,MAAM,kBAAkB,GAAG,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;gBAC/D,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC;oBACzC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC;oBAClB,WAAW,CAAC,CAAC,CAAC;iBACf,CAAC,CAAC;gBACH,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC;oBACzC,WAAW,CAAC,CAAC,CAAC;oBACd,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC;iBACnB,CAAC,CAAC;gBAEH,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;gBAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;gBAEhE,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;gBACxC,IAAI,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,iBAAiB,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC;gBAE/D,IAAI,IAAI,QAAQ,GAAG,QAAQ,CAAC;gBAE5B,MAAM,aAAa,GAAG,OAAO,CAAC,qBAAqB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1E,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChD,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChD,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;gBAEhD,IAAI,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;gBAC5B,IAAI,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;gBAE5B,IAAI,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;gBAC5B,IAAI,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;gBAE5B,IAAI,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;gBAC5B,IAAI,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;gBAE5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACtC,MAAM,aAAa,GAAG,OAAO,CAAC,qBAAqB,CACjD,SAAS,EACT,MAAM,CAAC,CAAC,CAAC,CACV,CAAC;oBACF,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;oBAChD,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;oBAChD,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;oBAChD,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;oBACxC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;oBAExC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;oBACxC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;oBAExC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;oBACxC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;iBACzC;gBAGD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;gBACpC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;gBACpC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;gBAEpC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC;gBACjC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC;gBAChC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC;gBACjC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC;gBAChC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC;gBACjC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC;gBAEhC,MAAM,SAAS,GAAG;oBAChB,CAAC,IAAI,EAAE,IAAI,CAAC;oBACZ,CAAC,IAAI,EAAE,IAAI,CAAC;oBACZ,CAAC,IAAI,EAAE,IAAI,CAAC;iBACiC,CAAC;gBAEhD,MAAM,WAAW,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;gBAC/D,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;gBAEzD,IAAI,MAAM,GAAG,CAAC,CAAC;gBACf,IAAI,aAAa,GAAG,EAAE,CAAC;gBACvB,IAAI,mBAAmB,GAAG,CAAC,CAAC;gBAC5B,MAAM,aAAa,GAAG,oBAAoB,CACxC,SAAS,EACT,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE;oBACrB,IAAI,MAAM,GAAG,IAAI,CAAC;oBAClB,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;oBAC/C,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE;wBACtB,mBAAmB,GAAG,CAAC,CAAC;wBACxB,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;wBAClB,aAAa,GAAG,sCAAsC,CACpD,iBAAiB,EACjB,KAAK,EACL,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAC5B,CAAC;wBACF,aAAa,CAAC,IAAI,CAChB,CAAC,UAAU,KAAK;4BACd,OAAO,UAAU,CAAC,EAAE,CAAC;gCACnB,OAAO,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC;oCAC1B,CAAC,CAAC,CAAC;oCACH,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;wCACrB,CAAC,CAAC,CAAC,CAAC;wCACJ,CAAC,CAAC,CAAC,CAAC;4BACR,CAAC,CAAC;wBACJ,CAAC,CAAC,CAAC,CAAC,CAAC,CACN,CAAC;qBACH;oBACD,IAAI,aAAa,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;wBAC1D,aAAa,CAAC,KAAK,EAAE,CAAC;wBACtB,mBAAmB,EAAE,CAAC;qBACvB;oBACD,IAAI,mBAAmB,GAAG,CAAC,KAAK,CAAC,EAAE;wBACjC,MAAM,GAAG,KAAK,CAAC;qBAChB;oBACD,OAAO,MAAM,CAAC;gBAChB,CAAC,EACD,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,aAAa,EAChD,SAAS,CACV,CAAC;gBAEF,MAAM,mBAAmB,GAAG;oBAC1B,WAAW,EAAE,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC;oBACpD,WAAW,EAAE,IAAI,CAAC,WAAW,CAC3B,QAAQ,EACR,QAAQ,EACR,UAAU,CAAC,QAAQ,CAAC,iBAAiB,CACtC;iBACF,CAAC;gBAEF,MAAM,YAAY,GAAG,eAAe,CAClC,QAAQ,CAAC,QAAQ,EACjB,UAAU,CAAC,QAAQ,CAAC,iBAAiB,EACrC,mBAAmB,CACpB,CAAC;gBAEF,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC;gBAEjE,WAAW,CAAC,QAAQ,CAAC,GAAG;oBACtB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;oBAC3B,IAAI;oBACJ,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK;oBACrB,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK;oBACpB,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK;oBACvB,UAAU,EAAE,KAAK;oBACjB,aAAa,EAAE,aAAa;oBAC5B,QAAQ,EAAE,sBAAsB,CAAC,IAAI,EAAE,KAAK,CAAC;oBAC7C,YAAY;iBACb,CAAC;aACH;YAED,yBAAyB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAE/C,UAAU,CAAC,WAAW,GAAG,KAAK,CAAC;YAE/B,OAAO,WAAW,CAAC;QACrB,CAAC,CAAC;QAEM,iBAAY,GAAG,CACrB,UAAU,EACV,QAAQ,EACR,cAAc,EACd,gBAAgB,EAChB,EAAE;YACF,MAAM,EAAE,IAAI,EAAE,GAAgC,UAAU,CAAC;YACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAE5C,MAAM,cAAc,GAAmC;gBACrD,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE;gBAC5B,UAAU,EAAE,cAAc,CAAC,QAAQ,CAAC,EAAE;aACvC,CAAC;YAEF,MAAM,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;YACvE,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;gBACvB,OAAO;aACR;YAED,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAClE,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;gBACxC,OAAO;aACR;YAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACxD,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAC1B,CAAC;YACF,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE;gBAClC,MAAM,mBAAmB,GAAG,sBAAsB,CAAC,iBAAiB,CAAC,CAAC;gBAEtE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa;oBAChC,QAAQ,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;aAC/C;YAED,MAAM,eAAe,GAAG,QAAQ,CAAC,aAAa,CAC5C,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CACnC,CAAC;YAEF,MAAM,UAAU,GAAG,GAAG,CAAC;YACvB,MAAM,WAAW,GAAG,iBAAiB,CACnC,gBAAgB,EAChB,UAAU,CAAC,aAAa,IAAI,EAAE,EAC9B,UAAU,EACV,SAAS,EACT,eAAe,EACf,iBAAiB,EACjB,EAAE,EACF,OAAO,CACR,CAAC;YAEF,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC;YAEvD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAgB,GAAG;gBACtC,OAAO,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAC5C,QAAQ,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC,IAAI,GAAG,KAAK,EAAE,GAAG,CAAC,CAAC;gBACrD,UAAU,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,CAAC,CAAC;gBACxD,WAAW,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC,IAAI,GAAG,KAAK,EAAE,GAAG,GAAG,MAAM,CAAC,CAAC;aAClE,CAAC;QACJ,CAAC,CAAC;QA9oBA,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACvB,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAC7B,6BAA6B,CAAC,IAAI,CAAC,CAAC;QACpC,2BAA2B,CAAC,IAAI,CAAC,CAAC;QAClC,8BAA8B,CAAC,IAAI,CAAC,CAAC;QACrC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAE5B,IAAI,CAAC,8BAA8B,GAAG,QAAQ,CAC5C,IAAI,CAAC,qBAAqB,EAC1B,GAAG,EACH,EAAE,QAAQ,EAAE,IAAI,EAAE,CACnB,CAAC;IACJ,CAAC;IA4JD,uCAAuC,CACrC,OAAuB,EACvB,WAAwB;QAExB,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;YACvC,OAAO;SACR;QAED,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAClD,MAAM,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC;QAEpC,IAAI,oBAAoB,CAAC;QAEzB,IAAI,QAAQ,YAAY,cAAc,EAAE;YACtC,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;YAEpC,MAAM,EAAE,wBAAwB,EAAE,GAChC,OAAO,CAAC,oCAAoC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAGjE,oBAAoB,GAAG,IAAI,CAAC,4BAA4B,CACtD,WAAW,EACX,MAAM,EACN,wBAAwB,CACzB,CAAC;SACH;aAAM;YAGL,oBAAoB,GAAG,2BAA2B,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;SAC3E;QAED,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IAOO,4BAA4B,CAClC,WAAwB,EACxB,MAAqB,EACrB,wBAAgC;QAEhC,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC;QAEnC,MAAM,8BAA8B,GAAG,WAAW,CAAC,MAAM,CACvD,CAAC,EAAc,EAAE,EAAE;YACjB,MAAM,yBAAyB,GAAG,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;YAE9D,MAAM,UAAU,GACd,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,yBAAyB,CAAC,CAAC;gBAC9D,kBAAkB,CAAC;YAErB,OAAO,yBAAyB,IAAI,UAAU,CAAC;QACjD,CAAC,CAC+B,CAAC;QAGnC,IAAI,CAAC,8BAA8B,CAAC,MAAM,EAAE;YAC1C,OAAO,EAAE,CAAC;SACX;QAKD,MAAM,4BAA4B,GAAG,wBAAwB,GAAG,CAAC,CAAC;QAClE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;QAE9B,MAAM,sBAAsB,GAAG,EAAE,CAAC;QAElC,KAAK,MAAM,UAAU,IAAI,8BAA8B,EAAE;YACvD,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;YAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAEvC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE;gBACzB,SAAS;aACV;YASD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAE1B,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;YAEjC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;YAE3C,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,4BAA4B,EAAE;gBAChD,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aACzC;SACF;QAED,OAAO,sBAAsB,CAAC;IAChC,CAAC;IAES,yBAAyB;QAGjC,OAAO,KAAK,CAAC;IACf,CAAC;IAES,gBAAgB,CAAC,GAAoC;QAC7D,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC;QAChD,MAAM,iBAAiB,GAAG,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAEtD,OAAoC,OAAO,CAAC,SAAS,CAAC,iBAAiB,EAAE;YACvE,IAAI,EAAE;gBACJ,OAAO,EAAE;oBACP,QAAQ,EAAE,CAAe,CAAC,GAAG,QAAQ,CAAC,CAAC;iBACxC;gBACD,KAAK,EAAE,EAAE;gBACT,WAAW,EAAE,EAAE;aAChB;SACF,CAAC,CAAC;IACL,CAAC;IAES,kBAAkB,CAAC,OAAO;QAGlC,OAAO,KAAK,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAES,wBAAwB,CAChC,aAAsC;QAEtC,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,gBAAgB,EAAE,eAAe,EAAE,GACnE,aAAa,CAAC;QAChB,MAAM,UAAU,GAAG,aAAa,CAAC,UAAyC,CAAC;QAE3E,IAAI,YAAY,GAAG,KAAK,CAAC;QACzB,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,cAAc,CAAC;QAErD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QACzC,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QAE7C,IAAI,CAAC,CAAC,SAAS,IAAI,aAAa,IAAI,eAAe,CAAC,EAAE;YAGpD,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,gBAAgB,EAAE,UAAU,CAAC,CAAC;SAClE;aAAM;YAIL,MAAM,mBAAmB,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,CAAC;YAErE,IAAI,UAAU,CAAC,aAAa,KAAK,mBAAmB,EAAE;gBACpD,IAAI,SAAS,EAAE;oBACb,IAAI,CAAC,uBAAuB,CAC1B,cAAc,EACd,gBAAgB,EAChB,UAAU,CACX,CAAC;iBACH;qBAAM,IAAI,eAAe,EAAE;oBAC1B,IAAI,CAAC,8BAA8B,CACjC,cAAc,EACd,gBAAgB,EAChB,UAAU,CACX,CAAC;iBACH;qBAAM,IAAI,aAAa,EAAE;oBACxB,IAAI,CAAC,4BAA4B,CAC/B,cAAc,EACd,gBAAgB,EAChB,UAAU,CACX,CAAC;iBACH;qBAAM;oBACL,MAAM,IAAI,KAAK,CACb,WAAW,IAAI,CAAC,WAAW,EAAE,6BAA6B,CAC3D,CAAC;iBACH;aACF;iBAAM;gBACL,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,gBAAgB,EAAE,UAAU,CAAC,CAAC;aAClE;YAGD,YAAY,GAAG,IAAI,CAAC;SACrB;QAED,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE;YACtC,OAAO;SACR;QAED,IAAI,CAAC,uBAAuB,CAC1B,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,eAAe,EACf,cAAc,CACf,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,gBAAgB,CAAC,CAAC;QAE1E,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,uBAAuB,CACrB,UAAuC,EACvC,QAAgB,EAChB,QAAQ,EACR,eAAe,EACf,cAAc;QAEd,MAAM,mBAAmB,GAAG,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,aAAa,CAAC;QAEtE,IACE,UAAU,CAAC,aAAa,KAAK,mBAAmB;YAChD,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,EAC/B;YACA,OAAO;SACR;QAED,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,EAAE;YACnC,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC;YAC5B,IACE,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;gBAC3B,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,QAAQ,IAAI,IAAI,EAC3C;gBACA,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG;oBAC3B,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE,IAAI;oBACV,GAAG,EAAE,IAAI;oBACT,IAAI,EAAE,IAAI;oBACV,MAAM,EAAE,IAAI;oBACZ,QAAQ,EAAE,IAAI;iBACf,CAAC;gBAEF,IAAI,CAAC,qBAAqB,CACxB,UAAU,EACV,QAAQ,EACR,eAAe,EACf,cAAc,CACf,CAAC;aACH;iBAAM,IAAI,UAAU,CAAC,WAAW,EAAE;gBACjC,IAAI,CAAC,8BAA8B,CACjC,UAAU,EACV,QAAQ,EACR,eAAe,EACf,cAAc,CACf,CAAC;aACH;SACF;IACH,CAAC;CAiPF;AAED,SAAS,mBAAmB,CAAC,IAAI,EAAE,QAAQ;IACzC,MAAM,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACrD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,GACpE,iBAAiB,IAAI,EAAE,CAAC;IAE1B,MAAM,SAAS,GAAa,EAAE,CAAC;IAE/B,IAAI,IAAI,EAAE;QACR,MAAM,QAAQ,GAAG,WAAW;YAC1B,CAAC,CAAC,6BAA6B;YAC/B,CAAC,CAAC,SAAS,WAAW,CAAC,IAAI,CAAC,IAAI,QAAQ,EAAE,CAAC;QAC7C,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KAC1B;IAED,IAAI,IAAI,EAAE;QACR,SAAS,CAAC,IAAI,CAAC,SAAS,WAAW,CAAC,IAAI,CAAC,IAAI,YAAY,EAAE,CAAC,CAAC;KAC9D;IAED,IAAI,GAAG,EAAE;QACP,SAAS,CAAC,IAAI,CAAC,QAAQ,WAAW,CAAC,GAAG,CAAC,IAAI,YAAY,EAAE,CAAC,CAAC;KAC5D;IAED,IAAI,MAAM,EAAE;QACV,SAAS,CAAC,IAAI,CAAC,YAAY,WAAW,CAAC,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC,CAAC;KACnE;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,qBAAqB,CAAC,QAAQ,GAAG,mBAAmB,CAAC;AACrD,eAAe,qBAAqB,CAAC"}
@@ -1,7 +1,8 @@
1
1
  import { vec2 } from 'gl-matrix';
2
- import { getEnabledElement, VolumeViewport, triggerEvent, eventTarget, utilities as csUtils, } from '@cornerstonejs/core';
2
+ import { getEnabledElement, VolumeViewport, utilities as csUtils, } from '@cornerstonejs/core';
3
3
  import { AnnotationTool } from '../base';
4
4
  import { addAnnotation, getAnnotations, removeAnnotation, } from '../../stateManagement/annotation/annotationState';
5
+ import { triggerAnnotationCompleted, triggerAnnotationModified, } from '../../stateManagement/annotation/helpers/state';
5
6
  import { getCalibratedProbeUnitsAndValue } from '../../utilities/getCalibratedUnits';
6
7
  import { drawHandles as drawHandlesSvg, drawTextBox as drawTextBoxSvg, } from '../../drawingSvg';
7
8
  import { state } from '../../store';
@@ -67,9 +68,7 @@ class ProbeTool extends AnnotationTool {
67
68
  const eventDetail = evt.detail;
68
69
  const { element } = eventDetail;
69
70
  const { annotation, viewportIdsToRender, newAnnotation } = this.editData;
70
- const enabledElement = getEnabledElement(element);
71
- const { renderingEngine } = enabledElement;
72
- const { viewportId } = enabledElement;
71
+ const { viewportId, renderingEngine } = getEnabledElement(element);
73
72
  this.eventDispatchDetail = {
74
73
  viewportId,
75
74
  renderingEngineId: renderingEngine.id,
@@ -84,11 +83,7 @@ class ProbeTool extends AnnotationTool {
84
83
  }
85
84
  triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
86
85
  if (newAnnotation) {
87
- const eventType = Events.ANNOTATION_COMPLETED;
88
- const eventDetail = {
89
- annotation,
90
- };
91
- triggerEvent(eventTarget, eventType, eventDetail);
86
+ triggerAnnotationCompleted(annotation);
92
87
  }
93
88
  };
94
89
  this._dragCallback = (evt) => {
@@ -113,15 +108,10 @@ class ProbeTool extends AnnotationTool {
113
108
  const { data } = annotation;
114
109
  annotation.highlighted = false;
115
110
  data.handles.activeHandleIndex = null;
116
- const enabledElement = getEnabledElement(element);
117
- const { renderingEngine } = enabledElement;
111
+ const { renderingEngine } = getEnabledElement(element);
118
112
  triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
119
113
  if (newAnnotation) {
120
- const eventType = Events.ANNOTATION_COMPLETED;
121
- const eventDetail = {
122
- annotation,
123
- };
124
- triggerEvent(eventTarget, eventType, eventDetail);
114
+ triggerAnnotationCompleted(annotation);
125
115
  }
126
116
  this.editData = null;
127
117
  return annotation.annotationUID;
@@ -258,7 +248,8 @@ class ProbeTool extends AnnotationTool {
258
248
  }
259
249
  _calculateCachedStats(annotation, renderingEngine, enabledElement) {
260
250
  const data = annotation.data;
261
- const { viewportId, renderingEngineId, viewport } = enabledElement;
251
+ const { renderingEngineId, viewport } = enabledElement;
252
+ const { element } = viewport;
262
253
  const worldPos = data.handles.points[0];
263
254
  const { cachedStats } = data;
264
255
  const targetIds = Object.keys(cachedStats);
@@ -330,13 +321,7 @@ class ProbeTool extends AnnotationTool {
330
321
  };
331
322
  }
332
323
  annotation.invalidated = false;
333
- const eventType = Events.ANNOTATION_MODIFIED;
334
- const eventDetail = {
335
- annotation,
336
- viewportId,
337
- renderingEngineId,
338
- };
339
- triggerEvent(eventTarget, eventType, eventDetail);
324
+ triggerAnnotationModified(annotation, element);
340
325
  }
341
326
  return cachedStats;
342
327
  }