@vertexvis/viewer 0.12.0 → 0.13.0-canary.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (225) hide show
  1. package/dist/cjs/{config-acd7cea9.js → config-90ee43d5.js} +1 -1
  2. package/dist/cjs/{cursors-399a9648.js → cursors-ad2fd395.js} +7 -0
  3. package/dist/cjs/{controller-8cbcdd8d.js → entities-aa59890e.js} +57 -22
  4. package/dist/cjs/{index-cc65325e.js → index-e100709a.js} +64 -3
  5. package/dist/cjs/index.cjs.js +21 -11
  6. package/dist/cjs/loader.cjs.js +2 -2
  7. package/dist/cjs/{model-18ef3363.js → mapper-f6e6cafe.js} +37 -191
  8. package/dist/cjs/model-4ec0c36e.js +134 -0
  9. package/dist/cjs/overlays-8a582edf.js +76 -0
  10. package/dist/cjs/results-bc325974.js +24 -0
  11. package/dist/cjs/{scene-ffee07ee.js → scene-f4040800.js} +1 -1
  12. package/dist/cjs/{stencil-bd453a38.js → stencil-a664cd10.js} +1 -1
  13. package/dist/cjs/{streamAttributes-9d6226ac.js → streamAttributes-d6236448.js} +87 -30
  14. package/dist/cjs/vertex-scene-tree-search_3.cjs.entry.js +2 -2
  15. package/dist/cjs/vertex-scene-tree-table-cell.cjs.entry.js +1 -1
  16. package/dist/cjs/vertex-scene-tree-table-column.cjs.entry.js +1 -1
  17. package/dist/cjs/vertex-scene-tree-table-header.cjs.entry.js +1 -1
  18. package/dist/cjs/vertex-scene-tree-table-resize-divider.cjs.entry.js +1 -1
  19. package/dist/cjs/vertex-scene-tree-toolbar-group.cjs.entry.js +1 -1
  20. package/dist/cjs/vertex-scene-tree.cjs.entry.js +3 -3
  21. package/dist/cjs/vertex-viewer-button_3.cjs.entry.js +1 -1
  22. package/dist/cjs/vertex-viewer-default-toolbar.cjs.entry.js +1 -1
  23. package/dist/cjs/vertex-viewer-dom-element_3.cjs.entry.js +4 -4
  24. package/dist/cjs/vertex-viewer-icon.cjs.entry.js +1 -1
  25. package/dist/cjs/vertex-viewer-layer.cjs.entry.js +1 -1
  26. package/dist/cjs/vertex-viewer-markup-arrow_3.cjs.entry.js +1 -1
  27. package/dist/cjs/vertex-viewer-markup-tool.cjs.entry.js +1 -1
  28. package/dist/cjs/vertex-viewer-markup.cjs.entry.js +1 -1
  29. package/dist/cjs/vertex-viewer-measurement-details.cjs.entry.js +221 -75
  30. package/dist/cjs/{vertex-viewer-measurement-distance_2.cjs.entry.js → vertex-viewer-measurement-distance.cjs.entry.js} +30 -69
  31. package/dist/cjs/vertex-viewer-measurement-line_2.cjs.entry.js +170 -0
  32. package/dist/cjs/vertex-viewer-measurement-precise.cjs.entry.js +163 -55
  33. package/dist/cjs/vertex-viewer-measurement-tool.cjs.entry.js +2 -2
  34. package/dist/cjs/vertex-viewer-measurements.cjs.entry.js +33 -4
  35. package/dist/cjs/vertex-viewer-view-cube.cjs.entry.js +4 -4
  36. package/dist/cjs/vertex-viewer.cjs.entry.js +58 -10
  37. package/dist/cjs/viewer.cjs.js +2 -2
  38. package/dist/cjs/{viewport-51aa05ab.js → viewport-8c39089f.js} +11 -0
  39. package/dist/collection/collection-manifest.json +1 -0
  40. package/dist/collection/components/viewer/viewer.js +2 -2
  41. package/dist/collection/components/viewer-dom-renderer/viewer-dom-renderer.js +2 -2
  42. package/dist/collection/components/viewer-measurement-details/viewer-measurement-details-entry.js +14 -0
  43. package/dist/collection/components/viewer-measurement-details/viewer-measurement-details-results.js +22 -0
  44. package/dist/collection/components/viewer-measurement-details/viewer-measurement-details.css +3 -10
  45. package/dist/collection/components/viewer-measurement-details/viewer-measurement-details.js +125 -188
  46. package/dist/collection/components/viewer-measurement-distance/interactions.js +3 -14
  47. package/dist/collection/components/viewer-measurement-distance/viewer-measurement-distance.js +41 -1
  48. package/dist/collection/components/viewer-measurement-overlays/viewer-measurement-overlays-components.js +30 -0
  49. package/dist/collection/components/viewer-measurement-overlays/viewer-measurement-overlays.css +51 -0
  50. package/dist/collection/components/viewer-measurement-overlays/viewer-measurement-overlays.js +149 -0
  51. package/dist/collection/components/viewer-measurement-precise/viewer-measurement-precise.js +118 -26
  52. package/dist/collection/components/viewer-measurements/viewer-measurements.js +67 -2
  53. package/dist/collection/components/viewer-view-cube/viewer-view-cube.css +21 -3
  54. package/dist/collection/index.js +2 -2
  55. package/dist/collection/lib/cursors.js +7 -1
  56. package/dist/collection/lib/elementRectObserver.js +19 -0
  57. package/dist/collection/lib/interactions/interactionApi.js +53 -4
  58. package/dist/collection/lib/mappers/frameStreaming.js +2 -4
  59. package/dist/collection/lib/measurement/controller.js +21 -17
  60. package/dist/collection/lib/measurement/entities.js +34 -0
  61. package/dist/collection/lib/measurement/index.js +4 -2
  62. package/dist/collection/lib/measurement/interactions.js +74 -28
  63. package/dist/collection/lib/measurement/mapper.js +5 -5
  64. package/dist/collection/lib/measurement/model.js +24 -85
  65. package/dist/collection/lib/measurement/outcomes.js +2 -0
  66. package/dist/collection/lib/measurement/overlays.js +69 -0
  67. package/dist/collection/lib/measurement/results.js +17 -0
  68. package/dist/collection/lib/types/entities.js +5 -1
  69. package/dist/collection/lib/types/featureMap.js +14 -5
  70. package/dist/collection/lib/types/frame.js +3 -3
  71. package/dist/collection/lib/types/measurementUnits.js +7 -7
  72. package/dist/collection/lib/types/viewport.js +12 -1
  73. package/dist/collection/testing/eventually.js +30 -0
  74. package/dist/collection/testing/fixtures.js +11 -4
  75. package/dist/collection/testing/index.js +2 -1
  76. package/dist/custom-elements/index.d.ts +6 -0
  77. package/dist/custom-elements/index.js +851 -287
  78. package/dist/esm/{browser.esm-e6827921.js → browser.esm-59e914f6.js} +1 -1
  79. package/dist/esm/{bundle.esm-8f14ac60.js → bundle.esm-d899b2d5.js} +1 -1
  80. package/dist/esm/{config-a200c227.js → config-604c644e.js} +2 -2
  81. package/dist/esm/{cursors-5157d29d.js → cursors-a7ec4adb.js} +8 -2
  82. package/dist/esm/{dom-2d6a1e1e.js → dom-780d25be.js} +1 -1
  83. package/dist/esm/{controller-a756cf9c.js → entities-759d97cd.js} +52 -18
  84. package/dist/esm/{index-f0053642.js → index-10c1495a.js} +64 -3
  85. package/dist/esm/index.js +13 -11
  86. package/dist/esm/index.mjs +13 -11
  87. package/dist/esm/loader.js +2 -2
  88. package/dist/esm/loader.mjs +2 -2
  89. package/dist/esm/{model-f711a825.js → mapper-4b815e31.js} +37 -190
  90. package/dist/esm/{markup-e46623b3.js → markup-1d177b4a.js} +2 -2
  91. package/dist/esm/{measurement-702d6b8c.js → measurement-12cdbf5c.js} +2 -2
  92. package/dist/esm/model-e5a4f00f.js +132 -0
  93. package/dist/esm/overlays-dbe5d652.js +74 -0
  94. package/dist/esm/{png-decoder-59a0e9c2.js → png-decoder-3f1fa486.js} +1 -1
  95. package/dist/esm/results-994bdb50.js +22 -0
  96. package/dist/esm/{scene-16490983.js → scene-9ac8a484.js} +3 -3
  97. package/dist/esm/{stencil-7d04d41a.js → stencil-9bf7fb9e.js} +1 -1
  98. package/dist/esm/{streamAttributes-7aa486b2.js → streamAttributes-d623bb60.js} +77 -20
  99. package/dist/esm/{utils-8070900a.js → utils-01e4f587.js} +1 -1
  100. package/dist/esm/{utils-953a1619.js → utils-5e57bf24.js} +1 -1
  101. package/dist/esm/vertex-scene-tree-search_3.entry.js +3 -3
  102. package/dist/esm/vertex-scene-tree-table-cell.entry.js +1 -1
  103. package/dist/esm/vertex-scene-tree-table-column.entry.js +1 -1
  104. package/dist/esm/vertex-scene-tree-table-header.entry.js +1 -1
  105. package/dist/esm/vertex-scene-tree-table-resize-divider.entry.js +1 -1
  106. package/dist/esm/vertex-scene-tree-toolbar-group.entry.js +1 -1
  107. package/dist/esm/vertex-scene-tree.entry.js +5 -5
  108. package/dist/esm/vertex-viewer-button_3.entry.js +1 -1
  109. package/dist/esm/vertex-viewer-default-toolbar.entry.js +1 -1
  110. package/dist/esm/vertex-viewer-dom-element_3.entry.js +6 -6
  111. package/dist/esm/vertex-viewer-icon.entry.js +1 -1
  112. package/dist/esm/vertex-viewer-layer.entry.js +1 -1
  113. package/dist/esm/vertex-viewer-markup-arrow_3.entry.js +4 -4
  114. package/dist/esm/vertex-viewer-markup-tool.entry.js +5 -5
  115. package/dist/esm/vertex-viewer-markup.entry.js +5 -5
  116. package/dist/esm/vertex-viewer-measurement-details.entry.js +221 -75
  117. package/dist/esm/{vertex-viewer-measurement-distance_2.entry.js → vertex-viewer-measurement-distance.entry.js} +35 -73
  118. package/dist/esm/vertex-viewer-measurement-line_2.entry.js +165 -0
  119. package/dist/esm/vertex-viewer-measurement-precise.entry.js +160 -52
  120. package/dist/esm/vertex-viewer-measurement-tool.entry.js +6 -6
  121. package/dist/esm/vertex-viewer-measurements.entry.js +36 -7
  122. package/dist/esm/vertex-viewer-view-cube.entry.js +6 -6
  123. package/dist/esm/vertex-viewer.entry.js +61 -13
  124. package/dist/esm/viewer.js +2 -2
  125. package/dist/esm/{viewport-bb7c46d9.js → viewport-01c886ea.js} +12 -1
  126. package/dist/types/components/viewer-dom-renderer/viewer-dom-renderer.d.ts +1 -1
  127. package/dist/types/components/viewer-measurement-details/viewer-measurement-details-entry.d.ts +8 -0
  128. package/dist/types/components/viewer-measurement-details/viewer-measurement-details-results.d.ts +15 -0
  129. package/dist/types/components/viewer-measurement-details/viewer-measurement-details.d.ts +44 -42
  130. package/dist/types/components/viewer-measurement-distance/interactions.d.ts +23 -1
  131. package/dist/types/components/viewer-measurement-distance/viewer-measurement-distance.d.ts +8 -0
  132. package/dist/types/components/viewer-measurement-overlays/viewer-measurement-overlays-components.d.ts +10 -0
  133. package/dist/types/components/viewer-measurement-overlays/viewer-measurement-overlays.d.ts +41 -0
  134. package/dist/types/components/viewer-measurement-precise/viewer-measurement-precise.d.ts +62 -6
  135. package/dist/types/components/viewer-measurements/viewer-measurements.d.ts +12 -0
  136. package/dist/types/components.d.ts +103 -40
  137. package/dist/types/index.d.ts +1 -1
  138. package/dist/types/lib/cursors.d.ts +5 -0
  139. package/dist/types/lib/elementRectObserver.d.ts +8 -0
  140. package/dist/types/lib/interactions/interactionApi.d.ts +32 -5
  141. package/dist/types/lib/measurement/controller.d.ts +8 -7
  142. package/dist/types/lib/measurement/entities.d.ts +10 -0
  143. package/dist/types/lib/measurement/index.d.ts +3 -1
  144. package/dist/types/lib/measurement/interactions.d.ts +19 -5
  145. package/dist/types/lib/measurement/mapper.d.ts +1 -1
  146. package/dist/types/lib/measurement/model.d.ts +18 -153
  147. package/dist/types/lib/measurement/outcomes.d.ts +8 -0
  148. package/dist/types/lib/measurement/overlays.d.ts +38 -0
  149. package/dist/types/lib/measurement/results.d.ts +90 -0
  150. package/dist/types/lib/types/entities.d.ts +5 -1
  151. package/dist/types/lib/types/featureMap.d.ts +2 -2
  152. package/dist/types/lib/types/measurementUnits.d.ts +1 -1
  153. package/dist/types/lib/types/viewport.d.ts +9 -1
  154. package/dist/types/testing/eventually.d.ts +15 -0
  155. package/dist/types/testing/fixtures.d.ts +2 -2
  156. package/dist/types/testing/index.d.ts +1 -0
  157. package/dist/viewer/index.esm.js +1 -1
  158. package/dist/viewer/p-081e6873.js +4 -0
  159. package/dist/viewer/{p-5d82c131.entry.js → p-099fe6ca.entry.js} +1 -1
  160. package/dist/viewer/{p-784914e4.js → p-0aba71fd.js} +1 -1
  161. package/dist/viewer/p-0aeab3fc.js +4 -0
  162. package/dist/viewer/p-0eb195dd.entry.js +4 -0
  163. package/dist/viewer/p-1a7df99a.entry.js +4 -0
  164. package/dist/viewer/{p-f70d8def.js → p-301660cf.js} +1 -1
  165. package/dist/viewer/{p-a0e49d10.entry.js → p-31658489.entry.js} +1 -1
  166. package/dist/viewer/{p-95f3a81c.entry.js → p-353cfc7a.entry.js} +1 -1
  167. package/dist/viewer/p-364ce21c.js +4 -0
  168. package/dist/viewer/{p-a5a0bf86.js → p-3f6ac74f.js} +1 -1
  169. package/dist/viewer/p-423410be.js +4 -0
  170. package/dist/viewer/{p-6f71f0f2.js → p-439220c6.js} +1 -1
  171. package/dist/viewer/{p-e84ed098.entry.js → p-46459921.entry.js} +1 -1
  172. package/dist/viewer/{p-c23a8b34.entry.js → p-4717c98e.entry.js} +1 -1
  173. package/dist/viewer/p-4985fad5.js +4 -0
  174. package/dist/viewer/{p-ba393340.entry.js → p-61b1097b.entry.js} +1 -1
  175. package/dist/viewer/{p-011eecd5.entry.js → p-6370098c.entry.js} +1 -1
  176. package/dist/viewer/p-67446e35.js +4 -0
  177. package/dist/viewer/p-7006fd4e.entry.js +4 -0
  178. package/dist/viewer/{p-a20e4ea1.entry.js → p-70ca1ea7.entry.js} +1 -1
  179. package/dist/viewer/p-76ec0245.js +4 -0
  180. package/dist/viewer/p-7cad9bf4.js +4 -0
  181. package/dist/viewer/p-7f25dcb5.entry.js +4 -0
  182. package/dist/viewer/{p-ca6bbe53.entry.js → p-8decee06.entry.js} +1 -1
  183. package/dist/viewer/{p-b7ffa306.entry.js → p-915d95ad.entry.js} +1 -1
  184. package/dist/viewer/{p-4485ac6d.js → p-a0df0e0c.js} +1 -1
  185. package/dist/viewer/{p-cc9888be.entry.js → p-a455ae02.entry.js} +1 -1
  186. package/dist/viewer/{p-a6a8026f.js → p-acf22d3e.js} +1 -1
  187. package/dist/viewer/{p-653aca1b.entry.js → p-b2b48a42.entry.js} +1 -1
  188. package/dist/viewer/p-bc9b1e67.entry.js +4 -0
  189. package/dist/viewer/p-c458f191.entry.js +32 -0
  190. package/dist/viewer/p-cafa57a6.js +4 -0
  191. package/dist/viewer/p-d00e9203.js +4 -0
  192. package/dist/viewer/{p-3e96bd62.entry.js → p-d2bcf788.entry.js} +1 -1
  193. package/dist/viewer/p-d90f2f6d.entry.js +4 -0
  194. package/dist/viewer/p-da2f4a56.js +4 -0
  195. package/dist/viewer/{p-5a2e34e1.entry.js → p-e07377fa.entry.js} +1 -1
  196. package/dist/viewer/{p-40800e8d.entry.js → p-f755af5a.entry.js} +1 -1
  197. package/dist/viewer/p-f7cb7e59.js +4 -0
  198. package/dist/viewer/p-fad9693e.js +4 -0
  199. package/dist/viewer/p-fe11d694.js +4 -0
  200. package/dist/viewer/{p-b92a3ac2.entry.js → p-fec1a8d0.entry.js} +1 -1
  201. package/dist/viewer/viewer.css +1 -1
  202. package/dist/viewer/viewer.esm.js +1 -1
  203. package/package.json +11 -10
  204. package/dist/cjs/summary-7bbdb4c9.js +0 -45
  205. package/dist/collection/lib/measurement/summary.js +0 -38
  206. package/dist/esm/summary-0a3d0bf9.js +0 -43
  207. package/dist/types/lib/measurement/summary.d.ts +0 -11
  208. package/dist/viewer/p-03e482ff.js +0 -4
  209. package/dist/viewer/p-0c052bc8.entry.js +0 -4
  210. package/dist/viewer/p-148cd792.js +0 -4
  211. package/dist/viewer/p-26d99e2d.entry.js +0 -4
  212. package/dist/viewer/p-38eeacc5.js +0 -4
  213. package/dist/viewer/p-39d1720c.js +0 -4
  214. package/dist/viewer/p-5dc17b8b.js +0 -4
  215. package/dist/viewer/p-5fea3491.js +0 -4
  216. package/dist/viewer/p-6b700561.entry.js +0 -4
  217. package/dist/viewer/p-6cd7a6e0.js +0 -4
  218. package/dist/viewer/p-75337d0b.js +0 -4
  219. package/dist/viewer/p-b83cc8a9.js +0 -4
  220. package/dist/viewer/p-d2a9e047.js +0 -4
  221. package/dist/viewer/p-d40bd835.entry.js +0 -4
  222. package/dist/viewer/p-e10b1526.js +0 -4
  223. package/dist/viewer/p-ec8a1a68.entry.js +0 -4
  224. package/dist/viewer/p-f4a8c901.js +0 -4
  225. package/dist/viewer/p-f77dde26.entry.js +0 -4
