@vertexvis/viewer 0.13.0 → 0.13.1-canary.3

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 (45) hide show
  1. package/dist/cjs/constants-be2deb55.js +17 -0
  2. package/dist/cjs/loader.cjs.js +1 -1
  3. package/dist/cjs/{utils-235cd490.js → utils-545b1865.js} +5 -21
  4. package/dist/cjs/vertex-viewer-measurement-distance.cjs.entry.js +8 -8
  5. package/dist/cjs/vertex-viewer-measurement-line_2.cjs.entry.js +11 -12
  6. package/dist/cjs/vertex-viewer-measurement-precise.cjs.entry.js +4 -1
  7. package/dist/cjs/vertex-viewer-measurement-tool.cjs.entry.js +3 -2
  8. package/dist/cjs/vertex-viewer-measurements.cjs.entry.js +4 -3
  9. package/dist/cjs/vertex-viewer.cjs.entry.js +16 -3
  10. package/dist/cjs/viewer.cjs.js +1 -1
  11. package/dist/collection/components/viewer/viewer.js +35 -4
  12. package/dist/collection/components/viewer-measurement-distance/utils.js +6 -10
  13. package/dist/collection/components/viewer-measurement-distance/viewer-measurement-distance.js +6 -7
  14. package/dist/collection/components/viewer-measurement-overlays/viewer-measurement-overlays-components.js +12 -13
  15. package/dist/collection/components/viewer-measurement-precise/viewer-measurement-precise.js +6 -3
  16. package/dist/custom-elements/index.js +39 -30
  17. package/dist/esm/constants-8582656b.js +14 -0
  18. package/dist/esm/loader.js +1 -1
  19. package/dist/esm/loader.mjs +1 -1
  20. package/dist/esm/{utils-01e4f587.js → utils-83a19677.js} +6 -20
  21. package/dist/esm/vertex-viewer-measurement-distance.entry.js +6 -6
  22. package/dist/esm/vertex-viewer-measurement-line_2.entry.js +11 -12
  23. package/dist/esm/vertex-viewer-measurement-precise.entry.js +4 -1
  24. package/dist/esm/vertex-viewer-measurement-tool.entry.js +2 -1
  25. package/dist/esm/vertex-viewer-measurements.entry.js +3 -2
  26. package/dist/esm/vertex-viewer.entry.js +16 -3
  27. package/dist/esm/viewer.js +1 -1
  28. package/dist/types/components/viewer/viewer.d.ts +6 -0
  29. package/dist/types/components/viewer-measurement-distance/utils.d.ts +1 -3
  30. package/dist/types/components.d.ts +8 -0
  31. package/dist/viewer/p-204a25a5.entry.js +4 -0
  32. package/dist/viewer/p-2cefb1b0.js +4 -0
  33. package/dist/viewer/{p-b0ab66a9.entry.js → p-4ff48700.entry.js} +1 -1
  34. package/dist/viewer/p-671c113c.entry.js +4 -0
  35. package/dist/viewer/{p-ebb35eb7.entry.js → p-6e80f8b0.entry.js} +1 -1
  36. package/dist/viewer/p-849bd025.js +4 -0
  37. package/dist/viewer/p-c62cb926.entry.js +4 -0
  38. package/dist/viewer/p-f8d01b8a.entry.js +4 -0
  39. package/dist/viewer/viewer.esm.js +1 -1
  40. package/package.json +7 -7
  41. package/dist/viewer/p-0aeab3fc.js +0 -4
  42. package/dist/viewer/p-6370098c.entry.js +0 -4
  43. package/dist/viewer/p-6f3eff0b.entry.js +0 -4
  44. package/dist/viewer/p-7006fd4e.entry.js +0 -4
  45. package/dist/viewer/p-8e913c0b.entry.js +0 -4
@@ -1,10 +1,6 @@
1
- import { Line3, Point, Vector3 } from '@vertexvis/geometry';
2
- export function translateWorldPtToViewport(pt, projectionViewMatrix, viewport) {
3
- const ndc = Vector3.transformMatrix(pt, projectionViewMatrix);
4
- return viewport.transformVectorToViewport(ndc);
5
- }
1
+ import { Line3, Point } from '@vertexvis/geometry';
6
2
  export function translateWorldLineToViewport(line, params) {
7
- const { camera, projectionViewMatrix, viewport } = params;
3
+ const { camera, viewport } = params;
8
4
  const isStartBehindCamera = camera.isPointBehindNear(line.start);
9
5
  const isEndBehindCamera = camera.isPointBehindNear(line.end);
10
6
  // If either the start or end of the line is behind the camera, then we need
@@ -16,7 +12,7 @@ export function translateWorldLineToViewport(line, params) {
16
12
  start: isStartBehindCamera && pt != null ? pt : line.start,
17
13
  end: isEndBehindCamera && pt != null ? pt : line.end,
18
14
  });
19
- const ndc = Line3.transformMatrix(newLine, projectionViewMatrix);
15
+ const ndc = Line3.transformMatrix(newLine, camera.projectionViewMatrix);
20
16
  return {
21
17
  start: viewport.transformVectorToViewport(ndc.start),
22
18
  end: viewport.transformVectorToViewport(ndc.end),
@@ -25,7 +21,7 @@ export function translateWorldLineToViewport(line, params) {
25
21
  };
26
22
  }
