@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
@@ -3,10 +3,10 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const browser_esm = require('./browser.esm-31b03292.js');
7
- const streamAttributes = require('./streamAttributes-9d6226ac.js');
8
6
  const _commonjsHelpers = require('./_commonjsHelpers-537d719a.js');
9
7
  const grpcWebClient_umd = require('./grpc-web-client.umd-60a79aae.js');
8
+ const browser_esm = require('./browser.esm-31b03292.js');
9
+ const streamAttributes = require('./streamAttributes-d6236448.js');
10
10
 
11
11
  var uuid_pb = _commonjsHelpers.createCommonjsModule(function (module, exports) {
12
12
  /**
@@ -8589,7 +8589,8 @@ proto.vertexvis.protobuf.core.MeasurementOutcome.prototype.toObject = function(o
8589
8589
  proto.vertexvis.protobuf.core.MeasurementOutcome.toObject = function(includeInstance, msg) {
8590
8590
  var obj = {
8591
8591
  resultsList: grpcWebClient_umd.googleProtobuf.Message.toObjectList(msg.getResultsList(),
8592
- proto.vertexvis.protobuf.core.MeasurementResult.toObject, includeInstance)
8592
+ proto.vertexvis.protobuf.core.MeasurementResult.toObject, includeInstance),
8593
+ isApproximate: grpcWebClient_umd.googleProtobuf.Message.getFieldWithDefault(msg, 2, false)
8593
8594
  };
8594
8595
 
8595
8596
  if (includeInstance) {
@@ -8631,6 +8632,10 @@ proto.vertexvis.protobuf.core.MeasurementOutcome.deserializeBinaryFromReader = f
8631
8632
  reader.readMessage(value,proto.vertexvis.protobuf.core.MeasurementResult.deserializeBinaryFromReader);
8632
8633
  msg.addResults(value);
8633
8634
  break;
8635
+ case 2:
8636
+ var value = /** @type {boolean} */ (reader.readBool());
8637
+ msg.setIsApproximate(value);
8638
+ break;
8634
8639
  default:
8635
8640
  reader.skipField();
8636
8641
  break;
@@ -8668,6 +8673,13 @@ proto.vertexvis.protobuf.core.MeasurementOutcome.serializeBinaryToWriter = funct
8668
8673
  proto.vertexvis.protobuf.core.MeasurementResult.serializeBinaryToWriter
8669
8674
  );
8670
8675
  }
8676
+ f = message.getIsApproximate();
8677
+ if (f) {
8678
+ writer.writeBool(
8679
+ 2,
8680
+ f
8681
+ );
8682
+ }
8671
8683
  };
8672
8684
 
8673
8685
 
@@ -8702,6 +8714,23 @@ proto.vertexvis.protobuf.core.MeasurementOutcome.prototype.clearResultsList = fu
8702
8714
  };
8703
8715
 
8704
8716
 
8717
+ /**
8718
+ * optional bool is_approximate = 2;
8719
+ * Note that Boolean fields may be set to 0/1 when serialized from a Java server.
8720
+ * You should avoid comparisons like {@code val === true/false} in those cases.
8721
+ * @return {boolean}
8722
+ */
8723
+ proto.vertexvis.protobuf.core.MeasurementOutcome.prototype.getIsApproximate = function() {
8724
+ return /** @type {boolean} */ (grpcWebClient_umd.googleProtobuf.Message.getFieldWithDefault(this, 2, false));
8725
+ };
8726
+
8727
+
8728
+ /** @param {boolean} value */
8729
+ proto.vertexvis.protobuf.core.MeasurementOutcome.prototype.setIsApproximate = function(value) {
8730
+ grpcWebClient_umd.googleProtobuf.Message.setProto3BooleanField(this, 2, value);
8731
+ };
8732
+
8733
+
8705
8734
  goog.object.extend(exports, proto.vertexvis.protobuf.core);
8706
8735
  });
8707
8736
 
@@ -9762,11 +9791,11 @@ const mapPlanarAngle = browser_esm.mapper.defineMapper(browser_esm.mapper.read(b
9762
9791
  plane1,
9763
9792
  plane2,
9764
9793
  }));
