"use script"; //开发环境建议开启严格模式 //显示mars3d.polygon.interPolygon处理后的面内插值分析结果,主要用于测试对比 //显示面的插值计算结果,方便比较分析 var interGraphicLayer; function clearInterResult() { if (!interGraphicLayer) { interGraphicLayer = new mars3d.layer.GraphicLayer(); map.addLayer(interGraphicLayer); } interGraphicLayer.clear(); } function showInterResult(list) { //分析结果用于测试分析的,不做太多处理,直接清除之前的,只保留一个 clearInterResult(); var pt1, pt2, pt3; // var geometryInstances = []; for (var i = 0, len = list.length; i < len; i++) { var item = list[i]; pt1 = item.point1.pointDM; pt2 = item.point2.pointDM; pt3 = item.point3.pointDM; //点 for (let pt of [item.point1, item.point2, item.point3]) { var primitive = new mars3d.graphic.PointPrimitive({ position: pt.pointDM, style: { pixelSize: 9, color: Cesium.Color.fromCssColorString("#ff0000").withAlpha(0.5), }, }); interGraphicLayer.addGraphic(primitive); primitive.bindTooltip("点高度:" + mars3d.MeasureUtil.formatDistance(pt.height)); } //横截面面积 item.area = item.area || mars3d.MeasureUtil.getTriangleArea(pt1, pt2, pt3); //三角网及边线 var positions = [pt1, pt2, pt3, pt1]; //三角网面(单击用) var primitivePoly = new mars3d.graphic.PolygonPrimitive({ positions: positions, style: { material: mars3d.MaterialUtil.createMaterial(mars3d.MaterialType.Color, { color: Cesium.Color.fromCssColorString("#ffffff").withAlpha(0.01), }), }, }); interGraphicLayer.addGraphic(primitivePoly); primitivePoly.bindTooltip("三角面积:" + mars3d.MeasureUtil.formatArea(item.area) + "(第" + i + "个)"); //三角网边线 var primitiveLine = new mars3d.graphic.PolylinePrimitive({ positions: positions, style: { width: 1, material: mars3d.MaterialUtil.createMaterial(mars3d.MaterialType.Color, { color: Cesium.Color.fromCssColorString("#ffff00").withAlpha(0.3), }), }, }); interGraphicLayer.addGraphic(primitiveLine); } } //在f80_interPoly等示例中使用 function showInterLineResult(list) { //分析结果用于测试分析的,不做太多处理,直接清除之前的,只保留最后一个 clearInterResult(); var colorList = [Cesium.Color.fromCssColorString("#ffff00"), Cesium.Color.fromCssColorString("#00ffff")]; for (var i = 1, len = list.length; i < len; i++) { var pt1 = list[i - 1]; var pt2 = list[i]; var color = colorList[i % 2]; let graphic = new mars3d.graphic.PolylineEntity({ positions: [pt1, pt2], style: { width: 3, material: color, depthFailMaterial: color.withAlpha(0.3), }, }); interGraphicLayer.addGraphic(graphic); graphic.bindTooltip("长度:" + mars3d.MeasureUtil.formatDistance(Cesium.Cartesian3.distance(pt1, pt2)) + "(第" + i + "段)"); } }