Commit a2f796f9 by yzh

Merge branch 'develop' of ssh://47.96.160.63:10022/jlc/cesium-frame into develop

parents 3a255e5c 0c9b0815
......@@ -11,6 +11,7 @@ import vueCodeVehicle from '@/examples/movingTarget/vehicle/vehicle.vue?raw'
import vueCodeShip from '@/examples/movingTarget/ship/ship.vue?raw'
import vueCodeAircraft from '@/examples/movingTarget/aircraft/aircraft.vue?raw'
import vueCodeRobotArmAnimation from '@/examples/movingTarget/robotArmAnimation/robotArmAnimation.vue?raw'
import vueCodeRealTimeDriver from '@/examples/movingTarget/realTimeDriver/realTimeDriver.vue?raw'
import vueCodeCoordinateAxis from '@/examples/movingTarget/coordinateAxis/coordinateAxis.vue?raw'
import vueCodeMissileLaunch from '@/examples/movingTarget/missileLaunch/missileLaunch.vue?raw'
import vueCodeMissileMobileLaunch from '@/examples/movingTarget/missileMobileLaunch/missileMobileLaunch.vue?raw'
......@@ -70,6 +71,7 @@ const vueCodeMap = {
: vueCodeShip,
飞机: vueCodeAircraft,
机械臂动画: vueCodeRobotArmAnimation,
实时驱动: vueCodeRealTimeDriver,
坐标轴: vueCodeCoordinateAxis,
导弹发射: vueCodeMissileLaunch,
导弹机动发射: vueCodeMissileMobileLaunch,
......
......@@ -11,6 +11,7 @@ import functionCodeVehicle from '@/examples/movingTarget/vehicle/vehicle-functio
import functionCodeShip from '@/examples/movingTarget/ship/ship-function.js?raw'
import functionCodeAircraft from '@/examples/movingTarget/aircraft/aircraft-function.js?raw'
import functionCodeRobotArmAnimation from '@/examples/movingTarget/robotArmAnimation/robotArmAnimation-function.js?raw'
import functionCodeRealTimeDriver from '@/examples/movingTarget/realTimeDriver/realTimeDriver-function.js?raw'
import functionCodeCoordinateAxis from '@/examples/movingTarget/coordinateAxis/coordinateAxis-function.js?raw'
import functionCodeMissileLaunch from '@/examples/movingTarget/missileLaunch/missileLaunch-function.js?raw'
import functionCodeMissileMobileLaunch from '@/examples/movingTarget/missileMobileLaunch/missileMobileLaunch-function.js?raw'
......@@ -69,6 +70,7 @@ const functionCodeMap = {
: functionCodeShip,
飞机: functionCodeAircraft,
机械臂动画: functionCodeRobotArmAnimation,
实时驱动: functionCodeRealTimeDriver,
坐标轴: functionCodeCoordinateAxis,
导弹发射: functionCodeMissileLaunch,
导弹机动发射: functionCodeMissileMobileLaunch,
......
export function addRealTimeDriver(viewer) {
const czml = [
{
id: "document",
name: "realTimeDriver",
version: "1.0",
clock: {
interval: "2019-08-28T04:00:00Z/2019-08-28T04:20:00Z",
currentTime: "2019-08-28T04:00:00.00Z",
multiplier: 1,
range: "LOOP_STOP",
step: "SYSTEM_CLOCK_MULTIPLIER"
}
},
{
id: "realTimeDriver",
name: "realTimeDriver",
description: "<p>this is a realTimeDriver</p>",
availability: "2019-08-28T04:00:00Z/2019-08-28T04:20:00Z",
position: {
cartographicDegrees: [120, 30, 0]
},
model: {
show: true,
gltf: [
{
interval: "2019-08-28T04:00:00Z/9999-12-31T23:59:59.9999999Z",
uri: 'https://raw.githubusercontent.com/jinlinchao123/Cesium-assets/main/3Dmodel/Station.glb'
}
],
minimumPixelSize: 128,
scale: 1,
runAnimations: true
}
},
];
var dataSourcePromise = viewer.dataSources.add(Cesium.CzmlDataSource.load(czml));
dataSourcePromise.then(function (dataSource) {
// 根据模型所在的实体去进行加载
viewer.trackedEntity = dataSource.entities.getById('realTimeDriver');
}).catch(function (error) {
console.error(error);
});
}
<template>
<div id="cesiumContainer" class="cesium-container"></div>
</template>
<script setup>
import { onMounted } from 'vue';
import { addRealTimeDriver } from './function';
let viewer;
onMounted(() => {
const script = document.createElement('script');
script.src = 'https://cesium.com/downloads/cesiumjs/releases/1.99/Build/Cesium/Cesium.js';
script.onload = () => {
window.Cesium.Ion.defaultAccessToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI3Njg4ZWU5Yi1iZDhiLTRhYmUtOTRiYS04YjM5NmUwNjVmMDMiLCJpZCI6MjI3MzQ3LCJpYXQiOjE3MjA1MjA4Mjh9.E5XW4LnwgfVAaBC-znaYr61m4yK0-j2qEQhi9qwFFPE'
viewer = new window.Cesium.Viewer('cesiumContainer', {
infoBox: false,
shouldAnimate: true
});
addRealTimeDriver(viewer)
};
document.head.appendChild(script);
const link = document.createElement('link');
link.rel = 'stylesheet';
link.href = 'https://cesium.com/downloads/cesiumjs/releases/1.119/Build/Cesium/Widgets/widgets.css';
document.head.appendChild(link);
});
</script>
<style>
.cesium-container {
width: 100%;
height: 100vh;
}
</style>
\ No newline at end of file
......@@ -50,7 +50,12 @@ export function addRocketLaunchIntoOrbit(viewer) {
solidColor: {
color: [
{
interval: "2019-08-28T04:00:00Z/2019-08-28T04:10:00Z",
rgba: [ 0, 255, 0, 255 ]
},
{
interval: "2019-08-28T04:10:00Z/2019-08-28T04:17:33Z",
rgba: [ 255, 255, 0, 255 ]
}
]
}
......
export function addDial(viewer,timetext) {
export function addDial(viewer, timetext) {
// 格式化时间轴
viewer.timeline.makeLabel = function (date) {
const julianDT = new Cesium.JulianDate();
......@@ -6,7 +7,7 @@ export function addDial(viewer,timetext) {
var gregorianDT = Cesium.JulianDate.toGregorianDate(julianDT);
let hour = gregorianDT.hour + "";
let minute = gregorianDT.minute + "";
let second = gregorianDT.second + "";
let second = gregorianDT.second + "";
timetext = `${gregorianDT.year}${gregorianDT.month}${gregorianDT.day}${hour.padStart(2, "0")}:${minute.padStart(2, "0")}:${second.padStart(2,"0")}`
return `${gregorianDT.year}${gregorianDT.month}${gregorianDT.day}${hour.padStart(2, "0")}:${minute.padStart(2, "0")}:${second.padStart(2,"0")}`;
};
......@@ -15,7 +16,7 @@ export function addDial(viewer,timetext) {
export function forward(viewer) {
let t = viewer.clockViewModel.multiplier;
viewer.clockViewModel.multiplier = Math.abs(t);
viewer.clock.shouldAnimate = true;
viewer.clock.shouldAnimate = true;
}
var flag = false;
export function start(viewer) {
......@@ -32,13 +33,11 @@ export function back(viewer) {
}
export function multiplier(viewer) {
viewer.clockViewModel.multiplier *= 2;
let q=viewer.clockViewModel.multiplier
return q
}
export function divide(viewer,bei) {
export function divide(viewer) {
viewer.clockViewModel.multiplier /= 2;
bei = viewer.clockViewModel.multiplier
}
export function reset(viewer) {
viewer.clock.currentTime = viewer.clock.startTime;
......
......@@ -9,8 +9,8 @@
<button class="button1" @click="forward(viewer)"></button>
<button class="button2" v-on:click="start(viewer)"></button>
<button class="button3" v-on:click="back(viewer)"></button>
<button class="button4" v-on:click="qqq">X2</button>
<button class="button5" v-on:click="divide(viewer, bei)">X-2</button>
<button class="button4" v-on:click="multiplier(viewer)">X2</button>
<button class="button5" v-on:click="divide(viewer)">X-2</button>
<button class="button6" v-on:click="reset(viewer)"></button>
<p class="bei">X{{ bei }}</p>
<p class="time-text"> {{ timetext }}</p>
......@@ -20,8 +20,8 @@
import { onMounted,ref, watch } from 'vue';
import { addDial, divide, multiplier, back, start, forward, reset } from './function';
let viewer=ref();
const bei = ref(1)
const timetext=ref('')
let bei = ref(66)
let timetext=ref('')
onMounted(() => {
const script = document.createElement('script');
script.src = 'https://cesium.com/downloads/cesiumjs/releases/1.99/Build/Cesium/Cesium.js';
......@@ -40,9 +40,8 @@ onMounted(() => {
timeline: true,
navigationHelpButton: false,
});
addDial(viewer, timetext)
bei.value = multiplier(viewer)
timetext=addDial(viewer, timetext)
bei.value = viewer.clockViewModel.multiplier
};
document.head.appendChild(script);
const link = document.createElement('link');
......
......@@ -40,6 +40,10 @@ export const elementMovingMap = {
title: '机械臂动画',
pngUrl: '/src/assets/RobotArmAnimation.png'
},
实时驱动: {
title: '实时驱动',
pngUrl: '/src/assets/RobotArmAnimation.png'
},
坐标轴: {
title: '坐标轴',
pngUrl: '/src/assets/CoordinateAxis.png'
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment