@vertexvis/viewer 1.0.0-canary.2 → 1.0.0-canary.4
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/{entities-DKHUfheC.js → entities-BbFe_OSv.js} +24 -2
- package/dist/cjs/entities-BbFe_OSv.js.map +1 -0
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/vertex-viewer-markup-tool.cjs.entry.js +14 -50
- package/dist/cjs/vertex-viewer-markup-tool.cjs.entry.js.map +1 -1
- package/dist/cjs/vertex-viewer-markup.cjs.entry.js +14 -29
- package/dist/cjs/vertex-viewer-markup.cjs.entry.js.map +1 -1
- package/dist/cjs/vertex-viewer-measurement-precise.cjs.entry.js +1 -1
- package/dist/cjs/viewer.cjs.js +1 -1
- package/dist/collection/components/viewer-markup/viewer-markup.js +14 -29
- package/dist/collection/components/viewer-markup/viewer-markup.js.map +1 -1
- package/dist/collection/components/viewer-markup-tool/viewer-markup-tool.js +14 -50
- package/dist/collection/components/viewer-markup-tool/viewer-markup-tool.js.map +1 -1
- package/dist/collection/lib/measurement/controller.js +22 -0
- package/dist/collection/lib/measurement/controller.js.map +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/p-Bfbzt4ZR.js +5 -0
- package/dist/components/p-Bfbzt4ZR.js.map +1 -0
- package/dist/components/{p-DP0zP-Gr.js → p-C8zX6RrH.js} +2 -2
- package/dist/components/{p-DU6goRD0.js → p-Ce-6kPRQ.js} +2 -2
- package/dist/components/{p-BBKWC-yY.js → p-DrkwJOM4.js} +2 -2
- package/dist/components/vertex-viewer-markup-tool.js +1 -1
- package/dist/components/vertex-viewer-markup-tool.js.map +1 -1
- package/dist/components/vertex-viewer-markup.js +1 -1
- package/dist/components/vertex-viewer-markup.js.map +1 -1
- package/dist/components/vertex-viewer-measurement-distance.js +1 -1
- package/dist/components/vertex-viewer-measurement-overlays.js +1 -1
- package/dist/components/vertex-viewer-measurement-precise.js +1 -1
- package/dist/components/vertex-viewer-pin-group.js +1 -1
- package/dist/components/vertex-viewer-pin-tool.js +1 -1
- package/dist/esm/{entities-Bpi27lyT.js → entities-C3Psu9sn.js} +25 -3
- package/dist/esm/entities-C3Psu9sn.js.map +1 -0
- package/dist/esm/{geometry_pb-BeXN0y30.js → geometry_pb-mKM0mAGa.js} +3 -3
- package/dist/esm/{geometry_pb-BeXN0y30.js.map → geometry_pb-mKM0mAGa.js.map} +1 -1
- package/dist/esm/index.js +2 -2
- package/dist/esm/index.mjs +2 -2
- package/dist/esm/loader.js +1 -1
- package/dist/esm/loader.mjs +1 -1
- package/dist/esm/vertex-viewer-markup-tool.entry.js +14 -50
- package/dist/esm/vertex-viewer-markup-tool.entry.js.map +1 -1
- package/dist/esm/vertex-viewer-markup.entry.js +14 -29
- package/dist/esm/vertex-viewer-markup.entry.js.map +1 -1
- package/dist/esm/vertex-viewer-measurement-distance.entry.js +1 -1
- package/dist/esm/vertex-viewer-measurement-line_2.entry.js +1 -1
- package/dist/esm/vertex-viewer-measurement-precise.entry.js +2 -2
- package/dist/esm/vertex-viewer-pin-group.entry.js +1 -1
- package/dist/esm/viewer.js +1 -1
- package/dist/types/components/viewer-markup/viewer-markup.d.ts +1 -13
- package/dist/types/components/viewer-markup-tool/viewer-markup-tool.d.ts +1 -25
- package/dist/types/lib/measurement/controller.d.ts +3 -0
- package/dist/viewer/index.esm.js +1 -1
- package/dist/viewer/p-0ac84ef2.entry.js +5 -0
- package/dist/viewer/p-0ac84ef2.entry.js.map +1 -0
- package/dist/viewer/{p-7cca58e4.entry.js → p-6f02eb99.entry.js} +2 -2
- package/dist/viewer/{p-e62befb5.entry.js → p-73b3b95a.entry.js} +2 -2
- package/dist/viewer/{p-53b6e251.entry.js → p-7cee56a8.entry.js} +2 -2
- package/dist/viewer/p-Dr2r9bDY.js +5 -0
- package/dist/viewer/p-Dr2r9bDY.js.map +1 -0
- package/dist/viewer/{p-0545bbd6.entry.js → p-ae0fc09f.entry.js} +2 -2
- package/dist/viewer/p-f0f98be0.entry.js +5 -0
- package/dist/viewer/p-f0f98be0.entry.js.map +1 -0
- package/dist/viewer/{p-BU754187.js → p-oWeTwgJJ.js} +2 -2
- package/dist/viewer/{p-BU754187.js.map → p-oWeTwgJJ.js.map} +1 -1
- package/dist/viewer/viewer.esm.js +1 -1
- package/package.json +7 -7
- package/dist/cjs/entities-DKHUfheC.js.map +0 -1
- package/dist/components/p-BqEOBQcx.js +0 -5
- package/dist/components/p-BqEOBQcx.js.map +0 -1
- package/dist/esm/entities-Bpi27lyT.js.map +0 -1
- package/dist/viewer/p-1152e3db.entry.js +0 -5
- package/dist/viewer/p-1152e3db.entry.js.map +0 -1
- package/dist/viewer/p-DZ2ZtqUE.js +0 -5
- package/dist/viewer/p-DZ2ZtqUE.js.map +0 -1
- package/dist/viewer/p-b275cb83.entry.js +0 -5
- package/dist/viewer/p-b275cb83.entry.js.map +0 -1
- /package/dist/components/{p-DP0zP-Gr.js.map → p-C8zX6RrH.js.map} +0 -0
- /package/dist/components/{p-DU6goRD0.js.map → p-Ce-6kPRQ.js.map} +0 -0
- /package/dist/components/{p-BBKWC-yY.js.map → p-DrkwJOM4.js.map} +0 -0
- /package/dist/viewer/{p-7cca58e4.entry.js.map → p-6f02eb99.entry.js.map} +0 -0
- /package/dist/viewer/{p-e62befb5.entry.js.map → p-73b3b95a.entry.js.map} +0 -0
- /package/dist/viewer/{p-53b6e251.entry.js.map → p-7cee56a8.entry.js.map} +0 -0
- /package/dist/viewer/{p-0545bbd6.entry.js.map → p-ae0fc09f.entry.js.map} +0 -0
|
@@ -21,6 +21,7 @@ class MeasurementController {
|
|
|
21
21
|
this.jwtProvider = jwtProvider;
|
|
22
22
|
this.deviceId = deviceId;
|
|
23
23
|
this.outcome = Promise.resolve(undefined);
|
|
24
|
+
this.debugLogs = false;
|
|
24
25
|
}
|
|
25
26
|
/**
|
|
26
27
|
* Registers an entity to measure and performs a measurement if this entity
|
|
@@ -31,6 +32,10 @@ class MeasurementController {
|
|
|
31
32
|
* entity.
|
|
32
33
|
*/
|
|
33
34
|
addEntity(entity) {
|
|
35
|
+
if (this.debugLogs) {
|
|
36
|
+
const deserializedEntity = geometry_pb.model_entity_pbExports.ModelEntity.deserializeBinary(entity.modelEntity);
|
|
37
|
+
this.log(`Adding ModelEntity. [entityId={${deserializedEntity.getEntityId()}}, sceneItemId={${deserializedEntity.getSceneItemId()}}]`);
|
|
38
|
+
}
|
|
34
39
|
return this.performMeasurement(() => this.model.addEntity(entity));
|
|
35
40
|
}
|
|
36
41
|
/**
|
|
@@ -38,6 +43,7 @@ class MeasurementController {
|
|
|
38
43
|
* of measurement results.
|
|
39
44
|
*/
|
|
40
45
|
clearEntities() {
|
|
46
|
+
this.log('Clearing all ModelEntities.');
|
|
41
47
|
return this.performMeasurement(() => {
|
|
42
48
|
this.model.clearEntities();
|
|
43
49
|
this.model.clearOutcome();
|
|
@@ -53,6 +59,10 @@ class MeasurementController {
|
|
|
53
59
|
* entity.
|
|
54
60
|
*/
|
|
55
61
|
removeEntity(entity) {
|
|
62
|
+
if (this.debugLogs) {
|
|
63
|
+
const deserializedEntity = geometry_pb.model_entity_pbExports.ModelEntity.deserializeBinary(entity.modelEntity);
|
|
64
|
+
this.log(`Removing ModelEntity. [entityId={${deserializedEntity.getEntityId()}}, sceneItemId={${deserializedEntity.getSceneItemId()}}]`);
|
|
65
|
+
}
|
|
56
66
|
return this.performMeasurement(() => this.model.removeEntity(entity));
|
|
57
67
|
}
|
|
58
68
|
/**
|
|
@@ -63,8 +73,15 @@ class MeasurementController {
|
|
|
63
73
|
* entities.
|
|
64
74
|
*/
|
|
65
75
|
setEntities(entities) {
|
|
76
|
+
if (this.debugLogs) {
|
|
77
|
+
const deserializedEntities = Array.from(entities).map((e) => geometry_pb.model_entity_pbExports.ModelEntity.deserializeBinary(e.modelEntity));
|
|
78
|
+
this.log(`Setting ${deserializedEntities.length} ModelEntities. [entityIds=[${deserializedEntities.map((e) => e.getEntityId()).join(', ')}], sceneItemIds=[${deserializedEntities.map((e) => e.getSceneItemId()).join(', ')}]]`);
|
|
79
|
+
}
|
|
66
80
|
return this.performMeasurement(() => this.model.setEntities(entities));
|
|
67
81
|
}
|
|
82
|
+
setDebugLogs(debugLogs) {
|
|
83
|
+
this.debugLogs = debugLogs;
|
|
84
|
+
}
|
|
68
85
|
performMeasurement(effect) {
|
|
69
86
|
const previous = this.model.getEntities();
|
|
70
87
|
const changed = effect();
|
|
@@ -122,6 +139,11 @@ class MeasurementController {
|
|
|
122
139
|
this.client.updateModelEntities(req, meta, handler);
|
|
123
140
|
});
|
|
124
141
|
}
|
|
142
|
+
log(message, ...optionalParams) {
|
|
143
|
+
if (this.debugLogs) {
|
|
144
|
+
console.debug(message, optionalParams);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
125
147
|
}
|
|
126
148
|
|
|
127
149
|
class MeasurementEntity {
|
|
@@ -154,6 +176,6 @@ class MeasurementEntity {
|
|
|
154
176
|
|
|
155
177
|
exports.MeasurementController = MeasurementController;
|
|
156
178
|
exports.MeasurementEntity = MeasurementEntity;
|
|
157
|
-
//# sourceMappingURL=entities-
|
|
179
|
+
//# sourceMappingURL=entities-BbFe_OSv.js.map
|
|
158
180
|
|
|
159
|
-
//# sourceMappingURL=entities-
|
|
181
|
+
//# sourceMappingURL=entities-BbFe_OSv.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entities-BbFe_OSv.js","sources":["src/lib/measurement/controller.ts","src/lib/measurement/entities.ts"],"sourcesContent":["import { ModelEntity } from '@vertexvis/scene-view-protos/core/protos/model_entity_pb';\nimport {\n MeasureRequest,\n MeasureResponse,\n ModelEntityUpdate,\n UpdateModelEntitiesRequest,\n} from '@vertexvis/scene-view-protos/sceneview/protos/scene_view_api_pb';\nimport { SceneViewAPIClient } from '@vertexvis/scene-view-protos/sceneview/protos/scene_view_api_pb_service';\nimport { BoolValue } from 'google-protobuf/google/protobuf/wrappers_pb';\n\nimport { createMetadata, JwtProvider, requestUnary } from '../grpc';\nimport { MeasurementEntity } from './entities';\nimport { mapMeasureResponseOrThrow } from './mapper';\nimport { MeasurementModel } from './model';\nimport { MeasurementOutcome } from './outcomes';\n\n/**\n * The `MeasurementController` is responsible for performing measurements of\n * registered entities, and updating the model with their measurement results.\n */\nexport class MeasurementController {\n private outcome = Promise.resolve<MeasurementOutcome | undefined>(undefined);\n private debugLogs = false;\n\n public constructor(\n private model: MeasurementModel,\n private client: SceneViewAPIClient,\n private jwtProvider: JwtProvider,\n private deviceId: string | undefined\n ) {}\n\n /**\n * Registers an entity to measure and performs a measurement if this entity\n * has not been previously registered.\n *\n * @param entity The entity to measure.\n * @returns A promise that resolves with the results after registering this\n * entity.\n */\n public addEntity(\n entity: MeasurementEntity\n ): Promise<MeasurementOutcome | undefined> {\n if (this.debugLogs) {\n const deserializedEntity = ModelEntity.deserializeBinary(\n entity.modelEntity\n );\n\n this.log(\n `Adding ModelEntity. [entityId={${deserializedEntity.getEntityId()}}, sceneItemId={${deserializedEntity.getSceneItemId()}}]`\n );\n }\n\n return this.performMeasurement(() => this.model.addEntity(entity));\n }\n\n /**\n * Clears all entities and returns a promise that resolves with an empty list\n * of measurement results.\n */\n public clearEntities(): Promise<MeasurementOutcome | undefined> {\n this.log('Clearing all ModelEntities.');\n\n return this.performMeasurement(() => {\n this.model.clearEntities();\n this.model.clearOutcome();\n return true;\n });\n }\n\n /**\n * Deregisters an entity and performs a measurement if this entity was\n * removed.\n *\n * @param entity The entity to remove.\n * @returns A promise that resolves with the results after removing this\n * entity.\n */\n public removeEntity(\n entity: MeasurementEntity\n ): Promise<MeasurementOutcome | undefined> {\n if (this.debugLogs) {\n const deserializedEntity = ModelEntity.deserializeBinary(\n entity.modelEntity\n );\n\n this.log(\n `Removing ModelEntity. [entityId={${deserializedEntity.getEntityId()}}, sceneItemId={${deserializedEntity.getSceneItemId()}}]`\n );\n }\n\n return this.performMeasurement(() => this.model.removeEntity(entity));\n }\n\n /**\n * Registers a set of entities and performs a measurement\n *\n * @param entities The entities to measure.\n * @returns A promise that resolves with the results after registering these\n * entities.\n */\n public setEntities(\n entities: Set<MeasurementEntity>\n ): Promise<MeasurementOutcome | undefined> {\n if (this.debugLogs) {\n const deserializedEntities = Array.from(entities).map((e) =>\n ModelEntity.deserializeBinary(e.modelEntity)\n );\n\n this.log(\n `Setting ${deserializedEntities.length} ModelEntities. [entityIds=[${deserializedEntities.map((e) => e.getEntityId()).join(', ')}], sceneItemIds=[${deserializedEntities.map((e) => e.getSceneItemId()).join(', ')}]]`\n );\n }\n\n return this.performMeasurement(() => this.model.setEntities(entities));\n }\n\n public setDebugLogs(debugLogs: boolean): void {\n this.debugLogs = debugLogs;\n }\n\n private performMeasurement(\n effect: () => boolean\n ): Promise<MeasurementOutcome | undefined> {\n const previous = this.model.getEntities();\n const changed = effect();\n const entities = this.model.getEntities();\n if (changed) {\n this.measureAndUpdateModel(entities);\n this.highlightEntities(previous, entities);\n }\n return this.outcome;\n }\n\n private measureAndUpdateModel(entities: MeasurementEntity[]): void {\n if (entities.length > 0) {\n this.outcome = this.measureEntities(entities).then((outcome) => {\n this.model.setOutcome(outcome);\n return this.model.getOutcome();\n });\n } else {\n this.outcome = Promise.resolve(undefined);\n }\n }\n\n private async measureEntities(\n entities: MeasurementEntity[]\n ): Promise<MeasurementOutcome | undefined> {\n if (entities.length > 0) {\n const res = await requestUnary<MeasureResponse>(async (handler) => {\n const meta = await createMetadata(this.jwtProvider, this.deviceId);\n const req = new MeasureRequest();\n req.setEntitiesList(entities.map((e) => e.toProto()));\n\n this.client.measure(req, meta, handler);\n });\n\n return mapMeasureResponseOrThrow(res.toObject());\n } else {\n return undefined;\n }\n }\n\n private async highlightEntities(\n previous: MeasurementEntity[],\n entities: MeasurementEntity[]\n ): Promise<void> {\n await requestUnary(async (handler) => {\n const meta = await createMetadata(this.jwtProvider, this.deviceId);\n\n const entitySet = new Set(entities);\n const newPrevious = previous.filter((e) => !entitySet.has(e));\n\n const clearEntities = newPrevious.map((e) => {\n const update = new ModelEntityUpdate();\n update.setModelEntity(ModelEntity.deserializeBinary(e.modelEntity));\n update.setHighlight(new BoolValue().setValue(false));\n return update;\n });\n const highlightEntities = entities.map((e) => {\n const update = new ModelEntityUpdate();\n update.setModelEntity(ModelEntity.deserializeBinary(e.modelEntity));\n update.setHighlight(new BoolValue().setValue(true));\n return update;\n });\n\n const req = new UpdateModelEntitiesRequest();\n req.setUpdatesList([...clearEntities, ...highlightEntities]);\n this.client.updateModelEntities(req, meta, handler);\n });\n }\n\n private log(message?: string, ...optionalParams: unknown[]): void {\n if (this.debugLogs) {\n console.debug(message, optionalParams);\n }\n }\n}\n","import { vertexvis } from '@vertexvis/frame-streaming-protos';\nimport { Vector3 } from '@vertexvis/geometry';\nimport { Vector3f } from '@vertexvis/scene-view-protos/core/protos/geometry_pb';\nimport { ModelEntity } from '@vertexvis/scene-view-protos/core/protos/model_entity_pb';\nimport { MeasureEntity } from '@vertexvis/scene-view-protos/sceneview/protos/scene_view_api_pb';\nimport { Mapper } from '@vertexvis/utils';\n\nimport { fromPbVector3f } from '../mappers';\n\nexport class MeasurementEntity {\n public constructor(\n public readonly point: Vector3.Vector3,\n public readonly modelEntity: Uint8Array\n ) {}\n\n public static fromHit(\n hit: vertexvis.protobuf.stream.IHit\n ): MeasurementEntity {\n if (hit.hitPoint != null && hit.modelEntity != null) {\n const hitPoint = Mapper.ifInvalidThrow(fromPbVector3f)(hit.hitPoint);\n const modelEntity = vertexvis.protobuf.core.ModelEntity.encode(\n hit.modelEntity\n ).finish();\n return new MeasurementEntity(hitPoint, modelEntity);\n } else {\n throw new Error(\n 'Cannot create MeasurementEntity from Hit. Hit is missing hit point and model entity'\n );\n }\n }\n\n public toProto(): MeasureEntity {\n const entity = new MeasureEntity();\n\n const point = new Vector3f();\n point.setX(this.point.x);\n point.setY(this.point.y);\n point.setZ(this.point.z);\n entity.setPoint(point);\n\n const modelEntity = ModelEntity.deserializeBinary(this.modelEntity);\n entity.setModelEntity(modelEntity);\n\n return entity;\n }\n}\n"],"names":["ModelEntity","requestUnary","createMetadata","MeasureRequest","mapMeasureResponseOrThrow","ModelEntityUpdate","BoolValue","UpdateModelEntitiesRequest","Mapper","fromPbVector3f","vertexvis","MeasureEntity","Vector3f"],"mappings":"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"}
|
package/dist/cjs/index.cjs.js
CHANGED
|
@@ -8,7 +8,7 @@ var controller = require('./controller-Bdoxn5mz.js');
|
|
|
8
8
|
var row = require('./row-Cet6xXup.js');
|
|
9
9
|
var types = require('./types-UbZMN9nQ.js');
|
|
10
10
|
var cursors = require('./cursors-BjfBRMe4.js');
|
|
11
|
-
var entities$1 = require('./entities-
|
|
11
|
+
var entities$1 = require('./entities-BbFe_OSv.js');
|
|
12
12
|
var model = require('./model-CNYtD2Ho.js');
|
|
13
13
|
var overlays = require('./overlays-CxiJArpE.js');
|
|
14
14
|
var results = require('./results-BDTeOJrm.js');
|
package/dist/cjs/loader.cjs.js
CHANGED
|
@@ -8,7 +8,7 @@ var index = require('./index-C_J7n4Dv.js');
|
|
|
8
8
|
const defineCustomElements = async (win, options) => {
|
|
9
9
|
if (typeof window === 'undefined') return undefined;
|
|
10
10
|
await index.globalScripts();
|
|
11
|
-
return index.bootstrapLazy(JSON.parse("[[\"vertex-scene-tree.cjs\",[[257,\"vertex-scene-tree\",{\"overScanCount\":[2,\"over-scan-count\"],\"viewerSelector\":[1,\"viewer-selector\"],\"viewer\":[1040],\"rowData\":[16],\"config\":[1],\"configEnv\":[1,\"config-env\"],\"controller\":[1040],\"searchOptions\":[1040],\"metadataSearchExactMatch\":[1028,\"metadata-search-exact-match\"],\"metadataSearchKeys\":[1040],\"metadataKeys\":[16],\"operationAnimationDuration\":[2,\"operation-animation-duration\"],\"rows\":[32],\"totalRows\":[32],\"showLoader\":[32],\"showEmptyResults\":[32],\"stateMap\":[32],\"errorDetails\":[32],\"hasPartialFilterResults\":[32],\"refreshingResults\":[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],\"isolateItem\":[64],\"getRowAtIndex\":[64],\"getRowForItemId\":[64],\"getRowForEvent\":[64],\"getRowAtClientY\":[64],\"filterItems\":[64],\"selectFilteredItems\":[64],\"fetchMetadataKeys\":[64]},[[0,\"search\",\"handleSearch\"],[0,\"cellLoaded\",\"handleCellLoaded\"]],{\"viewer\":[{\"handleViewerChanged\":0}],\"controller\":[{\"handleControllerChanged\":0}],\"metadataKeys\":[{\"handleMetadataKeysChanged\":0}]}]]],[\"vertex-viewer-pin-tool.cjs\",[[1,\"vertex-viewer-pin-tool\",{\"pinController\":[1040],\"pinModel\":[16],\"viewer\":[16],\"tool\":[1025],\"mode\":[1025],\"primaryColor\":[1025,\"primary-color\"],\"accentColor\":[1025,\"accent-color\"],\"pins\":[32],\"selectedPinId\":[32],\"elementBounds\":[32],\"projectionViewMatrix\":[32]},null,{\"mode\":[{\"watchModeChange\":0}],\"tool\":[{\"watchTypeChange\":0}],\"accentColor\":[{\"watchAccentColorChange\":0}],\"primaryColor\":[{\"watchPrimaryColorChange\":0}],\"pins\":[{\"watchPinsChange\":0}],\"viewer\":[{\"handleViewerChanged\":0}]}]]],[\"vertex-viewer-default-toolbar.cjs\",[[1,\"vertex-viewer-default-toolbar\",{\"viewer\":[16],\"placement\":[1],\"direction\":[1],\"animationsDisabled\":[4,\"animations-disabled\"],\"animationMs\":[2,\"animation-ms\"]}]]],[\"vertex-viewer-markup.cjs\",[[257,\"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\"],\"startLineAnchorStyle\":[1025,\"start-line-anchor-style\"],\"endLineAnchorStyle\":[1025,\"end-line-anchor-style\"],\"originatingViewport\":[16],\"centeringBehavior\":[1,\"centering-behavior\"],\"offset\":[16],\"scale\":[2],\"toSelectMarkupId\":[32],\"pointerDownPosition\":[32],\"addMarkup\":[64],\"removeMarkup\":[64],\"getMarkupElements\":[64],\"getMarkupElement\":[64]},[[0,\"markupEnd\",\"handleMarkupEnd\"],[0,\"interactionEnd\",\"handleMarkupUpdated\"],[1,\"pointerdown\",\"handleMarkupPointerDown\"]],{\"selectedMarkupId\":[{\"handleSelectedMarkupIdChanged\":0}],\"tool\":[{\"handleToolChanged\":0}],\"arrowTemplateId\":[{\"handleArrowTemplateIdChanged\":0}],\"circleTemplateId\":[{\"handleCircleTemplateIdChanged\":0}],\"freeformTemplateId\":[{\"handleFreeformTemplateIdChanged\":0}],\"viewer\":[{\"handleViewerChanged\":0}],\"originatingViewport\":[{\"handleViewerChanged\":0}],\"centeringBehavior\":[{\"handleViewerChanged\":0}],\"offset\":[{\"handleViewerChanged\":0}],\"scale\":[{\"handleViewerChanged\":0}],\"disabled\":[{\"handleDisabledChanged\":0}],\"startLineAnchorStyle\":[{\"handleStartLineAnchorStyleChanged\":0}],\"endLineAnchorStyle\":[{\"handleEndLineAnchorStyleChanged\":0}]}]]],[\"vertex-viewer-markup-tool.cjs\",[[257,\"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],\"startLineAnchorStyle\":[1025,\"start-line-anchor-style\"],\"endLineAnchorStyle\":[1025,\"end-line-anchor-style\"],\"originatingViewport\":[16],\"centeringBehavior\":[1,\"centering-behavior\"],\"offset\":[16],\"scale\":[2],\"stateMap\":[32],\"reset\":[64]},null,{\"viewer\":[{\"handleViewerChanged\":0}],\"tool\":[{\"handleToolChanged\":0}],\"arrowTemplateId\":[{\"handleArrowTemplateIdChanged\":0}],\"circleTemplateId\":[{\"handleCircleTemplateIdChanged\":0}],\"freeformTemplateId\":[{\"handleFreeformTemplateIdChanged\":0}],\"disabled\":[{\"handleDisabledChanged\":0}],\"startLineAnchorStyle\":[{\"handleStartLineAnchorStyleChanged\":0}],\"endLineAnchorStyle\":[{\"handleEndLineAnchorStyleChanged\":0}]}]]],[\"vertex-viewer-view-cube.cjs\",[[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\"],\"viewAll\":[4,\"view-all\"],\"animationDuration\":[2,\"animation-duration\"],\"triadOff\":[4,\"triad-off\"],\"worldOrientation\":[1040],\"camera\":[1040],\"viewer\":[16],\"boxLength\":[32],\"triadPosition\":[32]},null,{\"viewer\":[{\"handleViewerChanged\":0}]}]]],[\"vertex-viewer-measurement-distance.cjs\",[[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]},null,{\"viewer\":[{\"handleViewerChanged\":0}],\"units\":[{\"handleUnitsChanged\":0}],\"camera\":[{\"handleCameraChanged\":0}],\"mode\":[{\"handleModeChanged\":0}],\"start\":[{\"handleStartChanged\":0}],\"end\":[{\"handleEndChanged\":0}],\"invalid\":[{\"handleInvalidChanged\":0}]}]]],[\"vertex-viewer-measurement-precise.cjs\",[[1,\"vertex-viewer-measurement-precise\",{\"measurementModel\":[16],\"measurementOverlays\":[16],\"measurementController\":[1040],\"measurableEntityTypes\":[16],\"viewer\":[16],\"configEnv\":[1,\"config-env\"],\"config\":[1]},null,{\"measurableEntityTypes\":[{\"handleMeasurableEntityTypesChanged\":0}],\"measurementController\":[{\"handleMeasurementControllerChanged\":0}],\"measurementModel\":[{\"handleMeasurementModelChanged\":0}],\"viewer\":[{\"handleViewerChanged\":0}]}]]],[\"vertex-scene-tree-table-cell.cjs\",[[257,\"vertex-scene-tree-table-cell\",{\"node\":[16],\"tree\":[16],\"value\":[1],\"placeholder\":[1],\"alwaysShowIcons\":[4,\"always-show-icons\"],\"hovered\":[1028],\"isScrolling\":[4,\"is-scrolling\"],\"expandToggle\":[4,\"expand-toggle\"],\"endItemIndicator\":[4,\"end-item-indicator\"],\"visibilityToggle\":[4,\"visibility-toggle\"],\"isolateButton\":[4,\"isolate-button\"],\"selectionHandler\":[16],\"visibilityHandler\":[16],\"expansionHandler\":[16],\"isolateHandler\":[16],\"hoverController\":[16]}]]],[\"vertex-viewer-annotation-callout.cjs\",[[1,\"vertex-viewer-annotation-callout\",{\"data\":[16],\"iconSize\":[1,\"icon-size\"]}]]],[\"vertex-viewer-box-query-tool.cjs\",[[257,\"vertex-viewer-box-query-tool\",{\"viewer\":[16],\"controller\":[1040],\"model\":[1040],\"operationType\":[1,\"operation-type\"],\"mode\":[1],\"details\":[32]},null,{\"viewer\":[{\"handleViewerChanged\":0}],\"operationType\":[{\"handleDefaultOperationChange\":0}],\"mode\":[{\"handleModeChange\":0}],\"controller\":[{\"handleControllerChange\":0}]}]]],[\"vertex-viewer-walk-mode-tool.cjs\",[[257,\"vertex-viewer-walk-mode-tool\",{\"viewer\":[16],\"controller\":[1040],\"model\":[1040],\"teleportMode\":[1,\"teleport-mode\"],\"enabled\":[4]},null,{\"enabled\":[{\"handleEnabledChanged\":0}],\"viewer\":[{\"handleViewerChanged\":0}],\"teleportMode\":[{\"handleTeleportModeChanged\":0}],\"controller\":[{\"handleControllerChanged\":0}],\"model\":[{\"handleModelChanged\":0}]}]]],[\"vertex-scene-tree-table-column.cjs\",[[257,\"vertex-scene-tree-table-column\",{\"initialWidth\":[2,\"initial-width\"],\"minWidth\":[2,\"min-width\"],\"maxWidth\":[2,\"max-width\"]}]]],[\"vertex-scene-tree-table-header.cjs\",[[257,\"vertex-scene-tree-table-header\"]]],[\"vertex-scene-tree-table-resize-divider.cjs\",[[257,\"vertex-scene-tree-table-resize-divider\",{\"hovering\":[32],\"dragging\":[32]}]]],[\"vertex-scene-tree-toolbar-group.cjs\",[[257,\"vertex-scene-tree-toolbar-group\"]]],[\"vertex-viewer.cjs\",[[257,\"vertex-viewer\",{\"src\":[1],\"clientId\":[1,\"client-id\"],\"deviceId\":[1025,\"device-id\"],\"config\":[1],\"configEnv\":[1,\"config-env\"],\"resolvedConfig\":[1040],\"cameraControls\":[4,\"camera-controls\"],\"cameraType\":[1537,\"camera-type\"],\"keyboardControls\":[4,\"keyboard-controls\"],\"rotateAroundTapPoint\":[4,\"rotate-around-tap-point\"],\"token\":[1025],\"depthBuffers\":[1,\"depth-buffers\"],\"phantom\":[16],\"noDefaultLights\":[4,\"no-default-lights\"],\"enableTemporalRefinement\":[4,\"enable-temporal-refinement\"],\"experimentalRenderingOptions\":[1,\"experimental-rendering-options\"],\"featureLines\":[16],\"selectionHighlighting\":[16],\"featureHighlighting\":[16],\"sceneComparison\":[16],\"crossSectioning\":[16],\"featureMaps\":[1,\"feature-maps\"],\"resizeDebounce\":[2,\"resize-debounce\"],\"frame\":[1040],\"stream\":[1040],\"stencilBuffer\":[1040],\"viewport\":[1040],\"annotations\":[1040],\"modelViews\":[1040],\"pmi\":[1040],\"sceneItems\":[1040],\"canvases\":[1040],\"experimentalSkipVisibilityCheck\":[4,\"experimental-skip-visibility-check\"],\"dimensions\":[32],\"hostDimensions\":[32],\"errorMessage\":[32],\"cursor\":[32],\"stateMap\":[32],\"dispatchFrameDrawn\":[64],\"registerInteractionHandler\":[64],\"registerTapKeyInteraction\":[64],\"getInteractionTarget_DEPRECATED\":[64],\"addCursor\":[64],\"getInteractionHandlers\":[64],\"getKeyInteractions\":[64],\"getBaseInteractionHandler\":[64],\"getJwt\":[64],\"load\":[64],\"unload\":[64],\"reload\":[64],\"scene\":[64],\"isSceneReady\":[64]},[[0,\"tap\",\"handleTapEvent\"]],{\"src\":[{\"handleSrcChanged\":0}],\"cameraControls\":[{\"handleCameraControlsChanged\":0}],\"keyboardControls\":[{\"handleKeyboardControlsChanged\":0}],\"rotateAroundTapPoint\":[{\"handleRotateAboutTapPointChanged\":0}],\"cameraType\":[{\"handleCameraTypeChanged\":0}],\"experimentalRenderingOptions\":[{\"handleStreamAttributesChanged\":0}],\"depthBuffers\":[{\"handleStreamAttributesChanged\":0}],\"featureHighlighting\":[{\"handleStreamAttributesChanged\":0}],\"featureLines\":[{\"handleStreamAttributesChanged\":0}],\"featureMaps\":[{\"handleStreamAttributesChanged\":0}],\"noDefaultLights\":[{\"handleStreamAttributesChanged\":0}],\"phantom\":[{\"handleStreamAttributesChanged\":0}],\"sceneComparison\":[{\"handleStreamAttributesChanged\":0}],\"crossSectioning\":[{\"handleStreamAttributesChanged\":0}],\"selectionHighlighting\":[{\"handleStreamAttributesChanged\":0}],\"enableTemporalRefinement\":[{\"handleEnableTemporalRefinementChanged\":0}],\"config\":[{\"handleConfigChanged\":0}],\"configEnv\":[{\"handleConfigEnvChanged\":0}]}]]],[\"vertex-viewer-hit-result-indicator.cjs\",[[1,\"vertex-viewer-hit-result-indicator\",{\"viewer\":[16],\"position\":[1040],\"normal\":[1040]},null,{\"viewer\":[{\"handleViewerChanged\":0}],\"position\":[{\"handlePositionChanged\":0}],\"normal\":[{\"handleNormalChanged\":0}]}]]],[\"vertex-viewer-measurement-details.cjs\",[[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]},null,{\"distanceUnits\":[{\"handleDistanceUnitsChanged\":0}],\"angleUnits\":[{\"handleAngleUnitsChanged\":0}],\"measurementModel\":[{\"handleMeasurementModelChanged\":0}],\"resultTypes\":[{\"handleResultTypesChanged\":0}]}]]],[\"vertex-viewer-transform-widget.cjs\",[[1,\"vertex-viewer-transform-widget\",{\"viewer\":[16],\"position\":[1040],\"rotation\":[1040],\"controller\":[1040],\"xRotationDisabled\":[1028,\"x-rotation-disabled\"],\"yRotationDisabled\":[1028,\"y-rotation-disabled\"],\"zRotationDisabled\":[1028,\"z-rotation-disabled\"],\"xTranslationDisabled\":[1028,\"x-translation-disabled\"],\"yTranslationDisabled\":[1028,\"y-translation-disabled\"],\"zTranslationDisabled\":[1028,\"z-translation-disabled\"],\"xyTranslationDisabled\":[1028,\"xy-translation-disabled\"],\"xzTranslationDisabled\":[1028,\"xz-translation-disabled\"],\"yzTranslationDisabled\":[1028,\"yz-translation-disabled\"],\"showInputs\":[4,\"show-inputs\"],\"distanceUnit\":[1,\"distance-unit\"],\"angleUnit\":[1,\"angle-unit\"],\"decimalPlaces\":[2,\"decimal-places\"],\"rotationSnapDegrees\":[2,\"rotation-snap-degrees\"],\"rotationSnapKey\":[1,\"rotation-snap-key\"],\"translationHandleScalar\":[2,\"translation-handle-scalar\"],\"rotationHandleScalar\":[2,\"rotation-handle-scalar\"],\"interactionThrottle\":[2,\"interaction-throttle\"],\"EXPERIMENTAL_undoKeybindings\":[4,\"e-x-p-e-r-i-m-e-n-t-a-l_undo-keybindings\"],\"hovered\":[1040],\"inputPosition\":[32],\"inputValue\":[32],\"isEndingTransform\":[32],\"inputShouldFocus\":[32],\"EXPERIMENTAL_undo\":[64]},null,{\"viewer\":[{\"handleViewerChanged\":0}],\"xTranslationDisabled\":[{\"handleDisabledPropertyChanged\":0}],\"yTranslationDisabled\":[{\"handleDisabledPropertyChanged\":0}],\"zTranslationDisabled\":[{\"handleDisabledPropertyChanged\":0}],\"xyTranslationDisabled\":[{\"handleDisabledPropertyChanged\":0}],\"xzTranslationDisabled\":[{\"handleDisabledPropertyChanged\":0}],\"yzTranslationDisabled\":[{\"handleDisabledPropertyChanged\":0}],\"xRotationDisabled\":[{\"handleDisabledPropertyChanged\":0}],\"yRotationDisabled\":[{\"handleDisabledPropertyChanged\":0}],\"zRotationDisabled\":[{\"handleDisabledPropertyChanged\":0}],\"translationHandleScalar\":[{\"handleTransformHandleScalarChanged\":0}],\"rotationHandleScalar\":[{\"handleTransformHandleScalarChanged\":0}],\"rotation\":[{\"handleRotationChanged\":0}],\"position\":[{\"handlePositionChanged\":0}],\"distanceUnit\":[{\"handleInputFormattingChanged\":0}],\"angleUnit\":[{\"handleInputFormattingChanged\":0}],\"decimalPlaces\":[{\"handleInputFormattingChanged\":0}]}]]],[\"vertex-viewer-pin-group.cjs\",[[0,\"vertex-viewer-pin-group\",{\"pin\":[16],\"matrix\":[1040],\"projectionViewMatrix\":[16],\"elementBounds\":[1040],\"pinModel\":[16],\"pinController\":[16],\"selected\":[4],\"occluded\":[1540],\"detached\":[1540],\"invalidateStateCounter\":[32]},[[0,\"occlusionStateChanged\",\"handleOcclusionStateChanged\"],[0,\"detachedStateChanged\",\"handleDetachedStateChanged\"]]]]],[\"vertex-viewer-dom-group.cjs\",[[262,\"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]},null,{\"position\":[{\"handlePositionChange\":0}],\"positionJson\":[{\"handlePositionJsonChanged\":0}],\"rotation\":[{\"handleRotationChanged\":0}],\"rotationJson\":[{\"handleRotationJsonChanged\":0}],\"quaternion\":[{\"handleQuaternionChange\":0}],\"quaternionJson\":[{\"handleQuaternionJsonChanged\":0}],\"scale\":[{\"handleScaleChange\":0}],\"scaleJson\":[{\"handleScaleJsonChanged\":0}],\"matrix\":[{\"handleMatrixChanged\":0}]}]]],[\"vertex-viewer-teleport-tool.cjs\",[[1,\"vertex-viewer-teleport-tool\",{\"viewer\":[16],\"mode\":[1025],\"animationsDisabled\":[4,\"animations-disabled\"],\"animationMs\":[2,\"animation-ms\"],\"controller\":[1040],\"model\":[1040]},null,{\"mode\":[{\"handleModeChange\":0}],\"viewer\":[{\"handleViewerChanged\":0}],\"animationMs\":[{\"handleAnimationMsChanged\":0}],\"animationsDisabled\":[{\"handleAnimationsDisabledChanged\":0}],\"controller\":[{\"handleControllerChanged\":0}],\"model\":[{\"handleModelChanged\":0}]}]]],[\"vertex-viewer-spinner.cjs\",[[1,\"vertex-viewer-spinner\",{\"size\":[1]}]]],[\"vertex-viewer-layer.cjs\",[[257,\"vertex-viewer-layer\",{\"stretchOff\":[516,\"stretch-off\"]}]]],[\"vertex-viewer-button_3.cjs\",[[257,\"vertex-viewer-toolbar\",{\"placement\":[1],\"direction\":[1]}],[257,\"vertex-viewer-button\"],[257,\"vertex-viewer-toolbar-group\",{\"direction\":[1]}]]],[\"vertex-scene-tree-notification-banner_4.cjs\",[[257,\"vertex-scene-tree-search\",{\"debounce\":[2],\"disabled\":[4],\"placeholder\":[1],\"controller\":[16],\"value\":[1025],\"focused\":[32],\"isSearching\":[32],\"setFocus\":[64],\"clear\":[64]},null,{\"controller\":[{\"controllerChanged\":0}]}],[1,\"vertex-scene-tree-notification-banner\",{\"message\":[1],\"actionLabel\":[1,\"action-label\"]}],[257,\"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],\"isComputingCellHeight\":[32],\"lastDividerPointerPosition\":[32],\"resizingColumnIndex\":[32],\"isScrolling\":[32],\"scrollTimer\":[32],\"stateMap\":[32],\"scrollToPosition\":[64],\"attemptComputeCellHeight\":[64]},null,{\"rows\":[{\"handleViewportRowsPropsChanged\":0}],\"totalRows\":[{\"handleViewportRowsPropsChanged\":0}],\"rowHeight\":[{\"handleViewportRowsPropsChanged\":0}]}],[257,\"vertex-scene-tree-toolbar\"]]],[\"vertex-viewer-pin-label_2.cjs\",[[0,\"vertex-viewer-pin-label\",{\"pin\":[16],\"elementBounds\":[16],\"value\":[1025],\"pinController\":[16],\"focused\":[32],\"computedScreenPosition\":[32],\"textareaRows\":[32],\"contentElBounds\":[32],\"setFocus\":[64],\"submit\":[64]},null,{\"focused\":[{\"watchFocusChange\":0}],\"pin\":[{\"watchPinChange\":0}],\"elementBounds\":[{\"watchElementBoundsChange\":0}]}],[0,\"vertex-viewer-pin-label-line\",{\"pinPoint\":[16],\"labelPoint\":[16],\"pin\":[16]}]]],[\"vertex-viewer-measurement-line_2.cjs\",[[1,\"vertex-viewer-measurement-overlays\",{\"measurementOverlays\":[16],\"camera\":[1040],\"viewer\":[16],\"overlays\":[32]},null,{\"measurementOverlays\":[{\"handleMeasurementOverlaysChanged\":0}],\"viewer\":[{\"handleViewerChanged\":0}]}],[1,\"vertex-viewer-measurement-line\",{\"start\":[16],\"end\":[16],\"capLength\":[2,\"cap-length\"],\"pointerEvents\":[1,\"pointer-events\"]}]]],[\"vertex-viewer-dom-element_2.cjs\",[[262,\"vertex-viewer-dom-renderer\",{\"drawMode\":[1,\"draw-mode\"],\"propagateEventsToViewer\":[4,\"propagate-events-to-viewer\"],\"viewer\":[16],\"camera\":[1040],\"depthBuffer\":[1040],\"viewport\":[32],\"invalidateFrameCounter\":[32],\"interactionDisposables\":[32]},[[0,\"propertyChange\",\"handlePropertyChange\"]],{\"viewer\":[{\"handleViewerChange\":0}]}],[257,\"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],\"detachedOff\":[4,\"detached-off\"],\"detached\":[516],\"billboardOff\":[4,\"billboard-off\"],\"interactionsOff\":[516,\"interactions-off\"]},null,{\"position\":[{\"handlePositionChange\":0}],\"positionJson\":[{\"handlePositionJsonChanged\":0}],\"rotation\":[{\"handleRotationChanged\":0}],\"rotationJson\":[{\"handleRotationJsonChanged\":0}],\"quaternion\":[{\"handleQuaternionChange\":0}],\"quaternionJson\":[{\"handleQuaternionJsonChanged\":0}],\"scale\":[{\"handleScaleChange\":0}],\"scaleJson\":[{\"handleScaleJsonChanged\":0}],\"matrix\":[{\"handleMatrixChanged\":0}],\"occluded\":[{\"handleOcclusionStateChanged\":0}],\"detached\":[{\"handleDetachedStateChanged\":0}]}]]],[\"vertex-viewer-markup-arrow_3.cjs\",[[1,\"vertex-viewer-markup-arrow\",{\"start\":[1040],\"startJson\":[1,\"start\"],\"end\":[1040],\"endJson\":[1,\"end\"],\"originatingViewport\":[16],\"centeringBehavior\":[1,\"centering-behavior\"],\"offset\":[16],\"scale\":[2],\"startLineAnchorStyle\":[1025,\"start-line-anchor-style\"],\"endLineAnchorStyle\":[1025,\"end-line-anchor-style\"],\"mode\":[513],\"viewer\":[16],\"elementBounds\":[32],\"dispose\":[64]},null,{\"viewer\":[{\"handleViewerChanged\":0}],\"start\":[{\"handleStartJsonChange\":0}],\"end\":[{\"handleEndJsonChange\":0}],\"mode\":[{\"handleModeChange\":0}],\"scale\":[{\"handleScaleChange\":0}]}],[1,\"vertex-viewer-markup-circle\",{\"bounds\":[1040],\"boundsJson\":[1,\"bounds\"],\"mode\":[513],\"viewer\":[16],\"originatingViewport\":[16],\"centeringBehavior\":[1,\"centering-behavior\"],\"offset\":[16],\"scale\":[2],\"elementBounds\":[32],\"dispose\":[64]},null,{\"viewer\":[{\"handleViewerChanged\":0}],\"bounds\":[{\"handleBoundsJsonChange\":0}],\"mode\":[{\"handleModeChange\":0}],\"scale\":[{\"handleScaleChange\":0}]}],[1,\"vertex-viewer-markup-freeform\",{\"points\":[1040],\"pointsJson\":[1,\"points\"],\"bounds\":[1040],\"boundsJson\":[1,\"bounds\"],\"mode\":[513],\"viewer\":[16],\"originatingViewport\":[16],\"centeringBehavior\":[1,\"centering-behavior\"],\"offset\":[16],\"scale\":[2],\"elementBounds\":[32],\"screenPoints\":[32],\"dispose\":[64]},null,{\"viewer\":[{\"handleViewerChanged\":0}],\"originatingViewport\":[{\"recomputePointsFromProps\":0}],\"offset\":[{\"recomputePointsFromProps\":0}],\"scale\":[{\"recomputePointsFromProps\":0},{\"handleScaleChange\":0}],\"bounds\":[{\"recomputePointsFromProps\":0}],\"points\":[{\"recomputePointsFromProps\":0}],\"mode\":[{\"handleModeChange\":0}]}]]],[\"vertex-viewer-icon.cjs\",[[1,\"vertex-viewer-icon\",{\"name\":[1],\"size\":[1]}]]]]"), options);
|
|
11
|
+
return index.bootstrapLazy(JSON.parse("[[\"vertex-scene-tree.cjs\",[[257,\"vertex-scene-tree\",{\"overScanCount\":[2,\"over-scan-count\"],\"viewerSelector\":[1,\"viewer-selector\"],\"viewer\":[1040],\"rowData\":[16],\"config\":[1],\"configEnv\":[1,\"config-env\"],\"controller\":[1040],\"searchOptions\":[1040],\"metadataSearchExactMatch\":[1028,\"metadata-search-exact-match\"],\"metadataSearchKeys\":[1040],\"metadataKeys\":[16],\"operationAnimationDuration\":[2,\"operation-animation-duration\"],\"rows\":[32],\"totalRows\":[32],\"showLoader\":[32],\"showEmptyResults\":[32],\"stateMap\":[32],\"errorDetails\":[32],\"hasPartialFilterResults\":[32],\"refreshingResults\":[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],\"isolateItem\":[64],\"getRowAtIndex\":[64],\"getRowForItemId\":[64],\"getRowForEvent\":[64],\"getRowAtClientY\":[64],\"filterItems\":[64],\"selectFilteredItems\":[64],\"fetchMetadataKeys\":[64]},[[0,\"search\",\"handleSearch\"],[0,\"cellLoaded\",\"handleCellLoaded\"]],{\"viewer\":[{\"handleViewerChanged\":0}],\"controller\":[{\"handleControllerChanged\":0}],\"metadataKeys\":[{\"handleMetadataKeysChanged\":0}]}]]],[\"vertex-viewer-pin-tool.cjs\",[[1,\"vertex-viewer-pin-tool\",{\"pinController\":[1040],\"pinModel\":[16],\"viewer\":[16],\"tool\":[1025],\"mode\":[1025],\"primaryColor\":[1025,\"primary-color\"],\"accentColor\":[1025,\"accent-color\"],\"pins\":[32],\"selectedPinId\":[32],\"elementBounds\":[32],\"projectionViewMatrix\":[32]},null,{\"mode\":[{\"watchModeChange\":0}],\"tool\":[{\"watchTypeChange\":0}],\"accentColor\":[{\"watchAccentColorChange\":0}],\"primaryColor\":[{\"watchPrimaryColorChange\":0}],\"pins\":[{\"watchPinsChange\":0}],\"viewer\":[{\"handleViewerChanged\":0}]}]]],[\"vertex-viewer-default-toolbar.cjs\",[[1,\"vertex-viewer-default-toolbar\",{\"viewer\":[16],\"placement\":[1],\"direction\":[1],\"animationsDisabled\":[4,\"animations-disabled\"],\"animationMs\":[2,\"animation-ms\"]}]]],[\"vertex-viewer-markup.cjs\",[[257,\"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\"],\"startLineAnchorStyle\":[1025,\"start-line-anchor-style\"],\"endLineAnchorStyle\":[1025,\"end-line-anchor-style\"],\"originatingViewport\":[16],\"centeringBehavior\":[1,\"centering-behavior\"],\"offset\":[16],\"scale\":[2],\"toSelectMarkupId\":[32],\"pointerDownPosition\":[32],\"addMarkup\":[64],\"removeMarkup\":[64],\"getMarkupElements\":[64],\"getMarkupElement\":[64]},[[0,\"markupEnd\",\"handleMarkupEnd\"],[0,\"interactionEnd\",\"handleMarkupUpdated\"],[1,\"pointerdown\",\"handleMarkupPointerDown\"]],{\"selectedMarkupId\":[{\"handleSelectedMarkupIdChanged\":0}],\"arrowTemplateId\":[{\"handlePropertyChanged\":0}],\"circleTemplateId\":[{\"handlePropertyChanged\":0}],\"freeformTemplateId\":[{\"handlePropertyChanged\":0}],\"tool\":[{\"handlePropertyChanged\":0}],\"viewer\":[{\"handleViewerChanged\":0}],\"originatingViewport\":[{\"handleViewerChanged\":0}],\"centeringBehavior\":[{\"handleViewerChanged\":0}],\"offset\":[{\"handleViewerChanged\":0}],\"scale\":[{\"handleViewerChanged\":0}],\"disabled\":[{\"handleDisabledChanged\":0}],\"startLineAnchorStyle\":[{\"handleStartLineAnchorStyleChanged\":0}],\"endLineAnchorStyle\":[{\"handleEndLineAnchorStyleChanged\":0}]}]]],[\"vertex-viewer-markup-tool.cjs\",[[257,\"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],\"startLineAnchorStyle\":[1025,\"start-line-anchor-style\"],\"endLineAnchorStyle\":[1025,\"end-line-anchor-style\"],\"originatingViewport\":[16],\"centeringBehavior\":[1,\"centering-behavior\"],\"offset\":[16],\"scale\":[2],\"stateMap\":[32],\"reset\":[64]},null,{\"viewer\":[{\"handleViewerChanged\":0}],\"arrowTemplateId\":[{\"handlePropertyChanged\":0}],\"circleTemplateId\":[{\"handlePropertyChanged\":0}],\"disabled\":[{\"handlePropertyChanged\":0}],\"endLineAnchorStyle\":[{\"handlePropertyChanged\":0}],\"freeformTemplateId\":[{\"handlePropertyChanged\":0}],\"startLineAnchorStyle\":[{\"handlePropertyChanged\":0}],\"tool\":[{\"handlePropertyChanged\":0}]}]]],[\"vertex-viewer-view-cube.cjs\",[[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\"],\"viewAll\":[4,\"view-all\"],\"animationDuration\":[2,\"animation-duration\"],\"triadOff\":[4,\"triad-off\"],\"worldOrientation\":[1040],\"camera\":[1040],\"viewer\":[16],\"boxLength\":[32],\"triadPosition\":[32]},null,{\"viewer\":[{\"handleViewerChanged\":0}]}]]],[\"vertex-viewer-measurement-distance.cjs\",[[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]},null,{\"viewer\":[{\"handleViewerChanged\":0}],\"units\":[{\"handleUnitsChanged\":0}],\"camera\":[{\"handleCameraChanged\":0}],\"mode\":[{\"handleModeChanged\":0}],\"start\":[{\"handleStartChanged\":0}],\"end\":[{\"handleEndChanged\":0}],\"invalid\":[{\"handleInvalidChanged\":0}]}]]],[\"vertex-viewer-measurement-precise.cjs\",[[1,\"vertex-viewer-measurement-precise\",{\"measurementModel\":[16],\"measurementOverlays\":[16],\"measurementController\":[1040],\"measurableEntityTypes\":[16],\"viewer\":[16],\"configEnv\":[1,\"config-env\"],\"config\":[1]},null,{\"measurableEntityTypes\":[{\"handleMeasurableEntityTypesChanged\":0}],\"measurementController\":[{\"handleMeasurementControllerChanged\":0}],\"measurementModel\":[{\"handleMeasurementModelChanged\":0}],\"viewer\":[{\"handleViewerChanged\":0}]}]]],[\"vertex-scene-tree-table-cell.cjs\",[[257,\"vertex-scene-tree-table-cell\",{\"node\":[16],\"tree\":[16],\"value\":[1],\"placeholder\":[1],\"alwaysShowIcons\":[4,\"always-show-icons\"],\"hovered\":[1028],\"isScrolling\":[4,\"is-scrolling\"],\"expandToggle\":[4,\"expand-toggle\"],\"endItemIndicator\":[4,\"end-item-indicator\"],\"visibilityToggle\":[4,\"visibility-toggle\"],\"isolateButton\":[4,\"isolate-button\"],\"selectionHandler\":[16],\"visibilityHandler\":[16],\"expansionHandler\":[16],\"isolateHandler\":[16],\"hoverController\":[16]}]]],[\"vertex-viewer-annotation-callout.cjs\",[[1,\"vertex-viewer-annotation-callout\",{\"data\":[16],\"iconSize\":[1,\"icon-size\"]}]]],[\"vertex-viewer-box-query-tool.cjs\",[[257,\"vertex-viewer-box-query-tool\",{\"viewer\":[16],\"controller\":[1040],\"model\":[1040],\"operationType\":[1,\"operation-type\"],\"mode\":[1],\"details\":[32]},null,{\"viewer\":[{\"handleViewerChanged\":0}],\"operationType\":[{\"handleDefaultOperationChange\":0}],\"mode\":[{\"handleModeChange\":0}],\"controller\":[{\"handleControllerChange\":0}]}]]],[\"vertex-viewer-walk-mode-tool.cjs\",[[257,\"vertex-viewer-walk-mode-tool\",{\"viewer\":[16],\"controller\":[1040],\"model\":[1040],\"teleportMode\":[1,\"teleport-mode\"],\"enabled\":[4]},null,{\"enabled\":[{\"handleEnabledChanged\":0}],\"viewer\":[{\"handleViewerChanged\":0}],\"teleportMode\":[{\"handleTeleportModeChanged\":0}],\"controller\":[{\"handleControllerChanged\":0}],\"model\":[{\"handleModelChanged\":0}]}]]],[\"vertex-scene-tree-table-column.cjs\",[[257,\"vertex-scene-tree-table-column\",{\"initialWidth\":[2,\"initial-width\"],\"minWidth\":[2,\"min-width\"],\"maxWidth\":[2,\"max-width\"]}]]],[\"vertex-scene-tree-table-header.cjs\",[[257,\"vertex-scene-tree-table-header\"]]],[\"vertex-scene-tree-table-resize-divider.cjs\",[[257,\"vertex-scene-tree-table-resize-divider\",{\"hovering\":[32],\"dragging\":[32]}]]],[\"vertex-scene-tree-toolbar-group.cjs\",[[257,\"vertex-scene-tree-toolbar-group\"]]],[\"vertex-viewer.cjs\",[[257,\"vertex-viewer\",{\"src\":[1],\"clientId\":[1,\"client-id\"],\"deviceId\":[1025,\"device-id\"],\"config\":[1],\"configEnv\":[1,\"config-env\"],\"resolvedConfig\":[1040],\"cameraControls\":[4,\"camera-controls\"],\"cameraType\":[1537,\"camera-type\"],\"keyboardControls\":[4,\"keyboard-controls\"],\"rotateAroundTapPoint\":[4,\"rotate-around-tap-point\"],\"token\":[1025],\"depthBuffers\":[1,\"depth-buffers\"],\"phantom\":[16],\"noDefaultLights\":[4,\"no-default-lights\"],\"enableTemporalRefinement\":[4,\"enable-temporal-refinement\"],\"experimentalRenderingOptions\":[1,\"experimental-rendering-options\"],\"featureLines\":[16],\"selectionHighlighting\":[16],\"featureHighlighting\":[16],\"sceneComparison\":[16],\"crossSectioning\":[16],\"featureMaps\":[1,\"feature-maps\"],\"resizeDebounce\":[2,\"resize-debounce\"],\"frame\":[1040],\"stream\":[1040],\"stencilBuffer\":[1040],\"viewport\":[1040],\"annotations\":[1040],\"modelViews\":[1040],\"pmi\":[1040],\"sceneItems\":[1040],\"canvases\":[1040],\"experimentalSkipVisibilityCheck\":[4,\"experimental-skip-visibility-check\"],\"dimensions\":[32],\"hostDimensions\":[32],\"errorMessage\":[32],\"cursor\":[32],\"stateMap\":[32],\"dispatchFrameDrawn\":[64],\"registerInteractionHandler\":[64],\"registerTapKeyInteraction\":[64],\"getInteractionTarget_DEPRECATED\":[64],\"addCursor\":[64],\"getInteractionHandlers\":[64],\"getKeyInteractions\":[64],\"getBaseInteractionHandler\":[64],\"getJwt\":[64],\"load\":[64],\"unload\":[64],\"reload\":[64],\"scene\":[64],\"isSceneReady\":[64]},[[0,\"tap\",\"handleTapEvent\"]],{\"src\":[{\"handleSrcChanged\":0}],\"cameraControls\":[{\"handleCameraControlsChanged\":0}],\"keyboardControls\":[{\"handleKeyboardControlsChanged\":0}],\"rotateAroundTapPoint\":[{\"handleRotateAboutTapPointChanged\":0}],\"cameraType\":[{\"handleCameraTypeChanged\":0}],\"experimentalRenderingOptions\":[{\"handleStreamAttributesChanged\":0}],\"depthBuffers\":[{\"handleStreamAttributesChanged\":0}],\"featureHighlighting\":[{\"handleStreamAttributesChanged\":0}],\"featureLines\":[{\"handleStreamAttributesChanged\":0}],\"featureMaps\":[{\"handleStreamAttributesChanged\":0}],\"noDefaultLights\":[{\"handleStreamAttributesChanged\":0}],\"phantom\":[{\"handleStreamAttributesChanged\":0}],\"sceneComparison\":[{\"handleStreamAttributesChanged\":0}],\"crossSectioning\":[{\"handleStreamAttributesChanged\":0}],\"selectionHighlighting\":[{\"handleStreamAttributesChanged\":0}],\"enableTemporalRefinement\":[{\"handleEnableTemporalRefinementChanged\":0}],\"config\":[{\"handleConfigChanged\":0}],\"configEnv\":[{\"handleConfigEnvChanged\":0}]}]]],[\"vertex-viewer-hit-result-indicator.cjs\",[[1,\"vertex-viewer-hit-result-indicator\",{\"viewer\":[16],\"position\":[1040],\"normal\":[1040]},null,{\"viewer\":[{\"handleViewerChanged\":0}],\"position\":[{\"handlePositionChanged\":0}],\"normal\":[{\"handleNormalChanged\":0}]}]]],[\"vertex-viewer-measurement-details.cjs\",[[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]},null,{\"distanceUnits\":[{\"handleDistanceUnitsChanged\":0}],\"angleUnits\":[{\"handleAngleUnitsChanged\":0}],\"measurementModel\":[{\"handleMeasurementModelChanged\":0}],\"resultTypes\":[{\"handleResultTypesChanged\":0}]}]]],[\"vertex-viewer-transform-widget.cjs\",[[1,\"vertex-viewer-transform-widget\",{\"viewer\":[16],\"position\":[1040],\"rotation\":[1040],\"controller\":[1040],\"xRotationDisabled\":[1028,\"x-rotation-disabled\"],\"yRotationDisabled\":[1028,\"y-rotation-disabled\"],\"zRotationDisabled\":[1028,\"z-rotation-disabled\"],\"xTranslationDisabled\":[1028,\"x-translation-disabled\"],\"yTranslationDisabled\":[1028,\"y-translation-disabled\"],\"zTranslationDisabled\":[1028,\"z-translation-disabled\"],\"xyTranslationDisabled\":[1028,\"xy-translation-disabled\"],\"xzTranslationDisabled\":[1028,\"xz-translation-disabled\"],\"yzTranslationDisabled\":[1028,\"yz-translation-disabled\"],\"showInputs\":[4,\"show-inputs\"],\"distanceUnit\":[1,\"distance-unit\"],\"angleUnit\":[1,\"angle-unit\"],\"decimalPlaces\":[2,\"decimal-places\"],\"rotationSnapDegrees\":[2,\"rotation-snap-degrees\"],\"rotationSnapKey\":[1,\"rotation-snap-key\"],\"translationHandleScalar\":[2,\"translation-handle-scalar\"],\"rotationHandleScalar\":[2,\"rotation-handle-scalar\"],\"interactionThrottle\":[2,\"interaction-throttle\"],\"EXPERIMENTAL_undoKeybindings\":[4,\"e-x-p-e-r-i-m-e-n-t-a-l_undo-keybindings\"],\"hovered\":[1040],\"inputPosition\":[32],\"inputValue\":[32],\"isEndingTransform\":[32],\"inputShouldFocus\":[32],\"EXPERIMENTAL_undo\":[64]},null,{\"viewer\":[{\"handleViewerChanged\":0}],\"xTranslationDisabled\":[{\"handleDisabledPropertyChanged\":0}],\"yTranslationDisabled\":[{\"handleDisabledPropertyChanged\":0}],\"zTranslationDisabled\":[{\"handleDisabledPropertyChanged\":0}],\"xyTranslationDisabled\":[{\"handleDisabledPropertyChanged\":0}],\"xzTranslationDisabled\":[{\"handleDisabledPropertyChanged\":0}],\"yzTranslationDisabled\":[{\"handleDisabledPropertyChanged\":0}],\"xRotationDisabled\":[{\"handleDisabledPropertyChanged\":0}],\"yRotationDisabled\":[{\"handleDisabledPropertyChanged\":0}],\"zRotationDisabled\":[{\"handleDisabledPropertyChanged\":0}],\"translationHandleScalar\":[{\"handleTransformHandleScalarChanged\":0}],\"rotationHandleScalar\":[{\"handleTransformHandleScalarChanged\":0}],\"rotation\":[{\"handleRotationChanged\":0}],\"position\":[{\"handlePositionChanged\":0}],\"distanceUnit\":[{\"handleInputFormattingChanged\":0}],\"angleUnit\":[{\"handleInputFormattingChanged\":0}],\"decimalPlaces\":[{\"handleInputFormattingChanged\":0}]}]]],[\"vertex-viewer-pin-group.cjs\",[[0,\"vertex-viewer-pin-group\",{\"pin\":[16],\"matrix\":[1040],\"projectionViewMatrix\":[16],\"elementBounds\":[1040],\"pinModel\":[16],\"pinController\":[16],\"selected\":[4],\"occluded\":[1540],\"detached\":[1540],\"invalidateStateCounter\":[32]},[[0,\"occlusionStateChanged\",\"handleOcclusionStateChanged\"],[0,\"detachedStateChanged\",\"handleDetachedStateChanged\"]]]]],[\"vertex-viewer-dom-group.cjs\",[[262,\"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]},null,{\"position\":[{\"handlePositionChange\":0}],\"positionJson\":[{\"handlePositionJsonChanged\":0}],\"rotation\":[{\"handleRotationChanged\":0}],\"rotationJson\":[{\"handleRotationJsonChanged\":0}],\"quaternion\":[{\"handleQuaternionChange\":0}],\"quaternionJson\":[{\"handleQuaternionJsonChanged\":0}],\"scale\":[{\"handleScaleChange\":0}],\"scaleJson\":[{\"handleScaleJsonChanged\":0}],\"matrix\":[{\"handleMatrixChanged\":0}]}]]],[\"vertex-viewer-teleport-tool.cjs\",[[1,\"vertex-viewer-teleport-tool\",{\"viewer\":[16],\"mode\":[1025],\"animationsDisabled\":[4,\"animations-disabled\"],\"animationMs\":[2,\"animation-ms\"],\"controller\":[1040],\"model\":[1040]},null,{\"mode\":[{\"handleModeChange\":0}],\"viewer\":[{\"handleViewerChanged\":0}],\"animationMs\":[{\"handleAnimationMsChanged\":0}],\"animationsDisabled\":[{\"handleAnimationsDisabledChanged\":0}],\"controller\":[{\"handleControllerChanged\":0}],\"model\":[{\"handleModelChanged\":0}]}]]],[\"vertex-viewer-spinner.cjs\",[[1,\"vertex-viewer-spinner\",{\"size\":[1]}]]],[\"vertex-viewer-layer.cjs\",[[257,\"vertex-viewer-layer\",{\"stretchOff\":[516,\"stretch-off\"]}]]],[\"vertex-viewer-button_3.cjs\",[[257,\"vertex-viewer-toolbar\",{\"placement\":[1],\"direction\":[1]}],[257,\"vertex-viewer-button\"],[257,\"vertex-viewer-toolbar-group\",{\"direction\":[1]}]]],[\"vertex-scene-tree-notification-banner_4.cjs\",[[257,\"vertex-scene-tree-search\",{\"debounce\":[2],\"disabled\":[4],\"placeholder\":[1],\"controller\":[16],\"value\":[1025],\"focused\":[32],\"isSearching\":[32],\"setFocus\":[64],\"clear\":[64]},null,{\"controller\":[{\"controllerChanged\":0}]}],[1,\"vertex-scene-tree-notification-banner\",{\"message\":[1],\"actionLabel\":[1,\"action-label\"]}],[257,\"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],\"isComputingCellHeight\":[32],\"lastDividerPointerPosition\":[32],\"resizingColumnIndex\":[32],\"isScrolling\":[32],\"scrollTimer\":[32],\"stateMap\":[32],\"scrollToPosition\":[64],\"attemptComputeCellHeight\":[64]},null,{\"rows\":[{\"handleViewportRowsPropsChanged\":0}],\"totalRows\":[{\"handleViewportRowsPropsChanged\":0}],\"rowHeight\":[{\"handleViewportRowsPropsChanged\":0}]}],[257,\"vertex-scene-tree-toolbar\"]]],[\"vertex-viewer-pin-label_2.cjs\",[[0,\"vertex-viewer-pin-label\",{\"pin\":[16],\"elementBounds\":[16],\"value\":[1025],\"pinController\":[16],\"focused\":[32],\"computedScreenPosition\":[32],\"textareaRows\":[32],\"contentElBounds\":[32],\"setFocus\":[64],\"submit\":[64]},null,{\"focused\":[{\"watchFocusChange\":0}],\"pin\":[{\"watchPinChange\":0}],\"elementBounds\":[{\"watchElementBoundsChange\":0}]}],[0,\"vertex-viewer-pin-label-line\",{\"pinPoint\":[16],\"labelPoint\":[16],\"pin\":[16]}]]],[\"vertex-viewer-measurement-line_2.cjs\",[[1,\"vertex-viewer-measurement-overlays\",{\"measurementOverlays\":[16],\"camera\":[1040],\"viewer\":[16],\"overlays\":[32]},null,{\"measurementOverlays\":[{\"handleMeasurementOverlaysChanged\":0}],\"viewer\":[{\"handleViewerChanged\":0}]}],[1,\"vertex-viewer-measurement-line\",{\"start\":[16],\"end\":[16],\"capLength\":[2,\"cap-length\"],\"pointerEvents\":[1,\"pointer-events\"]}]]],[\"vertex-viewer-dom-element_2.cjs\",[[262,\"vertex-viewer-dom-renderer\",{\"drawMode\":[1,\"draw-mode\"],\"propagateEventsToViewer\":[4,\"propagate-events-to-viewer\"],\"viewer\":[16],\"camera\":[1040],\"depthBuffer\":[1040],\"viewport\":[32],\"invalidateFrameCounter\":[32],\"interactionDisposables\":[32]},[[0,\"propertyChange\",\"handlePropertyChange\"]],{\"viewer\":[{\"handleViewerChange\":0}]}],[257,\"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],\"detachedOff\":[4,\"detached-off\"],\"detached\":[516],\"billboardOff\":[4,\"billboard-off\"],\"interactionsOff\":[516,\"interactions-off\"]},null,{\"position\":[{\"handlePositionChange\":0}],\"positionJson\":[{\"handlePositionJsonChanged\":0}],\"rotation\":[{\"handleRotationChanged\":0}],\"rotationJson\":[{\"handleRotationJsonChanged\":0}],\"quaternion\":[{\"handleQuaternionChange\":0}],\"quaternionJson\":[{\"handleQuaternionJsonChanged\":0}],\"scale\":[{\"handleScaleChange\":0}],\"scaleJson\":[{\"handleScaleJsonChanged\":0}],\"matrix\":[{\"handleMatrixChanged\":0}],\"occluded\":[{\"handleOcclusionStateChanged\":0}],\"detached\":[{\"handleDetachedStateChanged\":0}]}]]],[\"vertex-viewer-markup-arrow_3.cjs\",[[1,\"vertex-viewer-markup-arrow\",{\"start\":[1040],\"startJson\":[1,\"start\"],\"end\":[1040],\"endJson\":[1,\"end\"],\"originatingViewport\":[16],\"centeringBehavior\":[1,\"centering-behavior\"],\"offset\":[16],\"scale\":[2],\"startLineAnchorStyle\":[1025,\"start-line-anchor-style\"],\"endLineAnchorStyle\":[1025,\"end-line-anchor-style\"],\"mode\":[513],\"viewer\":[16],\"elementBounds\":[32],\"dispose\":[64]},null,{\"viewer\":[{\"handleViewerChanged\":0}],\"start\":[{\"handleStartJsonChange\":0}],\"end\":[{\"handleEndJsonChange\":0}],\"mode\":[{\"handleModeChange\":0}],\"scale\":[{\"handleScaleChange\":0}]}],[1,\"vertex-viewer-markup-circle\",{\"bounds\":[1040],\"boundsJson\":[1,\"bounds\"],\"mode\":[513],\"viewer\":[16],\"originatingViewport\":[16],\"centeringBehavior\":[1,\"centering-behavior\"],\"offset\":[16],\"scale\":[2],\"elementBounds\":[32],\"dispose\":[64]},null,{\"viewer\":[{\"handleViewerChanged\":0}],\"bounds\":[{\"handleBoundsJsonChange\":0}],\"mode\":[{\"handleModeChange\":0}],\"scale\":[{\"handleScaleChange\":0}]}],[1,\"vertex-viewer-markup-freeform\",{\"points\":[1040],\"pointsJson\":[1,\"points\"],\"bounds\":[1040],\"boundsJson\":[1,\"bounds\"],\"mode\":[513],\"viewer\":[16],\"originatingViewport\":[16],\"centeringBehavior\":[1,\"centering-behavior\"],\"offset\":[16],\"scale\":[2],\"elementBounds\":[32],\"screenPoints\":[32],\"dispose\":[64]},null,{\"viewer\":[{\"handleViewerChanged\":0}],\"originatingViewport\":[{\"recomputePointsFromProps\":0}],\"offset\":[{\"recomputePointsFromProps\":0}],\"scale\":[{\"recomputePointsFromProps\":0},{\"handleScaleChange\":0}],\"bounds\":[{\"recomputePointsFromProps\":0}],\"points\":[{\"recomputePointsFromProps\":0}],\"mode\":[{\"handleModeChange\":0}]}]]],[\"vertex-viewer-icon.cjs\",[[1,\"vertex-viewer-icon\",{\"name\":[1],\"size\":[1]}]]]]"), options);
|
|
12
12
|
};
|
|
13
13
|
|
|
14
14
|
exports.setNonce = index.setNonce;
|
|
@@ -97,43 +97,7 @@ const ViewerMarkupTool = class {
|
|
|
97
97
|
/**
|
|
98
98
|
* @ignore
|
|
99
99
|
*/
|
|
100
|
-
|
|
101
|
-
this.updateMarkupElement();
|
|
102
|
-
}
|
|
103
|
-
/**
|
|
104
|
-
* @ignore
|
|
105
|
-
*/
|
|
106
|
-
handleArrowTemplateIdChanged() {
|
|
107
|
-
this.updateMarkupElement();
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
* @ignore
|
|
111
|
-
*/
|
|
112
|
-
handleCircleTemplateIdChanged() {
|
|
113
|
-
this.updateMarkupElement();
|
|
114
|
-
}
|
|
115
|
-
/**
|
|
116
|
-
* @ignore
|
|
117
|
-
*/
|
|
118
|
-
handleFreeformTemplateIdChanged() {
|
|
119
|
-
this.updateMarkupElement();
|
|
120
|
-
}
|
|
121
|
-
/**
|
|
122
|
-
* @ignore
|
|
123
|
-
*/
|
|
124
|
-
handleDisabledChanged() {
|
|
125
|
-
this.updateMarkupElement();
|
|
126
|
-
}
|
|
127
|
-
/**
|
|
128
|
-
* @ignore
|
|
129
|
-
*/
|
|
130
|
-
handleStartLineAnchorStyleChanged() {
|
|
131
|
-
this.updateMarkupElement();
|
|
132
|
-
}
|
|
133
|
-
/**
|
|
134
|
-
* @ignore
|
|
135
|
-
*/
|
|
136
|
-
handleEndLineAnchorStyleChanged() {
|
|
100
|
+
handlePropertyChanged() {
|
|
137
101
|
this.updateMarkupElement();
|
|
138
102
|
}
|
|
139
103
|
/**
|
|
@@ -231,6 +195,7 @@ const ViewerMarkupTool = class {
|
|
|
231
195
|
}
|
|
232
196
|
if (!this.disabled) {
|
|
233
197
|
const newMarkupElement = this.createNewMarkupElement();
|
|
198
|
+
this.hostEl.append(newMarkupElement);
|
|
234
199
|
if (this.tool === 'arrow') {
|
|
235
200
|
newMarkupElement.startLineAnchorStyle = this.startLineAnchorStyle;
|
|
236
201
|
newMarkupElement.endLineAnchorStyle = this.endLineAnchorStyle;
|
|
@@ -244,7 +209,6 @@ const ViewerMarkupTool = class {
|
|
|
244
209
|
newMarkupElement.addEventListener('interactionBegin', this.handleMarkupInteractionBegin);
|
|
245
210
|
newMarkupElement.addEventListener('interactionEnd', this.handleMarkupInteractionEnd);
|
|
246
211
|
this.stateMap.markupElement = newMarkupElement;
|
|
247
|
-
this.hostEl.append(newMarkupElement);
|
|
248
212
|
}
|
|
249
213
|
}
|
|
250
214
|
get hostEl() { return index.getElement(this); }
|
|
@@ -252,26 +216,26 @@ const ViewerMarkupTool = class {
|
|
|
252
216
|
"viewer": [{
|
|
253
217
|
"handleViewerChanged": 0
|
|
254
218
|
}],
|
|
255
|
-
"tool": [{
|
|
256
|
-
"handleToolChanged": 0
|
|
257
|
-
}],
|
|
258
219
|
"arrowTemplateId": [{
|
|
259
|
-
"
|
|
220
|
+
"handlePropertyChanged": 0
|
|
260
221
|
}],
|
|
261
222
|
"circleTemplateId": [{
|
|
262
|
-
"
|
|
263
|
-
}],
|
|
264
|
-
"freeformTemplateId": [{
|
|
265
|
-
"handleFreeformTemplateIdChanged": 0
|
|
223
|
+
"handlePropertyChanged": 0
|
|
266
224
|
}],
|
|
267
225
|
"disabled": [{
|
|
268
|
-
"
|
|
226
|
+
"handlePropertyChanged": 0
|
|
227
|
+
}],
|
|
228
|
+
"endLineAnchorStyle": [{
|
|
229
|
+
"handlePropertyChanged": 0
|
|
230
|
+
}],
|
|
231
|
+
"freeformTemplateId": [{
|
|
232
|
+
"handlePropertyChanged": 0
|
|
269
233
|
}],
|
|
270
234
|
"startLineAnchorStyle": [{
|
|
271
|
-
"
|
|
235
|
+
"handlePropertyChanged": 0
|
|
272
236
|
}],
|
|
273
|
-
"
|
|
274
|
-
"
|
|
237
|
+
"tool": [{
|
|
238
|
+
"handlePropertyChanged": 0
|
|
275
239
|
}]
|
|
276
240
|
}; }
|
|
277
241
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"vertex-viewer-markup-tool.cjs.entry.js","mappings":";;;;;;;;;;;;;AAAA,MAAM,mBAAmB,GAAG,MAAM,CAAC,2GAA2G,CAAC;;MC8ClI,gBAAgB,GAAA,MAAA;AAL7B,IAAA,WAAA,CAAA,OAAA,EAAA;;;;AA8BE;;;;;AAKG;AAEI,QAAA,IAAA,CAAA,IAAI,GAAyB,OAAO;AAE3C;;;;;AAKG;AAEI,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK;AAWvB;;AAEG;AAEI,QAAA,IAAA,CAAA,oBAAoB,GAAoB,MAAM;AAErD;;AAEG;AAEI,QAAA,IAAA,CAAA,kBAAkB,GAAoB,gBAAgB;AAY7D;;;;;;;;;;AAUG;AAEI,QAAA,IAAA,CAAA,iBAAiB,GAA4B,MAAM;AAW1D;;;;;AAKG;AAEI,QAAA,IAAA,CAAA,KAAK,GAAG,CAAC;AAiBhB;;;AAGG;AAEK,QAAA,IAAA,CAAA,QAAQ,GAAa,EAAE;AA2PvB,QAAA,IAAA,CAAA,4BAA4B,GAAG,MAAW;AAChD,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;AACzB,SAAC;AAEO,QAAA,IAAA,CAAA,0BAA0B,GAAG,MAAW;AAC9C,YAAA,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,QAAQ;AACvC,YAAA,IAAIA,kCAA4B,CAAC,aAAa,CAAC,EAAE;AAC/C,gBAAA,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,aAAa;AAExC,gBAAA,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,IAAI,IAAI,EAAE;AACzD,oBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAIC,qBAAc,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;;;AAExD,iBAAA,IAAIC,gCAA0B,CAAC,aAAa,CAAC,EAAE;AACpD,gBAAA,MAAM,EAAE,MAAM,EAAE,GAAG,aAAa;AAEhC,gBAAA,IAAI,MAAM,IAAI,IAAI,EAAE;AAClB,oBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAIC,mBAAY,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;;;AAE9C,iBAAA,IAAIC,+BAAyB,CAAC,aAAa,CAAC,EAAE;AACnD,gBAAA,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,aAAa;gBAEpC,IAAI,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE;AAChC,oBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAIC,kBAAW,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;;;AAG1D,SAAC;AACF;AAlRW,IAAA,MAAM,mBAAmB,GAAA;QACjC,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,IAAI,IAAI,EAAE;YACvC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM;;;AAIpD;;AAEG;IAEO,iBAAiB,GAAA;QACzB,IAAI,CAAC,mBAAmB,EAAE;;AAG5B;;AAEG;IAEO,4BAA4B,GAAA;QACpC,IAAI,CAAC,mBAAmB,EAAE;;AAG5B;;AAEG;IAEO,6BAA6B,GAAA;QACrC,IAAI,CAAC,mBAAmB,EAAE;;AAG5B;;AAEG;IAEO,+BAA+B,GAAA;QACvC,IAAI,CAAC,mBAAmB,EAAE;;AAG5B;;AAEG;IAEO,qBAAqB,GAAA;QAC7B,IAAI,CAAC,mBAAmB,EAAE;;AAG5B;;AAEG;IAEO,iCAAiC,GAAA;QACzC,IAAI,CAAC,mBAAmB,EAAE;;AAG5B;;AAEG;IAEO,+BAA+B,GAAA;QACvC,IAAI,CAAC,mBAAmB,EAAE;;AAG5B;;AAEG;IACO,gBAAgB,GAAA;QACxB,IAAI,CAAC,mBAAmB,EAAE;;AAG5B;;;;;AAKG;AAEI,IAAA,MAAM,KAAK,GAAA;AAChB,QAAA,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,QAAQ;AACvC,QAAA,IAAIL,kCAA4B,CAAC,aAAa,CAAC,EAAE;AAC/C,YAAA,aAAa,CAAC,MAAM,GAAG,SAAS;AAChC,YAAA,aAAa,CAAC,MAAM,GAAG,SAAS;AAChC,YAAA,aAAa,CAAC,IAAI,GAAG,QAAQ;;AACxB,aAAA,IAAIE,gCAA0B,CAAC,aAAa,CAAC,EAAE;AACpD,YAAA,aAAa,CAAC,MAAM,GAAG,SAAS;AAChC,YAAA,aAAa,CAAC,IAAI,GAAG,QAAQ;;AACxB,aAAA,IAAIE,+BAAyB,CAAC,aAAa,CAAC,EAAE;AACnD,YAAA,aAAa,CAAC,KAAK,GAAG,SAAS;AAC/B,YAAA,aAAa,CAAC,GAAG,GAAG,SAAS;AAC7B,YAAA,aAAa,CAAC,IAAI,GAAG,QAAQ;;;AAIjC;;AAEG;IACO,MAAM,GAAA;AACd,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAClB,YAAA,IACE,IAAI,CAAC,IAAI,KAAK,OAAO;gBACrB,IAAI,CAAC,IAAI,KAAK,QAAQ;AACtB,gBAAA,IAAI,CAAC,IAAI,KAAK,UAAU,EACxB;AACA,gBAAA,QACEE,QAACC,UAAI,EAAA,IAAA,EACHD,OAAA,CAAA,MAAA,EAAA,IAAA,CAAQ,CACH;;iBAEJ;AACL,gBAAA,OAAOA,OAAA,CAACC,UAAI,EAAA,IAAA,EAAE,CAAA,uBAAA,EAA0B,IAAI,CAAC,IAAI,CAAA,EAAA,CAAI,CAAQ;;;aAE1D;AACL,YAAA,OAAOD,OAAA,CAACC,UAAI,EAAA,IAAA,CAAQ;;;IAIhB,wBAAwB,GAAA;AAC9B,QAAA,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,EAAE;AAChC,YAAA,MAAM,OAAO,GAAGC,6BAAmB,CACjC,MAAM,CAAC,QAAQ,CAAC,IAAI,EACpB,IAAI,CAAC,eAAe,EACpBJ,+BAAyB,EACzB,MACE,OAAO,CAAC,IAAI,CACV,CAAA,uBAAA,EAA0B,IAAI,CAAC,eAAe,CAAA,wCAAA,CAA0C,CACzF,EACH,MACE,OAAO,CAAC,IAAI,CACV,CAAA,0FAAA,CAA4F,CAC7F,CACJ;AAED,YAAA,IAAI,OAAO,IAAI,IAAI,EAAE;AACnB,gBAAA,OAAO,OAAO;;;AAIlB,QAAA,OAAO,QAAQ,CAAC,aAAa,CAAC,4BAA4B,CAAC;;IAGrD,yBAAyB,GAAA;AAC/B,QAAA,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,EAAE;AACjC,YAAA,MAAM,OAAO,GAAGI,6BAAmB,CACjC,MAAM,CAAC,QAAQ,CAAC,IAAI,EACpB,IAAI,CAAC,gBAAgB,EACrBN,gCAA0B,EAC1B,MACE,OAAO,CAAC,IAAI,CACV,CAAA,wBAAA,EAA2B,IAAI,CAAC,gBAAgB,CAAA,yCAAA,CAA2C,CAC5F,EACH,MACE,OAAO,CAAC,IAAI,CACV,CAAA,6FAAA,CAA+F,CAChG,CACJ;AAED,YAAA,IAAI,OAAO,IAAI,IAAI,EAAE;AACnB,gBAAA,OAAO,OAAO;;;AAIlB,QAAA,OAAO,QAAQ,CAAC,aAAa,CAAC,6BAA6B,CAAC;;IAGtD,2BAA2B,GAAA;AACjC,QAAA,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,EAAE;AACnC,YAAA,MAAM,OAAO,GAAGM,6BAAmB,CACjC,MAAM,CAAC,QAAQ,CAAC,IAAI,EACpB,IAAI,CAAC,kBAAkB,EACvBR,kCAA4B,EAC5B,MACE,OAAO,CAAC,IAAI,CACV,CAAA,0BAAA,EAA6B,IAAI,CAAC,kBAAkB,CAAA,2CAAA,CAA6C,CAClG,EACH,MACE,OAAO,CAAC,IAAI,CACV,CAAA,mGAAA,CAAqG,CACtG,CACJ;AAED,YAAA,IAAI,OAAO,IAAI,IAAI,EAAE;AACnB,gBAAA,OAAO,OAAO;;;AAIlB,QAAA,OAAO,QAAQ,CAAC,aAAa,CAAC,+BAA+B,CAAC;;IAGxD,sBAAsB,GAAA;AAI5B,QAAA,QAAQ,IAAI,CAAC,IAAI;AACf,YAAA,KAAK,OAAO;AACV,gBAAA,OAAO,IAAI,CAAC,wBAAwB,EAAE;AACxC,YAAA,KAAK,QAAQ;AACX,gBAAA,OAAO,IAAI,CAAC,yBAAyB,EAAE;AACzC,YAAA,KAAK,UAAU;AACb,gBAAA,OAAO,IAAI,CAAC,2BAA2B,EAAE;;;IAIvC,mBAAmB,GAAA;AACzB,QAAA,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,QAAQ;AACvC,QAAA,IAAI,aAAa,IAAI,IAAI,EAAE;YACzB,aAAa,CAAC,MAAM,EAAE;YACtB,aAAa,CAAC,OAAO,EAAE;AACvB,YAAA,aAAa,CAAC,MAAM,GAAG,SAAS;YAChC,aAAa,CAAC,mBAAmB,CAC/B,kBAAkB,EAClB,IAAI,CAAC,4BAA4B,CAClC;YACD,aAAa,CAAC,mBAAmB,CAC/B,gBAAgB,EAChB,IAAI,CAAC,0BAA0B,CAChC;;AAGH,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAClB,YAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,sBAAsB,EAAE;AAEtD,YAAA,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;AAEvB,gBAAA,gBACD,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB;AAEhD,gBAAA,gBACD,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB;;AAGhD,YAAA,gBAAgB,CAAC,IAAI,GAAG,QAAQ;AAChC,YAAA,gBAAgB,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM;AACrC,YAAA,gBAAgB,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB;AAC/D,YAAA,gBAAgB,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB;AAC3D,YAAA,gBAAgB,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM;AACrC,YAAA,gBAAgB,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK;YACnC,gBAAgB,CAAC,gBAAgB,CAC/B,kBAAkB,EAClB,IAAI,CAAC,4BAA4B,CAClC;YACD,gBAAgB,CAAC,gBAAgB,CAC/B,gBAAgB,EAChB,IAAI,CAAC,0BAA0B,CAChC;AACD,YAAA,IAAI,CAAC,QAAQ,CAAC,aAAa,GAAG,gBAAgB;AAC9C,YAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["isVertexViewerFreeformMarkup","FreeformMarkup","isVertexViewerCircleMarkup","CircleMarkup","isVertexViewerArrowMarkup","ArrowMarkup","h","Host","stampTemplateWithId"],"sources":["src/components/viewer-markup-tool/viewer-markup-tool.css?tag=vertex-viewer-markup-tool&encapsulation=shadow","src/components/viewer-markup-tool/viewer-markup-tool.tsx"],"sourcesContent":[":host {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n pointer-events: none;\n}\n\n:host([elevated=\"\"]) {\n z-index: 100;\n}","import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Method,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { Dimensions, Point } from '@vertexvis/geometry';\n\nimport { stampTemplateWithId } from '../../lib/templates';\nimport {\n ArrowMarkup,\n CircleMarkup,\n FreeformMarkup,\n Markup,\n MarkupCenteringBehavior,\n} from '../../lib/types/markup';\nimport {\n isVertexViewerArrowMarkup,\n LineAnchorStyle,\n} from '../viewer-markup-arrow/utils';\nimport { isVertexViewerCircleMarkup } from '../viewer-markup-circle/utils';\nimport { isVertexViewerFreeformMarkup } from '../viewer-markup-freeform/utils';\n\n/**\n * The types of markup that can be performed by this tool.\n */\nexport type ViewerMarkupToolType = 'arrow' | 'circle' | 'freeform';\n\ninterface StateMap {\n markupElement?:\n | HTMLVertexViewerMarkupArrowElement\n | HTMLVertexViewerMarkupCircleElement\n | HTMLVertexViewerMarkupFreeformElement;\n}\n\n@Component({\n tag: 'vertex-viewer-markup-tool',\n styleUrl: 'viewer-markup-tool.css',\n shadow: true,\n})\nexport class ViewerMarkupTool {\n /**\n * An HTML template that describes the HTML to use for new arrow\n * markup. It's expected that the template contains a\n * `<vertex-viewer-markup-arrow>`.\n */\n @Prop()\n public arrowTemplateId?: string;\n\n /**\n * An HTML template that describes the HTML to use for new circle\n * markup. It's expected that the template contains a\n * `<vertex-viewer-markup-circle>`.\n */\n @Prop()\n public circleTemplateId?: string;\n\n /**\n * An HTML template that describes the HTML to use for new freeform\n * markup. It's expected that the template contains a\n * `<vertex-viewer-markup-freeform>`.\n */\n @Prop()\n public freeformTemplateId?: string;\n\n /**\n * The type of markup.\n *\n * This property will automatically be set when a child of a\n * `<vertex-viewer-markup>` element.\n */\n @Prop()\n public tool: ViewerMarkupToolType = 'arrow';\n\n /**\n * Disables markups.\n *\n * This property will automatically be set when a child of a\n * `<vertex-viewer-markup>` element.\n */\n @Prop()\n public disabled = false;\n\n /**\n * The viewer to connect to markup.\n *\n * This property will automatically be set when a child of a\n * `<vertex-viewer-markup>` or `<vertex-viewer>` element.\n */\n @Prop()\n public viewer?: HTMLVertexViewerElement;\n\n /**\n * The style of the starting anchor. This defaults to none.\n */\n @Prop({ mutable: true })\n public startLineAnchorStyle: LineAnchorStyle = 'none';\n\n /**\n * The style of the ending anchor. This defaults to 'arrow-triangle.'\n */\n @Prop({ mutable: true })\n public endLineAnchorStyle: LineAnchorStyle = 'arrow-triangle';\n\n /**\n * The original viewport dimensions where this markup was created. This value is used\n * to determine where the markup should be rendered relative to the current viewport,\n * enabling some markup to appear \"off-screen\".\n *\n * When provided, all NDC values will be considered relative to this viewport.\n */\n @Prop()\n public originatingViewport?: Dimensions.Dimensions;\n\n /**\n * Defines the behavior of the provided markup when the originating viewport is smaller\n * than the current viewport, or is scaled to a size smaller than the current viewport\n * using the `scale` property.\n *\n * Options:\n * - `x-only`: Markup will be centered horizontally, but not vertically.\n * - `y-only`: Markup will be centered vertically, but not horizontally.\n * - `both`: Markup will be centered both horizontally and vertically.\n * - `none`: Markup will not be centered (default).\n */\n @Prop()\n public centeringBehavior: MarkupCenteringBehavior = 'none';\n\n /**\n * The current offset of the visible viewport. This value is used to determine where\n * markup should be rendered relative to the current viewport, enabling some markup to appear \"off-screen\".\n *\n * When provided, all computed coordinates will be offset by this amount.\n */\n @Prop()\n public offset?: Point.Point;\n\n /**\n * The scale to render this markup at. This value is used to scale the element's bounds\n * along with any `offset` to determine the final computed coordinates.\n *\n * When provided, all computed coordinates will be scaled by this amount.\n */\n @Prop()\n public scale = 1;\n\n /**\n * An event that is dispatched when a user begins a new markup.\n */\n @Event({ bubbles: true })\n public markupBegin!: EventEmitter<void>;\n\n /**\n * An event that is dispatched when a user has finished their markup.\n */\n @Event({ bubbles: true })\n public markupEnd!: EventEmitter<Markup>;\n\n @Element()\n private hostEl!: HTMLElement;\n\n /**\n * Captures internal state that you want to preserve across dev refreshes, but\n * don't want to trigger a render when the state changes.\n */\n @State()\n private stateMap: StateMap = {};\n\n @Watch('viewer')\n protected async handleViewerChanged(): Promise<void> {\n if (this.stateMap.markupElement != null) {\n this.stateMap.markupElement.viewer = this.viewer;\n }\n }\n\n /**\n * @ignore\n */\n @Watch('tool')\n protected handleToolChanged(): void {\n this.updateMarkupElement();\n }\n\n /**\n * @ignore\n */\n @Watch('arrowTemplateId')\n protected handleArrowTemplateIdChanged(): void {\n this.updateMarkupElement();\n }\n\n /**\n * @ignore\n */\n @Watch('circleTemplateId')\n protected handleCircleTemplateIdChanged(): void {\n this.updateMarkupElement();\n }\n\n /**\n * @ignore\n */\n @Watch('freeformTemplateId')\n protected handleFreeformTemplateIdChanged(): void {\n this.updateMarkupElement();\n }\n\n /**\n * @ignore\n */\n @Watch('disabled')\n protected handleDisabledChanged(): void {\n this.updateMarkupElement();\n }\n\n /**\n * @ignore\n */\n @Watch('startLineAnchorStyle')\n protected handleStartLineAnchorStyleChanged(): void {\n this.updateMarkupElement();\n }\n\n /**\n * @ignore\n */\n @Watch('endLineAnchorStyle')\n protected handleEndLineAnchorStyleChanged(): void {\n this.updateMarkupElement();\n }\n\n /**\n * @ignore\n */\n protected componentDidLoad(): void {\n this.updateMarkupElement();\n }\n\n /**\n * Resets the state of the internally managed markup element\n * to allow for creating a new markup. This state is automatically\n * managed when this element is placed as a child of a\n * `<vertex-viewer-markup>` element.\n */\n @Method()\n public async reset(): Promise<void> {\n const { markupElement } = this.stateMap;\n if (isVertexViewerFreeformMarkup(markupElement)) {\n markupElement.points = undefined;\n markupElement.bounds = undefined;\n markupElement.mode = 'create';\n } else if (isVertexViewerCircleMarkup(markupElement)) {\n markupElement.bounds = undefined;\n markupElement.mode = 'create';\n } else if (isVertexViewerArrowMarkup(markupElement)) {\n markupElement.start = undefined;\n markupElement.end = undefined;\n markupElement.mode = 'create';\n }\n }\n\n /**\n * @ignore\n */\n protected render(): h.JSX.IntrinsicElements {\n if (!this.disabled) {\n if (\n this.tool === 'arrow' ||\n this.tool === 'circle' ||\n this.tool === 'freeform'\n ) {\n return (\n <Host>\n <slot />\n </Host>\n );\n } else {\n return <Host>{`Unsupported tool type '${this.tool}'.`}</Host>;\n }\n } else {\n return <Host></Host>;\n }\n }\n\n private createArrowMarkupElement(): HTMLVertexViewerMarkupArrowElement {\n if (this.arrowTemplateId != null) {\n const element = stampTemplateWithId(\n window.document.body,\n this.arrowTemplateId,\n isVertexViewerArrowMarkup,\n () =>\n console.warn(\n `Arrow template with ID ${this.arrowTemplateId} not found. Using default arrow element.`\n ),\n () =>\n console.warn(\n `Arrow template does not contain a vertex-viewer-markup-arrow. Using default arrow element.`\n )\n );\n\n if (element != null) {\n return element;\n }\n }\n\n return document.createElement('vertex-viewer-markup-arrow');\n }\n\n private createCircleMarkupElement(): HTMLVertexViewerMarkupCircleElement {\n if (this.circleTemplateId != null) {\n const element = stampTemplateWithId(\n window.document.body,\n this.circleTemplateId,\n isVertexViewerCircleMarkup,\n () =>\n console.warn(\n `Circle template with ID ${this.circleTemplateId} not found. Using default circle element.`\n ),\n () =>\n console.warn(\n `Circle template does not contain a vertex-viewer-markup-circle. Using default circle element.`\n )\n );\n\n if (element != null) {\n return element;\n }\n }\n\n return document.createElement('vertex-viewer-markup-circle');\n }\n\n private createFreeformMarkupElement(): HTMLVertexViewerMarkupFreeformElement {\n if (this.freeformTemplateId != null) {\n const element = stampTemplateWithId(\n window.document.body,\n this.freeformTemplateId,\n isVertexViewerFreeformMarkup,\n () =>\n console.warn(\n `Freeform template with ID ${this.freeformTemplateId} not found. Using default freeform element.`\n ),\n () =>\n console.warn(\n `Freeform template does not contain a vertex-viewer-markup-freeform. Using default freeform element.`\n )\n );\n\n if (element != null) {\n return element;\n }\n }\n\n return document.createElement('vertex-viewer-markup-freeform');\n }\n\n private createNewMarkupElement():\n | HTMLVertexViewerMarkupArrowElement\n | HTMLVertexViewerMarkupCircleElement\n | HTMLVertexViewerMarkupFreeformElement {\n switch (this.tool) {\n case 'arrow':\n return this.createArrowMarkupElement();\n case 'circle':\n return this.createCircleMarkupElement();\n case 'freeform':\n return this.createFreeformMarkupElement();\n }\n }\n\n private updateMarkupElement(): void {\n const { markupElement } = this.stateMap;\n if (markupElement != null) {\n markupElement.remove();\n markupElement.dispose();\n markupElement.viewer = undefined;\n markupElement.removeEventListener(\n 'interactionBegin',\n this.handleMarkupInteractionBegin\n );\n markupElement.removeEventListener(\n 'interactionEnd',\n this.handleMarkupInteractionEnd\n );\n }\n\n if (!this.disabled) {\n const newMarkupElement = this.createNewMarkupElement();\n\n if (this.tool === 'arrow') {\n (\n newMarkupElement as HTMLVertexViewerMarkupArrowElement\n ).startLineAnchorStyle = this.startLineAnchorStyle;\n (\n newMarkupElement as HTMLVertexViewerMarkupArrowElement\n ).endLineAnchorStyle = this.endLineAnchorStyle;\n }\n\n newMarkupElement.mode = 'create';\n newMarkupElement.viewer = this.viewer;\n newMarkupElement.originatingViewport = this.originatingViewport;\n newMarkupElement.centeringBehavior = this.centeringBehavior;\n newMarkupElement.offset = this.offset;\n newMarkupElement.scale = this.scale;\n newMarkupElement.addEventListener(\n 'interactionBegin',\n this.handleMarkupInteractionBegin\n );\n newMarkupElement.addEventListener(\n 'interactionEnd',\n this.handleMarkupInteractionEnd\n );\n this.stateMap.markupElement = newMarkupElement;\n this.hostEl.append(newMarkupElement);\n }\n }\n\n private handleMarkupInteractionBegin = (): void => {\n this.markupBegin.emit();\n };\n\n private handleMarkupInteractionEnd = (): void => {\n const { markupElement } = this.stateMap;\n if (isVertexViewerFreeformMarkup(markupElement)) {\n const { points, bounds } = markupElement;\n\n if (points != null && points.length > 0 && bounds != null) {\n this.markupEnd.emit(new FreeformMarkup({ points, bounds }));\n }\n } else if (isVertexViewerCircleMarkup(markupElement)) {\n const { bounds } = markupElement;\n\n if (bounds != null) {\n this.markupEnd.emit(new CircleMarkup({ bounds }));\n }\n } else if (isVertexViewerArrowMarkup(markupElement)) {\n const { start, end } = markupElement;\n\n if (start != null && end != null) {\n this.markupEnd.emit(new ArrowMarkup({ start, end }));\n }\n }\n };\n}\n"],"version":3}
|
|
1
|
+
{"file":"vertex-viewer-markup-tool.cjs.entry.js","mappings":"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","names":["isVertexViewerFreeformMarkup","FreeformMarkup","isVertexViewerCircleMarkup","CircleMarkup","isVertexViewerArrowMarkup","ArrowMarkup","h","Host","stampTemplateWithId"],"sources":["src/components/viewer-markup-tool/viewer-markup-tool.css?tag=vertex-viewer-markup-tool&encapsulation=shadow","src/components/viewer-markup-tool/viewer-markup-tool.tsx"],"sourcesContent":[":host {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n pointer-events: none;\n}\n\n:host([elevated=\"\"]) {\n z-index: 100;\n}","import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Method,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { Dimensions, Point } from '@vertexvis/geometry';\n\nimport { stampTemplateWithId } from '../../lib/templates';\nimport {\n ArrowMarkup,\n CircleMarkup,\n FreeformMarkup,\n Markup,\n MarkupCenteringBehavior,\n} from '../../lib/types/markup';\nimport {\n isVertexViewerArrowMarkup,\n LineAnchorStyle,\n} from '../viewer-markup-arrow/utils';\nimport { isVertexViewerCircleMarkup } from '../viewer-markup-circle/utils';\nimport { isVertexViewerFreeformMarkup } from '../viewer-markup-freeform/utils';\n\n/**\n * The types of markup that can be performed by this tool.\n */\nexport type ViewerMarkupToolType = 'arrow' | 'circle' | 'freeform';\n\ninterface StateMap {\n markupElement?:\n | HTMLVertexViewerMarkupArrowElement\n | HTMLVertexViewerMarkupCircleElement\n | HTMLVertexViewerMarkupFreeformElement;\n}\n\n@Component({\n tag: 'vertex-viewer-markup-tool',\n styleUrl: 'viewer-markup-tool.css',\n shadow: true,\n})\nexport class ViewerMarkupTool {\n /**\n * An HTML template that describes the HTML to use for new arrow\n * markup. It's expected that the template contains a\n * `<vertex-viewer-markup-arrow>`.\n */\n @Prop()\n public arrowTemplateId?: string;\n\n /**\n * An HTML template that describes the HTML to use for new circle\n * markup. It's expected that the template contains a\n * `<vertex-viewer-markup-circle>`.\n */\n @Prop()\n public circleTemplateId?: string;\n\n /**\n * An HTML template that describes the HTML to use for new freeform\n * markup. It's expected that the template contains a\n * `<vertex-viewer-markup-freeform>`.\n */\n @Prop()\n public freeformTemplateId?: string;\n\n /**\n * The type of markup.\n *\n * This property will automatically be set when a child of a\n * `<vertex-viewer-markup>` element.\n */\n @Prop()\n public tool: ViewerMarkupToolType = 'arrow';\n\n /**\n * Disables markups.\n *\n * This property will automatically be set when a child of a\n * `<vertex-viewer-markup>` element.\n */\n @Prop()\n public disabled = false;\n\n /**\n * The viewer to connect to markup.\n *\n * This property will automatically be set when a child of a\n * `<vertex-viewer-markup>` or `<vertex-viewer>` element.\n */\n @Prop()\n public viewer?: HTMLVertexViewerElement;\n\n /**\n * The style of the starting anchor. This defaults to none.\n */\n @Prop({ mutable: true })\n public startLineAnchorStyle: LineAnchorStyle = 'none';\n\n /**\n * The style of the ending anchor. This defaults to 'arrow-triangle.'\n */\n @Prop({ mutable: true })\n public endLineAnchorStyle: LineAnchorStyle = 'arrow-triangle';\n\n /**\n * The original viewport dimensions where this markup was created. This value is used\n * to determine where the markup should be rendered relative to the current viewport,\n * enabling some markup to appear \"off-screen\".\n *\n * When provided, all NDC values will be considered relative to this viewport.\n */\n @Prop()\n public originatingViewport?: Dimensions.Dimensions;\n\n /**\n * Defines the behavior of the provided markup when the originating viewport is smaller\n * than the current viewport, or is scaled to a size smaller than the current viewport\n * using the `scale` property.\n *\n * Options:\n * - `x-only`: Markup will be centered horizontally, but not vertically.\n * - `y-only`: Markup will be centered vertically, but not horizontally.\n * - `both`: Markup will be centered both horizontally and vertically.\n * - `none`: Markup will not be centered (default).\n */\n @Prop()\n public centeringBehavior: MarkupCenteringBehavior = 'none';\n\n /**\n * The current offset of the visible viewport. This value is used to determine where\n * markup should be rendered relative to the current viewport, enabling some markup to appear \"off-screen\".\n *\n * When provided, all computed coordinates will be offset by this amount.\n */\n @Prop()\n public offset?: Point.Point;\n\n /**\n * The scale to render this markup at. This value is used to scale the element's bounds\n * along with any `offset` to determine the final computed coordinates.\n *\n * When provided, all computed coordinates will be scaled by this amount.\n */\n @Prop()\n public scale = 1;\n\n /**\n * An event that is dispatched when a user begins a new markup.\n */\n @Event({ bubbles: true })\n public markupBegin!: EventEmitter<void>;\n\n /**\n * An event that is dispatched when a user has finished their markup.\n */\n @Event({ bubbles: true })\n public markupEnd!: EventEmitter<Markup>;\n\n @Element()\n private hostEl!: HTMLElement;\n\n /**\n * Captures internal state that you want to preserve across dev refreshes, but\n * don't want to trigger a render when the state changes.\n */\n @State()\n private stateMap: StateMap = {};\n\n @Watch('viewer')\n protected async handleViewerChanged(): Promise<void> {\n if (this.stateMap.markupElement != null) {\n this.stateMap.markupElement.viewer = this.viewer;\n }\n }\n\n /**\n * @ignore\n */\n @Watch('arrowTemplateId')\n @Watch('circleTemplateId')\n @Watch('disabled')\n @Watch('endLineAnchorStyle')\n @Watch('freeformTemplateId')\n @Watch('startLineAnchorStyle')\n @Watch('tool')\n protected handlePropertyChanged(): void {\n this.updateMarkupElement();\n }\n\n /**\n * @ignore\n */\n protected componentDidLoad(): void {\n this.updateMarkupElement();\n }\n\n /**\n * Resets the state of the internally managed markup element\n * to allow for creating a new markup. This state is automatically\n * managed when this element is placed as a child of a\n * `<vertex-viewer-markup>` element.\n */\n @Method()\n public async reset(): Promise<void> {\n const { markupElement } = this.stateMap;\n if (isVertexViewerFreeformMarkup(markupElement)) {\n markupElement.points = undefined;\n markupElement.bounds = undefined;\n markupElement.mode = 'create';\n } else if (isVertexViewerCircleMarkup(markupElement)) {\n markupElement.bounds = undefined;\n markupElement.mode = 'create';\n } else if (isVertexViewerArrowMarkup(markupElement)) {\n markupElement.start = undefined;\n markupElement.end = undefined;\n markupElement.mode = 'create';\n }\n }\n\n /**\n * @ignore\n */\n protected render(): h.JSX.IntrinsicElements {\n if (!this.disabled) {\n if (\n this.tool === 'arrow' ||\n this.tool === 'circle' ||\n this.tool === 'freeform'\n ) {\n return (\n <Host>\n <slot />\n </Host>\n );\n } else {\n return <Host>{`Unsupported tool type '${this.tool}'.`}</Host>;\n }\n } else {\n return <Host></Host>;\n }\n }\n\n private createArrowMarkupElement(): HTMLVertexViewerMarkupArrowElement {\n if (this.arrowTemplateId != null) {\n const element = stampTemplateWithId(\n window.document.body,\n this.arrowTemplateId,\n isVertexViewerArrowMarkup,\n () =>\n console.warn(\n `Arrow template with ID ${this.arrowTemplateId} not found. Using default arrow element.`\n ),\n () =>\n console.warn(\n `Arrow template does not contain a vertex-viewer-markup-arrow. Using default arrow element.`\n )\n );\n\n if (element != null) {\n return element;\n }\n }\n\n return document.createElement('vertex-viewer-markup-arrow');\n }\n\n private createCircleMarkupElement(): HTMLVertexViewerMarkupCircleElement {\n if (this.circleTemplateId != null) {\n const element = stampTemplateWithId(\n window.document.body,\n this.circleTemplateId,\n isVertexViewerCircleMarkup,\n () =>\n console.warn(\n `Circle template with ID ${this.circleTemplateId} not found. Using default circle element.`\n ),\n () =>\n console.warn(\n `Circle template does not contain a vertex-viewer-markup-circle. Using default circle element.`\n )\n );\n\n if (element != null) {\n return element;\n }\n }\n\n return document.createElement('vertex-viewer-markup-circle');\n }\n\n private createFreeformMarkupElement(): HTMLVertexViewerMarkupFreeformElement {\n if (this.freeformTemplateId != null) {\n const element = stampTemplateWithId(\n window.document.body,\n this.freeformTemplateId,\n isVertexViewerFreeformMarkup,\n () =>\n console.warn(\n `Freeform template with ID ${this.freeformTemplateId} not found. Using default freeform element.`\n ),\n () =>\n console.warn(\n `Freeform template does not contain a vertex-viewer-markup-freeform. Using default freeform element.`\n )\n );\n\n if (element != null) {\n return element;\n }\n }\n\n return document.createElement('vertex-viewer-markup-freeform');\n }\n\n private createNewMarkupElement():\n | HTMLVertexViewerMarkupArrowElement\n | HTMLVertexViewerMarkupCircleElement\n | HTMLVertexViewerMarkupFreeformElement {\n switch (this.tool) {\n case 'arrow':\n return this.createArrowMarkupElement();\n case 'circle':\n return this.createCircleMarkupElement();\n case 'freeform':\n return this.createFreeformMarkupElement();\n }\n }\n\n private updateMarkupElement(): void {\n const { markupElement } = this.stateMap;\n if (markupElement != null) {\n markupElement.remove();\n markupElement.dispose();\n markupElement.viewer = undefined;\n markupElement.removeEventListener(\n 'interactionBegin',\n this.handleMarkupInteractionBegin\n );\n markupElement.removeEventListener(\n 'interactionEnd',\n this.handleMarkupInteractionEnd\n );\n }\n\n if (!this.disabled) {\n const newMarkupElement = this.createNewMarkupElement();\n this.hostEl.append(newMarkupElement);\n\n if (this.tool === 'arrow') {\n (\n newMarkupElement as HTMLVertexViewerMarkupArrowElement\n ).startLineAnchorStyle = this.startLineAnchorStyle;\n (\n newMarkupElement as HTMLVertexViewerMarkupArrowElement\n ).endLineAnchorStyle = this.endLineAnchorStyle;\n }\n\n newMarkupElement.mode = 'create';\n newMarkupElement.viewer = this.viewer;\n newMarkupElement.originatingViewport = this.originatingViewport;\n newMarkupElement.centeringBehavior = this.centeringBehavior;\n newMarkupElement.offset = this.offset;\n newMarkupElement.scale = this.scale;\n newMarkupElement.addEventListener(\n 'interactionBegin',\n this.handleMarkupInteractionBegin\n );\n newMarkupElement.addEventListener(\n 'interactionEnd',\n this.handleMarkupInteractionEnd\n );\n this.stateMap.markupElement = newMarkupElement;\n }\n }\n\n private handleMarkupInteractionBegin = (): void => {\n this.markupBegin.emit();\n };\n\n private handleMarkupInteractionEnd = (): void => {\n const { markupElement } = this.stateMap;\n if (isVertexViewerFreeformMarkup(markupElement)) {\n const { points, bounds } = markupElement;\n\n if (points != null && points.length > 0 && bounds != null) {\n this.markupEnd.emit(new FreeformMarkup({ points, bounds }));\n }\n } else if (isVertexViewerCircleMarkup(markupElement)) {\n const { bounds } = markupElement;\n\n if (bounds != null) {\n this.markupEnd.emit(new CircleMarkup({ bounds }));\n }\n } else if (isVertexViewerArrowMarkup(markupElement)) {\n const { start, end } = markupElement;\n\n if (start != null && end != null) {\n this.markupEnd.emit(new ArrowMarkup({ start, end }));\n }\n }\n };\n}\n"],"version":3}
|
|
@@ -106,27 +106,30 @@ const ViewerMarkup = class {
|
|
|
106
106
|
if (markup$1 instanceof markup.ArrowMarkup) {
|
|
107
107
|
const { start, end, id } = markup$1;
|
|
108
108
|
const el = this.createArrowMarkupElement();
|
|
109
|
+
this.appendMarkupElement(el);
|
|
109
110
|
el.id = id;
|
|
110
111
|
el.start = start;
|
|
111
112
|
el.end = end;
|
|
112
113
|
el.startLineAnchorStyle = this.startLineAnchorStyle;
|
|
113
114
|
el.endLineAnchorStyle = this.endLineAnchorStyle;
|
|
114
|
-
return
|
|
115
|
+
return el;
|
|
115
116
|
}
|
|
116
117
|
else if (markup$1 instanceof markup.CircleMarkup) {
|
|
117
118
|
const { bounds, id } = markup$1;
|
|
118
119
|
const el = this.createCircleMarkupElement();
|
|
120
|
+
this.appendMarkupElement(el);
|
|
119
121
|
el.id = id;
|
|
120
122
|
el.bounds = bounds;
|
|
121
|
-
return
|
|
123
|
+
return el;
|
|
122
124
|
}
|
|
123
125
|
else if (markup$1 instanceof markup.FreeformMarkup) {
|
|
124
126
|
const { bounds, points, id } = markup$1;
|
|
125
127
|
const el = this.createFreeformMarkupElement();
|
|
128
|
+
this.appendMarkupElement(el);
|
|
126
129
|
el.id = id;
|
|
127
130
|
el.points = points;
|
|
128
131
|
el.bounds = bounds;
|
|
129
|
-
return
|
|
132
|
+
return el;
|
|
130
133
|
}
|
|
131
134
|
else {
|
|
132
135
|
throw new Error(`Cannot add markup. Unknown type '${markup$1}'.`);
|
|
@@ -191,25 +194,7 @@ const ViewerMarkup = class {
|
|
|
191
194
|
/**
|
|
192
195
|
* @ignore
|
|
193
196
|
*/
|
|
194
|
-
|
|
195
|
-
this.updatePropsOnMarkupTool();
|
|
196
|
-
}
|
|
197
|
-
/**
|
|
198
|
-
* @ignore
|
|
199
|
-
*/
|
|
200
|
-
handleArrowTemplateIdChanged() {
|
|
201
|
-
this.updatePropsOnMarkupTool();
|
|
202
|
-
}
|
|
203
|
-
/**
|
|
204
|
-
* @ignore
|
|
205
|
-
*/
|
|
206
|
-
handleCircleTemplateIdChanged() {
|
|
207
|
-
this.updatePropsOnMarkupTool();
|
|
208
|
-
}
|
|
209
|
-
/**
|
|
210
|
-
* @ignore
|
|
211
|
-
*/
|
|
212
|
-
handleFreeformTemplateIdChanged() {
|
|
197
|
+
handlePropertyChanged() {
|
|
213
198
|
this.updatePropsOnMarkupTool();
|
|
214
199
|
}
|
|
215
200
|
/**
|
|
@@ -304,7 +289,7 @@ const ViewerMarkup = class {
|
|
|
304
289
|
* @ignore
|
|
305
290
|
*/
|
|
306
291
|
render() {
|
|
307
|
-
return (index.h(index.Host, { key: '
|
|
292
|
+
return (index.h(index.Host, { key: 'a5620363230dcc56e335b0864eacf94ba8d8232c' }, index.h("slot", { key: '36643c2fc4dce53608e6a55cd3520297dbbf7f4a' })));
|
|
308
293
|
}
|
|
309
294
|
appendMarkupElement(el) {
|
|
310
295
|
this.updatePropsOnMarkup(el);
|
|
@@ -382,17 +367,17 @@ const ViewerMarkup = class {
|
|
|
382
367
|
"selectedMarkupId": [{
|
|
383
368
|
"handleSelectedMarkupIdChanged": 0
|
|
384
369
|
}],
|
|
385
|
-
"tool": [{
|
|
386
|
-
"handleToolChanged": 0
|
|
387
|
-
}],
|
|
388
370
|
"arrowTemplateId": [{
|
|
389
|
-
"
|
|
371
|
+
"handlePropertyChanged": 0
|
|
390
372
|
}],
|
|
391
373
|
"circleTemplateId": [{
|
|
392
|
-
"
|
|
374
|
+
"handlePropertyChanged": 0
|
|
393
375
|
}],
|
|
394
376
|
"freeformTemplateId": [{
|
|
395
|
-
"
|
|
377
|
+
"handlePropertyChanged": 0
|
|
378
|
+
}],
|
|
379
|
+
"tool": [{
|
|
380
|
+
"handlePropertyChanged": 0
|
|
396
381
|
}],
|
|
397
382
|
"viewer": [{
|
|
398
383
|
"handleViewerChanged": 0
|