@vertexvis/viewer 1.0.2-canary.7 → 1.0.2-testing.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{config-BsqvZSt9.js → config-20ozv4y8.js} +3 -3
- package/dist/cjs/{config-BsqvZSt9.js.map → config-20ozv4y8.js.map} +1 -1
- package/dist/cjs/{entities-ByDO45G0.js → entities-D6kgGria.js} +4 -4
- package/dist/cjs/{entities-ByDO45G0.js.map → entities-D6kgGria.js.map} +1 -1
- package/dist/cjs/{geometry_pb-CuOYGIHT.js → geometry_pb-BTko2Wi0.js} +3 -3
- package/dist/cjs/{geometry_pb-CuOYGIHT.js.map → geometry_pb-BTko2Wi0.js.map} +1 -1
- package/dist/cjs/index.cjs.js +5 -5
- package/dist/cjs/{png-decoder-3NSToOjc.js → png-decoder-CJbE7UJh.js} +112 -112
- package/dist/cjs/png-decoder-CJbE7UJh.js.map +1 -0
- package/dist/cjs/{queries-CwDJxlsL.js → queries-Da9I-xMf.js} +4 -4
- package/dist/cjs/{queries-CwDJxlsL.js.map → queries-Da9I-xMf.js.map} +1 -1
- package/dist/cjs/{regl-component-DTvmpYVa.js → regl-component-HhKCyGQ3.js} +3 -3
- package/dist/cjs/{regl-component-DTvmpYVa.js.map → regl-component-HhKCyGQ3.js.map} +1 -1
- package/dist/cjs/{representation_pb-BU8a5Ico.js → representation_pb-CrCGjlyP.js} +3 -3
- package/dist/cjs/{representation_pb-BU8a5Ico.js.map → representation_pb-CrCGjlyP.js.map} +1 -1
- package/dist/cjs/{streamAttributes-BVp1vEp3.js → streamAttributes-D_J-W8-2.js} +3 -3
- package/dist/cjs/{streamAttributes-BVp1vEp3.js.map → streamAttributes-D_J-W8-2.js.map} +1 -1
- package/dist/cjs/vertex-scene-tree-table-cell.cjs.entry.js +1 -1
- package/dist/cjs/vertex-scene-tree.cjs.entry.js +2 -2
- package/dist/cjs/vertex-viewer-dom-element_2.cjs.entry.js +1 -1
- package/dist/cjs/vertex-viewer-hit-result-indicator.cjs.entry.js +2 -2
- package/dist/cjs/vertex-viewer-measurement-details.cjs.entry.js +2 -2
- package/dist/cjs/vertex-viewer-measurement-distance.cjs.entry.js +2 -2
- package/dist/cjs/vertex-viewer-measurement-line_2.cjs.entry.js +2 -2
- package/dist/cjs/vertex-viewer-measurement-precise.cjs.entry.js +4 -4
- package/dist/cjs/vertex-viewer-pin-group.cjs.entry.js +3 -3
- package/dist/cjs/vertex-viewer-transform-widget.cjs.entry.js +2 -2
- package/dist/cjs/vertex-viewer-view-cube.cjs.entry.js +1 -1
- package/dist/cjs/vertex-viewer.cjs.entry.js +4 -4
- package/dist/components/index.js +1 -1
- package/dist/components/{p-BfAW7IWG.js → p-B9R0QWr4.js} +2 -2
- package/dist/components/{p-CmtoXwYo.js → p-BCOD9yfw.js} +2 -2
- package/dist/components/{p-ux26QLbe.js → p-BOJJZ1cN.js} +2 -2
- package/dist/components/{p-C7GhKZ4q.js → p-CAugdB_8.js} +2 -2
- package/dist/components/{p-C9y2eVBq.js → p-CZCXdo3t.js} +2 -2
- package/dist/components/p-CycTYKAk.js +5 -0
- package/dist/components/{p-BnIeyVZl.js.map → p-CycTYKAk.js.map} +1 -1
- package/dist/components/{p-DTDKqbV2.js → p-D12q-fpW.js} +2 -2
- package/dist/components/{p-kVbpvDF1.js → p-DF4kEsJU.js} +2 -2
- package/dist/components/{p-D9oqIZ3P.js → p-DRnMrHWY.js} +2 -2
- package/dist/components/{p-B6mpmA2-.js → p-abSJ29r7.js} +2 -2
- package/dist/components/{p-CCPuHP2m.js → p-ahjMltGJ.js} +2 -2
- package/dist/components/vertex-scene-tree-table-cell.js +1 -1
- package/dist/components/vertex-scene-tree.js +1 -1
- package/dist/components/vertex-viewer-dom-renderer.js +1 -1
- package/dist/components/vertex-viewer-hit-result-indicator.js +1 -1
- package/dist/components/vertex-viewer-measurement-details.js +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/components/vertex-viewer-transform-widget.js +1 -1
- package/dist/components/vertex-viewer-view-cube.js +1 -1
- package/dist/components/vertex-viewer.js +1 -1
- package/dist/esm/{config-SMudJna8.js → config-lglER3mU.js} +3 -3
- package/dist/esm/{config-SMudJna8.js.map → config-lglER3mU.js.map} +1 -1
- package/dist/esm/{entities-uAlr5vlE.js → entities-zRken6VS.js} +4 -4
- package/dist/esm/{entities-uAlr5vlE.js.map → entities-zRken6VS.js.map} +1 -1
- package/dist/esm/{geometry_pb-CMlgBITt.js → geometry_pb-BiZRfctN.js} +3 -3
- package/dist/esm/{geometry_pb-CMlgBITt.js.map → geometry_pb-BiZRfctN.js.map} +1 -1
- package/dist/esm/index.js +5 -5
- package/dist/esm/index.mjs +5 -5
- package/dist/esm/{png-decoder-Bjioht9N.js → png-decoder-CiunTuhu.js} +112 -112
- package/dist/esm/png-decoder-CiunTuhu.js.map +1 -0
- package/dist/esm/{queries-CgeSF7hf.js → queries-DEzCmbTD.js} +4 -4
- package/dist/esm/{queries-CgeSF7hf.js.map → queries-DEzCmbTD.js.map} +1 -1
- package/dist/esm/{regl-component-WqWCp9d-.js → regl-component-DmkowWhg.js} +3 -3
- package/dist/esm/{regl-component-WqWCp9d-.js.map → regl-component-DmkowWhg.js.map} +1 -1
- package/dist/esm/{representation_pb-BXvH1L33.js → representation_pb-g4f0WC4k.js} +3 -3
- package/dist/esm/{representation_pb-BXvH1L33.js.map → representation_pb-g4f0WC4k.js.map} +1 -1
- package/dist/esm/{streamAttributes-6asiWDkT.js → streamAttributes-Cp8PEH9A.js} +3 -3
- package/dist/esm/{streamAttributes-6asiWDkT.js.map → streamAttributes-Cp8PEH9A.js.map} +1 -1
- package/dist/esm/vertex-scene-tree-table-cell.entry.js +1 -1
- package/dist/esm/vertex-scene-tree.entry.js +2 -2
- package/dist/esm/vertex-viewer-dom-element_2.entry.js +1 -1
- package/dist/esm/vertex-viewer-hit-result-indicator.entry.js +2 -2
- package/dist/esm/vertex-viewer-measurement-details.entry.js +2 -2
- package/dist/esm/vertex-viewer-measurement-distance.entry.js +2 -2
- package/dist/esm/vertex-viewer-measurement-line_2.entry.js +2 -2
- package/dist/esm/vertex-viewer-measurement-precise.entry.js +4 -4
- package/dist/esm/vertex-viewer-pin-group.entry.js +3 -3
- package/dist/esm/vertex-viewer-transform-widget.entry.js +2 -2
- package/dist/esm/vertex-viewer-view-cube.entry.js +1 -1
- package/dist/esm/vertex-viewer.entry.js +4 -4
- package/dist/viewer/index.esm.js +1 -1
- package/dist/viewer/p-051b5154.entry.js +5 -0
- package/dist/viewer/{p-a5ed36cd.entry.js.map → p-051b5154.entry.js.map} +1 -1
- package/dist/viewer/{p-4dbad46f.entry.js → p-11cf755a.entry.js} +2 -2
- package/dist/viewer/{p-833d698b.entry.js → p-16775f7d.entry.js} +2 -2
- package/dist/viewer/{p-a866cbdb.entry.js → p-1eb636f8.entry.js} +2 -2
- package/dist/viewer/{p-bb18c218.entry.js → p-33f44cc1.entry.js} +2 -2
- package/dist/viewer/{p-9556c963.entry.js → p-35601c85.entry.js} +2 -2
- package/dist/viewer/{p-40dba623.entry.js → p-8c369777.entry.js} +2 -2
- package/dist/viewer/{p-Dx_kRMQd.js → p-BDvACHun.js} +2 -2
- package/dist/viewer/{p-Dx_kRMQd.js.map → p-BDvACHun.js.map} +1 -1
- package/dist/viewer/p-CZXGNc0T.js +5 -0
- package/dist/viewer/p-CZXGNc0T.js.map +1 -0
- package/dist/viewer/{p-B7IxKAst.js → p-ChqXy0cG.js} +2 -2
- package/dist/viewer/{p-B7IxKAst.js.map → p-ChqXy0cG.js.map} +1 -1
- package/dist/viewer/{p-BYm9621A.js → p-CyGlYje2.js} +2 -2
- package/dist/viewer/{p-BYm9621A.js.map → p-CyGlYje2.js.map} +1 -1
- package/dist/viewer/{p-DNam7E02.js → p-D6eJC1q4.js} +2 -2
- package/dist/viewer/{p-DNam7E02.js.map → p-D6eJC1q4.js.map} +1 -1
- package/dist/viewer/{p-BJm7oO2_.js → p-Dp56p_jX.js} +2 -2
- package/dist/viewer/{p-BJm7oO2_.js.map → p-Dp56p_jX.js.map} +1 -1
- package/dist/viewer/{p-Chfn1uMz.js → p-F8e15or2.js} +2 -2
- package/dist/viewer/{p-Chfn1uMz.js.map → p-F8e15or2.js.map} +1 -1
- package/dist/viewer/{p-CvVOQvMo.js → p-WPRMWirY.js} +2 -2
- package/dist/viewer/{p-CvVOQvMo.js.map → p-WPRMWirY.js.map} +1 -1
- package/dist/viewer/{p-04ebf937.entry.js → p-a8a81cba.entry.js} +2 -2
- package/dist/viewer/{p-4d5c68b4.entry.js → p-c7e62d66.entry.js} +2 -2
- package/dist/viewer/{p-578409b2.entry.js → p-e9b83dae.entry.js} +2 -2
- package/dist/viewer/{p-69aeb12a.entry.js → p-f271dc4a.entry.js} +2 -2
- package/dist/viewer/{p-9161d8c7.entry.js → p-f65c0769.entry.js} +2 -2
- package/dist/viewer/viewer.esm.js +1 -1
- package/package.json +10 -10
- package/dist/cjs/png-decoder-3NSToOjc.js.map +0 -1
- package/dist/components/p-BnIeyVZl.js +0 -5
- package/dist/esm/png-decoder-Bjioht9N.js.map +0 -1
- package/dist/types/web-workers.d.ts +0 -1
- package/dist/viewer/p-CmW2ZNHt.js +0 -5
- package/dist/viewer/p-CmW2ZNHt.js.map +0 -1
- package/dist/viewer/p-a5ed36cd.entry.js +0 -5
- /package/dist/components/{p-BfAW7IWG.js.map → p-B9R0QWr4.js.map} +0 -0
- /package/dist/components/{p-CmtoXwYo.js.map → p-BCOD9yfw.js.map} +0 -0
- /package/dist/components/{p-ux26QLbe.js.map → p-BOJJZ1cN.js.map} +0 -0
- /package/dist/components/{p-C7GhKZ4q.js.map → p-CAugdB_8.js.map} +0 -0
- /package/dist/components/{p-C9y2eVBq.js.map → p-CZCXdo3t.js.map} +0 -0
- /package/dist/components/{p-DTDKqbV2.js.map → p-D12q-fpW.js.map} +0 -0
- /package/dist/components/{p-kVbpvDF1.js.map → p-DF4kEsJU.js.map} +0 -0
- /package/dist/components/{p-D9oqIZ3P.js.map → p-DRnMrHWY.js.map} +0 -0
- /package/dist/components/{p-B6mpmA2-.js.map → p-abSJ29r7.js.map} +0 -0
- /package/dist/components/{p-CCPuHP2m.js.map → p-ahjMltGJ.js.map} +0 -0
- /package/dist/viewer/{p-4dbad46f.entry.js.map → p-11cf755a.entry.js.map} +0 -0
- /package/dist/viewer/{p-833d698b.entry.js.map → p-16775f7d.entry.js.map} +0 -0
- /package/dist/viewer/{p-a866cbdb.entry.js.map → p-1eb636f8.entry.js.map} +0 -0
- /package/dist/viewer/{p-bb18c218.entry.js.map → p-33f44cc1.entry.js.map} +0 -0
- /package/dist/viewer/{p-9556c963.entry.js.map → p-35601c85.entry.js.map} +0 -0
- /package/dist/viewer/{p-40dba623.entry.js.map → p-8c369777.entry.js.map} +0 -0
- /package/dist/viewer/{p-04ebf937.entry.js.map → p-a8a81cba.entry.js.map} +0 -0
- /package/dist/viewer/{p-4d5c68b4.entry.js.map → p-c7e62d66.entry.js.map} +0 -0
- /package/dist/viewer/{p-578409b2.entry.js.map → p-e9b83dae.entry.js.map} +0 -0
- /package/dist/viewer/{p-69aeb12a.entry.js.map → p-f271dc4a.entry.js.map} +0 -0
- /package/dist/viewer/{p-9161d8c7.entry.js.map → p-f65c0769.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entities-uAlr5vlE.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","MeasureRequest","ModelEntityUpdate","BoolValue","UpdateModelEntitiesRequest","Mapper","MeasureEntity","Vector3f"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"entities-zRken6VS.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","MeasureRequest","ModelEntityUpdate","BoolValue","UpdateModelEntitiesRequest","Mapper","MeasureEntity","Vector3f"],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { e as requireModel_entity_pb, f as requireGeometry_pb } from './wrappers_pb-aFAwKqIf.js';
|
|
5
5
|
import { m as mapper } from './bundle-DT9c7nCv.js';
|
|
6
|
-
import { V as fromPbPlane, n as fromPbVector3f } from './streamAttributes-
|
|
6
|
+
import { V as fromPbPlane, n as fromPbVector3f } from './streamAttributes-Cp8PEH9A.js';
|
|
7
7
|
|
|
8
8
|
var model_entity_pbExports = requireModel_entity_pb();
|
|
9
9
|
|
|
@@ -41,6 +41,6 @@ const mapMeasureResponseOrThrow = mapper.ifInvalidThrow(mapMeasureResponse);
|
|
|
41
41
|
var geometry_pbExports = requireGeometry_pb();
|
|
42
42
|
|
|
43
43
|
export { mapMeasureResponseOrThrow as a, geometry_pbExports as g, model_entity_pbExports as m };
|
|
44
|
-
//# sourceMappingURL=geometry_pb-
|
|
44
|
+
//# sourceMappingURL=geometry_pb-BiZRfctN.js.map
|
|
45
45
|
|
|
46
|
-
//# sourceMappingURL=geometry_pb-
|
|
46
|
+
//# sourceMappingURL=geometry_pb-BiZRfctN.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"geometry_pb-
|
|
1
|
+
{"version":3,"file":"geometry_pb-BiZRfctN.js","sources":["src/lib/measurement/mapper.ts"],"sourcesContent":["import { Plane } from '@vertexvis/geometry';\nimport type {\n MeasurementResult as PbMeasurementResult,\n MinimumDistanceResult as PbMinimumDistanceResult,\n PlanarAngleResult as PbPlanarAngleResult,\n PlanarDistanceResult as PbPlanarDistanceResult,\n PlanePair as PbPlanePair,\n SurfaceAreaResult as PbSurfaceAreaResult,\n} from '@vertexvis/scene-view-protos/core/protos/measurement_pb';\nimport type { MeasureResponse as PbMeasureResponse } from '@vertexvis/scene-view-protos/sceneview/protos/scene_view_api_pb';\nimport { Mapper as M } from '@vertexvis/utils';\n\nimport { fromPbPlane, fromPbVector3f } from '../mappers';\nimport { MeasurementOutcome } from './outcomes';\nimport {\n MeasurementResult,\n MinimumDistanceMeasurementResult,\n PlanarAngleMeasurementResult,\n PlanarDistanceMeasurementResult,\n SurfaceAreaMeasurementResult,\n} from './results';\n\nconst mapPlanePair: M.Func<\n PbPlanePair.AsObject,\n { start: Plane.Plane; end: Plane.Plane }\n> = M.defineMapper(\n M.read(\n M.mapRequiredProp('start', fromPbPlane),\n M.mapRequiredProp('end', fromPbPlane),\n ),\n ([start, end]) => ({ start, end }),\n);\n\nconst mapPlanarDistance: M.Func<\n PbPlanarDistanceResult.AsObject,\n PlanarDistanceMeasurementResult\n> = M.defineMapper(\n M.read(\n M.getProp('distance'),\n M.mapRequiredProp(\n 'planes',\n M.compose(mapPlanePair, M.requiredProp('start')),\n ),\n M.mapRequiredProp('planes', M.compose(mapPlanePair, M.requiredProp('end'))),\n ),\n ([distance, plane1, plane2]) => ({\n type: 'planar-distance',\n distance,\n plane1,\n plane2,\n }),\n);\n\nconst mapPlanarAngle: M.Func<\n PbPlanarAngleResult.AsObject,\n PlanarAngleMeasurementResult\n> = M.defineMapper(\n M.read(\n M.getProp('angleInRadians'),\n M.mapRequiredProp(\n 'planes',\n M.compose(mapPlanePair, M.requiredProp('start')),\n ),\n M.mapRequiredProp('planes', M.compose(mapPlanePair, M.requiredProp('end'))),\n ),\n ([angle, plane1, plane2]) => ({\n type: 'planar-angle',\n angle,\n plane1,\n plane2,\n }),\n);\n\nconst mapMinimumDistance: M.Func<\n PbMinimumDistanceResult.AsObject,\n MinimumDistanceMeasurementResult\n> = M.defineMapper(\n M.read(\n M.getProp('distance'),\n M.mapRequiredProp('closestPoint1', fromPbVector3f),\n M.mapRequiredProp('closestPoint2', fromPbVector3f),\n ),\n ([distance, point1, point2]) => ({\n type: 'minimum-distance',\n distance,\n point1,\n point2,\n }),\n);\n\nconst mapSurfaceArea: M.Func<\n PbSurfaceAreaResult.AsObject,\n SurfaceAreaMeasurementResult\n> = M.defineMapper(M.read(M.getProp('area')), ([area]) => ({\n type: 'surface-area',\n area,\n}));\n\nconst mapPlanarDistanceFromResult: M.Func<\n PbMeasurementResult.AsObject,\n PlanarDistanceMeasurementResult | undefined | null\n> = M.mapProp('planarDistance', M.ifDefined(mapPlanarDistance));\n\nconst mapPlanarAngleFromResult: M.Func<\n PbMeasurementResult.AsObject,\n PlanarAngleMeasurementResult | undefined | null\n> = M.mapProp('planarAngle', M.ifDefined(mapPlanarAngle));\n\nconst mapMinimumDistanceFromResult: M.Func<\n PbMeasurementResult.AsObject,\n MinimumDistanceMeasurementResult | undefined | null\n> = M.mapProp('minimumDistance', M.ifDefined(mapMinimumDistance));\n\nconst mapSurfaceAreaFromResult: M.Func<\n PbMeasurementResult.AsObject,\n SurfaceAreaMeasurementResult | undefined | null\n> = M.mapProp('totalSurfaceArea', M.ifDefined(mapSurfaceArea));\n\nconst mapMeasurementResult: M.Func<\n PbMeasurementResult.AsObject,\n MeasurementResult\n> = M.compose(\n M.pickFirst(\n mapPlanarDistanceFromResult,\n mapPlanarAngleFromResult,\n mapMinimumDistanceFromResult,\n mapSurfaceAreaFromResult,\n ),\n M.required('Result field'),\n);\n\nexport const mapMeasureResponse: M.Func<\n PbMeasureResponse.AsObject,\n MeasurementOutcome\n> = M.defineMapper(\n M.read(\n M.mapRequiredProp(\n 'outcome',\n M.mapRequiredProp('resultsList', M.mapArray(mapMeasurementResult)),\n ),\n M.mapRequiredProp('outcome', M.getProp('isApproximate')),\n ),\n ([results, isApproximate]) => ({ results, isApproximate }),\n);\n\nexport const mapMeasureResponseOrThrow = M.ifInvalidThrow(mapMeasureResponse);\n"],"names":["M"],"mappings":"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"}
|
package/dist/esm/index.js
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Copyright (c) 2026 Vertex Software LLC. All rights reserved.
|
|
3
3
|
*/
|
|
4
|
-
export { C as Camera, c as ColorMaterial, a as CrossSectioner, I as ItemOperationBuilder, l as LoadableResource, M as ModelViewController, P as PmiAnnotationOperationsBuilder, b as PmiAnnotationsQueryExecutor, k as PmiController, R as Raycaster, d as RootQuery, S as Scene, e as SceneElementQueryExecutor, f as SceneElementsOperationExecutor, g as SceneItemOperationsBuilder, h as SceneItemQueryExecutor, i as SceneItemsOperationExecutor, s as SceneViewStateIdentifier, j as SynchronizedClock } from './queries-
|
|
4
|
+
export { C as Camera, c as ColorMaterial, a as CrossSectioner, I as ItemOperationBuilder, l as LoadableResource, M as ModelViewController, P as PmiAnnotationOperationsBuilder, b as PmiAnnotationsQueryExecutor, k as PmiController, R as Raycaster, d as RootQuery, S as Scene, e as SceneElementQueryExecutor, f as SceneElementsOperationExecutor, g as SceneItemOperationsBuilder, h as SceneItemQueryExecutor, i as SceneItemsOperationExecutor, s as SceneViewStateIdentifier, j as SynchronizedClock } from './queries-DEzCmbTD.js';
|
|
5
5
|
export { S as SceneTreeController } from './controller-BMWGs-I6.js';
|
|
6
6
|
export { f as fromNodeProto, i as isLoadedRow } from './row-CiSHWNC4.js';
|
|
7
7
|
export { S as SCENE_ITEM_NAME_METADATA_KEY } from './types-BZwvQkyb.js';
|
|
8
8
|
export { C as CursorManager, b as boxQueryCursor, l as labelPinCursor, m as measurementCursor, a as measurementWithArrowCursor, p as pinCursor } from './cursors-BbBDEutb.js';
|
|
9
|
-
export { M as MeasurementController, a as MeasurementEntity } from './entities-
|
|
9
|
+
export { M as MeasurementController, a as MeasurementEntity } from './entities-zRken6VS.js';
|
|
10
10
|
export { M as MeasurementModel } from './model-D0EJdHmW.js';
|
|
11
11
|
export { M as MeasurementOverlayManager } from './overlays-BE1oqniA.js';
|
|
12
12
|
export { m as makeMinimumDistanceResult } from './results-CFB6nKu8.js';
|
|
13
13
|
import { v as vector3, q as quaternion, m as matrix4 } from './bundle-CkIzrpO0.js';
|
|
14
14
|
export { T as TransformController } from './controller-Iymb_J2R.js';
|
|
15
15
|
export { f as flattenPointArray, a as toDegreesTransform, e as toLocalTransform, b as toMatrix, t as toRadiansTransform, c as toTransform, d as toWorldTransform } from './util-BCZZYmp4.js';
|
|
16
|
-
export { A as AngleUnits, g as AreaUnits, c as CrossSectioning, D as DistanceUnits, F as FrameCameraBase, O as Orientation, a as ReceivedFrame, b as ReceivedFrameImage, d as ReceivedFrameScene, e as ReceivedOrthographicCamera, f as ReceivedPerspectiveCamera, S as StandardView } from './streamAttributes-
|
|
16
|
+
export { A as AngleUnits, g as AreaUnits, c as CrossSectioning, D as DistanceUnits, F as FrameCameraBase, O as Orientation, a as ReceivedFrame, b as ReceivedFrameImage, d as ReceivedFrameScene, e as ReceivedOrthographicCamera, f as ReceivedPerspectiveCamera, S as StandardView } from './streamAttributes-Cp8PEH9A.js';
|
|
17
17
|
export { E as EntityType } from './entities-BAhfr1Nx.js';
|
|
18
18
|
export { A as ArrowMarkup, C as CircleMarkup, F as FreeformMarkup } from './markup-C8f4n2-x.js';
|
|
19
19
|
export { V as Viewport } from './viewport-C8WQZxvx.js';
|
|
@@ -22,11 +22,11 @@ import './bundle-DT9c7nCv.js';
|
|
|
22
22
|
import './_commonjsHelpers-CG9AChtV.js';
|
|
23
23
|
import './errors-Cs13_LRq.js';
|
|
24
24
|
import './wrappers_pb-Xw_x1jYm.js';
|
|
25
|
-
import './representation_pb-
|
|
25
|
+
import './representation_pb-g4f0WC4k.js';
|
|
26
26
|
import './wrappers_pb-aFAwKqIf.js';
|
|
27
27
|
import './grpc-CZAYqbTu.js';
|
|
28
28
|
import './bundle-BOQPDi0i.js';
|
|
29
|
-
import './geometry_pb-
|
|
29
|
+
import './geometry_pb-BiZRfctN.js';
|
|
30
30
|
|
|
31
31
|
const ALMOST_ONE = 0.9999;
|
|
32
32
|
/**
|
package/dist/esm/index.mjs
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Copyright (c) 2026 Vertex Software LLC. All rights reserved.
|
|
3
3
|
*/
|
|
4
|
-
export { C as Camera, c as ColorMaterial, a as CrossSectioner, I as ItemOperationBuilder, l as LoadableResource, M as ModelViewController, P as PmiAnnotationOperationsBuilder, b as PmiAnnotationsQueryExecutor, k as PmiController, R as Raycaster, d as RootQuery, S as Scene, e as SceneElementQueryExecutor, f as SceneElementsOperationExecutor, g as SceneItemOperationsBuilder, h as SceneItemQueryExecutor, i as SceneItemsOperationExecutor, s as SceneViewStateIdentifier, j as SynchronizedClock } from './queries-
|
|
4
|
+
export { C as Camera, c as ColorMaterial, a as CrossSectioner, I as ItemOperationBuilder, l as LoadableResource, M as ModelViewController, P as PmiAnnotationOperationsBuilder, b as PmiAnnotationsQueryExecutor, k as PmiController, R as Raycaster, d as RootQuery, S as Scene, e as SceneElementQueryExecutor, f as SceneElementsOperationExecutor, g as SceneItemOperationsBuilder, h as SceneItemQueryExecutor, i as SceneItemsOperationExecutor, s as SceneViewStateIdentifier, j as SynchronizedClock } from './queries-DEzCmbTD.js';
|
|
5
5
|
export { S as SceneTreeController } from './controller-BMWGs-I6.js';
|
|
6
6
|
export { f as fromNodeProto, i as isLoadedRow } from './row-CiSHWNC4.js';
|
|
7
7
|
export { S as SCENE_ITEM_NAME_METADATA_KEY } from './types-BZwvQkyb.js';
|
|
8
8
|
export { C as CursorManager, b as boxQueryCursor, l as labelPinCursor, m as measurementCursor, a as measurementWithArrowCursor, p as pinCursor } from './cursors-BbBDEutb.js';
|
|
9
|
-
export { M as MeasurementController, a as MeasurementEntity } from './entities-
|
|
9
|
+
export { M as MeasurementController, a as MeasurementEntity } from './entities-zRken6VS.js';
|
|
10
10
|
export { M as MeasurementModel } from './model-D0EJdHmW.js';
|
|
11
11
|
export { M as MeasurementOverlayManager } from './overlays-BE1oqniA.js';
|
|
12
12
|
export { m as makeMinimumDistanceResult } from './results-CFB6nKu8.js';
|
|
13
13
|
import { v as vector3, q as quaternion, m as matrix4 } from './bundle-CkIzrpO0.js';
|
|
14
14
|
export { T as TransformController } from './controller-Iymb_J2R.js';
|
|
15
15
|
export { f as flattenPointArray, a as toDegreesTransform, e as toLocalTransform, b as toMatrix, t as toRadiansTransform, c as toTransform, d as toWorldTransform } from './util-BCZZYmp4.js';
|
|
16
|
-
export { A as AngleUnits, g as AreaUnits, c as CrossSectioning, D as DistanceUnits, F as FrameCameraBase, O as Orientation, a as ReceivedFrame, b as ReceivedFrameImage, d as ReceivedFrameScene, e as ReceivedOrthographicCamera, f as ReceivedPerspectiveCamera, S as StandardView } from './streamAttributes-
|
|
16
|
+
export { A as AngleUnits, g as AreaUnits, c as CrossSectioning, D as DistanceUnits, F as FrameCameraBase, O as Orientation, a as ReceivedFrame, b as ReceivedFrameImage, d as ReceivedFrameScene, e as ReceivedOrthographicCamera, f as ReceivedPerspectiveCamera, S as StandardView } from './streamAttributes-Cp8PEH9A.js';
|
|
17
17
|
export { E as EntityType } from './entities-BAhfr1Nx.js';
|
|
18
18
|
export { A as ArrowMarkup, C as CircleMarkup, F as FreeformMarkup } from './markup-C8f4n2-x.js';
|
|
19
19
|
export { V as Viewport } from './viewport-C8WQZxvx.js';
|
|
@@ -22,11 +22,11 @@ import './bundle-DT9c7nCv.js';
|
|
|
22
22
|
import './_commonjsHelpers-CG9AChtV.js';
|
|
23
23
|
import './errors-Cs13_LRq.js';
|
|
24
24
|
import './wrappers_pb-Xw_x1jYm.js';
|
|
25
|
-
import './representation_pb-
|
|
25
|
+
import './representation_pb-g4f0WC4k.js';
|
|
26
26
|
import './wrappers_pb-aFAwKqIf.js';
|
|
27
27
|
import './grpc-CZAYqbTu.js';
|
|
28
28
|
import './bundle-BOQPDi0i.js';
|
|
29
|
-
import './geometry_pb-
|
|
29
|
+
import './geometry_pb-BiZRfctN.js';
|
|
30
30
|
|
|
31
31
|
const ALMOST_ONE = 0.9999;
|
|
32
32
|
/**
|
|
@@ -3157,120 +3157,120 @@ function requireDist () {
|
|
|
3157
3157
|
|
|
3158
3158
|
var distExports = /*@__PURE__*/ requireDist();
|
|
3159
3159
|
|
|
3160
|
-
var TerminateController = /** @class */ (function () {
|
|
3161
|
-
function TerminateController() {
|
|
3162
|
-
this.threads = [];
|
|
3163
|
-
this.pools = [];
|
|
3164
|
-
}
|
|
3165
|
-
TerminateController.prototype.addThread = function (thread) {
|
|
3166
|
-
this.threads.push(thread);
|
|
3167
|
-
};
|
|
3168
|
-
TerminateController.prototype.addPool = function (pool) {
|
|
3169
|
-
this.pools.push(pool);
|
|
3170
|
-
};
|
|
3171
|
-
TerminateController.prototype.terminate = function () {
|
|
3172
|
-
|
|
3173
|
-
|
|
3174
|
-
return __generator(this, function (_a) {
|
|
3175
|
-
switch (_a.label) {
|
|
3176
|
-
case 0: return [4 /*yield*/, Promise.all(__spreadArray(__spreadArray([], this.threads.map(function (t) { return distExports.Thread.terminate(t); })
|
|
3177
|
-
case 1:
|
|
3178
|
-
_a.sent();
|
|
3179
|
-
return [2 /*return*/];
|
|
3180
|
-
}
|
|
3181
|
-
});
|
|
3182
|
-
});
|
|
3183
|
-
};
|
|
3184
|
-
return TerminateController;
|
|
3160
|
+
var TerminateController = /** @class */ (function () {
|
|
3161
|
+
function TerminateController() {
|
|
3162
|
+
this.threads = [];
|
|
3163
|
+
this.pools = [];
|
|
3164
|
+
}
|
|
3165
|
+
TerminateController.prototype.addThread = function (thread) {
|
|
3166
|
+
this.threads.push(thread);
|
|
3167
|
+
};
|
|
3168
|
+
TerminateController.prototype.addPool = function (pool) {
|
|
3169
|
+
this.pools.push(pool);
|
|
3170
|
+
};
|
|
3171
|
+
TerminateController.prototype.terminate = function (force) {
|
|
3172
|
+
if (force === void 0) { force = false; }
|
|
3173
|
+
return __awaiter$5(this, void 0, void 0, function () {
|
|
3174
|
+
return __generator(this, function (_a) {
|
|
3175
|
+
switch (_a.label) {
|
|
3176
|
+
case 0: return [4 /*yield*/, Promise.all(__spreadArray(__spreadArray([], this.threads.map(function (t) { return distExports.Thread.terminate(t); })), this.pools.map(function (p) { return p.terminate(force); })))];
|
|
3177
|
+
case 1:
|
|
3178
|
+
_a.sent();
|
|
3179
|
+
return [2 /*return*/];
|
|
3180
|
+
}
|
|
3181
|
+
});
|
|
3182
|
+
});
|
|
3183
|
+
};
|
|
3184
|
+
return TerminateController;
|
|
3185
3185
|
}());
|
|
3186
3186
|
|
|
3187
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
3188
|
-
function getGlobal() {
|
|
3189
|
-
if (typeof globalThis !== 'undefined') {
|
|
3190
|
-
return globalThis;
|
|
3191
|
-
}
|
|
3192
|
-
else if (typeof self !== 'undefined') {
|
|
3193
|
-
return self;
|
|
3194
|
-
}
|
|
3195
|
-
else if (typeof window !== 'undefined') {
|
|
3196
|
-
return window;
|
|
3197
|
-
}
|
|
3198
|
-
else if (typeof global !== 'undefined') {
|
|
3199
|
-
return global;
|
|
3200
|
-
}
|
|
3201
|
-
throw new Error('unable to locate global object');
|
|
3202
|
-
}
|
|
3187
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
3188
|
+
function getGlobal() {
|
|
3189
|
+
if (typeof globalThis !== 'undefined') {
|
|
3190
|
+
return globalThis;
|
|
3191
|
+
}
|
|
3192
|
+
else if (typeof self !== 'undefined') {
|
|
3193
|
+
return self;
|
|
3194
|
+
}
|
|
3195
|
+
else if (typeof window !== 'undefined') {
|
|
3196
|
+
return window;
|
|
3197
|
+
}
|
|
3198
|
+
else if (typeof global !== 'undefined') {
|
|
3199
|
+
return global;
|
|
3200
|
+
}
|
|
3201
|
+
throw new Error('unable to locate global object');
|
|
3202
|
+
}
|
|
3203
3203
|
var globalThis$1 = getGlobal();
|
|
3204
3204
|
|
|
3205
|
-
function instanceOf(obj, className) {
|
|
3206
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
3207
|
-
var Type = globalThis$1[className];
|
|
3208
|
-
return Type != null && obj instanceof Type;
|
|
3209
|
-
}
|
|
3210
|
-
function isTransferable(obj) {
|
|
3211
|
-
return (instanceOf(obj, 'ArrayBuffer') ||
|
|
3212
|
-
instanceOf(obj, 'MessagePort') ||
|
|
3213
|
-
instanceOf(obj, 'ImageBitmap') ||
|
|
3214
|
-
instanceOf(obj, 'OffscreenCanvas'));
|
|
3215
|
-
}
|
|
3216
|
-
function isTypedArray(obj) {
|
|
3217
|
-
return (instanceOf(obj, 'Int8Array') ||
|
|
3218
|
-
instanceOf(obj, 'Uint8Array') ||
|
|
3219
|
-
instanceOf(obj, 'Uint8ClampedArray') ||
|
|
3220
|
-
instanceOf(obj, 'Int16Array') ||
|
|
3221
|
-
instanceOf(obj, 'Uint16Array') ||
|
|
3222
|
-
instanceOf(obj, 'Int32Array') ||
|
|
3223
|
-
instanceOf(obj, 'Uint32Array') ||
|
|
3224
|
-
instanceOf(obj, 'Float32Array') ||
|
|
3225
|
-
instanceOf(obj, 'Float64Array') ||
|
|
3226
|
-
instanceOf(obj, 'BigInt64Array') ||
|
|
3227
|
-
instanceOf(obj, 'BigUint64Array'));
|
|
3228
|
-
}
|
|
3229
|
-
/**
|
|
3230
|
-
* A function that will recursively inspect an object and return a Threads
|
|
3231
|
-
* `Transfer` that contains all the `Transferable`s in the given object.
|
|
3232
|
-
*
|
|
3233
|
-
* @param obj The object to make transferable.
|
|
3234
|
-
* @returns A `Transfer` from Threads.
|
|
3235
|
-
*/
|
|
3236
|
-
function makeTransferable(obj) {
|
|
3237
|
-
if (isTransferable(obj)) {
|
|
3238
|
-
return distExports.Transfer(obj);
|
|
3239
|
-
}
|
|
3240
|
-
else if (obj != null && typeof obj === 'object') {
|
|
3241
|
-
var transferables = findTransferables(obj);
|
|
3242
|
-
return distExports.Transfer(obj, transferables);
|
|
3243
|
-
}
|
|
3244
|
-
else {
|
|
3245
|
-
return obj;
|
|
3246
|
-
}
|
|
3247
|
-
}
|
|
3248
|
-
function findTransferables(obj) {
|
|
3249
|
-
if (isTransferable(obj)) {
|
|
3250
|
-
return [obj];
|
|
3251
|
-
}
|
|
3252
|
-
else if (typeof obj === 'object') {
|
|
3253
|
-
if (Array.isArray(obj)) {
|
|
3254
|
-
var result_1 = [];
|
|
3255
|
-
obj.forEach(function (o) { return result_1.push.apply(result_1, findTransferables(o)); });
|
|
3256
|
-
return result_1;
|
|
3257
|
-
}
|
|
3258
|
-
else if (isTypedArray(obj)) {
|
|
3259
|
-
return [obj.buffer];
|
|
3260
|
-
}
|
|
3261
|
-
else if (obj != null) {
|
|
3262
|
-
return Object.values(obj).reduce(function (acc, value) {
|
|
3263
|
-
acc.push.apply(acc, findTransferables(value));
|
|
3264
|
-
return acc;
|
|
3265
|
-
}, []);
|
|
3266
|
-
}
|
|
3267
|
-
else {
|
|
3268
|
-
return [];
|
|
3269
|
-
}
|
|
3270
|
-
}
|
|
3271
|
-
else {
|
|
3272
|
-
return [];
|
|
3273
|
-
}
|
|
3205
|
+
function instanceOf(obj, className) {
|
|
3206
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
3207
|
+
var Type = globalThis$1[className];
|
|
3208
|
+
return Type != null && obj instanceof Type;
|
|
3209
|
+
}
|
|
3210
|
+
function isTransferable(obj) {
|
|
3211
|
+
return (instanceOf(obj, 'ArrayBuffer') ||
|
|
3212
|
+
instanceOf(obj, 'MessagePort') ||
|
|
3213
|
+
instanceOf(obj, 'ImageBitmap') ||
|
|
3214
|
+
instanceOf(obj, 'OffscreenCanvas'));
|
|
3215
|
+
}
|
|
3216
|
+
function isTypedArray(obj) {
|
|
3217
|
+
return (instanceOf(obj, 'Int8Array') ||
|
|
3218
|
+
instanceOf(obj, 'Uint8Array') ||
|
|
3219
|
+
instanceOf(obj, 'Uint8ClampedArray') ||
|
|
3220
|
+
instanceOf(obj, 'Int16Array') ||
|
|
3221
|
+
instanceOf(obj, 'Uint16Array') ||
|
|
3222
|
+
instanceOf(obj, 'Int32Array') ||
|
|
3223
|
+
instanceOf(obj, 'Uint32Array') ||
|
|
3224
|
+
instanceOf(obj, 'Float32Array') ||
|
|
3225
|
+
instanceOf(obj, 'Float64Array') ||
|
|
3226
|
+
instanceOf(obj, 'BigInt64Array') ||
|
|
3227
|
+
instanceOf(obj, 'BigUint64Array'));
|
|
3228
|
+
}
|
|
3229
|
+
/**
|
|
3230
|
+
* A function that will recursively inspect an object and return a Threads
|
|
3231
|
+
* `Transfer` that contains all the `Transferable`s in the given object.
|
|
3232
|
+
*
|
|
3233
|
+
* @param obj The object to make transferable.
|
|
3234
|
+
* @returns A `Transfer` from Threads.
|
|
3235
|
+
*/
|
|
3236
|
+
function makeTransferable(obj) {
|
|
3237
|
+
if (isTransferable(obj)) {
|
|
3238
|
+
return distExports.Transfer(obj);
|
|
3239
|
+
}
|
|
3240
|
+
else if (obj != null && typeof obj === 'object') {
|
|
3241
|
+
var transferables = findTransferables(obj);
|
|
3242
|
+
return distExports.Transfer(obj, transferables);
|
|
3243
|
+
}
|
|
3244
|
+
else {
|
|
3245
|
+
return obj;
|
|
3246
|
+
}
|
|
3247
|
+
}
|
|
3248
|
+
function findTransferables(obj) {
|
|
3249
|
+
if (isTransferable(obj)) {
|
|
3250
|
+
return [obj];
|
|
3251
|
+
}
|
|
3252
|
+
else if (typeof obj === 'object') {
|
|
3253
|
+
if (Array.isArray(obj)) {
|
|
3254
|
+
var result_1 = [];
|
|
3255
|
+
obj.forEach(function (o) { return result_1.push.apply(result_1, findTransferables(o)); });
|
|
3256
|
+
return result_1;
|
|
3257
|
+
}
|
|
3258
|
+
else if (isTypedArray(obj)) {
|
|
3259
|
+
return [obj.buffer];
|
|
3260
|
+
}
|
|
3261
|
+
else if (obj != null) {
|
|
3262
|
+
return Object.values(obj).reduce(function (acc, value) {
|
|
3263
|
+
acc.push.apply(acc, findTransferables(value));
|
|
3264
|
+
return acc;
|
|
3265
|
+
}, []);
|
|
3266
|
+
}
|
|
3267
|
+
else {
|
|
3268
|
+
return [];
|
|
3269
|
+
}
|
|
3270
|
+
}
|
|
3271
|
+
else {
|
|
3272
|
+
return [];
|
|
3273
|
+
}
|
|
3274
3274
|
}
|
|
3275
3275
|
|
|
3276
3276
|
const workerName = "png-decoder-worker.js";
|
|
@@ -3300,6 +3300,6 @@ function spawnPool(options) {
|
|
|
3300
3300
|
}
|
|
3301
3301
|
|
|
3302
3302
|
export { makeController, makeWorker, spawnPool, spawnWorker };
|
|
3303
|
-
//# sourceMappingURL=png-decoder-
|
|
3303
|
+
//# sourceMappingURL=png-decoder-CiunTuhu.js.map
|
|
3304
3304
|
|
|
3305
|
-
//# sourceMappingURL=png-decoder-
|
|
3305
|
+
//# sourceMappingURL=png-decoder-CiunTuhu.js.map
|