9765
- const mapMinimumDistance = browser_esm.mapper.defineMapper(browser_esm.mapper.read(browser_esm.mapper.getProp('distance'), browser_esm.mapper.mapRequiredProp('closestPoint1', streamAttributes.fromPbVector3f), browser_esm.mapper.mapRequiredProp('closestPoint2', streamAttributes.fromPbVector3f)), ([distance, closestPoint1, closestPoint2]) => ({
9794
+ const mapMinimumDistance = browser_esm.mapper.defineMapper(browser_esm.mapper.read(browser_esm.mapper.getProp('distance'), browser_esm.mapper.mapRequiredProp('closestPoint1', streamAttributes.fromPbVector3f), browser_esm.mapper.mapRequiredProp('closestPoint2', streamAttributes.fromPbVector3f)), ([distance, point1, point2]) => ({
9766
9795
  type: 'minimum-distance',
9767
9796
  distance,
9768
- closestPoint1,
9769
- closestPoint2,
9797
+ point1,
9798
+ point2,
9770
9799
  }));
9771
9800
  const mapSurfaceArea = browser_esm.mapper.defineMapper(browser_esm.mapper.read(browser_esm.mapper.getProp('area')), ([area]) => ({
9772
9801
  type: 'surface-area',
@@ -9777,193 +9806,10 @@ const mapPlanarAngleFromResult = browser_esm.mapper.mapProp('planarAngle', brows
9777
9806
  const mapMinimumDistanceFromResult = browser_esm.mapper.mapProp('minimumDistance', browser_esm.mapper.ifDefined(mapMinimumDistance));
9778
9807
  const mapSurfaceAreaFromResult = browser_esm.mapper.mapProp('totalSurfaceArea', browser_esm.mapper.ifDefined(mapSurfaceArea));
9779
9808
  const mapMeasurementResult = browser_esm.mapper.compose(browser_esm.mapper.pickFirst(mapPlanarDistanceFromResult, mapPlanarAngleFromResult, mapMinimumDistanceFromResult, mapSurfaceAreaFromResult), browser_esm.mapper.required('Result field'));
9780
- const mapMeasureResponse = browser_esm.mapper.defineMapper(browser_esm.mapper.read(browser_esm.mapper.mapRequiredProp('outcome', browser_esm.mapper.mapRequiredProp('resultsList', browser_esm.mapper.mapArray(mapMeasurementResult)))), ([results]) => ({ results }));
9809
+ const mapMeasureResponse = browser_esm.mapper.defineMapper(browser_esm.mapper.read(browser_esm.mapper.mapRequiredProp('outcome', browser_esm.mapper.mapRequiredProp('resultsList', browser_esm.mapper.mapArray(mapMeasurementResult))), browser_esm.mapper.mapRequiredProp('outcome', browser_esm.mapper.getProp('isApproximate'))), ([results, isApproximate]) => ({ results, isApproximate }));
9781
9810
  const mapMeasureResponseOrThrow = browser_esm.mapper.ifInvalidThrow(mapMeasureResponse);
9782
9811
 
9783
- class MeasurementEntity {
9784
- constructor(point, modelEntity) {
9785
- this.point = point;
9786
- this.modelEntity = modelEntity;
9787
- }
9788
- static fromHit(hit) {
9789
- if (hit.hitPoint != null && hit.modelEntity != null) {
9790
- const hitPoint = browser_esm.mapper.ifInvalidThrow(streamAttributes.fromPbVector3f)(hit.hitPoint);
9791
- const modelEntity = streamAttributes.vertexvis.protobuf.core.ModelEntity.encode(hit.modelEntity).finish();
9792
- return new MeasurementEntity(hitPoint, modelEntity);
9793
- }
9794
- else {
9795
- throw new Error('Cannot create MeasurementEntity from Hit. Hit is missing hit point and model entity');
9796
- }
9797
- }
9798
- toProto() {
9799
- const entity = new scene_view_api_pb.MeasureEntity();
9800
- const point = new geometry_pb.Vector3f();
9801
- point.setX(this.point.x);
9802
- point.setY(this.point.y);
9803
- point.setZ(this.point.z);
9804
- entity.setPoint(point);
9805
- const modelEntity = model_entity_pb.ModelEntity.deserializeBinary(this.modelEntity);
9806
- entity.setModelEntity(modelEntity);
9807
- return entity;
9808
- }
9809
- }
9810
- /**
9811
- * A model representing the state of measurement.
9812
- *
9813
- * Measurement contains a set of `MeasureEntity`s that represent what's being
9814
- * measured, and a set of `MeasurementResult`s representing the results of the
9815
- * measurement.
9816
- *
9817
- * Views can register event listeners to the model to be notified when new
9818
- * measurements have been added.
9819
- */
9820
- class MeasurementModel {
9821
- constructor() {
9822
- this.entities = new Set();
9823
- this.results = new Set();
9824
- this.resultsChanged = new browser_esm.EventDispatcher();
9825
- this.entitiesChanged = new browser_esm.EventDispatcher();
9826
- }
9827
- /**
9828
- * Registers an entity to be measured with the model.
9829
- *
9830
- * @param entity An entity to measure.
9831
- * @returns `true` if the entity has been added.
9832
- */
9833
- addEntity(entity) {
9834
- if (!this.entities.has(entity)) {
9835
- this.entities.add(entity);
9836
- this.entitiesChanged.emit(this.getEntities());
9837
- return true;
9838
- }
9839
- else {
9840
- return false;
9841
- }
9842
- }
9843
- /**
9844
- * Adds a measurement result to the model.
9845
- *
9846
- * Emits a _result changed_ event.
9847
- *
9848
- * @param result A result to add.
9849
- * @returns `true` if the result has been added.
9850
- */
9851
- addResult(result) {
9852
- if (!this.results.has(result)) {
9853
- this.results.add(result);
9854
- this.resultsChanged.emit(this.getResults());
9855
- return true;
9856
- }
9857
- else {
9858
- return false;
9859
- }
9860
- }
9861
- /**
9862
- * Clears all registered entities from the model.
9863
- */
9864
- clearEntities() {
9865
- this.entities.forEach((e) => this.removeEntity(e));
9866
- }
9867
- /**
9868
- * Clears all the measurement results from the model.
9869
- *
9870
- * Emits a _result changed_ event.
9871
- */
9872
- clearResults() {
9873
- this.results.forEach((r) => this.removeResult(r));
9874
- }
9875
- /**
9876
- * Replaces all the results in the model with the results from an outcome.
9877
- *
9878
- * Emits a _result changed_ event.
9879
- *
9880
- * @param outcome The outcome that contains the new results.
9881
- */
9882
- replaceResultsWithOutcome(outcome) {
9883
- this.clearResults();
9884
- outcome.results.forEach((r) => this.addResult(r));
9885
- }
9886
- /**
9887
- * Returns all the entities registered with the model.
9888
- */
9889
- getEntities() {
9890
- return Array.from(this.entities);
9891
- }
9892
- /**
9893
- * Returns all the measurement results of the model.
9894
- */
9895
- getResults() {
9896
- return Array.from(this.results);
9897
- }
9898
- /**
9899
- * Unregisters an entity from the model.
9900
- *
9901
- * @param entity The entity to remove.
9902
- * @returns `true` if the entity was removed.
9903
- */
9904
- removeEntity(entity) {
9905
- if (this.entities.has(entity)) {
9906
- this.entities.delete(entity);
9907
- this.entitiesChanged.emit(this.getEntities());
9908
- return true;
9909
- }
9910
- else {
9911
- return false;
9912
- }
9913
- }
9914
- /**
9915
- * Removes a measurement result from the model.
9916
- *
9917
- * Emits a _result changed_ event.
9918
- *
9919
- * @param result The result to remove.
9920
- */
9921
- removeResult(result) {
9922
- if (this.results.has(result)) {
9923
- this.results.delete(result);
9924
- this.resultsChanged.emit(this.getResults());
9925
- return true;
9926
- }
9927
- else {
9928
- return false;
9929
- }
9930
- }
9931
- /**
9932
- * Sets the set of entities to be measured with the model.
9933
- *
9934
- * @param entities A set of entities to measure.
9935
- * @returns `true` if the entity has been added.
9936
- */
9937
- setEntities(entities) {
9938
- this.entities.clear();
9939
- entities.forEach((e) => this.entities.add(e));
9940
- this.entitiesChanged.emit(this.getEntities());
9941
- return true;
9942
- }
9943
- /**
9944
- * Registers an event listener that will be invoked when the model's
9945
- * measurement results change.
9946
- *
9947
- * @param listener The listener to add.
9948
- * @returns A disposable that can be used to remove the listener.
9949
- */
9950
- onResultsChanged(listener) {
9951
- return this.resultsChanged.on(listener);
9952
- }
9953
- /**
9954
- * Registers an event listener that will be invoked when the model's
9955
- * measurement entities change.
9956
- *
9957
- * @param listener The listener to add.
9958
- * @returns A disposable that can be used to remove the listener.
9959
- */
9960
- onEntitiesChanged(listener) {
9961
- return this.entitiesChanged.on(listener);
9962
- }
9963
- }
9964
-
9965
- exports.MeasurementEntity = MeasurementEntity;
9966
- exports.MeasurementModel = MeasurementModel;
9812
+ exports.geometry_pb = geometry_pb;
9967
9813
  exports.mapMeasureResponseOrThrow = mapMeasureResponseOrThrow;
9968
9814
  exports.model_entity_pb = model_entity_pb;
9969
9815
  exports.scene_view_api_pb = scene_view_api_pb;
@@ -0,0 +1,134 @@
1
+ /**!
2
+ * Copyright (c) 2022 Vertex Software LLC. All rights reserved.
3
+ */
4
+ 'use strict';
5
+
6
+ const browser_esm = require('./browser.esm-31b03292.js');
7
+
8
+ /**
9
+ * A model representing the state of measurement.
10
+ *
11
+ * Measurement contains a set of `MeasureEntity`s that represent what's being
12
+ * measured, and a set of `MeasurementResult`s representing the results of the
13
+ * measurement.
14
+ *
15
+ * Views can register event listeners to the model to be notified when new
16
+ * measurements have been added.
17
+ */
18
+ class MeasurementModel {
19
+ constructor() {
20
+ this.entities = new Set();
21
+ this.results = new Set();
22
+ this.entitiesChanged = new browser_esm.EventDispatcher();
23
+ this.outcomeChanged = new browser_esm.EventDispatcher();
24
+ }
25
+ /**
26
+ * Registers an entity to be measured with the model.
27
+ *
28
+ * @param entity An entity to measure.
29
+ * @returns `true` if the entity has been added.
30
+ */
31
+ addEntity(entity) {
32
+ if (!this.entities.has(entity)) {
33
+ this.entities.add(entity);
34
+ this.entitiesChanged.emit(this.getEntities());
35
+ return true;
36
+ }
37
+ else {
38
+ return false;
39
+ }
40
+ }
41
+ /**
42
+ * Clears all registered entities from the model.
43
+ */
44
+ clearEntities() {
45
+ this.entities.forEach((e) => this.removeEntity(e));
46
+ }
47
+ /**
48
+ * Clears the outcome containing the results of a measurement.
49
+ */
50
+ clearOutcome() {
51
+ this.setOutcome(undefined);
52
+ }
53
+ /**
54
+ * Sets the outcome containing the results of a measurement.
55
+ *
56
+ * Emits a _outcome changed_ event.
57
+ *
58
+ * @param outcome The outcome containing results.
59
+ */
60
+ setOutcome(outcome) {
61
+ if (!browser_esm.objects.isEqual(this.outcome, outcome)) {
62
+ this.outcome = outcome;
63
+ this.outcomeChanged.emit(outcome);
64
+ }
65
+ }
66
+ /**
67
+ * Returns all the entities registered with the model.
68
+ */
69
+ getEntities() {
70
+ return Array.from(this.entities);
71
+ }
72
+ /**
73
+ * Returns the outcome that contains the results of a measurement.
74
+ */
75
+ getOutcome() {
76
+ return this.outcome;
77
+ }
78
+ /**
79
+ * Returns all the measurement results of the model.
80
+ */
81
+ getResults() {
82
+ return Array.from(this.results);
83
+ }
84
+ /**
85
+ * Unregisters an entity from the model.
86
+ *
87
+ * @param entity The entity to remove.
88
+ * @returns `true` if the entity was removed.
89
+ */
90
+ removeEntity(entity) {
91
+ if (this.entities.has(entity)) {
92
+ this.entities.delete(entity);
93
+ this.entitiesChanged.emit(this.getEntities());
94
+ return true;
95
+ }
96
+ else {
97
+ return false;
98
+ }
99
+ }
100
+ /**
101
+ * Sets the set of entities to be measured with the model.
102
+ *
103
+ * @param entities A set of entities to measure.
104
+ * @returns `true` if the entity has been added.
105
+ */
106
+ setEntities(entities) {
107
+ this.entities.clear();
108
+ entities.forEach((e) => this.entities.add(e));
109
+ this.entitiesChanged.emit(this.getEntities());
110
+ return true;
111
+ }
112
+ /**
113
+ * Registers an event listener that will be invoked when the model's outcome
114
+ * changes.
115
+ *
116
+ * @param listener The listener to add.
117
+ * @returns A disposable that can be used to remove the listener.
118
+ */
119
+ onOutcomeChanged(listener) {
120
+ return this.outcomeChanged.on(listener);
121
+ }
122
+ /**
123
+ * Registers an event listener that will be invoked when the model's
124
+ * measurement entities change.
125
+ *
126
+ * @param listener The listener to add.
127
+ * @returns A disposable that can be used to remove the listener.
128
+ */
129
+ onEntitiesChanged(listener) {
130
+ return this.entitiesChanged.on(listener);
131
+ }
132
+ }
133
+
134
+ exports.MeasurementModel = MeasurementModel;
@@ -0,0 +1,76 @@
1
+ /**!
2
+ * Copyright (c) 2022 Vertex Software LLC. All rights reserved.
3
+ */
4
+ 'use strict';
5
+
6
+ const bundle_esm = require('./bundle.esm-dc0a8361.js');
7
+ const browser_esm = require('./browser.esm-31b03292.js');
8
+
9
+ class MeasurementOverlayManager {
10
+ constructor() {
11
+ this.overlays = new Map();
12
+ this.overlaysChanged = new browser_esm.EventDispatcher();
13
+ }
14
+ addLineFromResult(result) {
15
+ return this.addLine(result.point1, result.point2);
16
+ }
17
+ addLine(start, end) {
18
+ const id = browser_esm.uuid.create();
19
+ const overlay = {
20
+ type: 'line',
21
+ id: id,
22
+ start,
23
+ end,
24
+ dispose: () => this.remove(id),
25
+ };
26
+ this.addOverlay(overlay);
27
+ return overlay;
28
+ }
29
+ addDistanceVectorFromResult(result) {
30
+ return this.addDistanceVector(result.point1, result.point2);
31
+ }
32
+ addDistanceVector(start, end) {
33
+ const id = browser_esm.uuid.create();
34
+ const v = bundle_esm.vector3.subtract(start, end);
35
+ const ze = bundle_esm.vector3.add(start, bundle_esm.vector3.create(0, 0, -v.z));
36
+ const z = { start, end: ze };
37
+ const ye = bundle_esm.vector3.add(ze, bundle_esm.vector3.create(0, -v.y, 0));
38
+ const y = { start: ze, end: ye };
39
+ const xe = bundle_esm.vector3.add(ye, bundle_esm.vector3.create(-v.x, 0, 0));
40
+ const x = { start: ye, end: xe };
41
+ const overlay = {
42
+ type: 'distance-vector',
43
+ id,
44
+ x,
45
+ y,
46
+ z,
47
+ dispose: () => this.remove(id),
48
+ };
49
+ this.addOverlay(overlay);
50
+ return overlay;
51
+ }
52
+ addOverlay(overlay) {
53
+ if (!this.overlays.has(overlay.id)) {
54
+ this.overlays.set(overlay.id, overlay);
55
+ this.overlaysChanged.emit(this.getOverlays());
56
+ }
57
+ }
58
+ getOverlays() {
59
+ return Array.from(this.overlays.values());
60
+ }
61
+ remove(id) {
62
+ if (this.overlays.has(id)) {
63
+ this.overlays.delete(id);
64
+ this.overlaysChanged.emit(this.getOverlays());
65
+ return true;
66
+ }
67
+ else {
68
+ return false;
69
+ }
70
+ }
71
+ onOverlaysChanged(listener) {
72
+ return this.overlaysChanged.on(listener);
73
+ }
74
+ }
75
+
76
+ exports.MeasurementOverlayManager = MeasurementOverlayManager;
@@ -0,0 +1,24 @@
1
+ /**!
2
+ * Copyright (c) 2022 Vertex Software LLC. All rights reserved.
3
+ */
4
+ 'use strict';
5
+
6
+ const bundle_esm = require('./bundle.esm-dc0a8361.js');
7
+
8
+ /**
9
+ * Constructs a new measurement result from the given points.
10
+ *
11
+ * @param point1 A starting point.
12
+ * @param point2 An ending point.
13
+ * @returns A new measurement result.
14
+ */
15
+ function makeMinimumDistanceResult(point1, point2) {
16
+ return {
17
+ type: 'minimum-distance',
18
+ point1,
19
+ point2,
20
+ distance: bundle_esm.vector3.distance(point1, point2),
21
+ };
22
+ }
23
+
24
+ exports.makeMinimumDistanceResult = makeMinimumDistanceResult;
@@ -5,7 +5,7 @@
5
5
 
6
6
  const browser_esm = require('./browser.esm-31b03292.js');
7
7
  const bundle_esm = require('./bundle.esm-dc0a8361.js');
8
- const streamAttributes = require('./streamAttributes-9d6226ac.js');
8
+ const streamAttributes = require('./streamAttributes-d6236448.js');
9
9
 
10
10
  const defaultColor = {
11
11
  opacity: 100,
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const index = require('./index-cc65325e.js');
6
+ const index = require('./index-e100709a.js');
7
7
 
8
8
  // eslint-disable-next-line no-restricted-imports
9
9
  function readDOM(task) {