@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.
- package/dist/cjs/{config-acd7cea9.js → config-90ee43d5.js} +1 -1
- package/dist/cjs/{cursors-399a9648.js → cursors-ad2fd395.js} +7 -0
- package/dist/cjs/{controller-8cbcdd8d.js → entities-aa59890e.js} +57 -22
- package/dist/cjs/{index-cc65325e.js → index-e100709a.js} +64 -3
- package/dist/cjs/index.cjs.js +21 -11
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/{model-18ef3363.js → mapper-f6e6cafe.js} +37 -191
- package/dist/cjs/model-4ec0c36e.js +134 -0
- package/dist/cjs/overlays-8a582edf.js +76 -0
- package/dist/cjs/results-bc325974.js +24 -0
- package/dist/cjs/{scene-ffee07ee.js → scene-f4040800.js} +1 -1
- package/dist/cjs/{stencil-bd453a38.js → stencil-a664cd10.js} +1 -1
- package/dist/cjs/{streamAttributes-9d6226ac.js → streamAttributes-d6236448.js} +87 -30
- package/dist/cjs/vertex-scene-tree-search_3.cjs.entry.js +2 -2
- package/dist/cjs/vertex-scene-tree-table-cell.cjs.entry.js +1 -1
- package/dist/cjs/vertex-scene-tree-table-column.cjs.entry.js +1 -1
- package/dist/cjs/vertex-scene-tree-table-header.cjs.entry.js +1 -1
- package/dist/cjs/vertex-scene-tree-table-resize-divider.cjs.entry.js +1 -1
- package/dist/cjs/vertex-scene-tree-toolbar-group.cjs.entry.js +1 -1
- package/dist/cjs/vertex-scene-tree.cjs.entry.js +3 -3
- package/dist/cjs/vertex-viewer-button_3.cjs.entry.js +1 -1
- package/dist/cjs/vertex-viewer-default-toolbar.cjs.entry.js +1 -1
- package/dist/cjs/vertex-viewer-dom-element_3.cjs.entry.js +4 -4
- package/dist/cjs/vertex-viewer-icon.cjs.entry.js +1 -1
- package/dist/cjs/vertex-viewer-layer.cjs.entry.js +1 -1
- package/dist/cjs/vertex-viewer-markup-arrow_3.cjs.entry.js +1 -1
- package/dist/cjs/vertex-viewer-markup-tool.cjs.entry.js +1 -1
- package/dist/cjs/vertex-viewer-markup.cjs.entry.js +1 -1
- package/dist/cjs/vertex-viewer-measurement-details.cjs.entry.js +221 -75
- package/dist/cjs/{vertex-viewer-measurement-distance_2.cjs.entry.js → vertex-viewer-measurement-distance.cjs.entry.js} +30 -69
- package/dist/cjs/vertex-viewer-measurement-line_2.cjs.entry.js +170 -0
- package/dist/cjs/vertex-viewer-measurement-precise.cjs.entry.js +163 -55
- package/dist/cjs/vertex-viewer-measurement-tool.cjs.entry.js +2 -2
- package/dist/cjs/vertex-viewer-measurements.cjs.entry.js +33 -4
- package/dist/cjs/vertex-viewer-view-cube.cjs.entry.js +4 -4
- package/dist/cjs/vertex-viewer.cjs.entry.js +58 -10
- package/dist/cjs/viewer.cjs.js +2 -2
- package/dist/cjs/{viewport-51aa05ab.js → viewport-8c39089f.js} +11 -0
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/viewer/viewer.js +2 -2
- package/dist/collection/components/viewer-dom-renderer/viewer-dom-renderer.js +2 -2
- package/dist/collection/components/viewer-measurement-details/viewer-measurement-details-entry.js +14 -0
- package/dist/collection/components/viewer-measurement-details/viewer-measurement-details-results.js +22 -0
- package/dist/collection/components/viewer-measurement-details/viewer-measurement-details.css +3 -10
- package/dist/collection/components/viewer-measurement-details/viewer-measurement-details.js +125 -188
- package/dist/collection/components/viewer-measurement-distance/interactions.js +3 -14
- package/dist/collection/components/viewer-measurement-distance/viewer-measurement-distance.js +41 -1
- package/dist/collection/components/viewer-measurement-overlays/viewer-measurement-overlays-components.js +30 -0
- package/dist/collection/components/viewer-measurement-overlays/viewer-measurement-overlays.css +51 -0
- package/dist/collection/components/viewer-measurement-overlays/viewer-measurement-overlays.js +149 -0
- package/dist/collection/components/viewer-measurement-precise/viewer-measurement-precise.js +118 -26
- package/dist/collection/components/viewer-measurements/viewer-measurements.js +67 -2
- package/dist/collection/components/viewer-view-cube/viewer-view-cube.css +21 -3
- package/dist/collection/index.js +2 -2
- package/dist/collection/lib/cursors.js +7 -1
- package/dist/collection/lib/elementRectObserver.js +19 -0
- package/dist/collection/lib/interactions/interactionApi.js +53 -4
- package/dist/collection/lib/mappers/frameStreaming.js +2 -4
- package/dist/collection/lib/measurement/controller.js +21 -17
- package/dist/collection/lib/measurement/entities.js +34 -0
- package/dist/collection/lib/measurement/index.js +4 -2
- package/dist/collection/lib/measurement/interactions.js +74 -28
- package/dist/collection/lib/measurement/mapper.js +5 -5
- package/dist/collection/lib/measurement/model.js +24 -85
- package/dist/collection/lib/measurement/outcomes.js +2 -0
- package/dist/collection/lib/measurement/overlays.js +69 -0
- package/dist/collection/lib/measurement/results.js +17 -0
- package/dist/collection/lib/types/entities.js +5 -1
- package/dist/collection/lib/types/featureMap.js +14 -5
- package/dist/collection/lib/types/frame.js +3 -3
- package/dist/collection/lib/types/measurementUnits.js +7 -7
- package/dist/collection/lib/types/viewport.js +12 -1
- package/dist/collection/testing/eventually.js +30 -0
- package/dist/collection/testing/fixtures.js +11 -4
- package/dist/collection/testing/index.js +2 -1
- package/dist/custom-elements/index.d.ts +6 -0
- package/dist/custom-elements/index.js +851 -287
- package/dist/esm/{browser.esm-e6827921.js → browser.esm-59e914f6.js} +1 -1
- package/dist/esm/{bundle.esm-8f14ac60.js → bundle.esm-d899b2d5.js} +1 -1
- package/dist/esm/{config-a200c227.js → config-604c644e.js} +2 -2
- package/dist/esm/{cursors-5157d29d.js → cursors-a7ec4adb.js} +8 -2
- package/dist/esm/{dom-2d6a1e1e.js → dom-780d25be.js} +1 -1
- package/dist/esm/{controller-a756cf9c.js → entities-759d97cd.js} +52 -18
- package/dist/esm/{index-f0053642.js → index-10c1495a.js} +64 -3
- package/dist/esm/index.js +13 -11
- package/dist/esm/index.mjs +13 -11
- package/dist/esm/loader.js +2 -2
- package/dist/esm/loader.mjs +2 -2
- package/dist/esm/{model-f711a825.js → mapper-4b815e31.js} +37 -190
- package/dist/esm/{markup-e46623b3.js → markup-1d177b4a.js} +2 -2
- package/dist/esm/{measurement-702d6b8c.js → measurement-12cdbf5c.js} +2 -2
- package/dist/esm/model-e5a4f00f.js +132 -0
- package/dist/esm/overlays-dbe5d652.js +74 -0
- package/dist/esm/{png-decoder-59a0e9c2.js → png-decoder-3f1fa486.js} +1 -1
- package/dist/esm/results-994bdb50.js +22 -0
- package/dist/esm/{scene-16490983.js → scene-9ac8a484.js} +3 -3
- package/dist/esm/{stencil-7d04d41a.js → stencil-9bf7fb9e.js} +1 -1
- package/dist/esm/{streamAttributes-7aa486b2.js → streamAttributes-d623bb60.js} +77 -20
- package/dist/esm/{utils-8070900a.js → utils-01e4f587.js} +1 -1
- package/dist/esm/{utils-953a1619.js → utils-5e57bf24.js} +1 -1
- package/dist/esm/vertex-scene-tree-search_3.entry.js +3 -3
- package/dist/esm/vertex-scene-tree-table-cell.entry.js +1 -1
- package/dist/esm/vertex-scene-tree-table-column.entry.js +1 -1
- package/dist/esm/vertex-scene-tree-table-header.entry.js +1 -1
- package/dist/esm/vertex-scene-tree-table-resize-divider.entry.js +1 -1
- package/dist/esm/vertex-scene-tree-toolbar-group.entry.js +1 -1
- package/dist/esm/vertex-scene-tree.entry.js +5 -5
- package/dist/esm/vertex-viewer-button_3.entry.js +1 -1
- package/dist/esm/vertex-viewer-default-toolbar.entry.js +1 -1
- package/dist/esm/vertex-viewer-dom-element_3.entry.js +6 -6
- package/dist/esm/vertex-viewer-icon.entry.js +1 -1
- package/dist/esm/vertex-viewer-layer.entry.js +1 -1
- package/dist/esm/vertex-viewer-markup-arrow_3.entry.js +4 -4
- package/dist/esm/vertex-viewer-markup-tool.entry.js +5 -5
- package/dist/esm/vertex-viewer-markup.entry.js +5 -5
- package/dist/esm/vertex-viewer-measurement-details.entry.js +221 -75
- package/dist/esm/{vertex-viewer-measurement-distance_2.entry.js → vertex-viewer-measurement-distance.entry.js} +35 -73
- package/dist/esm/vertex-viewer-measurement-line_2.entry.js +165 -0
- package/dist/esm/vertex-viewer-measurement-precise.entry.js +160 -52
- package/dist/esm/vertex-viewer-measurement-tool.entry.js +6 -6
- package/dist/esm/vertex-viewer-measurements.entry.js +36 -7
- package/dist/esm/vertex-viewer-view-cube.entry.js +6 -6
- package/dist/esm/vertex-viewer.entry.js +61 -13
- package/dist/esm/viewer.js +2 -2
- package/dist/esm/{viewport-bb7c46d9.js → viewport-01c886ea.js} +12 -1
- package/dist/types/components/viewer-dom-renderer/viewer-dom-renderer.d.ts +1 -1
- package/dist/types/components/viewer-measurement-details/viewer-measurement-details-entry.d.ts +8 -0
- package/dist/types/components/viewer-measurement-details/viewer-measurement-details-results.d.ts +15 -0
- package/dist/types/components/viewer-measurement-details/viewer-measurement-details.d.ts +44 -42
- package/dist/types/components/viewer-measurement-distance/interactions.d.ts +23 -1
- package/dist/types/components/viewer-measurement-distance/viewer-measurement-distance.d.ts +8 -0
- package/dist/types/components/viewer-measurement-overlays/viewer-measurement-overlays-components.d.ts +10 -0
- package/dist/types/components/viewer-measurement-overlays/viewer-measurement-overlays.d.ts +41 -0
- package/dist/types/components/viewer-measurement-precise/viewer-measurement-precise.d.ts +62 -6
- package/dist/types/components/viewer-measurements/viewer-measurements.d.ts +12 -0
- package/dist/types/components.d.ts +103 -40
- package/dist/types/index.d.ts +1 -1
- package/dist/types/lib/cursors.d.ts +5 -0
- package/dist/types/lib/elementRectObserver.d.ts +8 -0
- package/dist/types/lib/interactions/interactionApi.d.ts +32 -5
- package/dist/types/lib/measurement/controller.d.ts +8 -7
- package/dist/types/lib/measurement/entities.d.ts +10 -0
- package/dist/types/lib/measurement/index.d.ts +3 -1
- package/dist/types/lib/measurement/interactions.d.ts +19 -5
- package/dist/types/lib/measurement/mapper.d.ts +1 -1
- package/dist/types/lib/measurement/model.d.ts +18 -153
- package/dist/types/lib/measurement/outcomes.d.ts +8 -0
- package/dist/types/lib/measurement/overlays.d.ts +38 -0
- package/dist/types/lib/measurement/results.d.ts +90 -0
- package/dist/types/lib/types/entities.d.ts +5 -1
- package/dist/types/lib/types/featureMap.d.ts +2 -2
- package/dist/types/lib/types/measurementUnits.d.ts +1 -1
- package/dist/types/lib/types/viewport.d.ts +9 -1
- package/dist/types/testing/eventually.d.ts +15 -0
- package/dist/types/testing/fixtures.d.ts +2 -2
- package/dist/types/testing/index.d.ts +1 -0
- package/dist/viewer/index.esm.js +1 -1
- package/dist/viewer/p-081e6873.js +4 -0
- package/dist/viewer/{p-5d82c131.entry.js → p-099fe6ca.entry.js} +1 -1
- package/dist/viewer/{p-784914e4.js → p-0aba71fd.js} +1 -1
- package/dist/viewer/p-0aeab3fc.js +4 -0
- package/dist/viewer/p-0eb195dd.entry.js +4 -0
- package/dist/viewer/p-1a7df99a.entry.js +4 -0
- package/dist/viewer/{p-f70d8def.js → p-301660cf.js} +1 -1
- package/dist/viewer/{p-a0e49d10.entry.js → p-31658489.entry.js} +1 -1
- package/dist/viewer/{p-95f3a81c.entry.js → p-353cfc7a.entry.js} +1 -1
- package/dist/viewer/p-364ce21c.js +4 -0
- package/dist/viewer/{p-a5a0bf86.js → p-3f6ac74f.js} +1 -1
- package/dist/viewer/p-423410be.js +4 -0
- package/dist/viewer/{p-6f71f0f2.js → p-439220c6.js} +1 -1
- package/dist/viewer/{p-e84ed098.entry.js → p-46459921.entry.js} +1 -1
- package/dist/viewer/{p-c23a8b34.entry.js → p-4717c98e.entry.js} +1 -1
- package/dist/viewer/p-4985fad5.js +4 -0
- package/dist/viewer/{p-ba393340.entry.js → p-61b1097b.entry.js} +1 -1
- package/dist/viewer/{p-011eecd5.entry.js → p-6370098c.entry.js} +1 -1
- package/dist/viewer/p-67446e35.js +4 -0
- package/dist/viewer/p-7006fd4e.entry.js +4 -0
- package/dist/viewer/{p-a20e4ea1.entry.js → p-70ca1ea7.entry.js} +1 -1
- package/dist/viewer/p-76ec0245.js +4 -0
- package/dist/viewer/p-7cad9bf4.js +4 -0
- package/dist/viewer/p-7f25dcb5.entry.js +4 -0
- package/dist/viewer/{p-ca6bbe53.entry.js → p-8decee06.entry.js} +1 -1
- package/dist/viewer/{p-b7ffa306.entry.js → p-915d95ad.entry.js} +1 -1
- package/dist/viewer/{p-4485ac6d.js → p-a0df0e0c.js} +1 -1
- package/dist/viewer/{p-cc9888be.entry.js → p-a455ae02.entry.js} +1 -1
- package/dist/viewer/{p-a6a8026f.js → p-acf22d3e.js} +1 -1
- package/dist/viewer/{p-653aca1b.entry.js → p-b2b48a42.entry.js} +1 -1
- package/dist/viewer/p-bc9b1e67.entry.js +4 -0
- package/dist/viewer/p-c458f191.entry.js +32 -0
- package/dist/viewer/p-cafa57a6.js +4 -0
- package/dist/viewer/p-d00e9203.js +4 -0
- package/dist/viewer/{p-3e96bd62.entry.js → p-d2bcf788.entry.js} +1 -1
- package/dist/viewer/p-d90f2f6d.entry.js +4 -0
- package/dist/viewer/p-da2f4a56.js +4 -0
- package/dist/viewer/{p-5a2e34e1.entry.js → p-e07377fa.entry.js} +1 -1
- package/dist/viewer/{p-40800e8d.entry.js → p-f755af5a.entry.js} +1 -1
- package/dist/viewer/p-f7cb7e59.js +4 -0
- package/dist/viewer/p-fad9693e.js +4 -0
- package/dist/viewer/p-fe11d694.js +4 -0
- package/dist/viewer/{p-b92a3ac2.entry.js → p-fec1a8d0.entry.js} +1 -1
- package/dist/viewer/viewer.css +1 -1
- package/dist/viewer/viewer.esm.js +1 -1
- package/package.json +11 -10
- package/dist/cjs/summary-7bbdb4c9.js +0 -45
- package/dist/collection/lib/measurement/summary.js +0 -38
- package/dist/esm/summary-0a3d0bf9.js +0 -43
- package/dist/types/lib/measurement/summary.d.ts +0 -11
- package/dist/viewer/p-03e482ff.js +0 -4
- package/dist/viewer/p-0c052bc8.entry.js +0 -4
- package/dist/viewer/p-148cd792.js +0 -4
- package/dist/viewer/p-26d99e2d.entry.js +0 -4
- package/dist/viewer/p-38eeacc5.js +0 -4
- package/dist/viewer/p-39d1720c.js +0 -4
- package/dist/viewer/p-5dc17b8b.js +0 -4
- package/dist/viewer/p-5fea3491.js +0 -4
- package/dist/viewer/p-6b700561.entry.js +0 -4
- package/dist/viewer/p-6cd7a6e0.js +0 -4
- package/dist/viewer/p-75337d0b.js +0 -4
- package/dist/viewer/p-b83cc8a9.js +0 -4
- package/dist/viewer/p-d2a9e047.js +0 -4
- package/dist/viewer/p-d40bd835.entry.js +0 -4
- package/dist/viewer/p-e10b1526.js +0 -4
- package/dist/viewer/p-ec8a1a68.entry.js +0 -4
- package/dist/viewer/p-f4a8c901.js +0 -4
- 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,
|
|
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
|
-
|
|
9769
|
-
|
|
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
|
-
|
|
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-
|
|
8
|
+
const streamAttributes = require('./streamAttributes-d6236448.js');
|
|
9
9
|
|
|
10
10
|
const defaultColor = {
|
|
11
11
|
opacity: 100,
|