Commit c5924da0 by jlc

update:获取模型节点数的初步设计

parent df9ac010
......@@ -21,6 +21,7 @@ import vueCodeMissileLaunch from '@/examples/movingTarget/missileLaunch/missileL
import vueCodeMissileMobileLaunch from '@/examples/movingTarget/missileMobileLaunch/missileMobileLaunch.vue?raw'
import vueCodeRocketLaunch from '@/examples/movingTarget/rocketLaunch/rocketLaunch.vue?raw'
import vueCodeRocketLaunchIntoOrbit from '@/examples/movingTarget/rocketLaunchIntoOrbit/rocketLaunchIntoOrbit.vue?raw'
import vueCodeGetNodes from '@/examples/movingTarget/getNodes/getNodes.vue?raw'
// 图元
import vueCodePoint from '@/examples/graphicElement/point/point.vue?raw'
......@@ -88,6 +89,7 @@ const vueCodeMap = {
导弹机动发射: vueCodeMissileMobileLaunch,
火箭发射: vueCodeRocketLaunch,
火箭发射卫星入轨: vueCodeRocketLaunchIntoOrbit,
获取模型节点数: vueCodeGetNodes,
// 图元
: vueCodePoint,
......
......@@ -21,6 +21,7 @@ import functionCodeMissileLaunch from '@/examples/movingTarget/missileLaunch/mis
import functionCodeMissileMobileLaunch from '@/examples/movingTarget/missileMobileLaunch/missileMobileLaunch-function.js?raw'
import functionCodeRocketLaunch from '@/examples/movingTarget/rocketLaunch/rocketLaunch-function.js?raw'
import functionCodeRocketLaunchIntoOrbit from '@/examples/movingTarget/rocketLaunchIntoOrbit/rocketLaunchIntoOrbit-function.js?raw'
import functionCodeGetNodes from '@/examples/movingTarget/getNodes/getNodes-function.js?raw'
// 图元
import functionCodePoint from '@/examples/graphicElement/point/point-function.js?raw'
......@@ -88,6 +89,7 @@ const functionCodeMap = {
导弹机动发射: functionCodeMissileMobileLaunch,
火箭发射: functionCodeRocketLaunch,
火箭发射卫星入轨: functionCodeRocketLaunchIntoOrbit,
获取模型节点数: functionCodeGetNodes,
// 图元
: functionCodePoint,
......
let modelEntity;
export function addGetNodes(viewer) {
// 添加模型实体并设置其位置
modelEntity = viewer.entities.add({
id: 'rocketModel',
position: Cesium.Cartesian3.fromDegrees(120, 30, 5000), // 模型的初始位置
model: {
uri: 'https://cesium.com/public/SandcastleSampleData/launchvehicle.glb',
minimumPixelSize: 128
},
});
viewer.trackedEntity = modelEntity; // 视角跟随模型
let modelDate = modelEntity.model;
console.log(modelDate)
}
// /**
// * @class 获取模型节点类
// * @classdesc 该类用于在Cesium场景中获取模型的节点
// */
// class modelNodes{
// /**
// * 测站构造函数
// * @param {Object} viewer - viewer对象
// */
// constructor(viewer, id, options = {}) {
// this.viewer = viewer;
// }
// getNodes(site, visible) {
// }
// }
// export default modelNodes;
<template>
<div id="cesiumContainer" class="cesium-container"></div>
<button @click="getNodeDate" class="btn-class">获取模型的节点</button>
</template>
<script setup>
import { onMounted } from 'vue';
import { addGetNodes, getNodeDate } 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 Cesium.Viewer('cesiumContainer', {
shouldAnimate: true // 一开始就播放动画
});
addGetNodes(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;
}
.btn-class {
position: absolute;
top: 10px;
left: 10px;
}
</style>
\ No newline at end of file
......@@ -58,7 +58,7 @@ export const elementMovingMap = {
},
大批量动目标socketIO: {
title: '大批量动目标socketIO',
pngUrl: '/src/assets/MovingTargetsWebsocket.png'
pngUrl: '/src/assets/MovingTargetsSocketIO.png'
},
点选路径: {
title: '点选路径',
......@@ -79,6 +79,10 @@ export const elementMovingMap = {
火箭发射卫星入轨: {
title: '火箭发射卫星入轨',
pngUrl: '/src/assets/RocketLaunchIntoOrbit.png'
},
获取模型节点数: {
title: '获取模型节点数',
pngUrl: '/src/assets/RocketLaunchIntoOrbit.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