@vertexvis/viewer 0.18.2-testing.0 → 0.18.2-testing.1
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/index-b99cd335.js +126 -1
- package/dist/esm/index-fd7d7b68.js +126 -1
- package/package.json +7 -7
- package/dist/components/_commonjsHelpers.js +0 -41
- package/dist/components/_commonjsHelpers.js.map +0 -1
- package/dist/components/browser.esm.js +0 -3173
- package/dist/components/browser.esm.js.map +0 -1
- package/dist/components/bundle.esm.js +0 -2250
- package/dist/components/bundle.esm.js.map +0 -1
- package/dist/components/bundle.esm2.js +0 -39740
- package/dist/components/bundle.esm2.js.map +0 -1
- package/dist/components/config.js +0 -81
- package/dist/components/config.js.map +0 -1
- package/dist/components/controller.js +0 -7627
- package/dist/components/controller.js.map +0 -1
- package/dist/components/controller2.js +0 -124
- package/dist/components/controller2.js.map +0 -1
- package/dist/components/controller3.js +0 -111
- package/dist/components/controller3.js.map +0 -1
- package/dist/components/cursors.js +0 -110
- package/dist/components/cursors.js.map +0 -1
- package/dist/components/dom.js +0 -43
- package/dist/components/dom.js.map +0 -1
- package/dist/components/dom2.js +0 -10
- package/dist/components/dom2.js.map +0 -1
- package/dist/components/elementRectObserver.js +0 -25
- package/dist/components/elementRectObserver.js.map +0 -1
- package/dist/components/entities.js +0 -179
- package/dist/components/entities.js.map +0 -1
- package/dist/components/errors.js +0 -80
- package/dist/components/errors.js.map +0 -1
- package/dist/components/events.js +0 -11
- package/dist/components/events.js.map +0 -1
- package/dist/components/index.d.ts +0 -26
- package/dist/components/index.js +0 -365
- package/dist/components/index.js.map +0 -1
- package/dist/components/index2.js +0 -63
- package/dist/components/index2.js.map +0 -1
- package/dist/components/interactions.js +0 -236
- package/dist/components/interactions.js.map +0 -1
- package/dist/components/mapper.js +0 -9811
- package/dist/components/mapper.js.map +0 -1
- package/dist/components/markup.js +0 -33
- package/dist/components/markup.js.map +0 -1
- package/dist/components/model.js +0 -134
- package/dist/components/model.js.map +0 -1
- package/dist/components/model2.js +0 -157
- package/dist/components/model2.js.map +0 -1
- package/dist/components/overlays.js +0 -76
- package/dist/components/overlays.js.map +0 -1
- package/dist/components/png-decoder.js +0 -2405
- package/dist/components/png-decoder.js.map +0 -1
- package/dist/components/regl-component.js +0 -12582
- package/dist/components/regl-component.js.map +0 -1
- package/dist/components/results.js +0 -24
- package/dist/components/results.js.map +0 -1
- package/dist/components/row.js +0 -32
- package/dist/components/row.js.map +0 -1
- package/dist/components/scene-tree-search.js +0 -146
- package/dist/components/scene-tree-search.js.map +0 -1
- package/dist/components/scene-tree-table-layout.js +0 -928
- package/dist/components/scene-tree-table-layout.js.map +0 -1
- package/dist/components/scene-tree-toolbar.js +0 -35
- package/dist/components/scene-tree-toolbar.js.map +0 -1
- package/dist/components/scene.js +0 -1508
- package/dist/components/scene.js.map +0 -1
- package/dist/components/stencil.js +0 -25
- package/dist/components/stencil.js.map +0 -1
- package/dist/components/streamAttributes.js +0 -40833
- package/dist/components/streamAttributes.js.map +0 -1
- package/dist/components/templates.js +0 -36
- package/dist/components/templates.js.map +0 -1
- package/dist/components/tslib.es6.js +0 -125
- package/dist/components/tslib.es6.js.map +0 -1
- package/dist/components/vertex-scene-tree-search.d.ts +0 -11
- package/dist/components/vertex-scene-tree-search.js +0 -11
- package/dist/components/vertex-scene-tree-search.js.map +0 -1
- package/dist/components/vertex-scene-tree-table-cell.d.ts +0 -11
- package/dist/components/vertex-scene-tree-table-cell.js +0 -209
- package/dist/components/vertex-scene-tree-table-cell.js.map +0 -1
- package/dist/components/vertex-scene-tree-table-column.d.ts +0 -11
- package/dist/components/vertex-scene-tree-table-column.js +0 -42
- package/dist/components/vertex-scene-tree-table-column.js.map +0 -1
- package/dist/components/vertex-scene-tree-table-header.d.ts +0 -11
- package/dist/components/vertex-scene-tree-table-header.js +0 -38
- package/dist/components/vertex-scene-tree-table-header.js.map +0 -1
- package/dist/components/vertex-scene-tree-table-layout.d.ts +0 -11
- package/dist/components/vertex-scene-tree-table-layout.js +0 -11
- package/dist/components/vertex-scene-tree-table-layout.js.map +0 -1
- package/dist/components/vertex-scene-tree-table-resize-divider.d.ts +0 -11
- package/dist/components/vertex-scene-tree-table-resize-divider.js +0 -57
- package/dist/components/vertex-scene-tree-table-resize-divider.js.map +0 -1
- package/dist/components/vertex-scene-tree-toolbar-group.d.ts +0 -11
- package/dist/components/vertex-scene-tree-toolbar-group.js +0 -38
- package/dist/components/vertex-scene-tree-toolbar-group.js.map +0 -1
- package/dist/components/vertex-scene-tree-toolbar.d.ts +0 -11
- package/dist/components/vertex-scene-tree-toolbar.js +0 -11
- package/dist/components/vertex-scene-tree-toolbar.js.map +0 -1
- package/dist/components/vertex-scene-tree.d.ts +0 -11
- package/dist/components/vertex-scene-tree.js +0 -803
- package/dist/components/vertex-scene-tree.js.map +0 -1
- package/dist/components/vertex-viewer-box-query-tool.d.ts +0 -11
- package/dist/components/vertex-viewer-box-query-tool.js +0 -352
- package/dist/components/vertex-viewer-box-query-tool.js.map +0 -1
- package/dist/components/vertex-viewer-button.d.ts +0 -11
- package/dist/components/vertex-viewer-button.js +0 -11
- package/dist/components/vertex-viewer-button.js.map +0 -1
- package/dist/components/vertex-viewer-default-toolbar.d.ts +0 -11
- package/dist/components/vertex-viewer-default-toolbar.js +0 -99
- package/dist/components/vertex-viewer-default-toolbar.js.map +0 -1
- package/dist/components/vertex-viewer-dom-element.d.ts +0 -11
- package/dist/components/vertex-viewer-dom-element.js +0 -11
- package/dist/components/vertex-viewer-dom-element.js.map +0 -1
- package/dist/components/vertex-viewer-dom-group.d.ts +0 -11
- package/dist/components/vertex-viewer-dom-group.js +0 -11
- package/dist/components/vertex-viewer-dom-group.js.map +0 -1
- package/dist/components/vertex-viewer-dom-renderer.d.ts +0 -11
- package/dist/components/vertex-viewer-dom-renderer.js +0 -11
- package/dist/components/vertex-viewer-dom-renderer.js.map +0 -1
- package/dist/components/vertex-viewer-hit-result-indicator.d.ts +0 -11
- package/dist/components/vertex-viewer-hit-result-indicator.js +0 -335
- package/dist/components/vertex-viewer-hit-result-indicator.js.map +0 -1
- package/dist/components/vertex-viewer-icon.d.ts +0 -11
- package/dist/components/vertex-viewer-icon.js +0 -11
- package/dist/components/vertex-viewer-icon.js.map +0 -1
- package/dist/components/vertex-viewer-layer.d.ts +0 -11
- package/dist/components/vertex-viewer-layer.js +0 -11
- package/dist/components/vertex-viewer-layer.js.map +0 -1
- package/dist/components/vertex-viewer-markup-arrow.d.ts +0 -11
- package/dist/components/vertex-viewer-markup-arrow.js +0 -11
- package/dist/components/vertex-viewer-markup-arrow.js.map +0 -1
- package/dist/components/vertex-viewer-markup-circle.d.ts +0 -11
- package/dist/components/vertex-viewer-markup-circle.js +0 -11
- package/dist/components/vertex-viewer-markup-circle.js.map +0 -1
- package/dist/components/vertex-viewer-markup-freeform.d.ts +0 -11
- package/dist/components/vertex-viewer-markup-freeform.js +0 -11
- package/dist/components/vertex-viewer-markup-freeform.js.map +0 -1
- package/dist/components/vertex-viewer-markup-tool.d.ts +0 -11
- package/dist/components/vertex-viewer-markup-tool.js +0 -257
- package/dist/components/vertex-viewer-markup-tool.js.map +0 -1
- package/dist/components/vertex-viewer-markup.d.ts +0 -11
- package/dist/components/vertex-viewer-markup.js +0 -362
- package/dist/components/vertex-viewer-markup.js.map +0 -1
- package/dist/components/vertex-viewer-measurement-details.d.ts +0 -11
- package/dist/components/vertex-viewer-measurement-details.js +0 -307
- package/dist/components/vertex-viewer-measurement-details.js.map +0 -1
- package/dist/components/vertex-viewer-measurement-distance.d.ts +0 -11
- package/dist/components/vertex-viewer-measurement-distance.js +0 -1067
- package/dist/components/vertex-viewer-measurement-distance.js.map +0 -1
- package/dist/components/vertex-viewer-measurement-line.d.ts +0 -11
- package/dist/components/vertex-viewer-measurement-line.js +0 -11
- package/dist/components/vertex-viewer-measurement-line.js.map +0 -1
- package/dist/components/vertex-viewer-measurement-overlays.d.ts +0 -11
- package/dist/components/vertex-viewer-measurement-overlays.js +0 -11
- package/dist/components/vertex-viewer-measurement-overlays.js.map +0 -1
- package/dist/components/vertex-viewer-measurement-precise.d.ts +0 -11
- package/dist/components/vertex-viewer-measurement-precise.js +0 -362
- package/dist/components/vertex-viewer-measurement-precise.js.map +0 -1
- package/dist/components/vertex-viewer-pin-group.d.ts +0 -11
- package/dist/components/vertex-viewer-pin-group.js +0 -11
- package/dist/components/vertex-viewer-pin-group.js.map +0 -1
- package/dist/components/vertex-viewer-pin-label-line.d.ts +0 -11
- package/dist/components/vertex-viewer-pin-label-line.js +0 -11
- package/dist/components/vertex-viewer-pin-label-line.js.map +0 -1
- package/dist/components/vertex-viewer-pin-label.d.ts +0 -11
- package/dist/components/vertex-viewer-pin-label.js +0 -11
- package/dist/components/vertex-viewer-pin-label.js.map +0 -1
- package/dist/components/vertex-viewer-pin-tool.d.ts +0 -11
- package/dist/components/vertex-viewer-pin-tool.js +0 -430
- package/dist/components/vertex-viewer-pin-tool.js.map +0 -1
- package/dist/components/vertex-viewer-spinner.d.ts +0 -11
- package/dist/components/vertex-viewer-spinner.js +0 -11
- package/dist/components/vertex-viewer-spinner.js.map +0 -1
- package/dist/components/vertex-viewer-toolbar-group.d.ts +0 -11
- package/dist/components/vertex-viewer-toolbar-group.js +0 -11
- package/dist/components/vertex-viewer-toolbar-group.js.map +0 -1
- package/dist/components/vertex-viewer-toolbar.d.ts +0 -11
- package/dist/components/vertex-viewer-toolbar.js +0 -11
- package/dist/components/vertex-viewer-toolbar.js.map +0 -1
- package/dist/components/vertex-viewer-transform-widget.d.ts +0 -11
- package/dist/components/vertex-viewer-transform-widget.js +0 -838
- package/dist/components/vertex-viewer-transform-widget.js.map +0 -1
- package/dist/components/vertex-viewer-view-cube.d.ts +0 -11
- package/dist/components/vertex-viewer-view-cube.js +0 -270
- package/dist/components/vertex-viewer-view-cube.js.map +0 -1
- package/dist/components/vertex-viewer.d.ts +0 -11
- package/dist/components/vertex-viewer.js +0 -3543
- package/dist/components/vertex-viewer.js.map +0 -1
- package/dist/components/viewer-button.js +0 -35
- package/dist/components/viewer-button.js.map +0 -1
- package/dist/components/viewer-dom-element.js +0 -250
- package/dist/components/viewer-dom-element.js.map +0 -1
- package/dist/components/viewer-dom-group.js +0 -214
- package/dist/components/viewer-dom-group.js.map +0 -1
- package/dist/components/viewer-dom-renderer.js +0 -295
- package/dist/components/viewer-dom-renderer.js.map +0 -1
- package/dist/components/viewer-icon.js +0 -87
- package/dist/components/viewer-icon.js.map +0 -1
- package/dist/components/viewer-layer.js +0 -46
- package/dist/components/viewer-layer.js.map +0 -1
- package/dist/components/viewer-markup-arrow.js +0 -235
- package/dist/components/viewer-markup-arrow.js.map +0 -1
- package/dist/components/viewer-markup-circle-components.js +0 -42
- package/dist/components/viewer-markup-circle-components.js.map +0 -1
- package/dist/components/viewer-markup-circle.js +0 -201
- package/dist/components/viewer-markup-circle.js.map +0 -1
- package/dist/components/viewer-markup-freeform.js +0 -251
- package/dist/components/viewer-markup-freeform.js.map +0 -1
- package/dist/components/viewer-measurement-line.js +0 -77
- package/dist/components/viewer-measurement-line.js.map +0 -1
- package/dist/components/viewer-measurement-overlays.js +0 -184
- package/dist/components/viewer-measurement-overlays.js.map +0 -1
- package/dist/components/viewer-pin-group.js +0 -207
- package/dist/components/viewer-pin-group.js.map +0 -1
- package/dist/components/viewer-pin-label-line.js +0 -43
- package/dist/components/viewer-pin-label-line.js.map +0 -1
- package/dist/components/viewer-pin-label.js +0 -427
- package/dist/components/viewer-pin-label.js.map +0 -1
- package/dist/components/viewer-spinner.js +0 -53
- package/dist/components/viewer-spinner.js.map +0 -1
- package/dist/components/viewer-toolbar-group.js +0 -42
- package/dist/components/viewer-toolbar-group.js.map +0 -1
- package/dist/components/viewer-toolbar.js +0 -61
- package/dist/components/viewer-toolbar.js.map +0 -1
- package/dist/components/viewport.js +0 -188
- package/dist/components/viewport.js.map +0 -1
- package/dist/components/wrappers_pb.js +0 -1926
- package/dist/components/wrappers_pb.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"vertex-viewer-measurement-precise.js","mappings":"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","names":["require$$0","sceneview_protos_scene_view_api_pb","Point","SceneViewAPIClient"],"sources":["../../node_modules/@vertexvis/scene-view-protos/sceneview/protos/scene_view_api_pb_service.js","./src/lib/measurement/interactions.ts","./src/components/viewer-measurement-precise/viewer-measurement-precise.css?tag=vertex-viewer-measurement-precise&encapsulation=shadow","./src/components/viewer-measurement-precise/viewer-measurement-precise.tsx"],"sourcesContent":["// package: vertexvis.protobuf.sceneview.v1\n// file: sceneview/protos/scene_view_api.proto\n\nvar sceneview_protos_scene_view_api_pb = require(\"../../sceneview/protos/scene_view_api_pb\");\nvar grpc = require(\"@improbable-eng/grpc-web\").grpc;\n\nvar SceneViewAPI = (function () {\n function SceneViewAPI() {}\n SceneViewAPI.serviceName = \"vertexvis.protobuf.sceneview.v1.SceneViewAPI\";\n return SceneViewAPI;\n}());\n\nSceneViewAPI.UpdateModelEntities = {\n methodName: \"UpdateModelEntities\",\n service: SceneViewAPI,\n requestStream: false,\n responseStream: false,\n requestType: sceneview_protos_scene_view_api_pb.UpdateModelEntitiesRequest,\n responseType: sceneview_protos_scene_view_api_pb.UpdateModelEntitiesResponse\n};\n\nSceneViewAPI.Measure = {\n methodName: \"Measure\",\n service: SceneViewAPI,\n requestStream: false,\n responseStream: false,\n requestType: sceneview_protos_scene_view_api_pb.MeasureRequest,\n responseType: sceneview_protos_scene_view_api_pb.MeasureResponse\n};\n\nexports.SceneViewAPI = SceneViewAPI;\n\nfunction SceneViewAPIClient(serviceHost, options) {\n this.serviceHost = serviceHost;\n this.options = options || {};\n}\n\nSceneViewAPIClient.prototype.updateModelEntities = function updateModelEntities(requestMessage, metadata, callback) {\n if (arguments.length === 2) {\n callback = arguments[1];\n }\n var client = grpc.unary(SceneViewAPI.UpdateModelEntities, {\n request: requestMessage,\n host: this.serviceHost,\n metadata: metadata,\n transport: this.options.transport,\n debug: this.options.debug,\n onEnd: function (response) {\n if (callback) {\n if (response.status !== grpc.Code.OK) {\n var err = new Error(response.statusMessage);\n err.code = response.status;\n err.metadata = response.trailers;\n callback(err, null);\n } else {\n callback(null, response.message);\n }\n }\n }\n });\n return {\n cancel: function () {\n callback = null;\n client.close();\n }\n };\n};\n\nSceneViewAPIClient.prototype.measure = function measure(requestMessage, metadata, callback) {\n if (arguments.length === 2) {\n callback = arguments[1];\n }\n var client = grpc.unary(SceneViewAPI.Measure, {\n request: requestMessage,\n host: this.serviceHost,\n metadata: metadata,\n transport: this.options.transport,\n debug: this.options.debug,\n onEnd: function (response) {\n if (callback) {\n if (response.status !== grpc.Code.OK) {\n var err = new Error(response.statusMessage);\n err.code = response.status;\n err.metadata = response.trailers;\n callback(err, null);\n } else {\n callback(null, response.message);\n }\n }\n }\n });\n return {\n cancel: function () {\n callback = null;\n client.close();\n }\n };\n};\n\nexports.SceneViewAPIClient = SceneViewAPIClient;\n\n","import { Point } from '@vertexvis/geometry';\nimport { Disposable } from '@vertexvis/utils';\n\nimport { Cursor, measurementWithArrowCursor } from '../cursors';\nimport { getMouseClientPosition } from '../dom';\nimport { ElementRectObserver } from '../elementRectObserver';\nimport { InteractionApi, InteractionHandler } from '../interactions';\nimport { EntityType } from '../types';\nimport { MeasurementController } from './controller';\nimport { MeasurementEntity } from './entities';\n\nexport class MeasurementInteractionHandler implements InteractionHandler {\n private controller: MeasurementController;\n private measurableEntityTypes: EntityType[];\n\n private element?: HTMLElement;\n private api?: InteractionApi;\n\n private cursor?: Disposable;\n private measurementInteraction?: InteractionHandler;\n\n private rectObserver = new ElementRectObserver();\n private get elementRect(): DOMRect | undefined {\n return this.rectObserver.rect;\n }\n\n public constructor(\n controller: MeasurementController,\n measurableEntityTypes: EntityType[]\n ) {\n this.controller = controller;\n this.measurableEntityTypes = measurableEntityTypes;\n }\n\n public initialize(element: HTMLElement, api: InteractionApi): void {\n this.element = element;\n this.api = api;\n\n this.rectObserver.observe(element);\n\n element.addEventListener('pointermove', this.handlePointerMove);\n element.addEventListener('pointerdown', this.handlePointerDown);\n }\n\n public dispose(): void {\n this.rectObserver.disconnect();\n this.measurementInteraction?.dispose();\n this.clearCursor();\n\n this.element?.removeEventListener('pointermove', this.handlePointerMove);\n this.element?.removeEventListener('pointerdown', this.handlePointerDown);\n\n this.element = undefined;\n this.api = undefined;\n }\n\n private addCursor(cursor: Cursor): void {\n this.cursor = this.ifInitialized(({ api }) => api.addCursor(cursor));\n }\n\n private clearCursor(): void {\n this.cursor?.dispose();\n this.cursor = undefined;\n }\n\n private handlePointerMove = async (event: PointerEvent): Promise<void> => {\n if (await this.isMeasurableEntityUnderPointer(event)) {\n this.clearCursor();\n this.addCursor(measurementWithArrowCursor);\n } else {\n this.clearCursor();\n }\n };\n\n private handlePointerDown = (event: PointerEvent): void => {\n this.ifNoInteraction(event, async () => {\n if (await this.isMeasurableEntityUnderPointer(event)) {\n this.measureEntityUnderPointer(event);\n } else {\n this.controller.clearEntities();\n }\n });\n };\n\n private async isMeasurableEntityUnderPointer(\n event: PointerEvent\n ): Promise<boolean> {\n const pt = getMouseClientPosition(event, this.elementRect);\n const type = await this.api?.getEntityTypeAtPoint(pt);\n return type != null && this.measurableEntityTypes.includes(type);\n }\n\n private measureEntityUnderPointer(event: PointerEvent): void {\n this.ifInitialized(async ({ api }) => {\n const pt = getMouseClientPosition(event, this.elementRect);\n const [hit] = await api.hitItems(pt);\n\n if (hit != null) {\n this.controller.addEntity(MeasurementEntity.fromHit(hit));\n } else {\n this.controller.clearEntities();\n }\n });\n }\n\n protected ifInitialized<R>(\n f: (data: { element: HTMLElement; api: InteractionApi }) => R\n ): R {\n if (this.element != null && this.api != null) {\n return f({ element: this.element, api: this.api });\n } else {\n throw new Error('Measurement interaction handler not initialized.');\n }\n }\n\n protected ifNoInteraction(event: PointerEvent, f: () => void): void {\n const startPos = Point.create(event.clientX, event.clientY);\n let didInteract = false;\n\n const handleMouseMove = (event: PointerEvent): void => {\n const pos = Point.create(event.clientX, event.clientY);\n const dis = Point.distance(startPos, pos);\n didInteract = dis > 2;\n };\n\n const handleMouseUp = (): void => {\n window.removeEventListener('pointermove', handleMouseMove);\n window.removeEventListener('pointerup', handleMouseUp);\n\n if (!didInteract) {\n f();\n }\n };\n\n window.addEventListener('pointermove', handleMouseMove);\n window.addEventListener('pointerup', handleMouseUp);\n }\n}\n",":host {\n display: block;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n pointer-events: none;\n}\n","// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport { Component, h, Host, Prop, State, Watch } from '@stencil/core';\nimport { SceneViewAPIClient } from '@vertexvis/scene-view-protos/sceneview/protos/scene_view_api_pb_service';\nimport { Disposable } from '@vertexvis/utils';\n\nimport { parseConfig, PartialConfig } from '../../lib/config';\nimport { Environment } from '../../lib/environment';\nimport {\n MeasurementController,\n MeasurementModel,\n MeasurementOverlayManager,\n} from '../../lib/measurement';\nimport { MeasurementInteractionHandler } from '../../lib/measurement/interactions';\nimport { EntityType } from '../../lib/types';\n\n@Component({\n tag: 'vertex-viewer-measurement-precise',\n styleUrl: 'viewer-measurement-precise.css',\n shadow: true,\n})\nexport class ViewerMeasurementPrecise {\n /**\n * The model that contains the entities and outcomes from performing precise\n * measurements.\n */\n @Prop()\n public measurementModel: MeasurementModel = new MeasurementModel();\n\n /**\n * The manager that is responsible for measurement overlays to present by this\n * component.\n */\n @Prop()\n public measurementOverlays: MeasurementOverlayManager = new MeasurementOverlayManager();\n\n /**\n * The controller that is responsible for performing measurements and updating\n * the model.\n */\n @Prop({ mutable: true })\n public measurementController?: MeasurementController;\n\n /**\n * @internal\n *\n * An internal property that can be used to opt-in to performing measurements\n * on other types of entities.\n */\n @Prop()\n public measurableEntityTypes: EntityType[] = [\n EntityType.PRECISE_SURFACE,\n EntityType.IMPRECISE_SURFACE,\n ];\n\n /**\n * The viewer that this component is bound to. This is automatically assigned\n * if added to the light-dom of a parent viewer element.\n */\n @Prop()\n public viewer?: HTMLVertexViewerElement;\n\n /**\n * The environment that will be used to request measurement results.\n */\n @Prop()\n public configEnv: Environment = 'platprod';\n\n /**\n * An optional configuration to setup network configuration of measurement\n * endpoints.\n */\n @Prop()\n public config?: PartialConfig | string;\n\n private registeredInteractionHandler?: Promise<Disposable>;\n\n /**\n * @ignore\n */\n protected connectedCallback(): void {\n this.setupInteractionHandler();\n }\n\n /**\n * @ignore\n */\n protected componentWillLoad(): void {\n this.setupController();\n this.setupInteractionHandler();\n }\n\n /**\n * @ignore\n */\n protected disconnectedCallback(): void {\n this.clearInteractionHandler();\n }\n\n /**\n * @ignore\n */\n @Watch('measurableEntityTypes')\n protected handleMeasurableEntityTypesChanged(): void {\n this.setupInteractionHandler();\n }\n\n /**\n * @ignore\n */\n @Watch('measurementController')\n protected handleMeasurementControllerChanged(): void {\n this.setupInteractionHandler();\n }\n\n /**\n * @ignore\n */\n @Watch('measurementModel')\n protected handleMeasurementModelChanged(): void {\n this.setupController();\n }\n\n /**\n * @ignore\n */\n @Watch('viewer')\n protected handleViewerChanged(): void {\n this.setupInteractionHandler();\n }\n\n /**\n * @ignore\n */\n protected render(): JSX.Element {\n return (\n <Host>\n <vertex-viewer-measurement-overlays\n viewer={this.viewer}\n measurementOverlays={this.measurementOverlays}\n />\n </Host>\n );\n }\n\n private setupController(): void {\n const config = parseConfig(this.configEnv, this.config);\n const client = new SceneViewAPIClient(config.network.sceneViewHost);\n this.measurementController = new MeasurementController(\n this.measurementModel,\n client,\n () => this.viewer?.token,\n this.viewer?.deviceId\n );\n }\n\n private clearInteractionHandler(): void {\n this.registeredInteractionHandler?.then((handler) => handler.dispose());\n this.registeredInteractionHandler = undefined;\n }\n\n private setupInteractionHandler(): void {\n this.clearInteractionHandler();\n\n if (this.measurementController != null) {\n this.registeredInteractionHandler =\n this.viewer?.registerInteractionHandler(\n new MeasurementInteractionHandler(\n this.measurementController,\n this.measurableEntityTypes\n )\n );\n }\n }\n}\n"],"version":3}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { Components, JSX } from "../types/regl-shape";
|
|
2
|
-
|
|
3
|
-
interface VertexViewerPinGroup extends Components.VertexViewerPinGroup, HTMLElement {}
|
|
4
|
-
export const VertexViewerPinGroup: {
|
|
5
|
-
prototype: VertexViewerPinGroup;
|
|
6
|
-
new (): VertexViewerPinGroup;
|
|
7
|
-
};
|
|
8
|
-
/**
|
|
9
|
-
* Used to define this component and all nested components recursively.
|
|
10
|
-
*/
|
|
11
|
-
export const defineCustomElement: () => void;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Copyright (c) 2023 Vertex Software LLC. All rights reserved.
|
|
3
|
-
*/
|
|
4
|
-
import { V as ViewerPinGroup, d as defineCustomElement$1 } from './viewer-pin-group.js';
|
|
5
|
-
|
|
6
|
-
const VertexViewerPinGroup = ViewerPinGroup;
|
|
7
|
-
const defineCustomElement = defineCustomElement$1;
|
|
8
|
-
|
|
9
|
-
export { VertexViewerPinGroup, defineCustomElement };
|
|
10
|
-
|
|
11
|
-
//# sourceMappingURL=vertex-viewer-pin-group.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"vertex-viewer-pin-group.js","mappings":";;;;;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { Components, JSX } from "../types/regl-shape";
|
|
2
|
-
|
|
3
|
-
interface VertexViewerPinLabelLine extends Components.VertexViewerPinLabelLine, HTMLElement {}
|
|
4
|
-
export const VertexViewerPinLabelLine: {
|
|
5
|
-
prototype: VertexViewerPinLabelLine;
|
|
6
|
-
new (): VertexViewerPinLabelLine;
|
|
7
|
-
};
|
|
8
|
-
/**
|
|
9
|
-
* Used to define this component and all nested components recursively.
|
|
10
|
-
*/
|
|
11
|
-
export const defineCustomElement: () => void;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Copyright (c) 2023 Vertex Software LLC. All rights reserved.
|
|
3
|
-
*/
|
|
4
|
-
import { V as VertexPinLabelLine, d as defineCustomElement$1 } from './viewer-pin-label-line.js';
|
|
5
|
-
|
|
6
|
-
const VertexViewerPinLabelLine = VertexPinLabelLine;
|
|
7
|
-
const defineCustomElement = defineCustomElement$1;
|
|
8
|
-
|
|
9
|
-
export { VertexViewerPinLabelLine, defineCustomElement };
|
|
10
|
-
|
|
11
|
-
//# sourceMappingURL=vertex-viewer-pin-label-line.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"vertex-viewer-pin-label-line.js","mappings":";;;;;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { Components, JSX } from "../types/regl-shape";
|
|
2
|
-
|
|
3
|
-
interface VertexViewerPinLabel extends Components.VertexViewerPinLabel, HTMLElement {}
|
|
4
|
-
export const VertexViewerPinLabel: {
|
|
5
|
-
prototype: VertexViewerPinLabel;
|
|
6
|
-
new (): VertexViewerPinLabel;
|
|
7
|
-
};
|
|
8
|
-
/**
|
|
9
|
-
* Used to define this component and all nested components recursively.
|
|
10
|
-
*/
|
|
11
|
-
export const defineCustomElement: () => void;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Copyright (c) 2023 Vertex Software LLC. All rights reserved.
|
|
3
|
-
*/
|
|
4
|
-
import { V as VertexPinLabel, d as defineCustomElement$1 } from './viewer-pin-label.js';
|
|
5
|
-
|
|
6
|
-
const VertexViewerPinLabel = VertexPinLabel;
|
|
7
|
-
const defineCustomElement = defineCustomElement$1;
|
|
8
|
-
|
|
9
|
-
export { VertexViewerPinLabel, defineCustomElement };
|
|
10
|
-
|
|
11
|
-
//# sourceMappingURL=vertex-viewer-pin-label.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"vertex-viewer-pin-label.js","mappings":";;;;;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { Components, JSX } from "../types/regl-shape";
|
|
2
|
-
|
|
3
|
-
interface VertexViewerPinTool extends Components.VertexViewerPinTool, HTMLElement {}
|
|
4
|
-
export const VertexViewerPinTool: {
|
|
5
|
-
prototype: VertexViewerPinTool;
|
|
6
|
-
new (): VertexViewerPinTool;
|
|
7
|
-
};
|
|
8
|
-
/**
|
|
9
|
-
* Used to define this component and all nested components recursively.
|
|
10
|
-
*/
|
|
11
|
-
export const defineCustomElement: () => void;
|
|
@@ -1,430 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Copyright (c) 2023 Vertex Software LLC. All rights reserved.
|
|
3
|
-
*/
|
|
4
|
-
import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
|
|
5
|
-
import { a as translatePointToRelative, P as PinController, d as defineCustomElement$3 } from './viewer-pin-label.js';
|
|
6
|
-
import { p as point } from './bundle.esm.js';
|
|
7
|
-
import { b as uuid } from './browser.esm.js';
|
|
8
|
-
import { l as labelPinCursor, p as pinCursor } from './cursors.js';
|
|
9
|
-
import { g as getMouseClientPosition } from './dom.js';
|
|
10
|
-
import { E as ElementRectObserver } from './elementRectObserver.js';
|
|
11
|
-
import { E as EntityType } from './streamAttributes.js';
|
|
12
|
-
import { P as PinModel } from './model2.js';
|
|
13
|
-
import { g as getMarkupBoundingClientRect } from './dom2.js';
|
|
14
|
-
import { d as defineCustomElement$7 } from './viewer-dom-element.js';
|
|
15
|
-
import { d as defineCustomElement$6 } from './viewer-dom-renderer.js';
|
|
16
|
-
import { d as defineCustomElement$5 } from './viewer-icon.js';
|
|
17
|
-
import { d as defineCustomElement$4 } from './viewer-pin-group.js';
|
|
18
|
-
import { d as defineCustomElement$2 } from './viewer-pin-label-line.js';
|
|
19
|
-
|
|
20
|
-
class PinsInteractionHandler {
|
|
21
|
-
constructor(controller, xOffset, yOffset) {
|
|
22
|
-
this.rectObserver = new ElementRectObserver();
|
|
23
|
-
this.droppableSurfaces = [
|
|
24
|
-
EntityType.PRECISE_SURFACE,
|
|
25
|
-
EntityType.IMPRECISE_SURFACE,
|
|
26
|
-
EntityType.GENERIC_GEOMETRY,
|
|
27
|
-
];
|
|
28
|
-
this.handlePointerMove = async (event) => {
|
|
29
|
-
const isDroppableSurface = await this.isDroppableSurface(event);
|
|
30
|
-
const draggable = this.controller.getDraggable();
|
|
31
|
-
if (draggable != null && isDroppableSurface) {
|
|
32
|
-
this.handleDrag(draggable, event);
|
|
33
|
-
}
|
|
34
|
-
if (this.controller.getDraggable() == null &&
|
|
35
|
-
this.controller.getToolMode() === 'edit' &&
|
|
36
|
-
isDroppableSurface) {
|
|
37
|
-
this.addCursor(this.getCursorType());
|
|
38
|
-
}
|
|
39
|
-
else {
|
|
40
|
-
this.clearCursor();
|
|
41
|
-
}
|
|
42
|
-
};
|
|
43
|
-
this.handleDrag = async (draggable, event) => {
|
|
44
|
-
const pt = getMouseClientPosition(event, this.elementRect);
|
|
45
|
-
const worldPosition = await this.getWorldPositionForPoint(pt);
|
|
46
|
-
if (worldPosition != null) {
|
|
47
|
-
this.controller.updateDraggable(Object.assign(Object.assign({}, draggable), { lastPoint: pt }), worldPosition);
|
|
48
|
-
}
|
|
49
|
-
};
|
|
50
|
-
this.handlePointerDown = async (pointerDown) => {
|
|
51
|
-
const pointerUp = (pointerUp) => {
|
|
52
|
-
const distanceBetweenStartAndEndPoint = point.distance(point.create(pointerDown.clientX, pointerUp.clientY), point.create(pointerUp.clientX, pointerUp.clientY));
|
|
53
|
-
if (distanceBetweenStartAndEndPoint <= 2 && pointerDown.buttons !== 2) {
|
|
54
|
-
if (this.controller.getToolMode() === 'edit') {
|
|
55
|
-
const pt = getMouseClientPosition(pointerDown, this.elementRect);
|
|
56
|
-
this.handlePlacePin(pt);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
dispose();
|
|
60
|
-
};
|
|
61
|
-
const dispose = () => {
|
|
62
|
-
window.removeEventListener('pointerup', pointerUp);
|
|
63
|
-
};
|
|
64
|
-
window.addEventListener('pointerup', pointerUp);
|
|
65
|
-
return {
|
|
66
|
-
dispose,
|
|
67
|
-
};
|
|
68
|
-
};
|
|
69
|
-
this.handlePointerUp = async () => {
|
|
70
|
-
const draggable = this.controller.getDraggable();
|
|
71
|
-
const lastPoint = draggable === null || draggable === void 0 ? void 0 : draggable.lastPoint;
|
|
72
|
-
this.controller.setDraggable(undefined);
|
|
73
|
-
if (lastPoint != null && draggable != null) {
|
|
74
|
-
this.ifInitialized(async ({ api }) => {
|
|
75
|
-
var _a, _b, _c, _d, _e, _f;
|
|
76
|
-
const [hit] = await api.hitItems(lastPoint);
|
|
77
|
-
if ((hit === null || hit === void 0 ? void 0 : hit.hitPoint) != null &&
|
|
78
|
-
((_a = hit === null || hit === void 0 ? void 0 : hit.hitPoint) === null || _a === void 0 ? void 0 : _a.x) != null &&
|
|
79
|
-
((_b = hit === null || hit === void 0 ? void 0 : hit.hitPoint) === null || _b === void 0 ? void 0 : _b.y) != null &&
|
|
80
|
-
((_c = hit === null || hit === void 0 ? void 0 : hit.hitPoint) === null || _c === void 0 ? void 0 : _c.z) != null) {
|
|
81
|
-
this.controller.updateDraggable(Object.assign(Object.assign({}, draggable), { lastPoint }), {
|
|
82
|
-
x: (_d = hit === null || hit === void 0 ? void 0 : hit.hitPoint) === null || _d === void 0 ? void 0 : _d.x,
|
|
83
|
-
y: hit === null || hit === void 0 ? void 0 : hit.hitPoint.y,
|
|
84
|
-
z: hit === null || hit === void 0 ? void 0 : hit.hitPoint.z,
|
|
85
|
-
}, (_f = (_e = hit === null || hit === void 0 ? void 0 : hit.partId) === null || _e === void 0 ? void 0 : _e.hex) !== null && _f !== void 0 ? _f : undefined);
|
|
86
|
-
}
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
};
|
|
90
|
-
this.controller = controller;
|
|
91
|
-
this.xOffset = xOffset;
|
|
92
|
-
this.yOffset = yOffset;
|
|
93
|
-
}
|
|
94
|
-
get elementRect() {
|
|
95
|
-
return this.rectObserver.rect;
|
|
96
|
-
}
|
|
97
|
-
initialize(element, api) {
|
|
98
|
-
this.element = element;
|
|
99
|
-
this.api = api;
|
|
100
|
-
this.rectObserver.observe(element);
|
|
101
|
-
element.addEventListener('pointermove', this.handlePointerMove);
|
|
102
|
-
element.addEventListener('pointerdown', this.handlePointerDown);
|
|
103
|
-
window.addEventListener('pointerup', this.handlePointerUp);
|
|
104
|
-
}
|
|
105
|
-
dispose() {
|
|
106
|
-
var _a, _b;
|
|
107
|
-
this.rectObserver.disconnect();
|
|
108
|
-
this.clearCursor();
|
|
109
|
-
(_a = this.element) === null || _a === void 0 ? void 0 : _a.removeEventListener('pointermove', this.handlePointerMove);
|
|
110
|
-
(_b = this.element) === null || _b === void 0 ? void 0 : _b.removeEventListener('pointerdown', this.handlePointerDown);
|
|
111
|
-
window.removeEventListener('pointerup', this.handlePointerUp);
|
|
112
|
-
this.element = undefined;
|
|
113
|
-
this.api = undefined;
|
|
114
|
-
}
|
|
115
|
-
async getWorldPositionForPoint(pt) {
|
|
116
|
-
return this.ifInitialized(async ({ api }) => {
|
|
117
|
-
const vector3 = await api.getWorldPointFromViewport(pt);
|
|
118
|
-
return vector3;
|
|
119
|
-
});
|
|
120
|
-
}
|
|
121
|
-
async handlePlacePin(pt, existingPin) {
|
|
122
|
-
this.ifInitialized(async ({ api }) => {
|
|
123
|
-
var _a, _b, _c, _d, _e, _f;
|
|
124
|
-
const [hit] = await api.hitItems(pt);
|
|
125
|
-
if ((hit === null || hit === void 0 ? void 0 : hit.hitPoint) != null && this.elementRect != null) {
|
|
126
|
-
if ((hit === null || hit === void 0 ? void 0 : hit.hitPoint) != null &&
|
|
127
|
-
(hit === null || hit === void 0 ? void 0 : hit.hitPoint.x) != null &&
|
|
128
|
-
(hit === null || hit === void 0 ? void 0 : hit.hitPoint.y) != null &&
|
|
129
|
-
(hit === null || hit === void 0 ? void 0 : hit.hitPoint.z) != null) {
|
|
130
|
-
const pinId = existingPin != null ? existingPin.id : uuid.create();
|
|
131
|
-
const attributes = this.controller.getStyleAttributes() != null
|
|
132
|
-
? {
|
|
133
|
-
style: this.controller.getStyleAttributes(),
|
|
134
|
-
}
|
|
135
|
-
: undefined;
|
|
136
|
-
switch (this.controller.getToolType()) {
|
|
137
|
-
case 'pin-icon':
|
|
138
|
-
this.controller.setPin({
|
|
139
|
-
type: 'icon',
|
|
140
|
-
id: pinId,
|
|
141
|
-
worldPosition: {
|
|
142
|
-
x: (_a = hit === null || hit === void 0 ? void 0 : hit.hitPoint) === null || _a === void 0 ? void 0 : _a.x,
|
|
143
|
-
y: hit === null || hit === void 0 ? void 0 : hit.hitPoint.y,
|
|
144
|
-
z: hit === null || hit === void 0 ? void 0 : hit.hitPoint.z,
|
|
145
|
-
},
|
|
146
|
-
partId: (_c = (_b = hit === null || hit === void 0 ? void 0 : hit.itemId) === null || _b === void 0 ? void 0 : _b.hex) !== null && _c !== void 0 ? _c : undefined,
|
|
147
|
-
attributes,
|
|
148
|
-
});
|
|
149
|
-
break;
|
|
150
|
-
case 'pin-text':
|
|
151
|
-
const isNewPin = existingPin == null;
|
|
152
|
-
const relativePoint = translatePointToRelative(pt, this.elementRect, isNewPin, this.xOffset, this.yOffset);
|
|
153
|
-
this.controller.setPin({
|
|
154
|
-
type: 'text',
|
|
155
|
-
id: pinId,
|
|
156
|
-
worldPosition: {
|
|
157
|
-
x: (_d = hit === null || hit === void 0 ? void 0 : hit.hitPoint) === null || _d === void 0 ? void 0 : _d.x,
|
|
158
|
-
y: hit === null || hit === void 0 ? void 0 : hit.hitPoint.y,
|
|
159
|
-
z: hit === null || hit === void 0 ? void 0 : hit.hitPoint.z,
|
|
160
|
-
},
|
|
161
|
-
partId: (_f = (_e = hit === null || hit === void 0 ? void 0 : hit.itemId) === null || _e === void 0 ? void 0 : _e.hex) !== null && _f !== void 0 ? _f : undefined,
|
|
162
|
-
label: {
|
|
163
|
-
point: relativePoint,
|
|
164
|
-
},
|
|
165
|
-
attributes,
|
|
166
|
-
});
|
|
167
|
-
this.controller.setSelectedPinId(pinId);
|
|
168
|
-
break;
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
else {
|
|
173
|
-
this.controller.setSelectedPinId();
|
|
174
|
-
}
|
|
175
|
-
});
|
|
176
|
-
}
|
|
177
|
-
getCursorType() {
|
|
178
|
-
switch (this.controller.getToolType()) {
|
|
179
|
-
case 'pin-icon':
|
|
180
|
-
return pinCursor;
|
|
181
|
-
case 'pin-text':
|
|
182
|
-
return labelPinCursor;
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
addCursor(cursor) {
|
|
186
|
-
this.clearCursor();
|
|
187
|
-
this.cursor = this.ifInitialized(({ api }) => api.addCursor(cursor));
|
|
188
|
-
}
|
|
189
|
-
async isDroppableSurface(event) {
|
|
190
|
-
var _a;
|
|
191
|
-
const pt = getMouseClientPosition(event, this.elementRect);
|
|
192
|
-
const type = await ((_a = this.api) === null || _a === void 0 ? void 0 : _a.getEntityTypeAtPoint(pt));
|
|
193
|
-
return type != null && this.droppableSurfaces.includes(type);
|
|
194
|
-
}
|
|
195
|
-
ifInitialized(f) {
|
|
196
|
-
if (this.element != null && this.api != null) {
|
|
197
|
-
return f({ element: this.element, api: this.api });
|
|
198
|
-
}
|
|
199
|
-
else {
|
|
200
|
-
throw new Error('Pins interaction handler not initialized.');
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
|
-
clearCursor() {
|
|
204
|
-
var _a;
|
|
205
|
-
(_a = this.cursor) === null || _a === void 0 ? void 0 : _a.dispose();
|
|
206
|
-
this.cursor = undefined;
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
const viewerPinToolCss = ":host{position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden;pointer-events:none;--viewer-pin-tool-initial-label-offset-x:20;--viewer-pin-tool-initial-label-offset-y:20}";
|
|
211
|
-
|
|
212
|
-
const ViewerPinTool = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
213
|
-
constructor() {
|
|
214
|
-
super();
|
|
215
|
-
this.__registerHost();
|
|
216
|
-
this.__attachShadow();
|
|
217
|
-
/**
|
|
218
|
-
* The model that contains the entities and outcomes from performing pin annotations
|
|
219
|
-
*/
|
|
220
|
-
this.pinModel = new PinModel();
|
|
221
|
-
/**
|
|
222
|
-
* The type of pin.
|
|
223
|
-
*
|
|
224
|
-
* This property will automatically be set.
|
|
225
|
-
*/
|
|
226
|
-
this.tool = 'pin-icon';
|
|
227
|
-
/**
|
|
228
|
-
* The mode of the pin tool
|
|
229
|
-
*/
|
|
230
|
-
this.mode = 'view';
|
|
231
|
-
this.pins = [];
|
|
232
|
-
this.handleSetProjectionMatrix = () => {
|
|
233
|
-
var _a, _b;
|
|
234
|
-
this.projectionViewMatrix =
|
|
235
|
-
(_b = (_a = this.viewer) === null || _a === void 0 ? void 0 : _a.frame) === null || _b === void 0 ? void 0 : _b.scene.camera.projectionViewMatrix;
|
|
236
|
-
};
|
|
237
|
-
}
|
|
238
|
-
/**
|
|
239
|
-
* @ignore
|
|
240
|
-
*/
|
|
241
|
-
watchModeChange() {
|
|
242
|
-
var _a;
|
|
243
|
-
(_a = this.pinController) === null || _a === void 0 ? void 0 : _a.setToolMode(this.mode);
|
|
244
|
-
this.setupInteractionHandler();
|
|
245
|
-
}
|
|
246
|
-
/**
|
|
247
|
-
* @ignore
|
|
248
|
-
*/
|
|
249
|
-
watchTypeChange() {
|
|
250
|
-
var _a;
|
|
251
|
-
(_a = this.pinController) === null || _a === void 0 ? void 0 : _a.setToolType(this.tool);
|
|
252
|
-
this.setupInteractionHandler();
|
|
253
|
-
}
|
|
254
|
-
/**
|
|
255
|
-
* @ignore
|
|
256
|
-
*/
|
|
257
|
-
watchAccentColorChange() {
|
|
258
|
-
var _a;
|
|
259
|
-
(_a = this.pinController) === null || _a === void 0 ? void 0 : _a.setAccentColor(this.accentColor);
|
|
260
|
-
this.setupInteractionHandler();
|
|
261
|
-
}
|
|
262
|
-
/**
|
|
263
|
-
* @ignore
|
|
264
|
-
*/
|
|
265
|
-
watchPrimaryColorChange() {
|
|
266
|
-
var _a;
|
|
267
|
-
(_a = this.pinController) === null || _a === void 0 ? void 0 : _a.setPrimaryColor(this.primaryColor);
|
|
268
|
-
this.setupInteractionHandler();
|
|
269
|
-
}
|
|
270
|
-
/**
|
|
271
|
-
* @ignore
|
|
272
|
-
*/
|
|
273
|
-
connectedCallback() {
|
|
274
|
-
this.setupInteractionHandler();
|
|
275
|
-
}
|
|
276
|
-
/**
|
|
277
|
-
* @ignore
|
|
278
|
-
*/
|
|
279
|
-
componentWillLoad() {
|
|
280
|
-
this.updateViewport();
|
|
281
|
-
this.setupController();
|
|
282
|
-
this.setupInteractionHandler();
|
|
283
|
-
this.pinModel.onEntitiesChanged((entities) => {
|
|
284
|
-
this.pins = entities;
|
|
285
|
-
});
|
|
286
|
-
this.pinModel.onSelectionChange((selectedId) => {
|
|
287
|
-
this.selectedPinId = selectedId;
|
|
288
|
-
});
|
|
289
|
-
this.handleViewerChanged(this.viewer, undefined);
|
|
290
|
-
}
|
|
291
|
-
componentDidLoad() {
|
|
292
|
-
this.resizeObserver = new ResizeObserver(() => this.updateViewport());
|
|
293
|
-
this.resizeObserver.observe(this.hostEl);
|
|
294
|
-
}
|
|
295
|
-
/**
|
|
296
|
-
* @ignore
|
|
297
|
-
*/
|
|
298
|
-
disconnectedCallback() {
|
|
299
|
-
this.clearInteractionHandler();
|
|
300
|
-
this.clearModelListeners();
|
|
301
|
-
}
|
|
302
|
-
/**
|
|
303
|
-
* @ignore
|
|
304
|
-
*/
|
|
305
|
-
handleViewerChanged(newViewer, oldViewer) {
|
|
306
|
-
this.setupInteractionHandler();
|
|
307
|
-
if (oldViewer != null) {
|
|
308
|
-
oldViewer.removeEventListener('frameDrawn', this.handleSetProjectionMatrix);
|
|
309
|
-
}
|
|
310
|
-
if (newViewer != null) {
|
|
311
|
-
newViewer.addEventListener('frameDrawn', this.handleSetProjectionMatrix);
|
|
312
|
-
}
|
|
313
|
-
this.handleSetProjectionMatrix();
|
|
314
|
-
}
|
|
315
|
-
render() {
|
|
316
|
-
return (h(Host, null, h("vertex-viewer-dom-renderer", { viewer: this.viewer, drawMode: "2d" }, this.pins.map((pin) => {
|
|
317
|
-
return (h("vertex-viewer-pin-group", { id: `pin-group-${pin.id}`, "data-is-dom-group-element": true, pin: pin, elementBounds: this.elementBounds, pinModel: this.pinModel, pinController: this.pinController, projectionViewMatrix: this.projectionViewMatrix, selected: this.selectedPinId === pin.id }));
|
|
318
|
-
}))));
|
|
319
|
-
}
|
|
320
|
-
setupController() {
|
|
321
|
-
const attributes = this.accentColor || this.primaryColor
|
|
322
|
-
? {
|
|
323
|
-
accentColor: this.accentColor,
|
|
324
|
-
primaryColor: this.primaryColor,
|
|
325
|
-
}
|
|
326
|
-
: undefined;
|
|
327
|
-
this.pinController = new PinController(this.pinModel, this.mode, this.tool, attributes);
|
|
328
|
-
}
|
|
329
|
-
clearInteractionHandler() {
|
|
330
|
-
var _a;
|
|
331
|
-
(_a = this.registeredInteractionHandler) === null || _a === void 0 ? void 0 : _a.then((handler) => handler.dispose());
|
|
332
|
-
this.registeredInteractionHandler = undefined;
|
|
333
|
-
}
|
|
334
|
-
setupInteractionHandler() {
|
|
335
|
-
var _a;
|
|
336
|
-
const hostStyles = window.getComputedStyle(this.hostEl);
|
|
337
|
-
const xOffset = hostStyles
|
|
338
|
-
.getPropertyValue('--viewer-pin-tool-initial-label-offset-x')
|
|
339
|
-
.trim();
|
|
340
|
-
const yOffset = hostStyles
|
|
341
|
-
.getPropertyValue('--viewer-pin-tool-initial-label-offset-y')
|
|
342
|
-
.trim();
|
|
343
|
-
this.clearInteractionHandler();
|
|
344
|
-
if (this.pinController != null) {
|
|
345
|
-
this.registeredInteractionHandler =
|
|
346
|
-
(_a = this.viewer) === null || _a === void 0 ? void 0 : _a.registerInteractionHandler(new PinsInteractionHandler(this.pinController, parseInt(xOffset), parseInt(yOffset)));
|
|
347
|
-
}
|
|
348
|
-
}
|
|
349
|
-
clearModelListeners() {
|
|
350
|
-
var _a, _b;
|
|
351
|
-
(_a = this.onEntitiesChangedHandler) === null || _a === void 0 ? void 0 : _a.dispose();
|
|
352
|
-
this.onEntitiesChangedHandler = undefined;
|
|
353
|
-
(_b = this.resizeObserver) === null || _b === void 0 ? void 0 : _b.disconnect();
|
|
354
|
-
}
|
|
355
|
-
updateViewport() {
|
|
356
|
-
const rect = getMarkupBoundingClientRect(this.hostEl);
|
|
357
|
-
this.elementBounds = rect;
|
|
358
|
-
}
|
|
359
|
-
get hostEl() { return this; }
|
|
360
|
-
static get watchers() { return {
|
|
361
|
-
"mode": ["watchModeChange"],
|
|
362
|
-
"tool": ["watchTypeChange"],
|
|
363
|
-
"accentColor": ["watchAccentColorChange"],
|
|
364
|
-
"primaryColor": ["watchPrimaryColorChange"],
|
|
365
|
-
"viewer": ["handleViewerChanged"]
|
|
366
|
-
}; }
|
|
367
|
-
static get style() { return viewerPinToolCss; }
|
|
368
|
-
}, [1, "vertex-viewer-pin-tool", {
|
|
369
|
-
"pinController": [1040],
|
|
370
|
-
"pinModel": [16],
|
|
371
|
-
"viewer": [16],
|
|
372
|
-
"tool": [1025],
|
|
373
|
-
"mode": [1025],
|
|
374
|
-
"primaryColor": [1025, "primary-color"],
|
|
375
|
-
"accentColor": [1025, "accent-color"],
|
|
376
|
-
"pins": [32],
|
|
377
|
-
"selectedPinId": [32],
|
|
378
|
-
"elementBounds": [32],
|
|
379
|
-
"projectionViewMatrix": [32]
|
|
380
|
-
}]);
|
|
381
|
-
function defineCustomElement$1() {
|
|
382
|
-
if (typeof customElements === "undefined") {
|
|
383
|
-
return;
|
|
384
|
-
}
|
|
385
|
-
const components = ["vertex-viewer-pin-tool", "vertex-viewer-dom-element", "vertex-viewer-dom-renderer", "vertex-viewer-icon", "vertex-viewer-pin-group", "vertex-viewer-pin-label", "vertex-viewer-pin-label-line"];
|
|
386
|
-
components.forEach(tagName => { switch (tagName) {
|
|
387
|
-
case "vertex-viewer-pin-tool":
|
|
388
|
-
if (!customElements.get(tagName)) {
|
|
389
|
-
customElements.define(tagName, ViewerPinTool);
|
|
390
|
-
}
|
|
391
|
-
break;
|
|
392
|
-
case "vertex-viewer-dom-element":
|
|
393
|
-
if (!customElements.get(tagName)) {
|
|
394
|
-
defineCustomElement$7();
|
|
395
|
-
}
|
|
396
|
-
break;
|
|
397
|
-
case "vertex-viewer-dom-renderer":
|
|
398
|
-
if (!customElements.get(tagName)) {
|
|
399
|
-
defineCustomElement$6();
|
|
400
|
-
}
|
|
401
|
-
break;
|
|
402
|
-
case "vertex-viewer-icon":
|
|
403
|
-
if (!customElements.get(tagName)) {
|
|
404
|
-
defineCustomElement$5();
|
|
405
|
-
}
|
|
406
|
-
break;
|
|
407
|
-
case "vertex-viewer-pin-group":
|
|
408
|
-
if (!customElements.get(tagName)) {
|
|
409
|
-
defineCustomElement$4();
|
|
410
|
-
}
|
|
411
|
-
break;
|
|
412
|
-
case "vertex-viewer-pin-label":
|
|
413
|
-
if (!customElements.get(tagName)) {
|
|
414
|
-
defineCustomElement$3();
|
|
415
|
-
}
|
|
416
|
-
break;
|
|
417
|
-
case "vertex-viewer-pin-label-line":
|
|
418
|
-
if (!customElements.get(tagName)) {
|
|
419
|
-
defineCustomElement$2();
|
|
420
|
-
}
|
|
421
|
-
break;
|
|
422
|
-
} });
|
|
423
|
-
}
|
|
424
|
-
|
|
425
|
-
const VertexViewerPinTool = ViewerPinTool;
|
|
426
|
-
const defineCustomElement = defineCustomElement$1;
|
|
427
|
-
|
|
428
|
-
export { VertexViewerPinTool, defineCustomElement };
|
|
429
|
-
|
|
430
|
-
//# sourceMappingURL=vertex-viewer-pin-tool.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"vertex-viewer-pin-tool.js","mappings":"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","names":["Point","UUID"],"sources":["./src/lib/pins/interactions.ts","./src/components/viewer-pin-tool/viewer-pin-tool.css?tag=vertex-viewer-pin-tool&encapsulation=shadow","./src/components/viewer-pin-tool/viewer-pin-tool.tsx"],"sourcesContent":["import { Point, Vector3 } from '@vertexvis/geometry';\nimport { Disposable, UUID } from '@vertexvis/utils';\n\nimport { translatePointToRelative } from '../../components/viewer-pin-tool/utils';\nimport { Cursor, labelPinCursor, pinCursor } from '../cursors';\nimport { getMouseClientPosition } from '../dom';\nimport { ElementRectObserver } from '../elementRectObserver';\nimport { InteractionApi, InteractionHandler } from '../interactions';\nimport { EntityType } from '../types/entities';\nimport { Draggable, PinController } from './controller';\nimport { Pin } from './model';\n\nexport class PinsInteractionHandler implements InteractionHandler {\n private controller: PinController;\n private element?: HTMLElement;\n private api?: InteractionApi;\n\n private cursor?: Disposable;\n\n private xOffset?: number;\n private yOffset?: number;\n\n private rectObserver = new ElementRectObserver();\n\n private droppableSurfaces: EntityType[] = [\n EntityType.PRECISE_SURFACE,\n EntityType.IMPRECISE_SURFACE,\n EntityType.GENERIC_GEOMETRY,\n ];\n\n private get elementRect(): DOMRect | undefined {\n return this.rectObserver.rect;\n }\n\n public constructor(\n controller: PinController,\n xOffset: number,\n yOffset: number\n ) {\n this.controller = controller;\n this.xOffset = xOffset;\n this.yOffset = yOffset;\n }\n\n public initialize(element: HTMLElement, api: InteractionApi): void {\n this.element = element;\n this.api = api;\n this.rectObserver.observe(element);\n\n element.addEventListener('pointermove', this.handlePointerMove);\n element.addEventListener('pointerdown', this.handlePointerDown);\n window.addEventListener('pointerup', this.handlePointerUp);\n }\n\n public dispose(): void {\n this.rectObserver.disconnect();\n this.clearCursor();\n this.element?.removeEventListener('pointermove', this.handlePointerMove);\n this.element?.removeEventListener('pointerdown', this.handlePointerDown);\n window.removeEventListener('pointerup', this.handlePointerUp);\n\n this.element = undefined;\n this.api = undefined;\n }\n\n public async getWorldPositionForPoint(\n pt: Point.Point\n ): Promise<Vector3.Vector3 | undefined> {\n return this.ifInitialized(async ({ api }) => {\n const vector3 = await api.getWorldPointFromViewport(pt);\n\n return vector3;\n });\n }\n\n public async handlePlacePin(\n pt: Point.Point,\n existingPin?: Pin\n ): Promise<void> {\n this.ifInitialized(async ({ api }) => {\n const [hit] = await api.hitItems(pt);\n\n if (hit?.hitPoint != null && this.elementRect != null) {\n if (\n hit?.hitPoint != null &&\n hit?.hitPoint.x != null &&\n hit?.hitPoint.y != null &&\n hit?.hitPoint.z != null\n ) {\n const pinId = existingPin != null ? existingPin.id : UUID.create();\n\n const attributes =\n this.controller.getStyleAttributes() != null\n ? {\n style: this.controller.getStyleAttributes(),\n }\n : undefined;\n\n switch (this.controller.getToolType()) {\n case 'pin-icon':\n this.controller.setPin({\n type: 'icon',\n id: pinId,\n worldPosition: {\n x: hit?.hitPoint?.x,\n y: hit?.hitPoint.y,\n z: hit?.hitPoint.z,\n },\n partId: hit?.itemId?.hex ?? undefined,\n attributes,\n });\n break;\n case 'pin-text':\n const isNewPin = existingPin == null;\n const relativePoint = translatePointToRelative(\n pt,\n this.elementRect,\n isNewPin,\n this.xOffset,\n this.yOffset\n );\n this.controller.setPin({\n type: 'text',\n id: pinId,\n worldPosition: {\n x: hit?.hitPoint?.x,\n y: hit?.hitPoint.y,\n z: hit?.hitPoint.z,\n },\n partId: hit?.itemId?.hex ?? undefined,\n label: {\n point: relativePoint,\n },\n attributes,\n });\n this.controller.setSelectedPinId(pinId);\n break;\n }\n }\n } else {\n this.controller.setSelectedPinId();\n }\n });\n }\n\n private handlePointerMove = async (event: PointerEvent): Promise<void> => {\n const isDroppableSurface = await this.isDroppableSurface(event);\n const draggable = this.controller.getDraggable();\n if (draggable != null && isDroppableSurface) {\n this.handleDrag(draggable, event);\n }\n\n if (\n this.controller.getDraggable() == null &&\n this.controller.getToolMode() === 'edit' &&\n isDroppableSurface\n ) {\n this.addCursor(this.getCursorType());\n } else {\n this.clearCursor();\n }\n };\n\n private getCursorType(): Cursor {\n switch (this.controller.getToolType()) {\n case 'pin-icon':\n return pinCursor;\n case 'pin-text':\n return labelPinCursor;\n }\n }\n\n private handleDrag = async (\n draggable: Draggable,\n event: PointerEvent\n ): Promise<void> => {\n const pt = getMouseClientPosition(event, this.elementRect);\n const worldPosition = await this.getWorldPositionForPoint(pt);\n\n if (worldPosition != null) {\n this.controller.updateDraggable(\n {\n ...draggable,\n lastPoint: pt,\n },\n worldPosition\n );\n }\n };\n\n private handlePointerDown = async (\n pointerDown: PointerEvent\n ): Promise<Disposable> => {\n const pointerUp = (pointerUp: PointerEvent): void => {\n const distanceBetweenStartAndEndPoint = Point.distance(\n Point.create(pointerDown.clientX, pointerUp.clientY),\n Point.create(pointerUp.clientX, pointerUp.clientY)\n );\n\n if (distanceBetweenStartAndEndPoint <= 2 && pointerDown.buttons !== 2) {\n if (this.controller.getToolMode() === 'edit') {\n const pt = getMouseClientPosition(pointerDown, this.elementRect);\n\n this.handlePlacePin(pt);\n }\n }\n\n dispose();\n };\n\n const dispose = (): void => {\n window.removeEventListener('pointerup', pointerUp);\n };\n\n window.addEventListener('pointerup', pointerUp);\n\n return {\n dispose,\n };\n };\n\n private handlePointerUp = async (): Promise<void> => {\n const draggable = this.controller.getDraggable();\n const lastPoint = draggable?.lastPoint;\n\n this.controller.setDraggable(undefined);\n\n if (lastPoint != null && draggable != null) {\n this.ifInitialized(async ({ api }) => {\n const [hit] = await api.hitItems(lastPoint);\n\n if (\n hit?.hitPoint != null &&\n hit?.hitPoint?.x != null &&\n hit?.hitPoint?.y != null &&\n hit?.hitPoint?.z != null\n ) {\n this.controller.updateDraggable(\n {\n ...draggable,\n lastPoint,\n },\n {\n x: hit?.hitPoint?.x,\n y: hit?.hitPoint.y,\n z: hit?.hitPoint.z,\n },\n hit?.partId?.hex ?? undefined\n );\n }\n });\n }\n };\n\n private addCursor(cursor: Cursor): void {\n this.clearCursor();\n this.cursor = this.ifInitialized(({ api }) => api.addCursor(cursor));\n }\n\n private async isDroppableSurface(event: PointerEvent): Promise<boolean> {\n const pt = getMouseClientPosition(event, this.elementRect);\n const type = await this.api?.getEntityTypeAtPoint(pt);\n\n return type != null && this.droppableSurfaces.includes(type);\n }\n\n protected ifInitialized<R>(\n f: (data: { element: HTMLElement; api: InteractionApi }) => R\n ): R {\n if (this.element != null && this.api != null) {\n return f({ element: this.element, api: this.api });\n } else {\n throw new Error('Pins interaction handler not initialized.');\n }\n }\n\n private clearCursor(): void {\n this.cursor?.dispose();\n this.cursor = undefined;\n }\n}\n",":host {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n overflow: hidden;\n pointer-events: none;\n\n /**\n * @prop --viewer-pin-tool-initial-label-offset-x: The number of pixels to offset\n the label in the x direction. Defaults to 20.\n */\n --viewer-pin-tool-initial-label-offset-x: 20;\n\n /**\n * @prop --viewer-pin-tool-initial-label-offset-y: The number of pixels to offset\n the label in the y direction. Defaults to 20.\n */\n --viewer-pin-tool-initial-label-offset-y: 20;\n}\n","import {\n Component,\n Element,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n h,\n Host,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { Matrix4 } from '@vertexvis/geometry';\nimport { Color, Disposable } from '@vertexvis/utils';\n\nimport { PinController } from '../../lib/pins/controller';\nimport { PinsInteractionHandler } from '../../lib/pins/interactions';\nimport {\n Pin,\n PinModel,\n ViewerPinToolMode,\n ViewerPinToolType,\n} from '../../lib/pins/model';\nimport { getMarkupBoundingClientRect } from '../viewer-markup/dom';\n\n@Component({\n tag: 'vertex-viewer-pin-tool',\n styleUrl: 'viewer-pin-tool.css',\n shadow: true,\n})\nexport class ViewerPinTool {\n /**\n * The controller that is responsible for drawing pins and updating the model\n */\n @Prop({ mutable: true })\n public pinController?: PinController;\n\n /**\n * The model that contains the entities and outcomes from performing pin annotations\n */\n @Prop()\n public pinModel: PinModel = new PinModel();\n\n /**\n * The viewer that this component is bound to. This is automatically assigned\n * if added to the light-dom of a parent viewer element.\n */\n @Prop()\n public viewer?: HTMLVertexViewerElement;\n\n /**\n * The type of pin.\n *\n * This property will automatically be set.\n */\n @Prop({ mutable: true })\n public tool: ViewerPinToolType = 'pin-icon';\n\n /**\n * The mode of the pin tool\n */\n @Prop({ mutable: true })\n public mode: ViewerPinToolMode = 'view';\n\n /**\n * The primary color for new pins. Setting this will override the primary template color, and will be used for any new\n * pins created with this `vertex-viewer-pin-tool`. This styling applies to pin anchors, and borders, etc.\n */\n @Prop({ mutable: true })\n public primaryColor: Color.Color | string | undefined;\n\n /**\n * The accent color for new pins. Setting this will override the accent template color, and will be used for any new\n * pins created with this `vertex-viewer-pin-tool`. This styling applies to some background colors, etc\n */\n @Prop({ mutable: true })\n public accentColor: Color.Color | string | undefined;\n\n @Element()\n private hostEl!: HTMLElement;\n\n @State()\n private pins: Pin[] = [];\n\n @State()\n private selectedPinId?: string;\n\n @State()\n private elementBounds?: DOMRect;\n\n @State()\n private projectionViewMatrix?: Matrix4.Matrix4;\n\n private registeredInteractionHandler?: Promise<Disposable>;\n private onEntitiesChangedHandler?: Disposable;\n\n private resizeObserver?: ResizeObserver;\n\n /**\n * @ignore\n */\n @Watch('mode')\n protected watchModeChange(): void {\n this.pinController?.setToolMode(this.mode);\n this.setupInteractionHandler();\n }\n\n /**\n * @ignore\n */\n @Watch('tool')\n protected watchTypeChange(): void {\n this.pinController?.setToolType(this.tool);\n this.setupInteractionHandler();\n }\n\n /**\n * @ignore\n */\n @Watch('accentColor')\n protected watchAccentColorChange(): void {\n this.pinController?.setAccentColor(this.accentColor);\n this.setupInteractionHandler();\n }\n\n /**\n * @ignore\n */\n @Watch('primaryColor')\n protected watchPrimaryColorChange(): void {\n this.pinController?.setPrimaryColor(this.primaryColor);\n this.setupInteractionHandler();\n }\n\n /**\n * @ignore\n */\n protected connectedCallback(): void {\n this.setupInteractionHandler();\n }\n\n /**\n * @ignore\n */\n protected componentWillLoad(): void {\n this.updateViewport();\n this.setupController();\n this.setupInteractionHandler();\n\n this.pinModel.onEntitiesChanged((entities) => {\n this.pins = entities;\n });\n\n this.pinModel.onSelectionChange((selectedId) => {\n this.selectedPinId = selectedId;\n });\n\n this.handleViewerChanged(this.viewer, undefined);\n }\n\n protected componentDidLoad(): void {\n this.resizeObserver = new ResizeObserver(() => this.updateViewport());\n this.resizeObserver.observe(this.hostEl);\n }\n\n /**\n * @ignore\n */\n protected disconnectedCallback(): void {\n this.clearInteractionHandler();\n this.clearModelListeners();\n }\n\n /**\n * @ignore\n */\n @Watch('viewer')\n protected handleViewerChanged(\n newViewer?: HTMLVertexViewerElement,\n oldViewer?: HTMLVertexViewerElement\n ): void {\n this.setupInteractionHandler();\n\n if (oldViewer != null) {\n oldViewer.removeEventListener(\n 'frameDrawn',\n this.handleSetProjectionMatrix\n );\n }\n\n if (newViewer != null) {\n newViewer.addEventListener('frameDrawn', this.handleSetProjectionMatrix);\n }\n\n this.handleSetProjectionMatrix();\n }\n\n private handleSetProjectionMatrix = (): void => {\n this.projectionViewMatrix =\n this.viewer?.frame?.scene.camera.projectionViewMatrix;\n };\n\n protected render(): JSX.Element {\n return (\n <Host>\n <vertex-viewer-dom-renderer viewer={this.viewer} drawMode=\"2d\">\n {this.pins.map((pin) => {\n return (\n <vertex-viewer-pin-group\n id={`pin-group-${pin.id}`}\n data-is-dom-group-element={true}\n pin={pin}\n elementBounds={this.elementBounds}\n pinModel={this.pinModel}\n pinController={this.pinController}\n projectionViewMatrix={this.projectionViewMatrix}\n selected={this.selectedPinId === pin.id}\n ></vertex-viewer-pin-group>\n );\n })}\n </vertex-viewer-dom-renderer>\n </Host>\n );\n }\n\n private setupController(): void {\n const attributes =\n this.accentColor || this.primaryColor\n ? {\n accentColor: this.accentColor,\n primaryColor: this.primaryColor,\n }\n : undefined;\n this.pinController = new PinController(\n this.pinModel,\n this.mode,\n this.tool,\n attributes\n );\n }\n\n private clearInteractionHandler(): void {\n this.registeredInteractionHandler?.then((handler) => handler.dispose());\n this.registeredInteractionHandler = undefined;\n }\n\n private setupInteractionHandler(): void {\n const hostStyles = window.getComputedStyle(this.hostEl);\n const xOffset = hostStyles\n .getPropertyValue('--viewer-pin-tool-initial-label-offset-x')\n .trim();\n const yOffset = hostStyles\n .getPropertyValue('--viewer-pin-tool-initial-label-offset-y')\n .trim();\n\n this.clearInteractionHandler();\n\n if (this.pinController != null) {\n this.registeredInteractionHandler =\n this.viewer?.registerInteractionHandler(\n new PinsInteractionHandler(\n this.pinController,\n parseInt(xOffset),\n parseInt(yOffset)\n )\n );\n }\n }\n\n private clearModelListeners(): void {\n this.onEntitiesChangedHandler?.dispose();\n this.onEntitiesChangedHandler = undefined;\n this.resizeObserver?.disconnect();\n }\n\n private updateViewport(): void {\n const rect = getMarkupBoundingClientRect(this.hostEl);\n this.elementBounds = rect;\n }\n}\n"],"version":3}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { Components, JSX } from "../types/regl-shape";
|
|
2
|
-
|
|
3
|
-
interface VertexViewerSpinner extends Components.VertexViewerSpinner, HTMLElement {}
|
|
4
|
-
export const VertexViewerSpinner: {
|
|
5
|
-
prototype: VertexViewerSpinner;
|
|
6
|
-
new (): VertexViewerSpinner;
|
|
7
|
-
};
|
|
8
|
-
/**
|
|
9
|
-
* Used to define this component and all nested components recursively.
|
|
10
|
-
*/
|
|
11
|
-
export const defineCustomElement: () => void;
|