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