@@ -1,11 +1,13 @@
1
1
  import { Angle, BoundingBox, Plane, Point, Ray, Vector3, } from '@vertexvis/geometry';
2
+ import { EntityType, } from '../types';
2
3
  /**
3
4
  * The `InteractionApi` provides methods that API developers can use to modify
4
5
  * the internal state of an interaction.
5
6
  */
6
7
  export class InteractionApi {
7
- constructor(stream, getConfig, getScene, getFrame, getViewport, tapEmitter, doubleTapEmitter, longPressEmitter, interactionStartedEmitter, interactionFinishedEmitter) {
8
+ constructor(stream, cursors, getConfig, getScene, getFrame, getViewport, tapEmitter, doubleTapEmitter, longPressEmitter, interactionStartedEmitter, interactionFinishedEmitter) {
8
9
  this.stream = stream;
10
+ this.cursors = cursors;
9
11
  this.getConfig = getConfig;
10
12
  this.getScene = getScene;
11
13
  this.getFrame = getFrame;
@@ -20,6 +22,53 @@ export class InteractionApi {
20
22
  this.longPress = this.longPress.bind(this);
21
23
  this.emitTapEvent = this.emitTapEvent.bind(this);
22
24
  }
25
+ /**
26
+ * Displays a cursor over the viewer with the given priority. Cursors with
27
+ * higher priority will take precedence over cursors with lower priorities if
28
+ * there's more than a single cursor added.
29
+ *
30
+ * @param cursor The cursor to add.
31
+ * @param priority The priority of the cursor.
32
+ * @returns A `Disposable` that can be used to remove the cursor.
33
+ */
34
+ addCursor(cursor, priority) {
35
+ return this.cursors.add(cursor, priority);
36
+ }
37
+ /**
38
+ * Returns a 3D point in world space for the given 2D point in viewport space.
39
+ *
40
+ * @param point A point in 2D viewport space to transform.
41
+ * @returns A 3D point in world space.
42
+ */
43
+ async getWorldPointFromViewport(point) {
44
+ const viewport = this.getViewport();
45
+ const frame = this.getFrame();
46
+ if (frame == null) {
47
+ throw new Error('Cannot get world point. Frame is undefined.');
48
+ }
49
+ const depthBuffer = await frame.depthBuffer();
50
+ return depthBuffer != null
51
+ ? viewport.transformPointToWorldSpace(point, depthBuffer, 0.5)
52
+ : undefined;
53
+ }
54
+ /**
55
+ * Returns the entity at the given point in viewport space.
56
+ *
57
+ * @param point A point in viewport space.
58
+ * @returns The entity that was found.
59
+ */
60
+ async getEntityTypeAtPoint(point) {
61
+ var _a;
62
+ const viewport = this.getViewport();
63
+ const featureMap = await ((_a = this.getFrame()) === null || _a === void 0 ? void 0 : _a.featureMap());
64
+ if (featureMap != null) {
65
+ const framePt = viewport.transformPointToFrame(point, featureMap);
66
+ return featureMap.getEntityType(framePt);
67
+ }
68
+ else {
69
+ return EntityType.NO_GEOMETRY;
70
+ }
71
+ }
23
72
  /**
24
73
  * Generates a ray from the given point, in viewport coordinates.
25
74
  *
@@ -180,8 +229,8 @@ export class InteractionApi {
180
229
  });
181
230
  }
182
231
  /**
183
- * Performs a view all operation for the scene's bounding box, and requests a new image
184
- * for the updated scene.
232
+ * Performs a view all operation for the scene's bounding box, and requests a
233
+ * new image for the updated scene.
185
234
  */
186
235
  async viewAll() {
187
236
  await this.getScene().camera().viewAll().render();
@@ -371,4 +420,4 @@ export class InteractionApi {
371
420
  : fallbackPoint;
372
421
  }
373
422
  }
374
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpb25BcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2ludGVyYWN0aW9ucy9pbnRlcmFjdGlvbkFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQ0wsS0FBSyxFQUNMLFdBQVcsRUFDWCxLQUFLLEVBQ0wsS0FBSyxFQUNMLEdBQUcsRUFDSCxPQUFPLEdBQ1IsTUFBTSxxQkFBcUIsQ0FBQztBQXFDN0I7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLGNBQWM7RUFRekIsWUFDVSxNQUFpQixFQUNqQixTQUFvQyxFQUNwQyxRQUF1QixFQUN2QixRQUF5QyxFQUN6QyxXQUEyQixFQUMzQixVQUF5QyxFQUN6QyxnQkFBK0MsRUFDL0MsZ0JBQStDLEVBQy9DLHlCQUE2QyxFQUM3QywwQkFBOEM7SUFUOUMsV0FBTSxHQUFOLE1BQU0sQ0FBVztJQUNqQixjQUFTLEdBQVQsU0FBUyxDQUEyQjtJQUNwQyxhQUFRLEdBQVIsUUFBUSxDQUFlO0lBQ3ZCLGFBQVEsR0FBUixRQUFRLENBQWlDO0lBQ3pDLGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtJQUMzQixlQUFVLEdBQVYsVUFBVSxDQUErQjtJQUN6QyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQStCO0lBQy9DLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBK0I7SUFDL0MsOEJBQXlCLEdBQXpCLHlCQUF5QixDQUFvQjtJQUM3QywrQkFBMEIsR0FBMUIsMEJBQTBCLENBQW9CO0lBRXRELElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lB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Q0FBQztNQUVGLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO01BQzNDLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDO01BRXpDLE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUM7UUFDckMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDO1FBQzFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQztRQUMxQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUM7T0FDM0MsQ0FBQyxDQUFDO01BRUgsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLENBQUM7TUFFckQsTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEVBQUUsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQztNQUM1RCxNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsRUFBRSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDO01BQzdELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztNQUV0RCxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsdUJBQXVCLENBQzVDLEtBQUssRUFDTCxJQUFJLENBQUMsa0JBQWtCLEVBQ3ZC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
423
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpb25BcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2ludGVyYWN0aW9ucy9pbnRlcmFjdGlvbkFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQ0wsS0FBSyxFQUNMLFdBQVcsRUFDWCxLQUFLLEVBQ0wsS0FBSyxFQUNMLEdBQUcsRUFDSCxPQUFPLEdBQ1IsTUFBTSxxQkFBcUIsQ0FBQztBQU83QixPQUFPLEVBRUwsVUFBVSxHQUlYLE1BQU0sVUFBVSxDQUFDO0FBMkJsQjs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sY0FBYztFQVF6QixZQUNVLE1BQWlCLEVBQ2pCLE9BQXNCLEVBQ3RCLFNBQW9DLEVBQ3BDLFFBQXVCLEVBQ3ZCLFFBQXlDLEVBQ3pDLFdBQTJCLEVBQzNCLFVBQXlDLEVBQ3pDLGdCQUErQyxFQUMvQyxnQkFBK0MsRUFDL0MseUJBQTZDLEVBQzdDLDBCQUE4QztJQVY5QyxXQUFNLEdBQU4sTUFBTSxDQUFXO0lBQ2pCLFlBQU8sR0FBUCxPQUFPLENBQWU7SUFDdEIsY0FBUyxHQUFULFNBQVMsQ0FBMkI7SUFDcEMsYUFBUSxHQUFSLFFBQVEsQ0FBZTtJQUN2QixhQUFRLEdBQVIsUUFBUSxDQUFpQztJQUN6QyxnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7SUFDM0IsZUFBVSxHQUFWLFVBQVUsQ0FBK0I7SUFDekMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUErQjtJQUMvQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQStCO0lBQy9DLDhCQUF5QixHQUF6Qix5QkFBeUIsQ0FBb0I7SUFDN0MsK0JBQTBCLEdBQTFCLDBCQUEwQixDQUFvQjtJQUV0RCxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9CLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFD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LENBQUMsU0FBUyxDQUMxQixPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUNqRCxDQUFDO01BRUYsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUM7TUFDM0MsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUM7TUFFekMsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQztRQUNyQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUM7UUFDMUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDO1FBQzFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQztPQUMzQyxDQUFDLENBQUM7TUFFSCxNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsQ0FBQztNQUVyRCxNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsRUFBRSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDO01BQzVELE1BQU0sUUFBUSxHQUFHLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxFQUFFLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUM7TUFDN0QsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FB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
@@ -32,9 +32,7 @@ function fromPbFrameScene(worldOrientation) {
32
32
  return M.defineMapper(M.read(fromPbFrameSceneAttributes, fromPbFrameCamera), ([sceneAttr, camera]) => new FrameScene(camera, sceneAttr.boundingBox, sceneAttr.crossSectioning, worldOrientation, sceneAttr.hasChanged));
33
33
  }
34
34
  export function fromPbFrame(worldOrientation) {
35
- return M.defineMapper(M.read(M.mapProp('frameCorrelationIds', (ids) => (ids != null ? ids : [])), M.requiredProp('sequenceNumber'), M.compose(fromPbFrameImageAttributes, M.getProp('frameDimensions')), fromPbFrameScene(worldOrientation), fromPbFrameImage, M.getProp('depthBuffer'), M.getProp('featureMap')), ([cIds, seq, fd, s, i, db, fm]) => {
36
- return new Frame(cIds, seq, fd, i, s, (db === null || db === void 0 ? void 0 : db.value) || undefined, (fm === null || fm === void 0 ? void 0 : fm.value) || undefined);
37
- });
35
+ return M.defineMapper(M.read(M.mapProp('frameCorrelationIds', (ids) => (ids != null ? ids : [])), M.requiredProp('sequenceNumber'), M.compose(fromPbFrameImageAttributes, M.getProp('frameDimensions')), fromPbFrameScene(worldOrientation), fromPbFrameImage, M.mapProp('depthBuffer', fromPbBytesValue), M.mapProp('featureMap', fromPbBytesValue)), ([cIds, seq, fd, s, i, db, fm]) => new Frame(cIds, seq, fd, i, s, db, fm));
38
36
  }
39
37
  export function fromPbFrameOrThrow(worldOrientation) {
40
38
  return M.ifInvalidThrow(fromPbFrame(worldOrientation));
@@ -66,4 +64,4 @@ export const fromPbRefreshTokenResponse = M.defineMapper(M.compose(M.requiredPro
66
64
  export const fromPbRefreshTokenResponseOrThrow = M.ifInvalidThrow(fromPbRefreshTokenResponse);
67
65
  export const fromPbSyncTimeResponse = M.defineMapper(M.compose(M.requiredProp('syncTime'), M.requiredProp('replyTime'), M.read(M.requiredProp('seconds'), M.requiredProp('nanos'))), ([seconds, nanos]) => protoToDate({ seconds, nanos }));
68
66
  export const fromPbSyncTimeResponseOrThrow = M.ifInvalidThrow(fromPbSyncTimeResponse);
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhbWVTdHJlYW1pbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL21hcHBlcnMvZnJhbWVTdHJlYW1pbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFlLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDakMsT0FBTyxFQUNMLGVBQWUsRUFDZixLQUFLLEVBRUwsVUFBVSxFQUNWLHNCQUFzQixFQUN0QixVQUFVLEVBRVYsV0FBVyxHQUNaLE1BQU0sVUFBVSxDQUFDO0FBQ2xCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDcEMsT0FBTyxFQUNMLG1CQUFtQixFQUNuQixTQUFTLEVBQ1QsVUFBVSxFQUNWLGNBQWMsR0FDZixNQUFNLFlBQVksQ0FBQztBQUNwQixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUU1QyxNQUFNLENBQUMsTUFBTSxZQUFZLEdBR3JCLENBQUMsQ0FBQyxZQUFZLENBQ2hCLENBQUMsQ0FBQyxJQUFJLENBQ0osQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLGNBQWMsQ0FBQyxDQUFDLEVBQ3hFLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRSxjQUFjLENBQUMsQ0FBQyxFQUNwRSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FDN0QsRUFDRCxDQUFDLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FDdkQsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUczQixDQUFDLENBQUMsWUFBWSxDQUNoQixDQUFDLENBQUMsSUFBSSxDQUNKLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRSxjQUFjLENBQUMsQ0FBQyxFQUNwRSxDQUFDLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUN6QixFQUNELENBQUMsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FDM0MsQ0FBQztBQUVGLE1BQU0scUJBQXFCLEdBR3ZCLENBQUMsQ0FBQyxZQUFZLENBQ2hCLENBQUMsQ0FBQyxJQUFJLENBQ0osQ0FBQyxDQUFDLE9BQU8sQ0FDUCxpQkFBaUIsRUFDakIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsU0FBUyxDQUFDLENBQ3BELEVBQ0QsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDLEVBQ3RFLENBQUMsQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FDcEQsRUFDRCxDQUFDLENBQUMsZUFBZSxFQUFFLFNBQVMsRUFBRSxVQUFVLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztFQUM3QyxlQUFlO0VBQ2YsU0FBUztFQUNULFVBQVU7Q0FDWCxDQUFDLENBQ0gsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUc5QixDQUFDLENBQUMsWUFBWSxDQUNoQixDQUFDLENBQUMsSUFBSSxDQUNKLENBQUMsQ0FBQyxPQUFPLENBQ1AsZUFBZSxFQUNmLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FDdkUsRUFDRCxDQUFDLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FDckQsRUFDRCxDQUFDLENBQUMsYUFBYSxFQUFFLGNBQWMsQ0FBQyxFQUFFLEVBQUUsQ0FDbEMsZUFBZSxDQUFDLE1BQU0sQ0FBQztFQUNyQixhQUFhO0VBQ2IsY0FBYyxFQUFFLGNBQWMsSUFBSSxTQUFTO0NBQzVDLENBQUMsQ0FDTCxDQUFDO0FBRUYsTUFBTSwwQkFBMEIsR0FHNUIsQ0FBQyxDQUFDLFlBQVksQ0FDaEIsQ0FBQyxDQUFDLElBQUksQ0FDSixDQUFDLENBQUMsT0FBTyxDQUNQLGlCQUFpQixFQUNqQixDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsRUFBRSxxQkFBcUIsQ0FBQyxDQUNoRSxDQUNGLEVBQ0QsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQzNCLENBQUM7QUFFRixNQUFNLGdCQUFnQixHQUdsQixDQUFDLENBQUMsWUFBWSxDQUNoQixDQUFDLENBQUMsSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUMzRSxDQUFDLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQ3pELENBQUM7QUFFRixNQUFNLHFCQUFxQixHQVF2QixDQUFDLENBQUMsWUFBWSxDQUNoQixDQUFDLENBQUMsSUFBSSxDQUNKLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRSxZQUFZLENBQUMsQ0FBQyxFQUNsRSxDQUFDLENBQUMsT0FBTyxDQUNQLG9CQUFvQixFQUNwQixDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsb0JBQW9CLENBQUMsRUFBRSxtQkFBbUIsQ0FBQyxDQUNqRSxFQUNELENBQUMsQ0FBQyxPQUFPLENBQ1AsaUJBQWlCLEVBQ2pCLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLHFCQUFxQixDQUFDLENBQ2hFLEVBQ0QsQ0FBQyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FDN0IsRUFDRCxDQUFDLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsVUFBVSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7RUFDdkQsTUFBTTtFQUNOLFdBQVc7RUFDWCxlQUFlO0VBQ2YsVUFBVTtDQUNYLENBQUMsQ0FDSCxDQUFDO0FBRUYsTUFBTSwwQkFBMEIsR0FRNUIsQ0FBQyxDQUFDLFlBQVksQ0FDaEIsQ0FBQyxDQUFDLElBQUksQ0FDSixDQUFDLENBQUMsT0FBTyxDQUNQLGlCQUFpQixFQUNqQixDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsRUFBRSxxQkFBcUIsQ0FBQyxDQUNoRSxDQUNGLEVBQ0QsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQzNCLENBQUM7QUFFRixNQUFNLGlCQUFpQixHQUduQixDQUFDLENBQUMsWUFBWSxDQUNoQixDQUFDLENBQUMsSUFBSSxDQUFDLDBCQUEwQixFQUFFLDBCQUEwQixDQUFDLEVBQzlELENBQUMsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLEVBQUUsRUFBRSxDQUN6QixzQkFBc0IsQ0FBQyxlQUFlLENBQ3BDLFNBQVMsQ0FBQyxNQUFNLEVBQ2hCLFNBQVMsQ0FBQyxXQUFXLEVBQ3JCLFVBQVUsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxDQUNsRCxDQUNKLENBQUM7QUFFRixTQUFTLGdCQUFnQixDQUN2QixnQkFBNkI7RUFFN0IsT0FBTyxDQUFDLENBQUMsWUFBWSxDQUNuQixDQUFDLENBQUMsSUFBSSxDQUFDLDBCQUEwQixFQUFFLGlCQUFpQixDQUFDLEVBQ3JELENBQUMsQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLEVBQUUsRUFBRSxDQUN0QixJQUFJLFVBQVUsQ0FDWixNQUFNLEVBQ04sU0FBUyxDQUFDLFdBQVcsRUFDckIsU0FBUyxDQUFDLGVBQWUsRUFDekIsZ0JBQWdCLEVBQ2hCLFNBQVMsQ0FBQyxVQUFVLENBQ3JCLENBQ0osQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsV0FBVyxDQUN6QixnQkFBNkI7RUFFN0IsT0FBTyxDQUFDLENBQUMsWUFBWSxDQUNuQixDQUFDLENBQUMsSUFBSSxDQUNKLENBQUMsQ0FBQyxPQUFPLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUNuRSxDQUFDLENBQUMsWUFBWSxDQUFDLGdCQUFnQixDQUFDLEVBQ2hDLENBQUMsQ0FBQyxPQUFPLENBQUMsMEJBQTBCLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLEVBQ25FLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDLEVBQ2xDLGdCQUFnQixFQUNoQixDQUFDLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxFQUN4QixDQUFDLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUN4QixFQUNELENBQUMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFO0lBQ2hDLE9BQU8sSUFBSSxLQUFLLENBQ2QsSUFBSSxFQUNKLEdBQUcsRUFDSCxFQUFFLEVBQ0YsQ0FBQyxFQUNELENBQUMsRUFDRCxDQUFBLEVBQUUsYUFBRixFQUFFLHVCQUFGLEVBQUUsQ0FBRSxLQUFLLEtBQUksU0FBUyxFQUN0QixDQUFBLEVBQUUsYUFBRixFQUFFLHVCQUFGLEVBQUUsQ0FBRSxLQUFLLEtBQUksU0FBUyxDQUN2QixDQUFDO0VBQ0osQ0FBQyxDQUNGLENBQUM7QUFDSixDQUFDO0FBT0QsTUFBTSxVQUFVLGtCQUFrQixDQUNoQyxnQkFBNkI7RUFFN0IsT0FBTyxDQUFDLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7QUFDekQsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUcvQixDQUFDLENBQUMsWUFBWSxDQUNoQixDQUFDLENBQUMsT0FBTyxDQUNQLENBQUMsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEVBQ3pCLENBQUMsQ0FBQyxJQUFJLENBQ0osQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLGNBQWMsQ0FBQyxDQUFDLEVBQzVELENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUNuRSxDQUNGLEVBQ0QsQ0FBQyxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxXQUFXLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUM1QyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBR3RDLENBQUMsQ0FBQyxjQUFjLENBQUMsc0JBQXNCLENBQUMsQ0FBQztBQUU3QyxNQUFNLHlCQUF5QixHQU8zQixDQUFDLENBQUMsWUFBWSxDQUNoQixDQUFDLENBQUMsSUFBSSxDQUNKLENBQUMsQ0FBQyxlQUFlLENBQUMsaUJBQWlCLEVBQUUscUJBQXFCLENBQUMsRUFDM0QsQ0FBQyxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsRUFDL0IsQ0FBQyxDQUFDLGVBQWUsQ0FDZixhQUFhLEVBQ2IsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQ3ZELENBQ0YsRUFDRCxDQUFDLENBQUMsZUFBZSxFQUFFLGFBQWEsRUFBRSxXQUFXLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztFQUNsRCxlQUFlO0VBQ2YsYUFBYTtFQUNiLFdBQVc7Q0FDWixDQUFDLENBQ0gsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLG9CQUFvQixDQUNyRCxlQUFlLEVBQ2YseUJBQXlCLENBQzFCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxDQUFDLENBQUMsY0FBYyxDQUFDLG1CQUFtQixDQUFDLENBQUM7QUFFaEYsU0FBUyxvQkFBb0IsQ0FJM0IsSUFBTyxFQUNQLE1BQTRFO0VBRTVFLE9BQU8sQ0FBQyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDekMsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FDdEIsQ0FBQyxDQUFDLFlBQVksQ0FDWixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUM1RCxDQUFDLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FDdkQsQ0FBQztBQUVKLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQVNsQyxDQUFDLENBQUMsWUFBWSxDQUNoQixDQUFDLENBQUMsSUFBSSxDQUNKLENBQUMsQ0FBQyxPQUFPLENBQ1AsQ0FBQyxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsRUFDN0IsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQzFDLEVBQ0QsQ0FBQyxDQUFDLE9BQU8sQ0FDUCxDQUFDLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxFQUM3QixDQUFDLENBQUMsZUFBZSxDQUFDLGFBQWEsRUFBRSxVQUFVLENBQUMsQ0FDN0MsRUFDRCxDQUFDLENBQUMsT0FBTyxDQUNQLENBQUMsQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLEVBQzdCLENBQUMsQ0FBQyxlQUFlLENBQUMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxDQUMzQyxFQUNELENBQUMsQ0FBQyxPQUFPLENBQ1AsQ0FBQyxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsRUFDN0IsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxrQkFBa0IsRUFBRSxzQkFBc0IsQ0FBQyxDQUM5RCxFQUNELENBQUMsQ0FBQyxPQUFPLENBQ1AsQ0FBQyxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsRUFDN0IsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDLENBQ3hDLENBQ0YsRUFDRCxDQUFDLENBQUMsUUFBUSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7RUFDaEUsUUFBUTtFQUNSLFdBQVc7RUFDWCxTQUFTLEVBQUUsU0FBUztFQUNwQixnQkFBZ0I7RUFDaEIsS0FBSztDQUNOLENBQUMsQ0FDSCxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZ0NBQWdDLEdBQUcsQ0FBQyxDQUFDLGNBQWMsQ0FDOUQseUJBQXlCLENBQzFCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FHaEMsQ0FBQyxDQUFDLFlBQVksQ0FDaEIsQ0FBQyxDQUFDLElBQUksQ0FDSixDQUFDLENBQUMsT0FBTyxDQUNQLENBQUMsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLEVBQzNCLENBQUMsQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUN4QyxDQUNGLEVBQ0QsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FDekIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLENBQUMsQ0FBQyxjQUFjLENBQzVELHVCQUF1QixDQUN4QixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBR25DLENBQUMsQ0FBQyxZQUFZLENBQ2hCLENBQUMsQ0FBQyxPQUFPLENBQ1AsQ0FBQyxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsRUFDOUIsQ0FBQyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsRUFDdkIsV0FBVyxDQUNaLEVBQ0QsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FDakIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGlDQUFpQyxHQUFHLENBQUMsQ0FBQyxjQUFjLENBQy9ELDBCQUEwQixDQUMzQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBRy9CLENBQUMsQ0FBQyxZQUFZLENBQ2hCLENBQUMsQ0FBQyxPQUFPLENBQ1AsQ0FBQyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsRUFDMUIsQ0FBQyxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsRUFDM0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FDM0QsRUFDRCxDQUFDLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FDdEQsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLENBQUMsQ0FBQyxjQUFjLENBQzNELHNCQUFzQixDQUN2QixDQUFDIn0=
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhbWVTdHJlYW1pbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL21hcHBlcnMvZnJhbWVTdHJlYW1pbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFlLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDakMsT0FBTyxFQUNMLGVBQWUsRUFDZixLQUFLLEVBRUwsVUFBVSxFQUNWLHNCQUFzQixFQUN0QixVQUFVLEVBRVYsV0FBVyxHQUNaLE1BQU0sVUFBVSxDQUFDO0FBQ2xCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDcEMsT0FBTyxFQUNMLG1CQUFtQixFQUNuQixTQUFTLEVBQ1QsVUFBVSxFQUNWLGNBQWMsR0FDZixNQUFNLFlBQVksQ0FBQztBQUNwQixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUU1QyxNQUFNLENBQUMsTUFBTSxZQUFZLEdBR3JCLENBQUMsQ0FBQyxZQUFZLENBQ2hCLENBQUMsQ0FBQyxJQUFJLENBQ0osQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLGNBQWMsQ0FBQyxDQUFDLEVBQ3hFLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRSxjQUFjLENBQUMsQ0FBQyxFQUNwRSxDQUFDLENB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
@@ -13,7 +13,7 @@ export class MeasurementController {
13
13
  this.client = client;
14
14
  this.jwtProvider = jwtProvider;
15
15
  this.deviceId = deviceId;
16
- this.results = Promise.resolve([]);
16
+ this.outcome = Promise.resolve(undefined);
17
17
  }
18
18
  /**
19
19
  * Registers an entity to measure and performs a measurement if this entity
@@ -33,7 +33,7 @@ export class MeasurementController {
33
33
  clearEntities() {
34
34
  return this.performMeasurement(() => {
35
35
  this.model.clearEntities();
36
- this.model.clearResults();
36
+ this.model.clearOutcome();
37
37
  return true;
38
38
  });
39
39
  }
@@ -66,28 +66,32 @@ export class MeasurementController {
66
66
  this.measureAndUpdateModel(entities);
67
67
  this.highlightEntities(previous, entities);
68
68
  }
69
- return this.results;
69
+ return this.outcome;
70
70
  }
71
71
  measureAndUpdateModel(entities) {
72
72
  if (entities.length > 0) {
73
- this.results = this.measureEntities().then((outcome) => {
74
- this.model.replaceResultsWithOutcome(outcome);
75
- return this.model.getResults();
73
+ this.outcome = this.measureEntities(entities).then((outcome) => {
74
+ this.model.setOutcome(outcome);
75
+ return this.model.getOutcome();
76
76
  });
77
77
  }
78
78
  else {
79
- this.results = Promise.resolve([]);
79
+ this.outcome = Promise.resolve(undefined);
80
80
  }
81
81
  }
82
- async measureEntities() {
83
- const entities = this.model.getEntities().map((e) => e.toProto());
84
- const res = await requestUnary(async (handler) => {
85
- const meta = await createMetadata(this.jwtProvider, this.deviceId);
86
- const req = new MeasureRequest();
87
- req.setEntitiesList(entities);
88
- this.client.measure(req, meta, handler);
89
- });
90
- return mapMeasureResponseOrThrow(res.toObject());
82
+ async measureEntities(entities) {
83
+ if (entities.length > 0) {
84
+ const res = await requestUnary(async (handler) => {
85
+ const meta = await createMetadata(this.jwtProvider, this.deviceId);
86
+ const req = new MeasureRequest();
87
+ req.setEntitiesList(entities.map((e) => e.toProto()));
88
+ this.client.measure(req, meta, handler);
89
+ });
90
+ return mapMeasureResponseOrThrow(res.toObject());
91
+ }
92
+ else {
93
+ return undefined;
94
+ }
91
95
  }
92
96
  async highlightEntities(previous, entities) {
93
97
  await requestUnary(async (handler) => {
@@ -112,4 +116,4 @@ export class MeasurementController {
112
116
  });
113
117
  }
114
118
  }
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvbWVhc3VyZW1lbnQvY29udHJvbGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDdkYsT0FBTyxFQUNMLGNBQWMsRUFFZCxpQkFBaUIsRUFDakIsMEJBQTBCLEdBQzNCLE1BQU0saUVBQWlFLENBQUM7QUFFekUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBRXhFLE9BQU8sRUFBRSxjQUFjLEVBQWUsWUFBWSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQVFyRDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8scUJBQXFCO0VBR2hDLFlBQ1UsS0FBdUIsRUFDdkIsTUFBMEIsRUFDMUIsV0FBd0IsRUFDeEIsUUFBNEI7SUFINUIsVUFBSyxHQUFMLEtBQUssQ0FBa0I7SUFDdkIsV0FBTSxHQUFOLE1BQU0sQ0FBb0I7SUFDMUIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7SUFDeEIsYUFBUSxHQUFSLFFBQVEsQ0FBb0I7SUFOOUIsWUFBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQXNCLEVBQUUsQ0FBQyxDQUFDO0VBT3hELENBQUM7RUFFSjs7Ozs7OztLQU9HO0VBQ0ksU0FBUyxDQUFDLE1BQXlCO0lBQ3hDLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7RUFDckUsQ0FBQztFQUVEOzs7S0FHRztFQUNJLGFBQWE7SUFDbEIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxFQUFFO01BQ2xDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7TUFDM0IsSUFB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
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvbWVhc3VyZW1lbnQvY29udHJvbGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDdkYsT0FBTyxFQUNMLGNBQWMsRUFFZCxpQkFBaUIsRUFDakIsMEJBQTBCLEdBQzNCLE1BQU0saUVBQWlFLENBQUM7QUFFekUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBRXhFLE9BQU8sRUFBRSxjQUFjLEVBQWUsWUFBWSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRXBFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUlyRDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8scUJBQXFCO0VBR2hDLFlBQ1UsS0FBdUIsRUFDdkIsTUFBMEIsRUFDMUIsV0FBd0IsRUFDeEIsUUFBNEI7SUFINUIsVUFBSyxHQUFMLEtBQUssQ0FBa0I7SUFDdkIsV0FBTSxHQUFOLE1BQU0sQ0FBb0I7SUFDMUIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7SUFDeEIsYUFBUSxHQUFSLFFBQVEsQ0FBb0I7SUFOOUIsWUFBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQWlDLFNBQVMsQ0FBQyxDQUFDO0VBTzFFLENBQUM7RUFFSjs7Ozs7OztLQU9HO0VBQ0ksU0FBUyxDQUNkLE1BQXlCO0lBRXpCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7RUFDckUsQ0FBQztFQUVEOzs7S0FHRztFQUNJLGFBQWE7SUFDbEIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxFQUFFO01BQ2xDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7TUFDM0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQztNQUMxQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUMsQ0FBQyxDQUFDO0VBQ0wsQ0FBQztFQUVEOzs7Ozs7O0tBT0c7RUFDSSxZQUFZLENBQ2pCLE1BQXlCO0lBRXpCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7RUFDeEUsQ0FBQztFQUVEOzs7Ozs7S0FNRztFQUNJLFdBQVcsQ0FDaEIsUUFBZ0M7SUFFaEMsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztFQUN6RSxDQUFDO0VBRU8sa0JBQWtCLENBQ3hCLE1BQXFCO0lBRXJCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDMUMsTUFBTSxPQUFPLEdBQUcsTUFBTSxFQUFFLENBQUM7SUFDekIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUMxQyxJQUFJLE9BQU8sRUFBRTtNQUNYLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztNQUNyQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0tBQzVDO0lBQ0QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0VBQ3RCLENBQUM7RUFFTyxxQkFBcUIsQ0FBQyxRQUE2QjtJQUN6RCxJQUFJLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO01BQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtRQUM3RCxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMvQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7TUFDakMsQ0FBQyxDQUFDLENBQUM7S0FDSjtTQUFNO01BQ0wsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0tBQzNDO0VBQ0gsQ0FBQztFQUVPLEtBQUssQ0FBQyxlQUFlLENBQzNCLFFBQTZCO0lBRTdCLElBQUksUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7TUFDdkIsTUFBTSxHQUFHLEdBQUcsTUFBTSxZQUFZLENBQWtCLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtRQUNoRSxNQUFNLElBQUksR0FBRyxNQUFNLGNBQWMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuRSxNQUFNLEdBQUcsR0FBRyxJQUFJLGNBQWMsRUFBRSxDQUFDO1FBQ2pDLEdBQUcsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQztRQUV0RCxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO01BQzFDLENBQUMsQ0FBQyxDQUFDO01BRUgsT0FBTyx5QkFBeUIsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztLQUNsRDtTQUFNO01BQ0wsT0FBTyxTQUFTLENBQUM7S0FDbEI7RUFDSCxDQUFDO0VBRU8sS0FBSyxDQUFDLGlCQUFpQixDQUM3QixRQUE2QixFQUM3QixRQUE2QjtJQUU3QixNQUFNLFlBQVksQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUU7TUFDbkMsTUFBTSxJQUFJLEdBQUcsTUFBTSxjQUFjLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7TUFFbkUsTUFBTSxTQUFTLEdBQUcsSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7TUFDcEMsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7TUFFOUQsTUFBTSxhQUFhLEdBQUcsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1FBQzFDLE1BQU0sTUFBTSxHQUFHLElBQUksaUJBQWlCLEVBQUUsQ0FBQztRQUN2QyxNQUFNLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUNwRSxNQUFNLENBQUMsWUFBWSxDQUFDLElBQUksU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDckQsT0FBTyxNQUFNLENBQUM7TUFDaEIsQ0FBQyxDQUFDLENBQUM7TUFDSCxNQUFNLGlCQUFpQixHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtRQUMzQyxNQUFNLE1BQU0sR0FBRyxJQUFJLGlCQUFpQixFQUFFLENBQUM7UUFDdkMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDcEUsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3BELE9BQU8sTUFBTSxDQUFDO01BQ2hCLENBQUMsQ0FBQyxDQUFDO01BRUgsTUFBTSxHQUFHLEdBQUcsSUFBSSwwQkFBMEIsRUFBRSxDQUFDO01BQzdDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxHQUFHLGFBQWEsRUFBRSxHQUFHLGlCQUFpQixDQUFDLENBQUMsQ0FBQztNQUM3RCxJQUFJLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdEQsQ0FBQyxDQUFDLENBQUM7RUFDTCxDQUFDO0NBQ0YifQ==
@@ -0,0 +1,34 @@
1
+ import { vertexvis } from '@vertexvis/frame-streaming-protos';
2
+ import { Vector3f } from '@vertexvis/scene-view-protos/core/protos/geometry_pb';
3
+ import { ModelEntity } from '@vertexvis/scene-view-protos/core/protos/model_entity_pb';
4
+ import { MeasureEntity } from '@vertexvis/scene-view-protos/sceneview/protos/scene_view_api_pb';
5
+ import { Mapper } from '@vertexvis/utils';
6
+ import { fromPbVector3f } from '../mappers';
7
+ export class MeasurementEntity {
8
+ constructor(point, modelEntity) {
9
+ this.point = point;
10
+ this.modelEntity = modelEntity;
11
+ }
12
+ static fromHit(hit) {
13
+ if (hit.hitPoint != null && hit.modelEntity != null) {
14
+ const hitPoint = Mapper.ifInvalidThrow(fromPbVector3f)(hit.hitPoint);
15
+ const modelEntity = vertexvis.protobuf.core.ModelEntity.encode(hit.modelEntity).finish();
16
+ return new MeasurementEntity(hitPoint, modelEntity);
17
+ }
18
+ else {
19
+ throw new Error('Cannot create MeasurementEntity from Hit. Hit is missing hit point and model entity');
20
+ }
21
+ }
22
+ toProto() {
23
+ const entity = new MeasureEntity();
24
+ const point = new Vector3f();
25
+ point.setX(this.point.x);
26
+ point.setY(this.point.y);
27
+ point.setZ(this.point.z);
28
+ entity.setPoint(point);
29
+ const modelEntity = ModelEntity.deserializeBinary(this.modelEntity);
30
+ entity.setModelEntity(modelEntity);
31
+ return entity;
32
+ }
33
+ }
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXRpZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL21lYXN1cmVtZW50L2VudGl0aWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUU5RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDaEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpRUFBaUUsQ0FBQztBQUNoRyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFMUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUU1QyxNQUFNLE9BQU8saUJBQWlCO0VBQzVCLFlBQ2tCLEtBQXNCLEVBQ3RCLFdBQXVCO0lBRHZCLFVBQUssR0FBTCxLQUFLLENBQWlCO0lBQ3RCLGdCQUFXLEdBQVgsV0FBVyxDQUFZO0VBQ3RDLENBQUM7RUFFRyxNQUFNLENBQUMsT0FBTyxDQUNuQixHQUFtQztJQUVuQyxJQUFJLEdBQUcsQ0FBQyxRQUFRLElBQUksSUFBSSxJQUFJLEdBQUcsQ0FBQyxXQUFXLElBQUksSUFBSSxFQUFFO01BQ25ELE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO01BQ3JFLE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQzVELEdBQUcsQ0FBQyxXQUFXLENBQ2hCLENBQUMsTUFBTSxFQUFFLENBQUM7TUFDWCxPQUFPLElBQUksaUJBQWlCLENBQUMsUUFBUSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0tBQ3JEO1NBQU07TUFDTCxNQUFNLElBQUksS0FBSyxDQUNiLHFGQUFxRixDQUN0RixDQUFDO0tBQ0g7RUFDSCxDQUFDO0VBRU0sT0FBTztJQUNaLE1BQU0sTUFBTSxHQUFHLElBQUksYUFBYSxFQUFFLENBQUM7SUFFbkMsTUFBTSxLQUFLLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQztJQUM3QixLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekIsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3pCLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN6QixNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRXZCLE1BQU0sV0FBVyxHQUFHLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDcEUsTUFBTSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUVuQyxPQUFPLE1BQU0sQ0FBQztFQUNoQixDQUFDO0NBQ0YifQ==
@@ -1,4 +1,6 @@
1
1
  export * from './controller';
2
+ export * from './entities';
2
3
  export * from './model';
3
- export * from './summary';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL21lYXN1cmVtZW50L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsV0FBVyxDQUFDIn0=
4
+ export * from './overlays';
5
+ export * from './results';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL21lYXN1cmVtZW50L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsV0FBVyxDQUFDIn0=
@@ -1,58 +1,104 @@
1
1
  import { Point } from '@vertexvis/geometry';
2
- import { MeasurementEntity } from '../..';
2
+ import { measurementWithArrowCursor } from '../cursors';
3
3
  import { getMouseClientPosition } from '../dom';
4
- export class PreciseMeasurementInteractionHandler {
5
- constructor(controller) {
4
+ import { ElementRectObserver } from '../elementRectObserver';
5
+ import { MeasurementEntity } from './entities';
6
+ export class MeasurementInteractionHandler {
7
+ constructor(controller, measurableEntityTypes) {
8
+ this.rectObserver = new ElementRectObserver();
9
+ this.handlePointerMove = async (event) => {
10
+ if (await this.isMeasurableEntityUnderPointer(event)) {
11
+ this.clearCursor();
12
+ this.addCursor(measurementWithArrowCursor);
13
+ }
14
+ else {
15
+ this.clearCursor();
16
+ }
17
+ };
6
18
  this.handlePointerDown = (event) => {
7
- this.ifNoInteraction(event, () => {
8
- this.ifInitialized(async ({ element, api }) => {
9
- const pt = getMouseClientPosition(event, element.getBoundingClientRect());
10
- const [hit] = await api.hitItems(pt);
11
- if (hit != null) {
12
- this.controller.addEntity(MeasurementEntity.fromHit(hit));
13
- }
14
- else {
15
- this.controller.clearEntities();
16
- }
17
- });
19
+ this.ifNoInteraction(event, async () => {
20
+ if (await this.isMeasurableEntityUnderPointer(event)) {
21
+ this.measureEntityUnderPointer(event);
22
+ }
23
+ else {
24
+ this.controller.clearEntities();
25
+ }
18
26
  });
19
27
  };
20
28
  this.controller = controller;
29
+ this.measurableEntityTypes = measurableEntityTypes;
30
+ }
31
+ get elementRect() {
32
+ return this.rectObserver.rect;
21
33
  }
22
34
  initialize(element, api) {
23
35
  this.element = element;
24
36
  this.api = api;
37
+ this.rectObserver.observe(element);
38
+ element.addEventListener('pointermove', this.handlePointerMove);
25
39
  element.addEventListener('pointerdown', this.handlePointerDown);
26
40
  }
27
41
  dispose() {
42
+ var _a, _b, _c;
43
+ this.rectObserver.disconnect();
44
+ (_a = this.measurementInteraction) === null || _a === void 0 ? void 0 : _a.dispose();
45
+ this.clearCursor();
46
+ (_b = this.element) === null || _b === void 0 ? void 0 : _b.removeEventListener('pointermove', this.handlePointerMove);
47
+ (_c = this.element) === null || _c === void 0 ? void 0 : _c.removeEventListener('pointerdown', this.handlePointerDown);
48
+ this.element = undefined;
49
+ this.api = undefined;
50
+ }
51
+ addCursor(cursor) {
52
+ this.cursor = this.ifInitialized(({ api }) => api.addCursor(cursor));
53
+ }
54
+ clearCursor() {
55
+ var _a;
56
+ (_a = this.cursor) === null || _a === void 0 ? void 0 : _a.dispose();
57
+ this.cursor = undefined;
58
+ }
59
+ async isMeasurableEntityUnderPointer(event) {
28
60
  var _a;
29
- (_a = this.element) === null || _a === void 0 ? void 0 : _a.removeEventListener('pointerdown', this.handlePointerDown);
61
+ const pt = getMouseClientPosition(event, this.elementRect);
62
+ const type = await ((_a = this.api) === null || _a === void 0 ? void 0 : _a.getEntityTypeAtPoint(pt));
63
+ return type != null && this.measurableEntityTypes.includes(type);
64
+ }
65
+ measureEntityUnderPointer(event) {
66
+ this.ifInitialized(async ({ api }) => {
67
+ const pt = getMouseClientPosition(event, this.elementRect);
68
+ const [hit] = await api.hitItems(pt);
69
+ if (hit != null) {
70
+ this.controller.addEntity(MeasurementEntity.fromHit(hit));
71
+ }
72
+ else {
73
+ this.controller.clearEntities();
74
+ }
75
+ });
76
+ }
77
+ ifInitialized(f) {
78
+ if (this.element != null && this.api != null) {
79
+ return f({ element: this.element, api: this.api });
80
+ }
81
+ else {
82
+ throw new Error('Measurement interaction handler not initialized.');
83
+ }
30
84
  }
31
85
  ifNoInteraction(event, f) {
32
86
  const startPos = Point.create(event.clientX, event.clientY);
33
87
  let didInteract = false;
34
- function handleMouseMove(event) {
88
+ const handleMouseMove = (event) => {
35
89
  const pos = Point.create(event.clientX, event.clientY);
36
90
  const dis = Point.distance(startPos, pos);
37
91
  didInteract = dis > 2;
38
- }
39
- function handleMouseUp() {
92
+ };
93
+ const handleMouseUp = () => {
40
94
  window.removeEventListener('pointermove', handleMouseMove);
41
95
  window.removeEventListener('pointerup', handleMouseUp);
42
96
  if (!didInteract) {
43
97
  f();
44
98
  }
45
- }
99
+ };
46
100
  window.addEventListener('pointermove', handleMouseMove);
47
101
  window.addEventListener('pointerup', handleMouseUp);
48
102
  }
49
- ifInitialized(f) {
50
- if (this.element != null && this.api != null) {
51
- return f({ element: this.element, api: this.api });
52
- }
53
- else {
54
- throw new Error('Measurement interaction handler not initialized');
55
- }
56
- }
57
103
  }
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9tZWFzdXJlbWVudC9pbnRlcmFjdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTVDLE9BQU8sRUFBeUIsaUJBQWlCLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDakUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sUUFBUSxDQUFDO0FBR2hELE1BQU0sT0FBTyxvQ0FBb0M7RUFPL0MsWUFBbUIsVUFBaUM7SUFlNUMsc0JBQWlCLEdBQUcsQ0FBQyxLQUFtQixFQUFRLEVBQUU7TUFDeEQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFO1FBQy9CLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUU7VUFDNUMsTUFBTSxFQUFFLEdBQUcsc0JBQXNCLENBQy9CLEtBQUssRUFDTCxPQUFPLENBQUMscUJBQXFCLEVBQUUsQ0FDaEMsQ0FBQztVQUNGLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxNQUFNLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7VUFFckMsSUFBSSxHQUFHLElBQUksSUFBSSxFQUFFO1lBQ2YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7V0FDM0Q7ZUFBTTtZQUNMLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLENBQUM7V0FDakM7UUFDSCxDQUFDLENBQUMsQ0FBQztNQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDO0lBOUJBLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO0VBQy9CLENBQUM7RUFFTSxVQUFVLENBQUMsT0FBb0IsRUFBRSxHQUFtQjtJQUN6RCxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUN2QixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztJQUVmLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7RUFDbEUsQ0FBQztFQUVNLE9BQU87O0lBQ1osTUFBQSxJQUFJLENBQUMsT0FBTywwQ0FBRSxtQkFBbUIsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7RUFDM0UsQ0FBQztFQW9CTyxlQUFlLENBQUMsS0FBbUIsRUFBRSxDQUFhO0lBQ3hELE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDNUQsSUFBSSxXQUFXLEdBQUcsS0FBSyxDQUFDO0lBRXhCLFNBQVMsZUFBZSxDQUFDLEtBQW1CO01BQzFDLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7TUFDdkQsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUM7TUFDMUMsV0FBVyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUVELFNBQVMsYUFBYTtNQUNwQixNQUFNLENBQUMsbUJBQW1CLENBQUMsYUFBYSxFQUFFLGVBQWUsQ0FBQyxDQUFDO01BQzNELE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLEVBQUUsYUFBYSxDQUFDLENBQUM7TUFFdkQsSUFBSSxDQUFDLFdBQVcsRUFBRTtRQUNoQixDQUFDLEVBQUUsQ0FBQztPQUNMO0lBQ0gsQ0FBQztJQUVELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDeEQsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxhQUFhLENBQUMsQ0FBQztFQUN0RCxDQUFDO0VBRU8sYUFBYSxDQUNuQixDQUE2RDtJQUU3RCxJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxHQUFHLElBQUksSUFBSSxFQUFFO01BQzVDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0tBQ3BEO1NBQU07TUFDTCxNQUFNLElBQUksS0FBSyxDQUFDLGlEQUFpRCxDQUFDLENBQUM7S0FDcEU7RUFDSCxDQUFDO0NBQ0YifQ==
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9tZWFzdXJlbWVudC9pbnRlcmFjdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRzVDLE9BQU8sRUFBVSwwQkFBMEIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNoRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDaEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFJN0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRS9DLE1BQU0sT0FBTyw2QkFBNkI7RUFleEMsWUFDRSxVQUFpQyxFQUNqQyxxQkFBbUM7SUFQN0IsaUJBQVksR0FBRyxJQUFJLG1CQUFtQixFQUFFLENBQUM7SUE0Q3pDLHNCQUFpQixHQUFHLEtBQUssRUFBRSxLQUFtQixFQUFpQixFQUFFO01BQ3ZFLElBQUksTUFBTSxJQUFJLENBQUMsOEJBQThCLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDcEQsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxTQUFTLENBQUMsMEJBQTBCLENBQUMsQ0FBQztPQUM1QztXQUFNO1FBQ0wsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO09BQ3BCO0lBQ0gsQ0FBQyxDQUFDO0lBRU0sc0JBQWlCLEdBQUcsQ0FBQyxLQUFtQixFQUFRLEVBQUU7TUFDeEQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDckMsSUFBSSxNQUFNLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxLQUFLLENBQUMsRUFBRTtVQUNwRCxJQUFJLENBQUMseUJBQXlCLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDdkM7YUFBTTtVQUNMLElBQUksQ0FBQyxVQUFVLENBQUMs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
@@ -13,11 +13,11 @@ const mapPlanarAngle = M.defineMapper(M.read(M.getProp('angleInRadians'), M.mapR
13
13
  plane1,
14
14
  plane2,
15
15
  }));
16
- const mapMinimumDistance = M.defineMapper(M.read(M.getProp('distance'), M.mapRequiredProp('closestPoint1', fromPbVector3f), M.mapRequiredProp('closestPoint2', fromPbVector3f)), ([distance, closestPoint1, closestPoint2]) => ({
16
+ const mapMinimumDistance = M.defineMapper(M.read(M.getProp('distance'), M.mapRequiredProp('closestPoint1', fromPbVector3f), M.mapRequiredProp('closestPoint2', fromPbVector3f)), ([distance, point1, point2]) => ({
17
17
  type: 'minimum-distance',
18
18
  distance,
19
- closestPoint1,
20
- closestPoint2,
19
+ point1,
20
+ point2,
21
21
  }));
22
22
  const mapSurfaceArea = M.defineMapper(M.read(M.getProp('area')), ([area]) => ({
23
23
  type: 'surface-area',
@@ -28,6 +28,6 @@ const mapPlanarAngleFromResult = M.mapProp('planarAngle', M.ifDefined(mapPlanarA
28
28
  const mapMinimumDistanceFromResult = M.mapProp('minimumDistance', M.ifDefined(mapMinimumDistance));
29
29
  const mapSurfaceAreaFromResult = M.mapProp('totalSurfaceArea', M.ifDefined(mapSurfaceArea));
30
30
  const mapMeasurementResult = M.compose(M.pickFirst(mapPlanarDistanceFromResult, mapPlanarAngleFromResult, mapMinimumDistanceFromResult, mapSurfaceAreaFromResult), M.required('Result field'));
31
- export const mapMeasureResponse = M.defineMapper(M.read(M.mapRequiredProp('outcome', M.mapRequiredProp('resultsList', M.mapArray(mapMeasurementResult)))), ([results]) => ({ results }));
31
+ export const mapMeasureResponse = M.defineMapper(M.read(M.mapRequiredProp('outcome', M.mapRequiredProp('resultsList', M.mapArray(mapMeasurementResult))), M.mapRequiredProp('outcome', M.getProp('isApproximate'))), ([results, isApproximate]) => ({ results, isApproximate }));
32
32
  export const mapMeasureResponseOrThrow = M.ifInvalidThrow(mapMeasureResponse);
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwcGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9tZWFzdXJlbWVudC9tYXBwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBVUEsT0FBTyxFQUFFLE1BQU0sSUFBSSxDQUFDLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUUvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQVV6RCxNQUFNLFlBQVksR0FHZCxDQUFDLENBQUMsWUFBWSxDQUNoQixDQUFDLENBQUMsSUFBSSxDQUNKLENBQUMsQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxFQUN2QyxDQUFDLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FDdEMsRUFDRCxDQUFDLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQ25DLENBQUM7QUFFRixNQUFNLGlCQUFpQixHQUduQixDQUFDLENBQUMsWUFBWSxDQUNoQixDQUFDLENBQUMsSUFBSSxDQUNKLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQ3JCLENBQUMsQ0FBQyxlQUFlLENBQ2YsUUFBUSxFQUNSLENBQUMsQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FDakQsRUFDRCxDQUFDLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FDNUUsRUFDRCxDQUFDLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztFQUMvQixJQUFJLEVBQUUsaUJBQWlCO0VBQ3ZCLFFBQVE7RUFDUixNQUFNO0VB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
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwcGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9tZWFzdXJlbWVudC9tYXBwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBVUEsT0FBTyxFQUFFLE1BQU0sSUFBSSxDQUFDLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUUvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQVV6RCxNQUFNLFlBQVksR0FHZCxDQUFDLENBQUMsWUFBWSxDQUNoQixDQUFDLENBQUMsSUFBSSxDQUNKLENBQUMsQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxFQUN2QyxDQUFDLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FDdEMsRUFDRCxDQUFDLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQ25DLENBQUM7QUFFRixNQUFNLGlCQUFpQixHQUduQixDQUFDLENBQUMsWUFBWSxDQUNoQixDQUFDLENBQUMsSUFBSSxDQUNKLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQ3JCLENBQUMsQ0FBQyxlQUFlLENBQ2YsUUFBUSxFQUNSLENBQUMsQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FDakQsRUFDRCxDQUFDLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FDNUUsRUFDRCxDQUFDLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztFQUMvQixJQUFJLEVBQUUsaUJBQWlCO0VBQ3ZCLFFBQVE7RUFDUixNQUFNO0VB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