| | |
| | | enableWaterArrowFlow(false); |
| | | water.destroy(); |
| | | water = null; |
| | | console.log("Water simulation destroyed."); |
| | | // console.log("Water simulation destroyed."); |
| | | } |
| | | } |
| | | |
| | |
| | | ]; |
| | | |
| | | const levelCount = colorStops.length; |
| | | const minAllowed = 0.005; // 最小允许值 |
| | | const minAllowed = 0.05; // 最小允许值 |
| | | const threshold = 1; // 小值与大值分界点 |
| | | |
| | | let effectiveMin = Math.max(minFlowRate, minAllowed); // 最小不能小于 0.01 |
| | |
| | | } |
| | | |
| | | waterLegendData.value = waterHeightLevels; |
| | | console.log(waterLegendData.value, "图例数据"); |
| | | |
| | | |
| | | // console.log(waterLegendData.value, "图例数据"); |
| | | water = await earthCtrl.simulate.createWaterSimulateLayer({ |
| | | baseUrl, |
| | | interval, |
| | |
| | | colorRender, |
| | | sizeIndex: 0, |
| | | }); |
| | | enableWaterArrowFlow(false); |
| | | //防止缩放导致地形变动压盖水面,水面增加设置 |
| | | water.clampMinHeight = 0; //相机相对于水面最小高度 |
| | | water.clampMaxHeight = 1000; //相机相对于水面最大高度 |
| | | water.offsetMinHeight = 0; //水偏移最小高度 |
| | | water.offsetMaxHeight = 100; //水偏移最大高度 |
| | | // 是否开启箭头 |
| | | enableWaterArrowFlow(false); |
| | | // 是否开启水面阴影 |
| | | toggleWaterShadow(false); |
| | | console.log( |
| | | `仿真模拟参数:请求路径 ${baseUrl}, 帧间间隔 ${interval}ms, 是否开启专题渲染 ${colorRender}` |
| | | ); |
| | | |
| | | // console.log( |
| | | // `仿真模拟参数:请求路径 ${baseUrl}, 帧间间隔 ${interval}ms, 是否开启专题渲染 ${colorRender}` |
| | | // ); |
| | | } |
| | | /** |
| | | * 初始化水体模拟视图 |
| | |
| | | // console.log("Camera view initialized for water simulation."); |
| | | } |
| | | /** |
| | | * 更新水颜色 |
| | | * 更换水透明度 |
| | | */ |
| | | export function updateWaterColor(color) { |
| | | export function updateWaterColor(color, alpha) { |
| | | if (water) { |
| | | water.color = Cesium.Color.fromCssColorString(color); |
| | | console.log("切换颜色为:",color); |
| | | water.alphaByDepth = alpha; |
| | | } else { |
| | | console.warn("No water simulation to pause."); |
| | | } |
| | |
| | | export function pauseWaterSimulation() { |
| | | if (water) { |
| | | water.pause(); |
| | | console.log("暂停仿真"); |
| | | // console.log("暂停仿真"); |
| | | } else { |
| | | console.warn("No water simulation to pause."); |
| | | } |
| | |
| | | export function resumeWaterSimulation() { |
| | | if (water) { |
| | | water.resume(); |
| | | console.log("继续仿真"); |
| | | // console.log("继续仿真"); |
| | | } else { |
| | | console.warn("No water simulation to resume."); |
| | | } |
| | |
| | | return; |
| | | } |
| | | // const idx = Math.floor(Math.random() * imageList.length); //随机索引跳转,实际中用不到,只用作演示 |
| | | console.log( |
| | | `Jumping to timestamp: count:[${imageList.length}], index:[${closestIndex}]` |
| | | ); |
| | | // console.log( |
| | | // `Jumping to timestamp: count:[${imageList.length}], index:[${closestIndex}]` |
| | | // ); |
| | | water.setTime(imageList[closestIndex]); |
| | | } else { |
| | | console.warn("No water simulation to set time for."); |
| | |
| | | export function toggleWaterColorRender(enabled) { |
| | | if (water) { |
| | | water.colorRender = enabled; |
| | | console.log(`是否开启专题渲染 ${enabled}`); |
| | | // console.log(`是否开启专题渲染 ${enabled}`); |
| | | } else { |
| | | console.warn("No water simulation to toggle color rendering."); |
| | | } |
| | |
| | | if (water) { |
| | | // 默认关闭状态 |
| | | water.flowEnabled = enabled; // 假设 SDK 支持此属性 |
| | | console.log(`箭头流向动画已${enabled ? "开启" : "关闭"}`); |
| | | // console.log(`箭头流向动画已${enabled ? "开启" : "关闭"}`); |
| | | } else { |
| | | console.warn("未找到水体模拟图层,请先启动洪水模拟"); |
| | | } |
| | |
| | | earthCtrl.shadowMap.maximumDistance = 10000.0; //最大距离 |
| | | earthCtrl.shadowMap.pointLightRadius = 50.0; //点光源半径 |
| | | } |
| | | console.log(`阴影效果已${enabled ? "开启" : "关闭"}`); |
| | | // console.log(`阴影效果已${enabled ? "开启" : "关闭"}`); |
| | | } catch (error) { |
| | | console.error("设置阴影失败:", error); |
| | | } |