27
23
  else {
28
- const ndc = Line3.transformMatrix(line, projectionViewMatrix);
24
+ const ndc = Line3.transformMatrix(line, camera.projectionViewMatrix);
29
25
  return {
30
26
  start: viewport.transformVectorToViewport(ndc.start),
31
27
  end: viewport.transformVectorToViewport(ndc.end),
@@ -47,6 +43,6 @@ export function isVertexViewerDistanceMeasurement(el) {
47
43
  el.nodeName === 'VERTEX-VIEWER-MEASUREMENT-DISTANCE');
48
44
  }
49
45
  function getIndicatorPtForAnchor(line, anchor, params) {
50
- return translateWorldPtToViewport(anchor === 'start' ? line.start : line.end, params.projectionViewMatrix, params.viewport);
46
+ return params.viewport.transformWorldToViewport(anchor === 'start' ? line.start : line.end, params.camera.projectionViewMatrix);
51
47
  }
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy92aWV3ZXItbWVhc3VyZW1lbnQtZGlzdGFuY2UvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBVyxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFxQnJFLE1BQU0sVUFBVSwwQkFBMEIsQ0FDeEMsRUFBbUIsRUFDbkIsb0JBQXFDLEVBQ3JDLFFBQWtCO0VBRWxCLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUMsRUFBRSxFQUFFLG9CQUFvQixDQUFDLENBQUM7RUFDOUQsT0FBTyxRQUFRLENBQUMseUJBQXlCLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDakQsQ0FBQztBQUVELE1BQU0sVUFBVSw0QkFBNEIsQ0FDMUMsSUFBaUIsRUFDakIsTUFBb0I7RUFPcEIsTUFBTSxFQUFFLE1BQU0sRUFBRSxvQkFBb0IsRUFBRSxRQUFRLEVBQUUsR0FBRyxNQUFNLENBQUM7RUFFMUQsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0VBQ2pFLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztFQUU3RCw0RUFBNEU7RUFDNUUsMEVBQTBFO0VBQzFFLDhEQUE4RDtFQUM5RCxJQUFJLG1CQUFtQixJQUFJLGlCQUFpQixFQUFFO0lBQzVDLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QyxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO01BQzNCLEtBQUssRUFBRSxtQkFBbUIsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLO01BQzFELEdBQUcsRUFBRSxpQkFBaUIsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHO0tBQ3JELENBQUMsQ0FBQztJQUVILE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLG9CQUFvQixDQUFDLENBQUM7SUFDakUsT0FBTztNQUNMLEtBQUssRUFBRSxRQUFRLENBQUMseUJBQXlCLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztNQUNwRCxHQUFHLEVBQUUsUUFBUSxDQUFDLHlCQUF5QixDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUM7TUFDaEQsU0FBUyxFQUFFLG1CQUFtQjtNQUM5QixPQUFPLEVBQUUsaUJBQWlCO0tBQzNCLENBQUM7R0FDSDtPQUFNO0lBQ0wsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztJQUM5RCxPQUFPO01BQ0wsS0FBSyxFQUFFLFFBQVEsQ0FBQyx5QkFBeUIsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO01BQ3BELEdBQUcsRUFBRSxRQUFRLENBQUMseUJBQXlCLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQztNQUNoRCxTQUFTLEVBQUUsS0FBSztNQUNoQixPQUFPLEVBQUUsS0FBSztLQUNmLENBQUM7R0FDSDtBQUNILENBQUM7QUFFRCxNQUFNLFVBQVUsMEJBQTBCLENBQ3hDLElBQWlCLEVBQ2pCLGlCQUFrQyxFQUNsQyxNQUFvQjtFQUVwQixNQUFNLEVBQ0osS0FBSyxFQUFFLE9BQU8sRUFDZCxHQUFHLEVBQUUsS0FBSyxFQUNWLFNBQVMsRUFDVCxPQUFPLEdBQ1IsR0FBRyw0QkFBNEIsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7RUFDL0MsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0VBQ2hELE1BQU0sV0FBVyxHQUNmLGlCQUFpQixLQUFLLE1BQU07SUFDMUIsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLElBQUksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLENBQUM7SUFDMUQsQ0FBQyxDQUFDLFNBQVMsQ0FBQztFQUVoQixPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsQ0FBQztBQUN0RSxDQUFDO0FBRUQsTUFBTSxVQUFVLGlDQUFpQyxDQUMvQyxFQUFXO0VBRVgsT0FBTyxDQUNMLEVBQUUsWUFBWSxXQUFXO0lBQ3pCLEVBQUUsQ0FBQyxRQUFRLEtBQUssb0NBQW9DLENBQ3JELENBQUM7QUFDSixDQUFDO0FBRUQsU0FBUyx1QkFBdUIsQ0FDOUIsSUFBaUIsRUFDakIsTUFBYyxFQUNkLE1BQW9CO0VBRXBCLE9BQU8sMEJBQTBCLENBQy9CLE1BQU0sS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQzFDLE1BQU0sQ0FBQyxvQkFBb0IsRUFDM0IsTUFBTSxDQUFDLFFBQVEsQ0FDaEIsQ0FBQztBQUNKLENBQUMifQ==
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy92aWV3ZXItbWVhc3VyZW1lbnQtZGlzdGFuY2UvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQW9CbkQsTUFBTSxVQUFVLDRCQUE0QixDQUMxQyxJQUFpQixFQUNqQixNQUFvQjtFQU9wQixNQUFNLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLE1BQU0sQ0FBQztFQUVwQyxNQUFNLG1CQUFtQixHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7RUFDakUsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0VBRTdELDRFQUE0RTtFQUM1RSwwRUFBMEU7RUFDMUUsOERBQThEO0VBQzlELElBQUksbUJBQW1CLElBQUksaUJBQWlCLEVBQUU7SUFDNUMsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlDLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7TUFDM0IsS0FBSyxFQUFFLG1CQUFtQixJQUFJLEVBQUUsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUs7TUFDMUQsR0FBRyxFQUFFLGlCQUFpQixJQUFJLEVBQUUsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUc7S0FDckQsQ0FBQyxDQUFDO0lBRUgsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDeEUsT0FBTztNQUNMLEtBQUssRUFBRSxRQUFRLENBQUMseUJBQXlCLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztNQUNwRCxHQUFHLEVBQUUsUUFBUSxDQUFDLHlCQUF5QixDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUM7TUFDaEQsU0FBUyxFQUFFLG1CQUFtQjtNQUM5QixPQUFPLEVBQUUsaUJBQWlCO0tBQzNCLENBQUM7R0FDSDtPQUFNO0lBQ0wsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDckUsT0FBTztNQUNMLEtBQUssRUFBRSxRQUFRLENBQUMseUJBQXlCLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztNQUNwRCxHQUFHLEVBQUUsUUFBUSxDQUFDLHlCQUF5QixDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUM7TUFDaEQsU0FBUyxFQUFFLEtBQUs7TUFDaEIsT0FBTyxFQUFFLEtBQUs7S0FDZixDQUFDO0dBQ0g7QUFDSCxDQUFDO0FBRUQsTUFBTSxVQUFVLDBCQUEwQixDQUN4QyxJQUFpQixFQUNqQixpQkFBa0MsRUFDbEMsTUFBb0I7RUFFcEIsTUFBTSxFQUNKLEtBQUssRUFBRSxPQUFPLEVBQ2QsR0FBRyxFQUFFLEtBQUssRUFDVixTQUFTLEVBQ1QsT0FBTyxHQUNSLEdBQUcsNEJBQTRCLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0VBQy9DLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztFQUNoRCxNQUFNLFdBQVcsR0FDZixpQkFBaUIsS0FBSyxNQUFNO0lBQzFCLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxDQUFDO0lBQzFELENBQUMsQ0FBQyxTQUFTLENBQUM7RUFFaEIsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLENBQUM7QUFDdEUsQ0FBQztBQUVELE1BQU0sVUFBVSxpQ0FBaUMsQ0FDL0MsRUFBVztFQUVYLE9BQU8sQ0FDTCxFQUFFLFlBQVksV0FBVztJQUN6QixFQUFFLENBQUMsUUFBUSxLQUFLLG9DQUFvQyxDQUNyRCxDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsdUJBQXVCLENBQzlCLElBQWlCLEVBQ2pCLE1BQWMsRUFDZCxNQUFvQjtFQUVwQixPQUFPLE1BQU0sQ0FBQyxRQUFRLENBQUMsd0JBQXdCLENBQzdDLE1BQU0sS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQzFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQ25DLENBQUM7QUFDSixDQUFDIn0=
@@ -8,7 +8,7 @@ import { DistanceUnits, Viewport, } from '../../lib/types';
8
8
  import { getMeasurementBoundingClientRect } from './dom';
9
9
  import { PointToPointHitTester } from './hitTest';
10
10
  import { PointToPointInteractionController, PointToPointInteractionModel, } from './interactions';
11
- import { getViewingElementPositions, translateWorldPtToViewport, } from './utils';
11
+ import { getViewingElementPositions, } from './utils';
12
12
  import { DistanceMeasurementRenderer } from './viewer-measurement-distance-components';
13
13
  /**
14
14
  * @slot start-anchor - An HTML element for the starting point anchor.
@@ -342,7 +342,7 @@ export class ViewerMeasurementDistance {
342
342
  computeEditOrViewElementPositions() {
343
343
  const measurement = this.model.getMeasurement();
344
344
  if (this.internalCamera != null && measurement != null) {
345
- return this.computeLineElementPositions(this.internalCamera.projectionViewMatrix, Line3.create(measurement));
345
+ return this.computeLineElementPositions(Line3.create(measurement));
346
346
  }
347
347
  else {
348
348
  return {};
@@ -352,11 +352,11 @@ export class ViewerMeasurementDistance {
352
352
  if (this.internalCamera != null) {
353
353
  const measurement = this.model.getMeasurement();
354
354
  const line = measurement != null
355
- ? this.computeLineElementPositions(this.internalCamera.projectionViewMatrix, Line3.create(measurement))
355
+ ? this.computeLineElementPositions(Line3.create(measurement))
356
356
  : {};
357
357
  const indicator = this.indicatorPt != null
358
358
  ? {
359
- indicatorPt: translateWorldPtToViewport(this.indicatorPt, this.internalCamera.projectionViewMatrix, this.viewport),
359
+ indicatorPt: this.viewport.transformWorldToViewport(this.indicatorPt, this.internalCamera.projectionViewMatrix),
360
360
  }
361
361
  : {};
362
362
  return Object.assign(Object.assign({}, line), indicator);
@@ -365,10 +365,9 @@ export class ViewerMeasurementDistance {
365
365
  return {};
366
366
  }
367
367
  }
368
- computeLineElementPositions(matrix, line) {
368
+ computeLineElementPositions(line) {
369
369
  if (this.internalCamera != null) {
370
370
  return getViewingElementPositions(line, this.interactingAnchor, {
371
- projectionViewMatrix: matrix,
372
371
  viewport: this.viewport,
373
372
  camera: this.internalCamera,
374
373
  });
@@ -1052,4 +1051,4 @@ export class ViewerMeasurementDistance {
1052
1051
  function parseVector3(value) {
1053
1052
  return typeof value === 'string' ? Vector3.fromJson(value) : value;
1054
1053
  }
1055
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld2VyLW1lYXN1cmVtZW50LWRpc3RhbmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvdmlld2VyLW1lYXN1cmVtZW50LWRpc3RhbmNlL3ZpZXdlci1tZWFzdXJlbWVudC1kaXN0YW5jZS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxPQUFPLEVBQ1AsS0FBSyxFQUVMLENBQUMsRUFDRCxJQUFJLEVBQ0osTUFBTSxFQUNOLElBQUksRUFDSixLQUFLLEVBQ0wsS0FBSyxHQUNOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxLQUFLLEVBQWtCLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBR3JFLE9BQU8sRUFDTCwyQkFBMkIsRUFDM0IseUJBQXlCLEdBQzFCLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFVLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDOUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZELE9BQU8sRUFDTCx5QkFBeUIsRUFDekIsZ0JBQWdCLEVBRWhCLHlCQUF5QixHQUMxQixNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFFTCxhQUFhLEVBSWIsUUFBUSxHQUNULE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQ3pELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNsRCxPQUFPLEVBR0wsaUNBQWlDLEVBQ2pDLDRCQUE0QixHQUM3QixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFFTCwwQkFBMEIsRUFFMUIsMEJBQTBCLEdBQzNCLE1BQU0sU0FBUyxDQUFDO0FBQ2pCLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBNkN2Rjs7Ozs7Ozs7Ozs7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
1054
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld2VyLW1lYXN1cmVtZW50LWRpc3RhbmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvdmlld2VyLW1lYXN1cmVtZW50LWRpc3RhbmNlL3ZpZXdlci1tZWFzdXJlbWVudC1kaXN0YW5jZS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxPQUFPLEVBQ1AsS0FBSyxFQUVMLENBQUMsRUFDRCxJQUFJLEVBQ0osTUFBTSxFQUNOLElBQUksRUFDSixLQUFLLEVBQ0wsS0FBSyxHQUNOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxLQUFLLEVBQVMsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFHNUQsT0FBTyxFQUNMLDJCQUEyQixFQUMzQix5QkFBeUIsR0FDMUIsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQVUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkQsT0FBTyxFQUNMLHlCQUF5QixFQUN6QixnQkFBZ0IsRUFFaEIseUJBQXlCLEdBQzFCLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUVMLGFBQWEsRUFJYixRQUFRLEdBQ1QsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDekQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2xELE9BQU8sRUFHTCxpQ0FBaUMsRUFDakMsNEJBQTRCLEdBQzdCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUVMLDBCQUEwQixHQUUzQixNQUFNLFNBQVMsQ0FBQztBQUNqQixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQTZDdkY7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFNSCxN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
@@ -1,5 +1,6 @@
1
1
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
2
2
  import { Fragment, h } from '@stencil/core';
3
+ import { translateWorldLineToViewport, } from '../viewer-measurement-distance/utils';
3
4
  export const MeasurementOverlayView = ({ overlay, viewport, camera }) => {
4
5
  if (overlay.type === 'line') {
5
6
  return (h(LineOverlayView, { overlay: overlay, viewport: viewport, camera: camera }));
@@ -8,23 +9,21 @@ export const MeasurementOverlayView = ({ overlay, viewport, camera }) => {
8
9
  return (h(DistanceVectorOverlayView, { overlay: overlay, viewport: viewport, camera: camera }));
9
10
  }
10
11
  };
11
- const LineOverlayView = ({ overlay: { start, end }, camera, viewport }) => {
12
- const m = camera.projectionViewMatrix;
13
- const sw = viewport.transformWorldToViewport(start, m);
14
- const ew = viewport.transformWorldToViewport(end, m);
15
- return (h("vertex-viewer-measurement-line", { class: "measurement-line", start: sw, end: ew }));
12
+ const LineOverlayView = ({ overlay, camera, viewport }) => {
13
+ const { start, end } = translateWorldLineToViewport(overlay, {
14
+ camera,
15
+ viewport,
16
+ });
17
+ return (h("vertex-viewer-measurement-line", { class: "measurement-line", start: start, end: end }));
16
18
  };
17
19
  const DistanceVectorOverlayView = ({ overlay: { x, y, z }, camera, viewport }) => {
18
- const m = camera.projectionViewMatrix;
19
- const xs = viewport.transformWorldToViewport(x.start, m);
20
- const xe = viewport.transformWorldToViewport(x.end, m);
21
- const ys = viewport.transformWorldToViewport(y.start, m);
22
- const ye = viewport.transformWorldToViewport(y.end, m);
23
- const zs = viewport.transformWorldToViewport(z.start, m);
24
- const ze = viewport.transformWorldToViewport(z.end, m);
20
+ const params = { camera, viewport };
21
+ const { start: xs, end: xe } = translateWorldLineToViewport(x, params);
22
+ const { start: ys, end: ye } = translateWorldLineToViewport(y, params);
23
+ const { start: zs, end: ze } = translateWorldLineToViewport(z, params);
25
24
  return (h(Fragment, null,
26
25
  h("vertex-viewer-measurement-line", { class: "measurement-line distance-vector-x", start: xs, end: xe }),
27
26
  h("vertex-viewer-measurement-line", { class: "measurement-line distance-vector-y", start: ys, end: ye }),
28
27
  h("vertex-viewer-measurement-line", { class: "measurement-line distance-vector-z", start: zs, end: ze })));
29
28
  };
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld2VyLW1lYXN1cmVtZW50LW92ZXJsYXlzLWNvbXBvbmVudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy92aWV3ZXItbWVhc3VyZW1lbnQtb3ZlcmxheXMvdmlld2VyLW1lYXN1cmVtZW50LW92ZXJsYXlzLWNvbXBvbmVudHMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDZEQUE2RDtBQUM3RCxPQUFPLEVBQUUsUUFBUSxFQUF1QixDQUFDLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFlakUsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBRS9CLENBQUMsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUU7RUFDcEMsSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLE1BQU0sRUFBRTtJQUMzQixPQUFPLENBQ0wsRUFBQyxlQUFlLElBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEdBQUksQ0FDMUUsQ0FBQztHQUNIO09BQU07SUFDTCxPQUFPLENBQ0wsRUFBQyx5QkFBeUIsSUFDeEIsT0FBTyxFQUFFLE9BQU8sRUFDaEIsUUFBUSxFQUFFLFFBQVEsRUFDbEIsTUFBTSxFQUFFLE1BQU0sR0FDZCxDQUNILENBQUM7R0FDSDtBQUNILENBQUMsQ0FBQztBQUVGLE1BQU0sZUFBZSxHQUVqQixDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFO0VBQ3BELE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQztFQUV0QyxNQUFNLEVBQUUsR0FBRyxRQUFRLENBQUMsd0JBQXdCLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0VBQ3ZELE1BQU0sRUFBRSxHQUFHLFFBQVEsQ0FBQyx3QkFBd0IsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7RUFFckQsT0FBTyxDQUNMLHNDQUNFLEtBQUssRUFBQyxrQkFBa0IsRUFDeEIsS0FBSyxFQUFFLEVBQUUsRUFDVCxHQUFHLEVBQUUsRUFBRSxHQUNQLENBQ0gsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0seUJBQXlCLEdBRTNCLENBQUMsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFO0VBQ2pELE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQztFQUV0QyxNQUFNLEVBQUUsR0FBRyxRQUFRLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztFQUN6RCxNQUFNLEVBQUUsR0FBRyxRQUFRLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztFQUN2RCxNQUFNLEVBQUUsR0FBRyxRQUFRLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztFQUN6RCxNQUFNLEVBQUUsR0FBRyxRQUFRLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztFQUN2RCxNQUFNLEVBQUUsR0FBRyxRQUFRLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztFQUN6RCxNQUFNLEVBQUUsR0FBRyxRQUFRLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztFQUV2RCxPQUFPLENBQ0wsRUFBQyxRQUFRO0lBQ1Asc0NBQ0UsS0FBSyxFQUFDLG9DQUFvQyxFQUMxQyxLQUFLLEVBQUUsRUFBRSxFQUNULEdBQUcsRUFBRSxFQUFFLEdBQ1A7SUFDRixzQ0FDRSxLQUFLLEVBQUMsb0NBQW9DLEVBQzFDLEtBQUssRUFBRSxFQUFFLEVBQ1QsR0FBRyxFQUFFLEVBQUUsR0FDUDtJQUNGLHNDQUNFLEtBQUssRUFBQyxvQ0FBb0MsRUFDMUMsS0FBSyxFQUFFLEVBQUUsRUFDVCxHQUFHLEVBQUUsRUFBRSxHQUNQLENBQ08sQ0FDWixDQUFDO0FBQ0osQ0FBQyxDQUFDIn0=
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld2VyLW1lYXN1cmVtZW50LW92ZXJsYXlzLWNvbXBvbmVudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy92aWV3ZXItbWVhc3VyZW1lbnQtb3ZlcmxheXMvdmlld2VyLW1lYXN1cmVtZW50LW92ZXJsYXlzLWNvbXBvbmVudHMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDZEQUE2RDtBQUM3RCxPQUFPLEVBQUUsUUFBUSxFQUF1QixDQUFDLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFRakUsT0FBTyxFQUVMLDRCQUE0QixHQUM3QixNQUFNLHNDQUFzQyxDQUFDO0FBUTlDLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUUvQixDQUFDLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFO0VBQ3BDLElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxNQUFNLEVBQUU7SUFDM0IsT0FBTyxDQUNMLEVBQUMsZUFBZSxJQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxHQUFJLENBQzFFLENBQUM7R0FDSDtPQUFNO0lBQ0wsT0FBTyxDQUNMLEVBQUMseUJBQXlCLElBQ3hCLE9BQU8sRUFBRSxPQUFPLEVBQ2hCLFFBQVEsRUFBRSxRQUFRLEVBQ2xCLE1BQU0sRUFBRSxNQUFNLEdBQ2QsQ0FDSCxDQUFDO0dBQ0g7QUFDSCxDQUFDLENBQUM7QUFFRixNQUFNLGVBQWUsR0FFakIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRTtFQUNwQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxHQUFHLDRCQUE0QixDQUFDLE9BQU8sRUFBRTtJQUMzRCxNQUFNO0lBQ04sUUFBUTtHQUNULENBQUMsQ0FBQztFQUVILE9BQU8sQ0FDTCxzQ0FDRSxLQUFLLEVBQUMsa0JBQWtCLEVBQ3hCLEtBQUssRUFBRSxLQUFLLEVBQ1osR0FBRyxFQUFFLEdBQUcsR0FDUixDQUNILENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLHlCQUF5QixHQUUzQixDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRTtFQUNqRCxNQUFNLE1BQU0sR0FBaUIsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLENBQUM7RUFFbEQsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLDRCQUE0QixDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztFQUN2RSxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsNEJBQTRCLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0VBQ3ZFLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyw0QkFBNEIsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7RUFFdkUsT0FBTyxDQUNMLEVBQUMsUUFBUTtJQUNQLHNDQUNFLEtBQUssRUFBQyxvQ0FBb0MsRUFDMUMsS0FBSyxFQUFFLEVBQUUsRUFDVCxHQUFHLEVBQUUsRUFBRSxHQUNQO0lBQ0Ysc0NBQ0UsS0FBSyxFQUFDLG9DQUFvQyxFQUMxQyxLQUFLLEVBQUUsRUFBRSxFQUNULEdBQUcsRUFBRSxFQUFFLEdBQ1A7SUFDRixzQ0FDRSxLQUFLLEVBQUMsb0NBQW9DLEVBQzFDLEtBQUssRUFBRSxFQUFFLEVBQ1QsR0FBRyxFQUFFLEVBQUUsR0FDUCxDQUNPLENBQ1osQ0FBQztBQUNKLENBQUMsQ0FBQyJ9
@@ -23,7 +23,10 @@ export class ViewerMeasurementPrecise {
23
23
  * An internal property that can be used to opt-in to performing measurements
24
24
  * on other types of entities.
25
25
  */
26
- this.measurableEntityTypes = [EntityType.PRECISE_SURFACE];
26
+ this.measurableEntityTypes = [
27
+ EntityType.PRECISE_SURFACE,
28
+ EntityType.IMPRECISE_SURFACE,
29
+ ];
27
30
  /**
28
31
  * The environment that will be used to request measurement results.
29
32
  */
@@ -207,7 +210,7 @@ export class ViewerMeasurementPrecise {
207
210
  }],
208
211
  "text": ""
209
212
  },
210
- "defaultValue": "[EntityType.PRECISE_SURFACE]"
213
+ "defaultValue": "[\n EntityType.PRECISE_SURFACE,\n EntityType.IMPRECISE_SURFACE,\n ]"
211
214
  },
212
215
  "viewer": {
213
216
  "type": "unknown",
@@ -289,4 +292,4 @@ export class ViewerMeasurementPrecise {
289
292
  "methodName": "handleViewerChanged"
290
293
  }]; }
291
294
  }
292
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld2VyLW1lYXN1cmVtZW50LXByZWNpc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy92aWV3ZXItbWVhc3VyZW1lbnQtcHJlY2lzZS92aWV3ZXItbWVhc3VyZW1lbnQtcHJlY2lzZS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNkRBQTZEO0FBQzdELE9BQU8sRUFBRSxTQUFTLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5RUFBeUUsQ0FBQztBQUc3RyxPQUFPLEVBQVUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFdkQsT0FBTyxFQUNMLHFCQUFxQixFQUNyQixnQkFBZ0IsRUFFaEIseUJBQXlCLEdBQzFCLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDbkYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBTzdDLE1BQU0sT0FBTyx3QkFBd0I7RUFMckM7SUFNRTs7O09BR0c7SUFFSSxxQkFBZ0IsR0FBcUIsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO0lBRW5FOzs7T0FHRztJQUVJLHdCQUFtQixHQUE4QixJQUFJLHlCQUF5QixFQUFFLENBQUM7SUFTeEY7Ozs7O09BS0c7SUFFSSwwQkFBcUIsR0FBaUIsQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLENBQUM7SUFTMUU7O09BRUc7SUFFSSxjQUFTLEdBQWdCLFVBQVUsQ0FBQztJQVVuQyxhQUFRLEdBQXlCLEVBQUUsQ0FBQztHQTBIN0M7RUFwSEM7O0tBRUc7RUFDTyxpQkFBaUI7SUFDekIsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7RUFDakMsQ0FBQztFQUVEOztLQUVHO0VBQ08saUJBQWlCO0lBQ3pCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN2QixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUMzQixJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztFQUNqQyxDQUFDO0VBRUQ7O0tBRUc7RUFDTyxvQkFBb0I7SUFDNUIsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7SUFDL0IsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7RUFDN0IsQ0FBQztFQUVEOztLQUVHO0VBRU8sa0NBQWtDO0lBQzFDLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO0VBQ2pDLENBQUM7RUFFRDs7S0FFRztFQUVPLGtDQUFrQztJQUMxQyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztFQUNqQyxDQUFDO0VBRUQ7O0tBRUc7RUFFTyw2QkFBNkI7SUFDckMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3ZCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0VBQzdCLENBQUM7RUFFRDs7S0FFRztFQUVPLG1CQUFtQjtJQUMzQixJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztFQUNqQyxDQUFDO0VBRUQ7O0tBRUc7RUFDTyxNQUFNO0lBQ2QsT0FBTyxDQUNMLEVBQUMsSUFBSTtNQUNILDBDQUNFLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxFQUNuQixtQkFBbUIsRUFBRSxJQUFJLENBQUMsbUJBQW1CLEdBQzdDLENBQ0csQ0FDUixDQUFDO0VBQ0osQ0FBQztFQUVPLGVBQWU7O0lBQ3JCLE1BQU0sTUFBTSxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN4RCxNQUFNLE1BQU0sR0FBRyxJQUFJLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDcEUsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUkscUJBQXFCLENBQ3BELElBQUksQ0FBQyxnQkFBZ0IsRUFDckIsTUFBTSxFQUNOLEdBQUcsRUFBRSxXQUFDLE9BQUEsTUFBQSxJQUFJLENBQUMsTUFBTSwwQ0FBRSxLQUFLLENBQUEsRUFBQSxFQUN4QixNQUFBLElBQUksQ0FBQyxNQUFNLDBDQUFFLFFBQVEsQ0FDdEIsQ0FBQztFQUNKLENBQUM7RUFFTyx1QkFBdUI7O0lBQzdCLE1BQUEsSUFBSSxDQUFDLDRCQUE0QiwwQ0FBRSxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3hFLElBQUksQ0FBQyw0QkFBNEIsR0FBRyxTQUFTLENBQUM7RUFDaEQsQ0FBQztFQUVPLHVCQUF1Qjs7SUFDN0IsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7SUFFL0IsSUFBSSxJQUFJLENBQUMscUJBQXFCLElBQUksSUFBSSxFQUFFO01BQ3RDLElBQUksQ0FBQyw0QkFBNEI7UUFDL0IsTUFBQSxJQUFJLENBQUMsTUFBTSwwQ0FBRSwwQkFBMEIsQ0FDckMsSUFBSSw2QkFBNkIsQ0FDL0IsSUFBSSxDQUFDLHFCQUFxQixFQUMxQixJQUFJLENBQUMscUJBQXFCLENBQzNCLENBQ0YsQ0FBQztLQUNMO0VBQ0gsQ0FBQztFQUVPLG1CQUFtQjs7SUFDekIsTUFBQSxJQUFJLENBQUMsd0JBQXdCLDBDQUFFLE9BQU8sRUFBRSxDQUFDO0lBQ3pDLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxTQUFTLENBQUM7SUFFMUMsTUFBQSxJQUFJLENBQUMsd0JBQXdCLDBDQUFFLE9BQU8sRUFBRSxDQUFDO0lBQ3pDLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxTQUFTLENBQUM7RUFDNUMsQ0FBQztFQUVPLG1CQUFtQjtJQUN6QixJQUFJLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGlCQUFpQixDQUN4RSxDQUFDLFFBQVEsRUFBRSxFQUFFO01BQ1gsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDM0IsQ0FBQyxDQUNGLENBQUM7RUFDSixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBQ0YifQ==
295
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld2VyLW1lYXN1cmVtZW50LXByZWNpc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy92aWV3ZXItbWVhc3VyZW1lbnQtcHJlY2lzZS92aWV3ZXItbWVhc3VyZW1lbnQtcHJlY2lzZS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNkRBQTZEO0FBQzdELE9BQU8sRUFBRSxTQUFTLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5RUFBeUUsQ0FBQztBQUc3RyxPQUFPLEVBQVUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFdkQsT0FBTyxFQUNMLHFCQUFxQixFQUNyQixnQkFBZ0IsRUFFaEIseUJBQXlCLEdBQzFCLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDbkYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBTzdDLE1BQU0sT0FBTyx3QkFBd0I7RUFMckM7SUFNRTs7O09BR0c7SUFFSSxxQkFBZ0IsR0FBcUIsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO0lBRW5FOzs7T0FHRztJQUVJLHdCQUFtQixHQUE4QixJQUFJLHlCQUF5QixFQUFFLENBQUM7SUFTeEY7Ozs7O09BS0c7SUFFSSwwQkFBcUIsR0FBaUI7TUFDM0MsVUFBVSxDQUFDLGVBQWU7TUFDMUIsVUFBVSxDQUFDLGlCQUFpQjtLQUM3QixDQUFDO0lBU0Y7O09BRUc7SUFFSSxjQUFTLEdBQWdCLFVBQVUsQ0FBQztJQVVuQyxhQUFRLEdBQXlCLEVBQUUsQ0FBQztHQTBIN0M7RUFwSEM7O0tBRUc7RUFDTyxpQkFBaUI7SUFDekIsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7RUFDakMsQ0FBQztFQUVEOztLQUVHO0VBQ08saUJBQWlCO0lBQ3pCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN2QixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUMzQixJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztFQUNqQyxDQUFDO0VBRUQ7O0tBRUc7RUFDTyxvQkFBb0I7SUFDNUIsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7SUFDL0IsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7RUFDN0IsQ0FBQztFQUVEOztLQUVHO0VBRU8sa0NBQWtDO0lBQzFDLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO0VBQ2pDLENBQUM7RUFFRDs7S0FFRztFQUVPLGtDQUFrQztJQUMxQyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztFQUNqQyxDQUFDO0VBRUQ7O0tBRUc7RUFFTyw2QkFBNkI7SUFDckMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3ZCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0VBQzdCLENBQUM7RUFFRDs7S0FFRztFQUVPLG1CQUFtQjtJQUMzQixJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztFQUNqQyxDQUFDO0VBRUQ7O0tBRUc7RUFDTyxNQUFNO0lBQ2QsT0FBTyxDQUNMLEVBQUMsSUFBSTtNQUNILDBDQUNFLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxFQUNuQixtQkFBbUIsRUFBRSxJQUFJLENBQUMsbUJBQW1CLEdBQzdDLENBQ0csQ0FDUixDQUFDO0VBQ0osQ0FBQztFQUVPLGVBQWU7O0lBQ3JCLE1BQU0sTUFBTSxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN4RCxNQUFNLE1BQU0sR0FBRyxJQUFJLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDcEUsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUkscUJBQXFCLENBQ3BELElBQUksQ0FBQyxnQkFBZ0IsRUFDckIsTUFBTSxFQUNOLEdBQUcsRUFBRSxXQUFDLE9BQUEsTUFBQSxJQUFJLENBQUMsTUFBTSwwQ0FBRSxLQUFLLENBQUEsRUFBQSxFQUN4QixNQUFBLElBQUksQ0FBQyxNQUFNLDBDQUFFLFFBQVEsQ0FDdEIsQ0FBQztFQUNKLENBQUM7RUFFTyx1QkFBdUI7O0lBQzdCLE1BQUEsSUFBSSxDQUFDLDRCQUE0QiwwQ0FBRSxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3hFLElBQUksQ0FBQyw0QkFBNEIsR0FBRyxTQUFTLENBQUM7RUFDaEQsQ0FBQztFQUVPLHVCQUF1Qjs7SUFDN0IsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7SUFFL0IsSUFBSSxJQUFJLENBQUMscUJBQXFCLElBQUksSUFBSSxFQUFFO01BQ3RDLElBQUksQ0FBQyw0QkFBNEI7UUFDL0IsTUFBQSxJQUFJLENBQUMsTUFBTSwwQ0FBRSwwQkFBMEIsQ0FDckMsSUFBSSw2QkFBNkIsQ0FDL0IsSUFBSSxDQUFDLHFCQUFxQixFQUMxQixJQUFJLENBQUMscUJBQXFCLENBQzNCLENBQ0YsQ0FBQztLQUNMO0VBQ0gsQ0FBQztFQUVPLG1CQUFtQjs7SUFDekIsTUFBQSxJQUFJLENBQUMsd0JBQXdCLDBDQUFFLE9BQU8sRUFBRSxDQUFDO0lBQ3pDLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxTQUFTLENBQUM7SUFFMUMsTUFBQSxJQUFJLENBQUMsd0JBQXdCLDBDQUFFLE9BQU8sRUFBRSxDQUFDO0lBQ3pDLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxTQUFTLENBQUM7RUFDNUMsQ0FBQztFQUVPLG1CQUFtQjtJQUN6QixJQUFJLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGlCQUFpQixDQUN4RSxDQUFDLFFBQVEsRUFBRSxFQUFFO01BQ1gsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDM0IsQ0FBQyxDQUNGLENBQUM7RUFDSixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBQ0YifQ==
@@ -100718,6 +100718,11 @@ let Viewer = class extends HTMLElement$1 {
100718
100718
  * The default hex color or material to use when selecting items.
100719
100719
  */
100720
100720
  this.selectionMaterial = defaultSelectionMaterial;
100721
+ /**
100722
+ * An optional value that will debounce frame updates when resizing
100723
+ * this viewer element.
100724
+ */
100725
+ this.resizeDebounce = 0;
100721
100726
  /**
100722
100727
  * @internal
100723
100728
  */
@@ -101091,9 +101096,17 @@ let Viewer = class extends HTMLElement$1 {
101091
101096
  const dimensionsHaveChanged = entries.length >= 0 &&
101092
101097
  this.dimensions != null &&
101093
101098
  !dimensions.isEqual(entries[0].contentRect, this.dimensions);
101094
- if (dimensionsHaveChanged && !this.isResizing) {
101095
- this.isResizing = true;
101096
- window.requestAnimationFrame(() => this.recalculateComponentDimensions());
101099
+ if (dimensionsHaveChanged) {
101100
+ if (this.resizeTimer != null) {
101101
+ clearTimeout(this.resizeTimer);
101102
+ this.resizeTimer = undefined;
101103
+ }
101104
+ if (!this.isResizing) {
101105
+ this.resizeTimer = setTimeout(() => {
101106
+ this.isResizing = true;
101107
+ this.recalculateComponentDimensions();
101108
+ }, this.resizeDebounce);
101109
+ }
101097
101110
  }
101098
101111
  }
101099
101112
  registerSlotChangeListeners() {
@@ -104145,12 +104158,8 @@ function invalidMeasurement(start, end) {
104145
104158
  return { start, end, valid: false };
104146
104159
  }
104147
104160
 
104148
- function translateWorldPtToViewport(pt, projectionViewMatrix, viewport) {
104149
- const ndc = vector3.transformMatrix(pt, projectionViewMatrix);
104150
- return viewport.transformVectorToViewport(ndc);
104151
- }
104152
104161
  function translateWorldLineToViewport(line, params) {
104153
- const { camera, projectionViewMatrix, viewport } = params;
104162
+ const { camera, viewport } = params;
104154
104163
  const isStartBehindCamera = camera.isPointBehindNear(line.start);
104155
104164
  const isEndBehindCamera = camera.isPointBehindNear(line.end);
104156
104165
  // If either the start or end of the line is behind the camera, then we need
@@ -104162,7 +104171,7 @@ function translateWorldLineToViewport(line, params) {
104162
104171
  start: isStartBehindCamera && pt != null ? pt : line.start,
104163
104172
  end: isEndBehindCamera && pt != null ? pt : line.end,
104164
104173
  });
104165
- const ndc = line3.transformMatrix(newLine, projectionViewMatrix);
104174
+ const ndc = line3.transformMatrix(newLine, camera.projectionViewMatrix);
104166
104175
  return {
104167
104176
  start: viewport.transformVectorToViewport(ndc.start),
104168
104177
  end: viewport.transformVectorToViewport(ndc.end),
@@ -104171,7 +104180,7 @@ function translateWorldLineToViewport(line, params) {
104171
104180
  };
104172
104181
  }
104173
104182
  else {
104174
- const ndc = line3.transformMatrix(line, projectionViewMatrix);
104183
+ const ndc = line3.transformMatrix(line, camera.projectionViewMatrix);
104175
104184
  return {
104176
104185
  start: viewport.transformVectorToViewport(ndc.start),
104177
104186
  end: viewport.transformVectorToViewport(ndc.end),
@@ -104193,7 +104202,7 @@ function isVertexViewerDistanceMeasurement(el) {
104193
104202
  el.nodeName === 'VERTEX-VIEWER-MEASUREMENT-DISTANCE');
104194
104203
  }
104195
104204
  function getIndicatorPtForAnchor(line, anchor, params) {
104196
- return translateWorldPtToViewport(anchor === 'start' ? line.start : line.end, params.projectionViewMatrix, params.viewport);
104205
+ return params.viewport.transformWorldToViewport(anchor === 'start' ? line.start : line.end, params.camera.projectionViewMatrix);
104197
104206
  }
104198
104207
 
104199
104208
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
@@ -104550,7 +104559,7 @@ let ViewerMeasurementDistance = class extends HTMLElement$1 {
104550
104559
  computeEditOrViewElementPositions() {
104551
104560
  const measurement = this.model.getMeasurement();
104552
104561
  if (this.internalCamera != null && measurement != null) {
104553
- return this.computeLineElementPositions(this.internalCamera.projectionViewMatrix, line3.create(measurement));
104562
+ return this.computeLineElementPositions(line3.create(measurement));
104554
104563
  }
104555
104564
  else {
104556
104565
  return {};
@@ -104560,11 +104569,11 @@ let ViewerMeasurementDistance = class extends HTMLElement$1 {
104560
104569
  if (this.internalCamera != null) {
104561
104570
  const measurement = this.model.getMeasurement();
104562
104571
  const line = measurement != null
104563
- ? this.computeLineElementPositions(this.internalCamera.projectionViewMatrix, line3.create(measurement))
104572
+ ? this.computeLineElementPositions(line3.create(measurement))
104564
104573
  : {};
104565
104574
  const indicator = this.indicatorPt != null
104566
104575
  ? {
104567
- indicatorPt: translateWorldPtToViewport(this.indicatorPt, this.internalCamera.projectionViewMatrix, this.viewport),
104576
+ indicatorPt: this.viewport.transformWorldToViewport(this.indicatorPt, this.internalCamera.projectionViewMatrix),
104568
104577
  }
104569
104578
  : {};
104570
104579
  return Object.assign(Object.assign({}, line), indicator);
@@ -104573,10 +104582,9 @@ let ViewerMeasurementDistance = class extends HTMLElement$1 {
104573
104582
  return {};
104574
104583
  }
104575
104584
  }
104576
- computeLineElementPositions(matrix, line) {
104585
+ computeLineElementPositions(line) {
104577
104586
  if (this.internalCamera != null) {
104578
104587
  return getViewingElementPositions(line, this.interactingAnchor, {
104579
- projectionViewMatrix: matrix,
104580
104588
  viewport: this.viewport,
104581
104589
  camera: this.internalCamera,
104582
104590
  });
@@ -104836,20 +104844,18 @@ const MeasurementOverlayView = ({ overlay, viewport, camera }) => {
104836
104844
  return (h(DistanceVectorOverlayView, { overlay: overlay, viewport: viewport, camera: camera }));
104837
104845
  }
104838
104846
  };
104839
- const LineOverlayView = ({ overlay: { start, end }, camera, viewport }) => {
104840
- const m = camera.projectionViewMatrix;
104841
- const sw = viewport.transformWorldToViewport(start, m);
104842
- const ew = viewport.transformWorldToViewport(end, m);
104843
- return (h("vertex-viewer-measurement-line", { class: "measurement-line", start: sw, end: ew }));
104847
+ const LineOverlayView = ({ overlay, camera, viewport }) => {
104848
+ const { start, end } = translateWorldLineToViewport(overlay, {
104849
+ camera,
104850
+ viewport,
104851
+ });
104852
+ return (h("vertex-viewer-measurement-line", { class: "measurement-line", start: start, end: end }));
104844
104853
  };
104845
104854
  const DistanceVectorOverlayView = ({ overlay: { x, y, z }, camera, viewport }) => {
104846
- const m = camera.projectionViewMatrix;
104847
- const xs = viewport.transformWorldToViewport(x.start, m);
104848
- const xe = viewport.transformWorldToViewport(x.end, m);
104849
- const ys = viewport.transformWorldToViewport(y.start, m);
104850
- const ye = viewport.transformWorldToViewport(y.end, m);
104851
- const zs = viewport.transformWorldToViewport(z.start, m);
104852
- const ze = viewport.transformWorldToViewport(z.end, m);
104855
+ const params = { camera, viewport };
104856
+ const { start: xs, end: xe } = translateWorldLineToViewport(x, params);
104857
+ const { start: ys, end: ye } = translateWorldLineToViewport(y, params);
104858
+ const { start: zs, end: ze } = translateWorldLineToViewport(z, params);
104853
104859
  return (h(Fragment, null,
104854
104860
  h("vertex-viewer-measurement-line", { class: "measurement-line distance-vector-x", start: xs, end: xe }),
104855
104861
  h("vertex-viewer-measurement-line", { class: "measurement-line distance-vector-y", start: ys, end: ye }),
@@ -105173,7 +105179,10 @@ let ViewerMeasurementPrecise = class extends HTMLElement$1 {
105173
105179
  * An internal property that can be used to opt-in to performing measurements
105174
105180
  * on other types of entities.
105175
105181
  */
105176
- this.measurableEntityTypes = [EntityType.PRECISE_SURFACE];
105182
+ this.measurableEntityTypes = [
105183
+ EntityType.PRECISE_SURFACE,
105184
+ EntityType.IMPRECISE_SURFACE,
105185
+ ];
105177
105186
  /**
105178
105187
  * The environment that will be used to request measurement results.
105179
105188
  */
@@ -105965,7 +105974,7 @@ const VertexSceneTreeTableLayout = /*@__PURE__*/proxyCustomElement(SceneTreeTabl
105965
105974
  const VertexSceneTreeTableResizeDivider = /*@__PURE__*/proxyCustomElement(SceneTreeTableResizeDivider, [1,"vertex-scene-tree-table-resize-divider",{"dragging":[32]}]);
105966
105975
  const VertexSceneTreeToolbar = /*@__PURE__*/proxyCustomElement(SceneTreeToolbar, [1,"vertex-scene-tree-toolbar"]);
105967
105976
  const VertexSceneTreeToolbarGroup = /*@__PURE__*/proxyCustomElement(SceneTreeToolbarGroup, [1,"vertex-scene-tree-toolbar-group"]);
105968
- const VertexViewer = /*@__PURE__*/proxyCustomElement(Viewer, [1,"vertex-viewer",{"src":[1],"clientId":[1,"client-id"],"deviceId":[1,"device-id"],"config":[1],"configEnv":[1,"config-env"],"resolvedConfig":[1040],"cameraControls":[4,"camera-controls"],"keyboardControls":[4,"keyboard-controls"],"rotateAroundTapPoint":[4,"rotate-around-tap-point"],"token":[1025],"depthBuffers":[1,"depth-buffers"],"experimentalGhostingOpacity":[2,"experimental-ghosting-opacity"],"featureLines":[16],"featureHighlighting":[16],"featureMaps":[1,"feature-maps"],"selectionMaterial":[1,"selection-material"],"frame":[1040],"stream":[1040],"stencilBuffer":[1040],"viewport":[1040],"dimensions":[32],"hostDimensions":[32],"errorMessage":[32],"cursor":[32],"stateMap":[32]},[[0,"tap","handleTapEvent"]]]);
105977
+ const VertexViewer = /*@__PURE__*/proxyCustomElement(Viewer, [1,"vertex-viewer",{"src":[1],"clientId":[1,"client-id"],"deviceId":[1,"device-id"],"config":[1],"configEnv":[1,"config-env"],"resolvedConfig":[1040],"cameraControls":[4,"camera-controls"],"keyboardControls":[4,"keyboard-controls"],"rotateAroundTapPoint":[4,"rotate-around-tap-point"],"token":[1025],"depthBuffers":[1,"depth-buffers"],"experimentalGhostingOpacity":[2,"experimental-ghosting-opacity"],"featureLines":[16],"featureHighlighting":[16],"featureMaps":[1,"feature-maps"],"selectionMaterial":[1,"selection-material"],"resizeDebounce":[2,"resize-debounce"],"frame":[1040],"stream":[1040],"stencilBuffer":[1040],"viewport":[1040],"dimensions":[32],"hostDimensions":[32],"errorMessage":[32],"cursor":[32],"stateMap":[32]},[[0,"tap","handleTapEvent"]]]);
105969
105978
  const VertexViewerButton = /*@__PURE__*/proxyCustomElement(ViewerButton, [1,"vertex-viewer-button"]);
105970
105979
  const VertexViewerDefaultToolbar = /*@__PURE__*/proxyCustomElement(ViewerDefaultToolbar, [1,"vertex-viewer-default-toolbar",{"viewer":[16],"placement":[1],"direction":[1],"animationsDisabled":[4,"animations-disabled"],"animationMs":[2,"animation-ms"]}]);
105971
105980
  const VertexViewerDomElement = /*@__PURE__*/proxyCustomElement(ViewerDomElement, [1,"vertex-viewer-dom-element",{"position":[1040],"positionJson":[1,"position"],"rotation":[1040],"rotationJson":[1,"rotation"],"quaternion":[1040],"quaternionJson":[1,"quaternion"],"scale":[1040],"scaleJson":[1,"scale"],"matrix":[1040],"occlusionOff":[4,"occlusion-off"],"occluded":[516],"billboardOff":[4,"billboard-off"],"interactionsOff":[516,"interactions-off"]}]);
@@ -0,0 +1,14 @@
1
+ /**!
2
+ * Copyright (c) 2022 Vertex Software LLC. All rights reserved.
3
+ */
4
+ /**
5
+ * The default distance, in pixels, between the mouse position and a snappable
6
+ * measurement feature.
7
+ */
8
+ const MEASUREMENT_SNAP_DISTANCE = 16;
9
+ /**
10
+ * The default length, in pixels, for the measurement line cap.
11
+ */
12
+ const MEASUREMENT_LINE_CAP_LENGTH = 10;
13
+
14
+ export { MEASUREMENT_SNAP_DISTANCE as M, MEASUREMENT_LINE_CAP_LENGTH as a };
@@ -16,7 +16,7 @@ const defineCustomElements = (win, options) => {
16
16
  if (typeof window === 'undefined') return Promise.resolve();
17
17
  return patchEsm().then(() => {
18
18
  globalScripts();
19
- return bootstrapLazy([["vertex-viewer-default-toolbar",[[1,"vertex-viewer-default-toolbar",{"viewer":[16],"placement":[1],"direction":[1],"animationsDisabled":[4,"animations-disabled"],"animationMs":[2,"animation-ms"]}]]],["vertex-scene-tree",[[1,"vertex-scene-tree",{"overScanCount":[2,"over-scan-count"],"viewerSelector":[1,"viewer-selector"],"viewer":[1040],"rowData":[16],"config":[16],"configEnv":[1,"config-env"],"controller":[1040],"filterOnMetadata":[1028,"filter-on-metadata"],"metadataKeys":[16],"rows":[32],"totalRows":[32],"stateMap":[32],"connectionErrorDetails":[32],"attemptingRetry":[32],"invalidateRows":[64],"scrollToIndex":[64],"scrollToItem":[64],"expandAll":[64],"collapseAll":[64],"expandItem":[64],"collapseItem":[64],"toggleExpandItem":[64],"toggleItemVisibility":[64],"hideItem":[64],"showItem":[64],"selectItem":[64],"deselectItem":[64],"getRowAtIndex":[64],"getRowForEvent":[64],"getRowAtClientY":[64],"filterItems":[64],"fetchMetadataKeys":[64]},[[0,"search","handleSearch"]]]]],["vertex-viewer-measurement-tool",[[1,"vertex-viewer-measurement-tool",{"distanceTemplateId":[1,"distance-template-id"],"tool":[1],"units":[1],"fractionalDigits":[2,"fractional-digits"],"disabled":[4],"viewer":[16],"isMeasuring":[1540,"is-measuring"],"snapDistance":[2,"snap-distance"],"stateMap":[32]}]]],["vertex-viewer-markup",[[1,"vertex-viewer-markup",{"arrowTemplateId":[1,"arrow-template-id"],"circleTemplateId":[1,"circle-template-id"],"freeformTemplateId":[1,"freeform-template-id"],"tool":[1],"disabled":[4],"viewer":[16],"selectedMarkupId":[1025,"selected-markup-id"],"selectNew":[4,"select-new"],"toSelectMarkupId":[32],"pointerDownPosition":[32],"addMarkup":[64],"removeMarkup":[64],"getMarkupElements":[64],"getMarkupElement":[64]},[[0,"markupEnd","handleMarkupEnd"],[1,"pointerdown","handleMarkupPointerDown"]]]]],["vertex-viewer-markup-tool",[[1,"vertex-viewer-markup-tool",{"arrowTemplateId":[1,"arrow-template-id"],"circleTemplateId":[1,"circle-template-id"],"freeformTemplateId":[1,"freeform-template-id"],"tool":[1],"disabled":[4],"viewer":[16],"stateMap":[32],"reset":[64]}]]],["vertex-viewer-measurements",[[1,"vertex-viewer-measurements",{"distanceTemplateId":[1,"distance-template-id"],"tool":[1],"units":[1],"fractionalDigits":[2,"fractional-digits"],"disabled":[4],"viewer":[16],"selectedMeasurementId":[1025,"selected-measurement-id"],"snapDistance":[2,"snap-distance"],"showAxisReferenceLines":[4,"show-axis-reference-lines"],"measurementModel":[16],"addMeasurement":[64],"removeMeasurement":[64],"getMeasurementElement":[64],"getMeasurementElements":[64]},[[0,"measureEnd","handleMeasureEnd"],[1,"pointerdown","handleMeasurementPointerDown"]]]]],["vertex-viewer-view-cube",[[1,"vertex-viewer-view-cube",{"xPositiveLabel":[1,"x-positive-label"],"xNegativeLabel":[1,"x-negative-label"],"yPositiveLabel":[1,"y-positive-label"],"yNegativeLabel":[1,"y-negative-label"],"zPositiveLabel":[1,"z-positive-label"],"zNegativeLabel":[1,"z-negative-label"],"standardViewsOff":[4,"standard-views-off"],"animationDuration":[2,"animation-duration"],"triadOff":[4,"triad-off"],"worldOrientation":[1040],"camera":[1040],"viewer":[16],"boxLength":[32],"triadPosition":[32]}]]],["vertex-viewer-measurement-precise",[[1,"vertex-viewer-measurement-precise",{"measurementModel":[16],"measurementOverlays":[16],"measurementController":[1040],"measurableEntityTypes":[16],"viewer":[16],"configEnv":[1,"config-env"],"config":[16],"overlays":[32]}]]],["vertex-scene-tree-table-cell",[[1,"vertex-scene-tree-table-cell",{"node":[16],"tree":[16],"value":[1],"placeholder":[1],"hoveredNodeId":[1,"hovered-node-id"],"expandToggle":[4,"expand-toggle"],"visibilityToggle":[4,"visibility-toggle"],"interactionsDisabled":[4,"interactions-disabled"],"recurseParentSelectionDisabled":[4,"recurse-parent-selection-disabled"]}]]],["vertex-scene-tree-table-column",[[1,"vertex-scene-tree-table-column",{"initialWidth":[2,"initial-width"],"minWidth":[2,"min-width"],"maxWidth":[2,"max-width"]}]]],["vertex-scene-tree-table-header",[[1,"vertex-scene-tree-table-header"]]],["vertex-scene-tree-table-resize-divider",[[1,"vertex-scene-tree-table-resize-divider",{"dragging":[32]}]]],["vertex-scene-tree-toolbar-group",[[1,"vertex-scene-tree-toolbar-group"]]],["vertex-viewer",[[1,"vertex-viewer",{"src":[1],"clientId":[1,"client-id"],"deviceId":[1,"device-id"],"config":[1],"configEnv":[1,"config-env"],"resolvedConfig":[1040],"cameraControls":[4,"camera-controls"],"keyboardControls":[4,"keyboard-controls"],"rotateAroundTapPoint":[4,"rotate-around-tap-point"],"token":[1025],"depthBuffers":[1,"depth-buffers"],"experimentalGhostingOpacity":[2,"experimental-ghosting-opacity"],"featureLines":[16],"featureHighlighting":[16],"featureMaps":[1,"feature-maps"],"selectionMaterial":[1,"selection-material"],"frame":[1040],"stream":[1040],"stencilBuffer":[1040],"viewport":[1040],"dimensions":[32],"hostDimensions":[32],"errorMessage":[32],"cursor":[32],"stateMap":[32],"dispatchFrameDrawn":[64],"registerInteractionHandler":[64],"registerTapKeyInteraction":[64],"getInteractionTarget":[64],"addCursor":[64],"getInteractionHandlers":[64],"getBaseInteractionHandler":[64],"getJwt":[64],"load":[64],"unload":[64],"scene":[64],"isSceneReady":[64]},[[0,"tap","handleTapEvent"]]]]],["vertex-viewer-measurement-details",[[1,"vertex-viewer-measurement-details",{"measurementModel":[16],"measurementOverlays":[16],"measurementOutcome":[1040],"distanceUnits":[1,"distance-units"],"angleUnits":[1,"angle-units"],"fractionalDigits":[2,"fractional-digits"],"distanceFormatter":[16],"angleFormatter":[16],"areaFormatter":[16],"resultTypes":[16],"overlay":[32],"distanceMeasurementUnits":[32],"angleMeasurementUnits":[32],"areaMeasurementUnits":[32]}]]],["vertex-viewer-measurement-distance",[[1,"vertex-viewer-measurement-distance",{"start":[1040],"startJson":[1,"start-json"],"end":[1040],"endJson":[1,"end-json"],"distance":[1026],"showAxisReferenceLines":[4,"show-axis-reference-lines"],"snapDistance":[2,"snap-distance"],"units":[1],"fractionalDigits":[2,"fractional-digits"],"labelFormatter":[16],"anchorLabelOffset":[2,"anchor-label-offset"],"lineCapLength":[2,"line-cap-length"],"mode":[513],"interactingAnchor":[1537,"interacting-anchor"],"invalid":[1540],"camera":[16],"hitProvider":[16],"indicatorPt":[1040],"viewer":[16],"measurementModel":[16],"viewport":[32],"elementBounds":[32],"interactionCount":[32],"internalCamera":[32],"invalidateStateCounter":[32],"stateMap":[32],"measurementUnits":[32],"computeElementMetrics":[64]}]]],["vertex-scene-tree-search_3",[[1,"vertex-scene-tree-search",{"debounce":[2],"disabled":[4],"placeholder":[1],"value":[1025],"focused":[32],"setFocus":[64]}],[1,"vertex-scene-tree-table-layout",{"tree":[16],"controller":[16],"rows":[16],"totalRows":[2,"total-rows"],"rowHeight":[1026,"row-height"],"overScanCount":[2,"over-scan-count"],"rowData":[16],"layoutOffset":[1026,"layout-offset"],"scrollOffset":[1026,"scroll-offset"],"layoutHeight":[1026,"layout-height"],"layoutWidth":[1026,"layout-width"],"viewportStartIndex":[1026,"viewport-start-index"],"viewportEndIndex":[1026,"viewport-end-index"],"columnGridLayout":[32],"columnGridFixedLayout":[32],"hoveredNodeId":[32],"isComputingCellHeight":[32],"lastDividerPointerPosition":[32],"resizingColumnIndex":[32],"stateMap":[32],"scrollToPosition":[64]}],[1,"vertex-scene-tree-toolbar"]]],["vertex-viewer-button_3",[[1,"vertex-viewer-toolbar",{"placement":[1],"direction":[1]}],[1,"vertex-viewer-button"],[1,"vertex-viewer-toolbar-group",{"direction":[1]}]]],["vertex-viewer-dom-element_3",[[1,"vertex-viewer-dom-element",{"position":[1040],"positionJson":[1,"position"],"rotation":[1040],"rotationJson":[1,"rotation"],"quaternion":[1040],"quaternionJson":[1,"quaternion"],"scale":[1040],"scaleJson":[1,"scale"],"matrix":[1040],"occlusionOff":[4,"occlusion-off"],"occluded":[516],"billboardOff":[4,"billboard-off"],"interactionsOff":[516,"interactions-off"]}],[1,"vertex-viewer-dom-group",{"position":[1040],"positionJson":[1,"position"],"rotation":[1040],"rotationJson":[1,"rotation"],"quaternion":[1040],"quaternionJson":[1,"quaternion"],"scale":[1040],"scaleJson":[1,"scale"],"matrix":[1040]}],[1,"vertex-viewer-dom-renderer",{"drawMode":[1,"draw-mode"],"viewer":[16],"camera":[1040],"depthBuffer":[1040],"viewport":[32],"invalidateFrameCounter":[32]},[[0,"propertyChange","handlePropertyChange"]]]]],["vertex-viewer-icon",[[1,"vertex-viewer-icon",{"name":[1],"size":[1]}]]],["vertex-viewer-layer",[[1,"vertex-viewer-layer",{"stretchOff":[516,"stretch-off"]}]]],["vertex-viewer-markup-arrow_3",[[1,"vertex-viewer-markup-arrow",{"start":[1040],"startJson":[1,"start"],"end":[1040],"endJson":[1,"end"],"mode":[513],"viewer":[16],"elementBounds":[32],"editAnchor":[32],"dispose":[64]}],[1,"vertex-viewer-markup-circle",{"bounds":[1040],"boundsJson":[1,"bounds"],"mode":[513],"viewer":[16],"elementBounds":[32],"startPosition":[32],"editAnchor":[32],"resizeBounds":[32],"dispose":[64]}],[1,"vertex-viewer-markup-freeform",{"points":[1040],"pointsJson":[1,"points"],"bounds":[1040],"boundsJson":[1,"bounds"],"mode":[513],"viewer":[16],"elementBounds":[32],"resizeStartPosition":[32],"editAnchor":[32],"resizeBounds":[32],"resizePoints":[32],"screenPoints":[32],"dispose":[64]}]]],["vertex-viewer-measurement-line_2",[[1,"vertex-viewer-measurement-overlays",{"measurementOverlays":[16],"camera":[1040],"viewer":[16],"overlays":[32]}],[1,"vertex-viewer-measurement-line",{"start":[16],"end":[16],"capLength":[2,"cap-length"],"pointerEvents":[1,"pointer-events"]}]]]], options);
19
+ return bootstrapLazy([["vertex-viewer-default-toolbar",[[1,"vertex-viewer-default-toolbar",{"viewer":[16],"placement":[1],"direction":[1],"animationsDisabled":[4,"animations-disabled"],"animationMs":[2,"animation-ms"]}]]],["vertex-scene-tree",[[1,"vertex-scene-tree",{"overScanCount":[2,"over-scan-count"],"viewerSelector":[1,"viewer-selector"],"viewer":[1040],"rowData":[16],"config":[16],"configEnv":[1,"config-env"],"controller":[1040],"filterOnMetadata":[1028,"filter-on-metadata"],"metadataKeys":[16],"rows":[32],"totalRows":[32],"stateMap":[32],"connectionErrorDetails":[32],"attemptingRetry":[32],"invalidateRows":[64],"scrollToIndex":[64],"scrollToItem":[64],"expandAll":[64],"collapseAll":[64],"expandItem":[64],"collapseItem":[64],"toggleExpandItem":[64],"toggleItemVisibility":[64],"hideItem":[64],"showItem":[64],"selectItem":[64],"deselectItem":[64],"getRowAtIndex":[64],"getRowForEvent":[64],"getRowAtClientY":[64],"filterItems":[64],"fetchMetadataKeys":[64]},[[0,"search","handleSearch"]]]]],["vertex-viewer-measurement-tool",[[1,"vertex-viewer-measurement-tool",{"distanceTemplateId":[1,"distance-template-id"],"tool":[1],"units":[1],"fractionalDigits":[2,"fractional-digits"],"disabled":[4],"viewer":[16],"isMeasuring":[1540,"is-measuring"],"snapDistance":[2,"snap-distance"],"stateMap":[32]}]]],["vertex-viewer-markup",[[1,"vertex-viewer-markup",{"arrowTemplateId":[1,"arrow-template-id"],"circleTemplateId":[1,"circle-template-id"],"freeformTemplateId":[1,"freeform-template-id"],"tool":[1],"disabled":[4],"viewer":[16],"selectedMarkupId":[1025,"selected-markup-id"],"selectNew":[4,"select-new"],"toSelectMarkupId":[32],"pointerDownPosition":[32],"addMarkup":[64],"removeMarkup":[64],"getMarkupElements":[64],"getMarkupElement":[64]},[[0,"markupEnd","handleMarkupEnd"],[1,"pointerdown","handleMarkupPointerDown"]]]]],["vertex-viewer-markup-tool",[[1,"vertex-viewer-markup-tool",{"arrowTemplateId":[1,"arrow-template-id"],"circleTemplateId":[1,"circle-template-id"],"freeformTemplateId":[1,"freeform-template-id"],"tool":[1],"disabled":[4],"viewer":[16],"stateMap":[32],"reset":[64]}]]],["vertex-viewer-measurements",[[1,"vertex-viewer-measurements",{"distanceTemplateId":[1,"distance-template-id"],"tool":[1],"units":[1],"fractionalDigits":[2,"fractional-digits"],"disabled":[4],"viewer":[16],"selectedMeasurementId":[1025,"selected-measurement-id"],"snapDistance":[2,"snap-distance"],"showAxisReferenceLines":[4,"show-axis-reference-lines"],"measurementModel":[16],"addMeasurement":[64],"removeMeasurement":[64],"getMeasurementElement":[64],"getMeasurementElements":[64]},[[0,"measureEnd","handleMeasureEnd"],[1,"pointerdown","handleMeasurementPointerDown"]]]]],["vertex-viewer-view-cube",[[1,"vertex-viewer-view-cube",{"xPositiveLabel":[1,"x-positive-label"],"xNegativeLabel":[1,"x-negative-label"],"yPositiveLabel":[1,"y-positive-label"],"yNegativeLabel":[1,"y-negative-label"],"zPositiveLabel":[1,"z-positive-label"],"zNegativeLabel":[1,"z-negative-label"],"standardViewsOff":[4,"standard-views-off"],"animationDuration":[2,"animation-duration"],"triadOff":[4,"triad-off"],"worldOrientation":[1040],"camera":[1040],"viewer":[16],"boxLength":[32],"triadPosition":[32]}]]],["vertex-viewer-measurement-precise",[[1,"vertex-viewer-measurement-precise",{"measurementModel":[16],"measurementOverlays":[16],"measurementController":[1040],"measurableEntityTypes":[16],"viewer":[16],"configEnv":[1,"config-env"],"config":[16],"overlays":[32]}]]],["vertex-scene-tree-table-cell",[[1,"vertex-scene-tree-table-cell",{"node":[16],"tree":[16],"value":[1],"placeholder":[1],"hoveredNodeId":[1,"hovered-node-id"],"expandToggle":[4,"expand-toggle"],"visibilityToggle":[4,"visibility-toggle"],"interactionsDisabled":[4,"interactions-disabled"],"recurseParentSelectionDisabled":[4,"recurse-parent-selection-disabled"]}]]],["vertex-scene-tree-table-column",[[1,"vertex-scene-tree-table-column",{"initialWidth":[2,"initial-width"],"minWidth":[2,"min-width"],"maxWidth":[2,"max-width"]}]]],["vertex-scene-tree-table-header",[[1,"vertex-scene-tree-table-header"]]],["vertex-scene-tree-table-resize-divider",[[1,"vertex-scene-tree-table-resize-divider",{"dragging":[32]}]]],["vertex-scene-tree-toolbar-group",[[1,"vertex-scene-tree-toolbar-group"]]],["vertex-viewer",[[1,"vertex-viewer",{"src":[1],"clientId":[1,"client-id"],"deviceId":[1,"device-id"],"config":[1],"configEnv":[1,"config-env"],"resolvedConfig":[1040],"cameraControls":[4,"camera-controls"],"keyboardControls":[4,"keyboard-controls"],"rotateAroundTapPoint":[4,"rotate-around-tap-point"],"token":[1025],"depthBuffers":[1,"depth-buffers"],"experimentalGhostingOpacity":[2,"experimental-ghosting-opacity"],"featureLines":[16],"featureHighlighting":[16],"featureMaps":[1,"feature-maps"],"selectionMaterial":[1,"selection-material"],"resizeDebounce":[2,"resize-debounce"],"frame":[1040],"stream":[1040],"stencilBuffer":[1040],"viewport":[1040],"dimensions":[32],"hostDimensions":[32],"errorMessage":[32],"cursor":[32],"stateMap":[32],"dispatchFrameDrawn":[64],"registerInteractionHandler":[64],"registerTapKeyInteraction":[64],"getInteractionTarget":[64],"addCursor":[64],"getInteractionHandlers":[64],"getBaseInteractionHandler":[64],"getJwt":[64],"load":[64],"unload":[64],"scene":[64],"isSceneReady":[64]},[[0,"tap","handleTapEvent"]]]]],["vertex-viewer-measurement-details",[[1,"vertex-viewer-measurement-details",{"measurementModel":[16],"measurementOverlays":[16],"measurementOutcome":[1040],"distanceUnits":[1,"distance-units"],"angleUnits":[1,"angle-units"],"fractionalDigits":[2,"fractional-digits"],"distanceFormatter":[16],"angleFormatter":[16],"areaFormatter":[16],"resultTypes":[16],"overlay":[32],"distanceMeasurementUnits":[32],"angleMeasurementUnits":[32],"areaMeasurementUnits":[32]}]]],["vertex-viewer-measurement-distance",[[1,"vertex-viewer-measurement-distance",{"start":[1040],"startJson":[1,"start-json"],"end":[1040],"endJson":[1,"end-json"],"distance":[1026],"showAxisReferenceLines":[4,"show-axis-reference-lines"],"snapDistance":[2,"snap-distance"],"units":[1],"fractionalDigits":[2,"fractional-digits"],"labelFormatter":[16],"anchorLabelOffset":[2,"anchor-label-offset"],"lineCapLength":[2,"line-cap-length"],"mode":[513],"interactingAnchor":[1537,"interacting-anchor"],"invalid":[1540],"camera":[16],"hitProvider":[16],"indicatorPt":[1040],"viewer":[16],"measurementModel":[16],"viewport":[32],"elementBounds":[32],"interactionCount":[32],"internalCamera":[32],"invalidateStateCounter":[32],"stateMap":[32],"measurementUnits":[32],"computeElementMetrics":[64]}]]],["vertex-scene-tree-search_3",[[1,"vertex-scene-tree-search",{"debounce":[2],"disabled":[4],"placeholder":[1],"value":[1025],"focused":[32],"setFocus":[64]}],[1,"vertex-scene-tree-table-layout",{"tree":[16],"controller":[16],"rows":[16],"totalRows":[2,"total-rows"],"rowHeight":[1026,"row-height"],"overScanCount":[2,"over-scan-count"],"rowData":[16],"layoutOffset":[1026,"layout-offset"],"scrollOffset":[1026,"scroll-offset"],"layoutHeight":[1026,"layout-height"],"layoutWidth":[1026,"layout-width"],"viewportStartIndex":[1026,"viewport-start-index"],"viewportEndIndex":[1026,"viewport-end-index"],"columnGridLayout":[32],"columnGridFixedLayout":[32],"hoveredNodeId":[32],"isComputingCellHeight":[32],"lastDividerPointerPosition":[32],"resizingColumnIndex":[32],"stateMap":[32],"scrollToPosition":[64]}],[1,"vertex-scene-tree-toolbar"]]],["vertex-viewer-button_3",[[1,"vertex-viewer-toolbar",{"placement":[1],"direction":[1]}],[1,"vertex-viewer-button"],[1,"vertex-viewer-toolbar-group",{"direction":[1]}]]],["vertex-viewer-dom-element_3",[[1,"vertex-viewer-dom-element",{"position":[1040],"positionJson":[1,"position"],"rotation":[1040],"rotationJson":[1,"rotation"],"quaternion":[1040],"quaternionJson":[1,"quaternion"],"scale":[1040],"scaleJson":[1,"scale"],"matrix":[1040],"occlusionOff":[4,"occlusion-off"],"occluded":[516],"billboardOff":[4,"billboard-off"],"interactionsOff":[516,"interactions-off"]}],[1,"vertex-viewer-dom-group",{"position":[1040],"positionJson":[1,"position"],"rotation":[1040],"rotationJson":[1,"rotation"],"quaternion":[1040],"quaternionJson":[1,"quaternion"],"scale":[1040],"scaleJson":[1,"scale"],"matrix":[1040]}],[1,"vertex-viewer-dom-renderer",{"drawMode":[1,"draw-mode"],"viewer":[16],"camera":[1040],"depthBuffer":[1040],"viewport":[32],"invalidateFrameCounter":[32]},[[0,"propertyChange","handlePropertyChange"]]]]],["vertex-viewer-icon",[[1,"vertex-viewer-icon",{"name":[1],"size":[1]}]]],["vertex-viewer-layer",[[1,"vertex-viewer-layer",{"stretchOff":[516,"stretch-off"]}]]],["vertex-viewer-markup-arrow_3",[[1,"vertex-viewer-markup-arrow",{"start":[1040],"startJson":[1,"start"],"end":[1040],"endJson":[1,"end"],"mode":[513],"viewer":[16],"elementBounds":[32],"editAnchor":[32],"dispose":[64]}],[1,"vertex-viewer-markup-circle",{"bounds":[1040],"boundsJson":[1,"bounds"],"mode":[513],"viewer":[16],"elementBounds":[32],"startPosition":[32],"editAnchor":[32],"resizeBounds":[32],"dispose":[64]}],[1,"vertex-viewer-markup-freeform",{"points":[1040],"pointsJson":[1,"points"],"bounds":[1040],"boundsJson":[1,"bounds"],"mode":[513],"viewer":[16],"elementBounds":[32],"resizeStartPosition":[32],"editAnchor":[32],"resizeBounds":[32],"resizePoints":[32],"screenPoints":[32],"dispose":[64]}]]],["vertex-viewer-measurement-line_2",[[1,"vertex-viewer-measurement-overlays",{"measurementOverlays":[16],"camera":[1040],"viewer":[16],"overlays":[32]}],[1,"vertex-viewer-measurement-line",{"start":[16],"end":[16],"capLength":[2,"cap-length"],"pointerEvents":[1,"pointer-events"]}]]]], options);
20
20
  });
21
21
  };
22
22