vue-cesium
Version:
Vue 3.x components for CesiumJS.
1 lines • 4.79 kB
Source Map (JSON)
{"version":3,"file":"TimelineTrack.mjs","sources":["../../../../../packages/shared/widgets/TimelineTrack.ts"],"sourcesContent":["/*\n * @Author: zouyaoji@https://github.com/zouyaoji\n * @Date: 2023-04-19 17:49:01\n * @Description: Do not edit\n * @LastEditors: zouyaoji 370681295@qq.com\n * @LastEditTime: 2023-04-21 09:11:21\n * @FilePath: \\vue-cesium@next\\packages\\shared\\widgets\\TimelineTrack.ts\n */\nexport default class TimelineTrack {\n interval: any\n height: any\n color: any\n backgroundColor: any\n constructor(interval, pixelHeight, color, backgroundColor) {\n const { Color } = Cesium\n this.interval = interval\n this.height = pixelHeight\n this.color = color || new Color(0.5, 0.5, 0.5, 1.0)\n this.backgroundColor = backgroundColor || new Color(0.0, 0.0, 0.0, 0.0)\n }\n\n render(context, renderState) {\n const { JulianDate, defined } = Cesium\n const startInterval = this.interval.start\n const stopInterval = this.interval.stop\n\n const spanStart = renderState.startJulian\n const spanStop = JulianDate.addSeconds(renderState.startJulian, renderState.duration, new JulianDate())\n\n if (JulianDate.lessThan(startInterval, spanStart) && JulianDate.greaterThan(stopInterval, spanStop)) {\n //The track takes up the entire visible span.\n context.fillStyle = this.color.toCssColorString()\n context.fillRect(0, renderState.y, renderState.timeBarWidth, this.height)\n } else if (JulianDate.lessThanOrEquals(startInterval, spanStop) && JulianDate.greaterThanOrEquals(stopInterval, spanStart)) {\n //The track only takes up some of the visible span, compute that span.\n let x\n let start, stop\n for (x = 0; x < renderState.timeBarWidth; ++x) {\n const currentTime = JulianDate.addSeconds(renderState.startJulian, (x / renderState.timeBarWidth) * renderState.duration, new JulianDate())\n if (!defined(start) && JulianDate.greaterThanOrEquals(currentTime, startInterval)) {\n start = x\n } else if (!defined(stop) && JulianDate.greaterThanOrEquals(currentTime, stopInterval)) {\n stop = x\n }\n }\n\n context.fillStyle = this.backgroundColor.toCssColorString()\n context.fillRect(0, renderState.y, renderState.timeBarWidth, this.height)\n\n if (defined(start)) {\n if (!defined(stop)) {\n stop = renderState.timeBarWidth\n }\n context.fillStyle = this.color.toCssColorString()\n context.fillRect(start, renderState.y, Math.max(stop - start, 1), this.height)\n }\n }\n }\n}\n"],"names":[],"mappings":"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"}