vue-cesium-jyt
Version:
Vue 3.x components for CesiumJS.
1 lines • 13.4 kB
Source Map (JSON)
{"version":3,"file":"index.mjs","sources":["../../../../../../packages/components/primitives/tileset/index.ts"],"sourcesContent":["import type { ExtractPropTypes, PropType } from 'vue'\nimport { createCommentVNode, defineComponent, getCurrentInstance } from 'vue'\nimport type { VcComponentInternalInstance, VcComponentPublicInstance } from '@vue-cesium/utils/types'\nimport { usePrimitives } from '@vue-cesium/composables'\nimport {\n show,\n modelMatrix,\n shadows,\n maximumScreenSpaceError,\n clippingPlanes,\n classificationType,\n ellipsoid,\n imageBasedLightingFactor,\n lightColor2,\n luminanceAtZenith,\n sphericalHarmonicCoefficients,\n specularEnvironmentMaps,\n backFaceCulling,\n debugWireframe,\n debugShowBoundingVolume,\n enableMouseEvent\n} from '@vue-cesium/utils/cesium-props'\nimport { kebabCase } from '@vue-cesium/utils/util'\nimport { primitiveEmits } from '@vue-cesium/utils/emits'\nconst emits = {\n ...primitiveEmits,\n allTilesLoaded: () => true,\n initialTilesLoaded: () => true,\n loadProgress: (numberOfPendingRequests: number, numberOfTilesProcessing: number) => true,\n tileFailed: (url: string, errorMsg: string) => true,\n tileLoad: (tile: Cesium.Cesium3DTile) => true,\n tileUnload: (tile: Cesium.Cesium3DTile) => true,\n tileVisible: (tile: Cesium.Cesium3DTile) => true\n}\n\nexport const tilesetPrimitiveProps = {\n url: [String, Object] as PropType<string | Promise<string> | Promise<Cesium.Resource> | Cesium.Resource>,\n ...show,\n ...modelMatrix,\n ...shadows,\n ...maximumScreenSpaceError,\n maximumMemoryUsage: {\n type: Number,\n default: 512\n },\n cullWithChildrenBounds: {\n type: Boolean,\n default: true\n },\n cullRequestsWhileMoving: {\n type: Boolean,\n default: true\n },\n cullRequestsWhileMovingMultiplier: {\n type: Number,\n default: 60.0\n },\n preloadWhenHidden: {\n type: Boolean,\n default: false\n },\n preloadFlightDestinations: {\n type: Boolean,\n default: true\n },\n preferLeaves: {\n type: Boolean,\n default: false\n },\n dynamicScreenSpaceError: {\n type: Boolean,\n default: false\n },\n dynamicScreenSpaceErrorDensity: {\n type: Number,\n default: 0.00278\n },\n dynamicScreenSpaceErrorFactor: {\n type: Number,\n default: 4.0\n },\n dynamicScreenSpaceErrorHeightFalloff: {\n type: Number,\n default: 0.25\n },\n progressiveResolutionHeightFraction: {\n type: Number,\n default: 0.3\n },\n foveatedScreenSpaceError: {\n type: Boolean,\n default: true\n },\n foveatedConeSize: {\n type: Number,\n default: 0.1\n },\n foveatedMinimumScreenSpaceErrorRelaxation: {\n type: Number,\n default: 0.0\n },\n foveatedInterpolationCallback: Function,\n foveatedTimeDelay: {\n type: Number,\n default: 0.2\n },\n skipLevelOfDetail: {\n type: Boolean,\n default: false\n },\n baseScreenSpaceError: {\n type: Number,\n default: 1024\n },\n skipScreenSpaceErrorFactor: {\n type: Number,\n default: 16\n },\n skipLevels: {\n type: Number,\n default: 1\n },\n immediatelyLoadDesiredLevelOfDetail: {\n type: Boolean,\n default: false\n },\n loadSiblings: {\n type: Boolean,\n default: false\n },\n ...clippingPlanes,\n ...classificationType,\n ...ellipsoid,\n pointCloudShading: Object,\n ...imageBasedLightingFactor,\n ...lightColor2,\n ...luminanceAtZenith,\n ...sphericalHarmonicCoefficients,\n ...specularEnvironmentMaps,\n ...backFaceCulling,\n showOutline: {\n type: Boolean,\n default: true\n },\n vectorClassificationOnly: {\n type: Boolean,\n default: false\n },\n vectorKeepDecodedPositions: {\n type: Boolean,\n default: false\n },\n debugHeatmapTilePropertyName: String,\n debugFreezeFrame: {\n type: Boolean,\n default: false\n },\n debugColorizeTiles: {\n type: Boolean,\n default: false\n },\n ...debugWireframe,\n ...debugShowBoundingVolume,\n debugShowContentBoundingVolume: {\n type: Boolean,\n default: false\n },\n debugShowViewerRequestVolume: {\n type: Boolean,\n default: false\n },\n debugShowGeometricError: {\n type: Boolean,\n default: false\n },\n debugShowRenderingStatistics: {\n type: Boolean,\n default: false\n },\n debugShowMemoryUsage: {\n type: Boolean,\n default: false\n },\n debugShowUrl: {\n type: Boolean,\n default: false\n },\n ...enableMouseEvent,\n enableModelExperimental: {\n type: Boolean,\n default: false\n },\n customShader: {\n type: Object as PropType<Cesium.CustomShader>\n },\n properties: {\n type: Array as PropType<\n Array<{\n key: string\n keyValue: any\n propertyName: string\n propertyValue: any\n }>\n >\n },\n fragmentShader: String,\n replaceFS: Boolean\n}\nexport default defineComponent({\n name: 'VcPrimitiveTileset',\n props: tilesetPrimitiveProps,\n emits: emits,\n setup(props, ctx) {\n // state\n const instance = getCurrentInstance() as VcComponentInternalInstance\n instance.cesiumClass = 'Cesium3DTileset'\n instance.cesiumEvents = ['allTilesLoaded', 'initialTilesLoaded', 'loadProgress', 'tileFailed', 'tileLoad', 'tileUnload', 'tileVisible']\n usePrimitives(props, ctx, instance)\n ;(instance.proxy as VcComponentPublicInstance).createPromise.then(obj => {\n const tileset = obj.cesiumObject as Cesium.Cesium3DTileset\n instance.removeCallbacks.push(tileset.tileVisible.addEventListener(updateTile))\n })\n\n const updateTile = (tile: Cesium.Cesium3DTile) => {\n const content = tile.content\n const model = (content as any)._model\n // sets properties\n for (let i = 0; i < content.featuresLength; i++) {\n const feature = content.getFeature(i)\n if (props.properties && props.properties.length) {\n props.properties.forEach(property => {\n if (feature.hasProperty(property['key']) && feature.getProperty(property['key']) === property['keyValue']) {\n feature.setProperty(property['propertyName'], property['propertyValue'])\n }\n })\n }\n }\n // sets fragmentShader\n if (props.fragmentShader && model && model._sourcePrograms && model._rendererResources) {\n Object.keys(model._sourcePrograms).forEach(key => {\n const program = model._sourcePrograms[key]\n const sourceShaders = model._rendererResources.sourceShaders\n if (props.replaceFS) {\n sourceShaders[program.fragmentShader] = props.fragmentShader\n } else {\n const oldFS = sourceShaders[program.fragmentShader]\n sourceShaders[program.fragmentShader] = oldFS.replace(\n 'gl_FragColor = vec4(color, 1.0);\\n}',\n `gl_FragColor = vec4(color, 1.0);\n ${props.fragmentShader}\\n}\n `\n )\n }\n })\n model._shouldRegenerateShaders = true\n }\n }\n return () => createCommentVNode(kebabCase(instance.proxy?.$options.name || ''))\n }\n})\n\nexport type VcPrimitiveTilesetProps = ExtractPropTypes<typeof tilesetPrimitiveProps>\nexport type VcPrimitiveTilesetEmits = typeof emits\n"],"names":[],"mappings":"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"}