UNPKG

vue-cesium

Version:
1 lines 64.3 kB
{"version":3,"file":"cesium-props.mjs","sources":["../../../../packages/utils/cesium-props.ts"],"sourcesContent":["import { hasOwn, isObject, isFunction, isArray } from './util'\n\nimport {\n makeDistanceDisplayCondition,\n makeCartesian2,\n makeCartesian2Array,\n makeCartesian3,\n makeColor,\n makeColors,\n makeNearFarScalar,\n makeMaterial,\n makeCartesian3Array,\n makeRectangle,\n makeBoundingRectangle,\n makePlane,\n makePolygonHierarchy,\n makeTranslationRotationScale,\n makeQuaternion,\n makeOptions,\n makeAppearance,\n makeImageBasedLighting\n} from './cesium-helpers'\nimport type { PropType } from 'vue'\nimport type {\n VcPosition,\n VcRectangle,\n VcAppearance,\n VcColor,\n ProjectionTransforms,\n VcCallbackPropertyFunction,\n VcDistanceDisplayCondition,\n VcCartesian2,\n VcCartesian3Array,\n VcCartesian2Array,\n VcNearFarScalar,\n VcPolygonHierarchy,\n VcMaterial,\n VcBoundingRectangle,\n VcPlane,\n VcImageBasedLighting\n} from './types'\n\n// 下面属性作为实体加载时 可以传 Function\n// Entity start\n/**\n * @const {Object, Array, Function} position mixin\n * 坐标位置属性。\n * @example\n * :position = { lng: number, lat: number, height: number }\n * :position = { x: number, y: number, z: number }\n * :position = [number, number, number]\n */\nconst position = {\n /**\n * A Property specifying the entity position.\n */\n position: {\n type: [Object, Array, Function] as PropType<VcPosition>,\n watcherOptions: {\n cesiumObjectBuilder: makeCartesian3,\n deep: true // 在 use-common 中已将 SampledPositionProperty 类型的 deep 设为 false\n }\n }\n}\n\nconst viewFrom = {\n /**\n * A suggested initial offset for viewing this object.\n */\n viewFrom: {\n type: [Object, Array, Function] as PropType<VcPosition | Cesium.CallbackProperty>,\n watcherOptions: {\n cesiumObjectBuilder: makeCartesian3,\n deep: true\n }\n }\n}\n\n/**\n * @const {Object, Array, Function} orientation mixin\n */\nconst orientation = {\n orientation: {\n type: [Object, Array, Function] as PropType<Cesium.Quaternion>,\n watcherOptions: {\n cesiumObjectBuilder: makeQuaternion\n }\n }\n}\n// Entity end\n\n// BillboardGraphics start\n/**\n * @const {Object, Array, Function} alignedAxis mixin\n */\nconst alignedAxis = {\n alignedAxis: {\n type: [Object, Array, Function] as PropType<VcPosition>,\n default: () => {\n return {\n x: 0,\n y: 0,\n z: 0\n }\n },\n watcherOptions: {\n cesiumObjectBuilder: makeCartesian3\n }\n }\n}\n\n/**\n * @const {Object, String, Array, Function} color mixin\n */\nconst color = {\n color: {\n type: [Object, String, Array, Function] as PropType<VcColor>,\n default: 'white',\n watcherOptions: {\n cesiumObjectBuilder: makeColor\n }\n }\n}\nconst depthFailColor = {\n depthFailColor: {\n type: [Object, String, Array, Function] as PropType<VcColor>,\n default: 'white',\n watcherOptions: {\n cesiumObjectBuilder: makeColor\n }\n }\n}\n\n/**\n * @const {Number, Object, Function} disableDepthTestDistance mixin\n */\nconst disableDepthTestDistance = {\n disableDepthTestDistance: [Number, Object, Function] as PropType<number | Cesium.CallbackProperty | VcCallbackPropertyFunction<number>>\n}\n\n/**\n * @const {Object, Array, Function} distanceDisplayCondition mixin\n */\nconst distanceDisplayCondition = {\n distanceDisplayCondition: {\n type: [Object, Array, Function] as PropType<VcDistanceDisplayCondition>,\n watcherOptions: {\n cesiumObjectBuilder: makeDistanceDisplayCondition\n }\n }\n}\n\n/**\n * @const {Object, Array, Function} eyeOffset mixin\n */\nconst eyeOffset = {\n eyeOffset: {\n type: [Object, Array, Function] as PropType<VcPosition>,\n default: () => {\n return {\n x: 0,\n y: 0,\n z: 0\n }\n },\n watcherOptions: {\n cesiumObjectBuilder: makeCartesian3\n }\n }\n}\n\n/**\n * @const {Number, Object, Function} height mixin\n */\nconst height = {\n height: [Number, Object, Function] as PropType<number | Cesium.CallbackProperty | VcCallbackPropertyFunction<number>>\n}\n\n/**\n * @const {Number, Object, Function} heightReference mixin\n */\nconst heightReference = {\n heightReference: {\n type: [Number, Object, Function] as PropType<number | Cesium.HeightReference | Cesium.CallbackProperty | VcCallbackPropertyFunction<number>>\n // default: 0\n }\n}\n\n/**\n * @const {Number, Object, Function} horizontalOrigin mixin\n */\nconst horizontalOrigin = {\n horizontalOrigin: {\n type: [Number, Object, Function] as PropType<number | Cesium.HorizontalOrigin | Cesium.CallbackProperty | VcCallbackPropertyFunction<number>>,\n default: 0\n }\n}\n\n/**\n * @const {String, Object, HTMLCanvasElement, Function} image mixin\n */\nconst image = {\n image: [String, Object, HTMLCanvasElement, Function] as PropType<\n string | HTMLImageElement | HTMLCanvasElement | Cesium.CallbackProperty | VcCallbackPropertyFunction<string>\n >\n}\n\n/**\n * @const {Object, Array, Function} imageSubRegion mixin\n */\nconst imageSubRegion = {\n imageSubRegion: {\n type: [Object, Array, Function] as PropType<VcBoundingRectangle>,\n watcherOptions: {\n cesiumObjectBuilder: makeBoundingRectangle\n }\n }\n}\n\n/**\n * @const {Object, Array, Function} pixelOffset mixin\n */\nconst pixelOffset = {\n pixelOffset: {\n type: [Object, Array, Function] as PropType<VcCartesian2>,\n default: () => {\n return {\n x: 0,\n y: 0\n }\n },\n validator: v => {\n if (isArray(v)) {\n return v.length === 2\n }\n if (isObject(v)) {\n return hasOwn(v, 'x') && hasOwn(v, 'y')\n }\n\n if (isFunction(v)) {\n return true\n }\n\n return false\n },\n watcherOptions: {\n cesiumObjectBuilder: makeCartesian2\n }\n }\n}\n\n/**\n * @const {Object, Array, Function} pixelOffsetScaleByDistance mixin\n */\nconst pixelOffsetScaleByDistance = {\n pixelOffsetScaleByDistance: {\n type: [Object, Array, Function] as PropType<VcNearFarScalar>,\n watcherOptions: {\n cesiumObjectBuilder: makeNearFarScalar\n }\n }\n}\n\n/**\n * @const {Number, Object, Function} rotation mixin\n */\nconst rotation = {\n rotation: {\n type: [Number, Object, Function] as PropType<number | Cesium.CallbackProperty | VcCallbackPropertyFunction<number>>,\n default: 0\n }\n}\n\n/**\n * @const {Number, Object, Function} scale mixin\n */\nconst scale = {\n scale: {\n type: [Number, Object, Function] as PropType<number | Cesium.CallbackProperty | VcCallbackPropertyFunction<number>>,\n default: 1.0\n }\n}\n\n/**\n * @const {Object, Array, Function} scaleByDistance mixin\n */\nconst scaleByDistance = {\n scaleByDistance: {\n type: [Object, Array, Function] as PropType<VcNearFarScalar>,\n watcherOptions: {\n cesiumObjectBuilder: makeNearFarScalar\n }\n }\n}\n\n/**\n * @const {Boolean, Object, Function} show mixin\n */\nconst show = {\n show: {\n type: [Boolean, Object, Function] as PropType<boolean>,\n default: true\n }\n}\n\n/**\n * @const {Boolean, Object, Function} sizeInMeters mixin\n */\nconst sizeInMeters = {\n sizeInMeters: {\n type: [Boolean, Object, Function] as PropType<boolean | Cesium.CallbackProperty | VcCallbackPropertyFunction<boolean>>,\n default: false\n }\n}\n\n/**\n * @const {Object, Array, Function} translucencyByDistance mixin\n */\nconst translucencyByDistance = {\n translucencyByDistance: {\n type: [Object, Array, Function] as PropType<VcNearFarScalar>,\n watcherOptions: {\n cesiumObjectBuilder: makeNearFarScalar\n }\n }\n}\n\n/**\n * @const {Number, Object, Function} verticalOrigin mixin\n */\nconst verticalOrigin = {\n verticalOrigin: {\n type: [Number, Object, Function] as PropType<number | Cesium.VerticalOrigin | Cesium.CallbackProperty | VcCallbackPropertyFunction<number>>,\n default: 0\n }\n}\n\n/**\n * @const {Number, Object, Function} width mixin\n */\nconst width = {\n width: [Number, Object, Function] as PropType<number | Cesium.CallbackProperty | VcCallbackPropertyFunction<number>>\n}\n// BillboardGraphics end\n\n// BoxGraphics start\n/**\n * @const {Object, Array, Function} dimensions mixin\n * // 和 PlaneGraphics.dimensions 区分\n */\nconst dimensions = {\n dimensions: {\n type: [Object, Array, Function] as PropType<VcPosition>,\n watcherOptions: {\n cesiumObjectBuilder: makeCartesian3\n }\n }\n}\n\n/**\n * @const {Boolean, Object, Function} fill mixin\n */\nconst fill = {\n fill: {\n type: [Boolean, Object, Function] as PropType<boolean | Cesium.CallbackProperty | VcCallbackPropertyFunction<boolean>>,\n default: true\n }\n}\n\n/**\n * @const {Object, String, Array, Function} material mixin\n */\nconst material = {\n material: {\n type: [Object, String, Array, Function] as PropType<VcMaterial>,\n default: 'white',\n watcherOptions: {\n cesiumObjectBuilder: makeMaterial\n }\n }\n}\n\n/**\n * @const {Boolean, Object, Function} outline mixin\n */\nconst outline = {\n outline: {\n type: [Boolean, Object, Function] as PropType<boolean | Cesium.CallbackProperty | VcCallbackPropertyFunction<boolean>>,\n default: false\n }\n}\n\n/**\n * @const {Object, String, Array, Function} outlineColor mixin\n */\nconst outlineColor = {\n outlineColor: {\n type: [Object, String, Array, Function] as PropType<VcColor>,\n default: 'black',\n watcherOptions: {\n cesiumObjectBuilder: makeColor\n }\n }\n}\n\n/**\n * @const {Number, Object, Function} outlineWidth mixin\n */\nconst outlineWidth = {\n outlineWidth: {\n type: [Number, Object, Function] as PropType<number | Cesium.CallbackProperty | VcCallbackPropertyFunction<number>>,\n default: 1.0\n }\n}\n\n/**\n * @const {Number, Object, Function} shadows mixin\n */\nconst shadows = {\n shadows: [Number, Object, Function] as PropType<number | Cesium.ShadowMode | Cesium.CallbackProperty | VcCallbackPropertyFunction<number>>\n}\n// BoxGraphics end\n\n// CorridorGraphics start\n/**\n * @const {Array, Object, Function} positions mixin\n */\nconst positions = {\n positions: {\n type: [Array, Object, Function] as PropType<VcCartesian3Array>,\n watcherOptions: {\n cesiumObjectBuilder: makeCartesian3Array,\n exclude: '_callback',\n deep: true\n }\n }\n}\n\n/**\n * @const {Number, Object, Function} extrudedHeight mixin\n */\nconst extrudedHeight = {\n extrudedHeight: [Number, Object, Function] as PropType<number | Cesium.CallbackProperty | VcCallbackPropertyFunction<number>>\n}\n\n/**\n * @const {Number, Object, Function} extrudedHeightReference mixin\n */\nconst extrudedHeightReference = {\n extrudedHeightReference: [Number, Object, Function] as PropType<\n number | Cesium.HeightReference | Cesium.CallbackProperty | VcCallbackPropertyFunction<number>\n >\n}\n\n/**\n * @const {Number, Object, Function} cornerType mixin\n */\nconst cornerType = {\n cornerType: {\n type: [Number, Object, Function] as PropType<number | Cesium.CornerType | Cesium.CallbackProperty | VcCallbackPropertyFunction<number>>,\n default: 0\n }\n}\n\n/**\n * @const {Number, Object, Function} granularity mixin\n */\nconst granularity = {\n granularity: [Number, Object, Function] as PropType<number | Cesium.CallbackProperty | VcCallbackPropertyFunction<number>>\n}\n\n/**\n * @const {Number, Object, Function} classificationType mixin\n */\nconst classificationType = {\n classificationType: {\n type: [Number, Object, Function] as PropType<\n number | Cesium.ClassificationType | Cesium.CallbackProperty | VcCallbackPropertyFunction<Cesium.ClassificationType>\n >\n }\n}\n\n/**\n * @const {Number, Object, Function} zIndex mixin\n */\nconst zIndex = {\n zIndex: [Number, Object, Function] as PropType<number | Cesium.CallbackProperty | VcCallbackPropertyFunction<number>>\n}\n// CorridorGraphics end\n\n// CylinderGraphics start\n\n/**\n * @const {Number, Object, Function} length mixin\n */\nconst length = {\n length: [Number, Object, Function] as PropType<number | Cesium.CallbackProperty | VcCallbackPropertyFunction<number>>\n}\n\n/**\n * @const {Number, Object, Function} topRadius mixin\n */\nconst topRadius = {\n topRadius: [Number, Object, Function] as PropType<number | Cesium.CallbackProperty | VcCallbackPropertyFunction<number>>\n}\n\n/**\n * @const {Number, Object, Function} bottomRadius mixin\n */\nconst bottomRadius = {\n bottomRadius: [Number, Object, Function] as PropType<number | Cesium.CallbackProperty | VcCallbackPropertyFunction<number>>\n}\n\n/**\n * @const {Number, Object, Function} numberOfVerticalLines mixin\n */\nconst numberOfVerticalLines = {\n numberOfVerticalLines: {\n type: [Number, Object, Function] as PropType<number | Cesium.CallbackProperty | VcCallbackPropertyFunction<number>>,\n default: 16\n }\n}\n\n/**\n * @const {Number, Object, Function} slices mixin\n */\nconst slices = {\n slices: {\n type: [Number, Object, Function] as PropType<number | Cesium.CallbackProperty | VcCallbackPropertyFunction<number>>,\n default: 128\n }\n}\n// CylinderGraphics end\n\n// EllipseGraphics start\n/**\n * @const {Number, Object, Function} semiMajorAxis mixin\n */\nconst semiMajorAxis = {\n semiMajorAxis: [Number, Object, Function] as PropType<number | Cesium.CallbackProperty | VcCallbackPropertyFunction<number>>\n}\n\n/**\n * @const {Number, Object, Function} semiMinorAxis mixin\n */\nconst semiMinorAxis = {\n semiMinorAxis: [Number, Object, Function] as PropType<number | Cesium.CallbackProperty | VcCallbackPropertyFunction<number>>\n}\n\n/**\n * @const {Number, Object, Function} stRotation mixin\n */\nconst stRotation = {\n stRotation: {\n type: [Number, Object, Function] as PropType<number | Cesium.CallbackProperty | VcCallbackPropertyFunction<number>>,\n default: 0.0\n }\n}\n// EllipseGraphics end\n\n// EllipsoidGraphics start\n/**\n * @const {Number, Object, Function} radii mixin\n */\nconst radii = {\n radii: {\n type: [Object, Array, Function] as PropType<VcPosition>,\n watcherOptions: {\n cesiumObjectBuilder: makeCartesian3\n }\n }\n}\n\n/**\n * @const {Object, Array, Function} innerRadii mixin\n */\nconst innerRadii = {\n innerRadii: {\n type: [Object, Array, Function] as PropType<VcPosition>,\n watcherOptions: {\n cesiumObjectBuilder: makeCartesian3\n }\n }\n}\n\n/**\n * @const {Number, Object, Function} minimumClock mixin\n */\nconst minimumClock = {\n minimumClock: {\n type: [Number, Object, Function] as PropType<number | Cesium.CallbackProperty | VcCallbackPropertyFunction<number>>,\n default: 0.0\n }\n}\n/**\n * @const {Number, Object, Function} maximumClock mixin\n */\nconst maximumClock = {\n maximumClock: {\n type: [Number, Object, Function] as PropType<number | Cesium.CallbackProperty | VcCallbackPropertyFunction<number>>,\n default: 2 * Math.PI\n }\n}\n/**\n * @const {Number, Object, Function} minimumCone mixin\n */\nconst minimumCone = {\n minimumCone: {\n type: [Number, Object, Function] as PropType<number | Cesium.CallbackProperty | VcCallbackPropertyFunction<number>>,\n default: 0.0\n }\n}\n/**\n * @const {Number, Object, Function} maximumCone mixin\n */\nconst maximumCone = {\n maximumCone: {\n type: [Number, Object, Function] as PropType<number | Cesium.CallbackProperty | VcCallbackPropertyFunction<number>>,\n default: Math.PI\n }\n}\n\n/**\n * @const {Number, Object, Function} stackPartitions mixin\n */\nconst stackPartitions = {\n stackPartitions: {\n type: [Number, Object, Function] as PropType<number | Cesium.CallbackProperty | VcCallbackPropertyFunction<number>>,\n default: 64\n }\n}\n\n/**\n * @const {Number, Object, Function} slicePartitions mixin\n */\nconst slicePartitions = {\n slicePartitions: {\n type: [Number, Object, Function] as PropType<number | Cesium.CallbackProperty | VcCallbackPropertyFunction<number>>,\n default: 64\n }\n}\n\n/**\n * @const {Number, Object, Function} subdivisions mixin\n */\nconst subdivisions = {\n subdivisions: {\n type: [Number, Object, Function] as PropType<number | Cesium.CallbackProperty | VcCallbackPropertyFunction<number>>,\n default: 128\n }\n}\n// EllipsoidGraphics end\n\n// LabelGraphics start\n/**\n * @const {String, Object, Function} text mixin\n */\nconst text = {\n text: [String, Object, Function] as PropType<string | Cesium.CallbackProperty | VcCallbackPropertyFunction<number>>\n}\n\n/**\n * @const {String, Object, Function} font mixin\n */\nconst font = {\n font: {\n type: [String, Object, Function] as PropType<string | Cesium.CallbackProperty | VcCallbackPropertyFunction<number>>,\n default: '30px sans-serif'\n }\n}\n\n/**\n * @const {Number, Object, Function} labelStyle mixin\n */\nconst labelStyle = {\n labelStyle: {\n type: [Number, Object, Function] as PropType<number | Cesium.LabelStyle | Cesium.CallbackProperty | VcCallbackPropertyFunction<number>>,\n default: 0\n }\n}\n\n/**\n * @const {Boolean, Object, Function} showBackground mixin\n */\nconst showBackground = {\n showBackground: {\n type: [Boolean, Object, Function],\n default: false\n }\n}\n\n/**\n * @const {Object, String, Array, Function} backgroundColor mixin\n */\nconst backgroundColor = {\n backgroundColor: {\n type: [Object, String, Array, Function] as PropType<VcColor>,\n default: () => {\n return { x: 0.165, y: 0.165, z: 0.165, w: 0.8 }\n },\n watcherOptions: {\n cesiumObjectBuilder: makeColor\n }\n }\n}\n\n/**\n * @const {Object, Array, Function} backgroundPadding mixin\n */\nconst backgroundPadding = {\n backgroundPadding: {\n type: [Object, Array, Function] as PropType<VcCartesian2>,\n default: () => {\n return { x: 7, y: 5 }\n },\n watcherOptions: {\n cesiumObjectBuilder: makeCartesian2\n }\n }\n}\n\n/**\n * @const {Object, String, Array, Function} fillColor mixin\n */\nconst fillColor = {\n fillColor: {\n type: [Object, String, Array, Function] as PropType<VcColor>,\n default: 'white',\n watcherOptions: {\n cesiumObjectBuilder: makeColor\n }\n }\n}\n// LabelGraphics end\n\n// ModelGraphics start\n/**\n * @const {String, Object, Function} uri mixin\n */\nconst uri = {\n uri: [String, Object, Function] as PropType<string | Cesium.Resource | Cesium.CallbackProperty | VcCallbackPropertyFunction<string>>\n}\n\n/**\n * @const {Number, Object, Function} minimumPixelSize mixin\n */\nconst minimumPixelSize = {\n minimumPixelSize: {\n type: [Number, Object, Function] as PropType<number | Cesium.CallbackProperty | VcCallbackPropertyFunction<number>>,\n default: 0.0\n }\n}\n\n/**\n * @const {Number, Object, Function} maximumScale mixin\n */\nconst maximumScale = {\n maximumScale: [Number, Object, Function]\n}\n\n/**\n * @const {Boolean, Object, Function} incrementallyLoadTextures mixin\n */\nconst incrementallyLoadTextures = {\n incrementallyLoadTextures: {\n type: [Boolean, Object, Function] as PropType<boolean | Cesium.CallbackProperty | VcCallbackPropertyFunction<boolean>>,\n default: true\n }\n}\n\n/**\n * @const {Boolean, Object, Function} clampAnimations mixin\n */\nconst runAnimations = {\n clampAnimations: {\n type: [Boolean, Object, Function] as PropType<boolean | Cesium.CallbackProperty | VcCallbackPropertyFunction<boolean>>,\n default: true\n }\n}\n\n/**\n * @const {Boolean, Object, Function} clampAnimations mixin\n */\nconst clampAnimations = {\n clampAnimations: {\n type: [Boolean, Object, Function] as PropType<boolean | Cesium.CallbackProperty | VcCallbackPropertyFunction<boolean>>,\n default: true\n }\n}\n\n/**\n * @const {Object, String, Array, Function} silhouetteColor mixin\n */\nconst silhouetteColor = {\n silhouetteColor: {\n type: [Object, String, Array, Function] as PropType<VcColor>,\n watcherOptions: {\n cesiumObjectBuilder: makeColor\n }\n }\n}\n\n/**\n * @const {Number, Object, Function} silhouetteSize mixin\n */\nconst silhouetteSize = {\n silhouetteSize: {\n type: [Number, Object, Function] as PropType<number | Cesium.CallbackProperty | VcCallbackPropertyFunction<number>>,\n default: 0.0\n }\n}\n\n/**\n * @const {Number, Object, Function} colorBlendMode mixin\n */\nconst colorBlendMode = {\n colorBlendMode: {\n type: [Number, Object, Function] as PropType<number | Cesium.ColorBlendMode | Cesium.CallbackProperty | VcCallbackPropertyFunction<number>>,\n default: 0\n }\n}\n\n/**\n * @const {Number, Object, Function} colorBlendAmount mixin\n */\nconst colorBlendAmount = {\n colorBlendAmount: {\n type: [Number, Object, Function] as PropType<number | Cesium.CallbackProperty | VcCallbackPropertyFunction<number>>,\n default: 0.5\n }\n}\n\n/**\n * @const {Object, Array, Function} imageBasedLightingFactor mixin\n */\nconst imageBasedLightingFactor = {\n imageBasedLightingFactor: {\n type: [Object, Array, Function] as PropType<VcCartesian2>,\n default: () => [1.0, 1.0],\n watcherOptions: {\n cesiumObjectBuilder: makeCartesian2\n }\n }\n}\n\n/**\n * @const {Object, String, Array, Function} lightColor mixin\n * 注意区别 Cesium3DTileset 的 lightColor\n */\nconst lightColor = {\n lightColor: {\n type: [Object, String, Array, Function] as PropType<VcColor>,\n watcherOptions: {\n cesiumObjectBuilder: makeColor\n }\n }\n}\n\n/**\n * @const {Object, Function} nodeTransformations mixin\n */\nconst nodeTransformations = {\n nodeTransformations: {\n type: [Object, Function] as PropType<Cesium.TranslationRotationScale>,\n watcherOptions: {\n cesiumObjectBuilder: makeTranslationRotationScale\n }\n }\n}\n\n/**\n * @const {Object, Function} articulations mixin\n */\nconst articulations = {\n articulations: [Object, Function]\n}\n\n/**\n * @const {Object} clippingPlanes mixin\n */\nconst clippingPlanes = {\n clippingPlanes: [Object, Function] as PropType<Cesium.ClippingPlaneCollection | VcCallbackPropertyFunction<Cesium.ClippingPlaneCollection>>\n}\n// ModelGraphics end\n\n// PathGraphics start\n// PathGraphics end\n\n// PlaneGraphics start\n/**\n * @const {Object, Array, Function} plane mixin\n */\nconst plane = {\n plane: {\n type: [Object, Array, Function] as PropType<VcPlane>,\n watcherOptions: {\n cesiumObjectBuilder: makePlane\n }\n }\n}\n// PlaneGraphics end\n\n// PointGraphics start\n/**\n * @const {Number, Object, Function} pixelSize mixin\n */\nconst pixelSize = {\n pixelSize: {\n type: [Number, Object, Function] as PropType<number | Cesium.CallbackProperty | VcCallbackPropertyFunction<number>>,\n default: 1\n }\n}\n// PointGraphics end\n\n// PolygonGraphics start\n\n/**\n * @const {Object, Array, Function} hierarchy mixin\n */\nconst hierarchy = {\n hierarchy: {\n type: [Object, Array, Function] as PropType<VcPolygonHierarchy>,\n watcherOptions: {\n cesiumObjectBuilder: makePolygonHierarchy,\n deep: true,\n exclude: '_callback'\n }\n }\n}\n\n/**\n * @const {Boolean, Object, Function} perPositionHeight mixin\n */\nconst perPositionHeight = {\n perPositionHeight: {\n type: [Boolean, Object, Function] as PropType<boolean | Cesium.CallbackProperty | VcCallbackPropertyFunction<boolean>>,\n default: false\n }\n}\n\n/**\n * @const {Boolean, Object, Function} closeTop mixin\n */\nconst closeTop = {\n closeTop: {\n type: [Boolean, Object, Function] as PropType<boolean | Cesium.CallbackProperty | VcCallbackPropertyFunction<boolean>>,\n default: true\n }\n}\n\n/**\n * @const {Boolean, Object, Function} closeBottom mixin\n */\nconst closeBottom = {\n closeBottom: {\n type: [Boolean, Object, Function] as PropType<boolean | Cesium.CallbackProperty | VcCallbackPropertyFunction<boolean>>,\n default: true\n }\n}\n\n/**\n * @const {Number, Object, Function} arcType mixin\n */\nconst arcType = {\n arcType: {\n type: [Number, Object, Function] as PropType<number | Cesium.ArcType | Cesium.CallbackProperty | VcCallbackPropertyFunction<number>>,\n default: 1\n }\n}\n// PolygonGraphics end\n\n// PolylineGraphics start\n/**\n * @const {Object, String, Array, Function} depthFailMaterial mixin\n */\nconst depthFailMaterial = {\n depthFailMaterial: {\n type: [Object, String, Array, Function] as PropType<VcMaterial>,\n watcherOptions: {\n cesiumObjectBuilder: makeMaterial\n }\n }\n}\n\n/**\n * @const {Boolean, Object, Function} clampToGround mixin\n */\nconst clampToGround = {\n clampToGround: {\n type: [Boolean, Object, Function] as PropType<boolean | Cesium.CallbackProperty | VcCallbackPropertyFunction<boolean>>,\n default: false\n }\n}\n// PolylineGraphics end\n\n// PolylineVolumeGraphics start\n/**\n * @const {Array, Object, Function} shape mixin\n */\nconst shape = {\n shape: {\n type: [Array, Object, Function] as PropType<VcCartesian2Array>,\n watcherOptions: {\n cesiumObjectBuilder: makeCartesian2Array\n }\n }\n}\n// PolylineVolumeGraphics end\n\n// RectangleGraphics start\n/**\n * @const {Object, Array, Function} coordinates mixin\n */\nconst coordinates = {\n coordinates: {\n type: [Object, Array, Function] as PropType<VcRectangle>,\n watcherOptions: {\n cesiumObjectBuilder: makeRectangle\n }\n }\n}\n// RectangleGraphics end\n\n// Cesium3DTilesetGraphics start\n/**\n * @const {Number, Object, Function} maximumScreenSpaceError mixin\n */\nconst maximumScreenSpaceError = {\n maximumScreenSpaceError: {\n type: [Number, Object, Function] as PropType<number | Cesium.CallbackProperty | VcCallbackPropertyFunction<number>>,\n default: 16\n }\n}\n// Cesium3DTilesetGraphics end\n\n// WallGraphics start\n/**\n * @const {Array, Object, Function} minimumHeights mixin\n */\nconst minimumHeights = {\n minimumHeights: [Array, Object, Function] as PropType<number[] | Cesium.CallbackProperty | VcCallbackPropertyFunction<number[]>>\n}\n\n/**\n * @const {Array, Object, Function} maximumHeights mixin\n */\nconst maximumHeights = {\n maximumHeights: [Array, Object, Function] as PropType<number[] | Cesium.CallbackProperty | VcCallbackPropertyFunction<number[]>>\n}\n// WallGraphics end\n// Entity end\n\n// ImageryLayer start\n/**\n * @const {Object, Array} cutoutRectangle mixin\n */\nconst cutoutRectangle = {\n cutoutRectangle: {\n type: [Object, Array] as PropType<VcRectangle>,\n watcherOptions: {\n cesiumObjectBuilder: makeRectangle\n }\n }\n}\n\n/**\n * @const {Object, String, Array} colorToAlpha mixin\n */\nconst colorToAlpha = {\n colorToAlpha: {\n type: [Object, String, Array] as PropType<VcColor>,\n watcherOptions: {\n cesiumObjectBuilder: makeColor\n }\n }\n}\n// ImageryLayer end\n\n// imageryProvider\n/**\n * @const {String, Object} url mixin\n */\nconst url = {\n url: [String, Object] as PropType<string | Cesium.Resource>\n}\n\n/**\n * @const {String} token mixin\n */\nconst token = {\n token: String\n}\n\n/**\n * @const {Object} tileDiscardPolicy mixin\n */\nconst tileDiscardPolicy = {\n tileDiscardPolicy: Object as PropType<Cesium.DiscardMissingTileImagePolicy | Cesium.NeverTileDiscardPolicy>\n}\n\n/**\n * @const {String} layers mixin\n */\nconst layers = {\n layers: String\n}\n\n/**\n * @const {Boolean} enablePickFeatures mixin\n */\nconst enablePickFeatures = {\n enablePickFeatures: {\n type: Boolean,\n default: true\n }\n}\n\n/**\n * @const {Object, Array} rectangle mixin\n */\nconst rectangle = {\n rectangle: {\n type: [Object, Array] as PropType<VcRectangle>,\n watcherOptions: {\n cesiumObjectBuilder: makeRectangle\n }\n }\n}\n\n/**\n * @const {Object} tilingScheme mixin\n */\nconst tilingScheme = {\n tilingScheme: Object as PropType<Cesium.GeographicTilingScheme | Cesium.WebMercatorTilingScheme>\n}\n\n/**\n * @const {Object} ellipsoid mixin\n */\nconst ellipsoid = {\n ellipsoid: Object as PropType<Cesium.Ellipsoid>\n}\n\n/**\n * @const {String, Object} credit mixin\n */\nconst credit = {\n credit: {\n type: [String, Object] as PropType<string | Cesium.Credit>,\n default: ''\n }\n}\n\n/**\n * @const {Number} tileWidth mixin\n */\nconst tileWidth = {\n tileWidth: {\n type: Number,\n default: 256\n }\n}\n\n/**\n * @const {Number} tileHeight mixin\n */\nconst tileHeight = {\n tileHeight: {\n type: Number,\n default: 256\n }\n}\n\n/**\n * @const {Number} maximumLevel mixin\n */\nconst maximumLevel = {\n maximumLevel: Number\n}\n\n/**\n * @const {Number} minimumLevel mixin\n */\nconst minimumLevel = {\n minimumLevel: {\n type: Number,\n default: 0\n }\n}\n\n/**\n * @const {String} fileExtension mixin\n */\nconst fileExtension = {\n fileExtension: {\n type: String,\n default: 'png'\n }\n}\n\n/**\n * @const {String} accessToken mixin\n */\nconst accessToken = {\n accessToken: String\n}\n\n/**\n * @const {String} format mixin\n */\nconst format = {\n format: {\n type: String,\n default: 'png'\n }\n}\n\n/**\n * @const {String, Array} subdomains mixin\n */\nconst subdomains = {\n subdomains: [String, Array] as PropType<string | Array<string>>\n}\n\n/**\n * @const {Array} getFeatureInfoFormats mixin\n */\nconst getFeatureInfoFormats = {\n getFeatureInfoFormats: Array as PropType<Array<Cesium.GetFeatureInfoFormat>>\n}\n\n/**\n * @const {Object} clock mixin\n */\nconst clock = {\n clock: Object as PropType<Cesium.Clock>\n}\n\n/**\n * @const {Object} times mixin\n */\nconst times = {\n times: Object as PropType<Cesium.TimeIntervalCollection>\n}\n\nconst projectionTransforms = {\n projectionTransforms: {\n type: [Boolean, Object] as PropType<false | ProjectionTransforms>,\n default: false\n }\n}\n// primitive 相关\nconst customShader = {\n customShader: {\n type: Object as PropType<Cesium.CustomShader>\n }\n}\n\nconst maximumMemoryUsage = {\n maximumMemoryUsage: {\n type: Number,\n default: 256\n }\n}\n\n/**\n * @const {Object, String, Array} startColor mixin\n */\nconst defaultColor = {\n defaultColor: {\n type: [Object, String, Array] as PropType<VcColor>,\n watcherOptions: {\n cesiumObjectBuilder: makeColor\n }\n }\n}\n\nconst tileStyle = {\n tileStyle: {\n type: Object as PropType<Cesium.Cesium3DTileStyle>\n }\n}\n\n/**\n * @const {Boolean}\n * allowPicking\n */\nconst allowPicking = {\n allowPicking: {\n type: Boolean,\n default: true\n }\n}\n\n/**\n * @const {Boolean}\n * asynchronous\n */\nconst asynchronous = {\n asynchronous: {\n type: Boolean,\n default: true\n }\n}\n\n/**\n * @const {Boolean} debugShowShadowVolume mixin\n */\nconst debugShowShadowVolume = {\n debugShowShadowVolume: {\n type: Boolean,\n default: false\n }\n}\n\n/**\n * @const {Boolean} releaseGeometryInstances mixin\n */\nconst releaseGeometryInstances = {\n releaseGeometryInstances: {\n type: Boolean,\n default: true\n }\n}\n\n/**\n * @const {Boolean} interleave mixin\n */\nconst interleave = {\n interleave: {\n type: Boolean,\n default: false\n }\n}\n\n/**\n * @const {Object} appearance mixin\n */\nconst appearance = {\n appearance: {\n type: Object as PropType<VcAppearance>,\n watcherOptions: {\n cesiumObjectBuilder: makeAppearance,\n deep: true // 在 use-common 中已将 CesiumAppearance 类型的 deep 设为 false\n }\n }\n}\n\nconst depthFailAppearance = {\n depthFailAppearance: {\n type: Object as PropType<VcAppearance>,\n watcherOptions: {\n cesiumObjectBuilder: makeAppearance,\n deep: true\n }\n }\n}\n\n/**\n * @const {Array, Object} geometryInstances mixin\n */\nconst geometryInstances = {\n geometryInstances: [Array, Object] as PropType<Cesium.GeometryInstance | Array<Cesium.GeometryInstance>>\n}\n\n/**\n * @const {Boolean}\n * vertexCacheOptimize\n */\nconst vertexCacheOptimize = {\n vertexCacheOptimize: {\n type: Boolean,\n default: false\n }\n}\n/**\n * @const {Boolean}\n * compressVertices\n */\nconst compressVertices = {\n compressVertices: {\n type: Boolean,\n default: true\n }\n}\n\n/**\n * @const {Object} modelMatrix mixin\n */\nconst modelMatrix = {\n modelMatrix: Object as PropType<Cesium.Matrix4>\n}\n\n/**\n * @const {Boolean} debugShowBoundingVolume mixin\n */\nconst debugShowBoundingVolume = {\n debugShowBoundingVolume: {\n tyep: Boolean,\n default: false\n }\n}\n\n/**\n * @const {Object} scene mixin\n */\nconst scene = {\n scene: Object as PropType<Cesium.Scene>\n}\n\n/**\n * @const {Number} blendOption mixin\n */\nconst blendOption = {\n blendOption: {\n type: Number as PropType<number | Cesium.BlendOption>,\n default: 2\n }\n}\n\n/**\n * @const {*} id mixin\n */\nconst id = {\n id: null as unknown as PropType<any>\n}\n\n/**\n * @const {Boolean} loop mixin\n */\nconst loop = {\n loop: {\n type: Boolean,\n default: false\n }\n}\n\n/**\n * @const {Boolean} debugWireframe mixin\n */\nconst debugWireframe = {\n debugWireframe: {\n type: Boolean,\n default: false\n }\n}\n\n// geometry 相关\n\n/**\n * @const {Object} vertexFormat mixin\n */\nconst vertexFormat = {\n vertexFormat: Object as PropType<Cesium.VertexFormat>\n}\n\n/**\n * @const {Object, Array} center mixin\n */\nconst center = {\n /**\n * center\n */\n center: {\n type: [Object, Array] as PropType<VcPosition>,\n watcherOptions: {\n cesiumObjectBuilder: makeCartesian3\n }\n }\n}\n\n/**\n * @const {Object} radius mixin\n */\nconst radius = {\n radius: Number\n}\n\n/**\n * @const {Object} frustum mixin\n */\nconst frustum = {\n frustum: Object as PropType<Cesium.PerspectiveFrustum | Cesium.OrthographicFrustum>\n}\n\n/**\n * @const {Object, Array} origin mixin\n */\nconst origin = {\n origin: {\n type: [Object, Array] as PropType<VcPosition>,\n watcherOptions: {\n cesiumObjectBuilder: makeCartesian3\n }\n }\n}\n\n/**\n * @const {Object} polygonHierarchy mixin\n */\nconst polygonHierarchy = {\n polygonHierarchy: {\n type: [Object, Array] as PropType<VcPolygonHierarchy>,\n watcherOptions: {\n cesiumObjectBuilder: makePolygonHierarchy,\n deep: true\n }\n }\n}\n\n/**\n * @const {Object, String, Array} startColor mixin\n */\nconst startColor = {\n startColor: {\n type: [Object, String, Array] as PropType<VcColor>,\n watcherOptions: {\n cesiumObjectBuilder: makeColor\n }\n }\n}\n\n/**\n * @const {Object, String, Array} endColor mixin\n */\nconst endColor = {\n endColor: {\n type: [Object, String, Array] as PropType<VcColor>,\n watcherOptions: {\n cesiumObjectBuilder: makeColor\n }\n }\n}\n\n/**\n * @const {Object, Array} minimumImageSize mixin\n */\nconst minimumImageSize = {\n minimumImageSize: {\n type: [Object, Array] as PropType<VcCartesian2>,\n watcherOptions: {\n cesiumObjectBuilder: makeCartesian2\n }\n }\n}\n\n/**\n * @const {Object, Array} maximumImageSize mixin\n */\nconst maximumImageSize = {\n maximumImageSize: {\n type: [Object, Array] as PropType<VcCartesian2>,\n watcherOptions: {\n cesiumObjectBuilder: makeCartesian2\n }\n }\n}\n\n/**\n * @const {Object, Array} imageSize mixin\n */\nconst imageSize = {\n imageSize: {\n type: [Object, Array] as PropType<VcCartesian2>,\n watcherOptions: {\n cesiumObjectBuilder: makeCartesian2\n }\n }\n}\n\n/**\n * @const {Array} shapePositions mixin\n */\nconst shapePositions = {\n shapePositions: {\n type: Array as PropType<VcCartesian2Array>,\n watcherOptions: {\n cesiumObjectBuilder: makeCartesian2Array,\n deep: true\n }\n }\n}\n\n/**\n * @const {Array} polylinePositions mixin\n */\nconst polylinePositions = {\n polylinePositions: {\n type: Array as PropType<VcCartesian3Array>,\n watcherOptions: {\n cesiumObjectBuilder: makeCartesian3Array,\n deep: true\n }\n }\n}\n\n/**\n * @const {Object, String, Array} lightColor2 mixin\n * 用于 Cesium3DTileset 和 Model\n */\nconst lightColor2 = {\n lightColor: {\n type: [Object, Array] as PropType<VcPosition>,\n watcherOptions: {\n cesiumObjectBuilder: makeCartesian3\n }\n }\n}\n\n/**\n * @const {Number} luminanceAtZenith mixin\n */\nconst luminanceAtZenith = {\n luminanceAtZenith: {\n type: Number,\n default: 0.2\n }\n}\n\n/**\n * @const {Array, Object} sphericalHarmonicCoefficients mixin\n */\nconst sphericalHarmonicCoefficients = {\n sphericalHarmonicCoefficients: {\n type: [Array, Object] as PropType<VcCartesian3Array>,\n watcherOptions: {\n cesiumObjectBuilder: makeCartesian3Array\n }\n }\n}\n\n/**\n * @const {String} specularEnvironmentMaps mixin\n */\nconst specularEnvironmentMaps = {\n specularEnvironmentMaps: String\n}\n\nconst imageBasedLighting = {\n imageBasedLighting: {\n type: Object as PropType<VcImageBasedLighting>,\n watcherOptions: {\n cesiumObjectBuilder: makeImageBasedLighting\n }\n }\n}\n\n/**\n * @const {Boolean} backFaceCulling mixin\n */\nconst backFaceCulling = {\n backFaceCulling: {\n type: Boolean,\n default: true\n }\n}\n\nconst colors = {\n colors: {\n type: Array as PropType<Array<VcColor>>,\n watcherOptions: {\n cesiumObjectBuilder: makeColors,\n deep: true\n }\n }\n}\n\n// datasouce\n/**\n * @const {String, Object} data mixin\n */\nconst data = {\n data: {\n type: [String, Object] as PropType<string | Cesium.Resource>,\n required: true\n }\n}\n\nconst sourceUri = {\n sourceUri: {\n type: [String, Object] as PropType<string | Cesium.Resource>\n }\n}\n\n/**\n * @const {Object} options mixin\n */\nconst options = {\n options: {\n type: Object,\n watcherOptions: {\n cesiumObjectBuilder: makeOptions,\n deep: true\n }\n }\n}\n\n// PostProcessStage start\n/**\n * @const {String, Array, Object} glowColor mixin\n */\nconst glowColor = {\n glowColor: {\n type: [String, Array, Object] as PropType<VcColor>,\n default: () => [0.0, 1.0, 0.0, 0.05],\n watcherOptions: {\n cesiumObjectBuilder: makeColor\n }\n }\n}\n\n/**\n * @const {String, Array, Object} clearColor mixin\n */\nconst clearColor = {\n clearColor: {\n type: [String, Array, Object] as PropType<VcColor>,\n watcherOptions: {\n cesiumObjectBuilder: makeColor\n }\n }\n}\n\n/**\n * @const {Object, Array} scissorRectangle mixin\n */\nconst scissorRectangle = {\n scissorRectangle: {\n type: [Object, Array] as PropType<VcBoundingRectangle>,\n watcherOptions: {\n cesiumObjectBuilder: makeBoundingRectangle\n }\n }\n}\n\n// PostProcessStage end\n\n// custom\nconst enableMouseEvent = {\n enableMouseEvent: {\n type: Boolean,\n default: true\n }\n}\nexport {\n customShader,\n maximumMemoryUsage,\n tileStyle,\n defaultColor,\n viewFrom,\n projectionTransforms,\n sourceUri,\n colors,\n enableMouseEvent,\n backFaceCulling,\n imageBasedLighting,\n specularEnvironmentMaps,\n sphericalHarmonicCoefficients,\n luminanceAtZenith,\n maximumScreenSpaceError,\n runAnimations,\n articulations,\n scissorRectangle,\n clearColor,\n glowColor,\n options,\n data,\n imageSubRegion,\n coordinates,\n nodeTransformations,\n hierarchy,\n plane,\n colorToAlpha,\n cutoutRectangle,\n polylinePositions,\n shapePositions,\n imageSize,\n maximumImageSize,\n minimumImageSize,\n endColor,\n startColor,\n shape,\n lightColor,\n lightColor2,\n imageBasedLightingFactor,\n polygonHierarchy,\n orientation,\n origin,\n frustum,\n maximumCone,\n minimumCone,\n maximumClock,\n minimumClock,\n innerRadii,\n radius,\n center,\n debugWireframe,\n vertexFormat,\n position,\n loop,\n geometryInstances,\n depthFailAppearance,\n appearance,\n interleave,\n releaseGeometryInstances,\n debugShowShadowVolume,\n id,\n allowPicking,\n asynchronous,\n vertexCacheOptimize,\n compressVertices,\n modelMatrix,\n debugShowBoundingVolume,\n scene,\n blendOption,\n maximumHeights,\n minimumHeights,\n arcType,\n clampToGround,\n closeBottom,\n closeTop,\n perPositionHeight,\n pixelSize,\n clippingPlanes,\n colorBlendAmount,\n colorBlendMode,\n silhouetteSize,\n silhouetteColor,\n clampAnimations,\n incrementallyLoadTextures,\n maximumScale,\n minimumPixelSize,\n uri,\n fillColor,\n backgroundPadding,\n backgroundColor,\n showBackground,\n labelStyle,\n font,\n text,\n subdivisions,\n slicePartitions,\n stackPartitions,\n radii,\n stRotation,\n semiMinorAxis,\n semiMajorAxis,\n slices,\n numberOfVerticalLines,\n bottomRadius,\n topRadius,\n length,\n zIndex,\n classificationType,\n granularity,\n cornerType,\n extrudedHeightReference,\n extrudedHeight,\n positions,\n image,\n scale,\n pixelOffset,\n eyeOffset,\n horizontalOrigin,\n verticalOrigin,\n heightReference,\n depthFailColor,\n color,\n rotation,\n alignedAxis,\n sizeInMeters,\n width,\n height,\n scaleByDistance,\n translucencyByDistance,\n pixelOffsetScaleByDistance,\n disableDepthTestDistance,\n dimensions,\n fill,\n depthFailMaterial,\n material,\n outline,\n outlineColor,\n outlineWidth,\n shadows,\n distanceDisplayCondition,\n show,\n times,\n clock,\n getFeatureInfoFormats,\n subdomains,\n format,\n accessToken,\n fileExtension,\n minimumLevel,\n maximumLevel,\n tileHeight,\n url,\n token,\n tileDiscardPolicy,\n layers,\n enablePickFeatures,\n rectangle,\n tilingScheme,\n ellipsoid,\n credit,\n tileWidth\n}\n"],"names":[],"mappings":"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