cesium中Entity的CylinderGraphics添加圆柱体
1 前言
cesium可以利用CylinderGraphics类将创建的圆柱体添加到地球中。
cesium探索系列目录
:传送门
2 CylinderGraphics类说明
2.1 创建CylinderGraphics的options
Cesium.CylinderGraphics.ConstructorOptions
名称 | 默认值 | 描述 |
---|---|---|
show | true | 指定圆柱体是否可见 |
length | 指定圆柱体长度 | |
topRadius | 指定圆柱体顶部半径 | |
buttomRadius | 指定圆柱体底部半径 | |
heightReference | HeightReference.NONE | 指定高度的相对值 |
fill | true | 布尔属性,指定圆柱体是否使用提供的材质填充 |
material | Color.WHITE | 用于填充圆柱体的材质的特性 |
outline | false | 布尔属性,是否对圆柱体进行轮廓绘制 |
outlineColor | Color.BLACK | 指定轮廓颜色的属性 |
outlineWidth | 1.0 | 指定轮廓宽度的数字属性 |
numberOfVerticalLines | 16 | 指定沿轮廓周长绘制的垂直线数 |
slices | 128 | 圆柱体周长周围的边数 |
shadows | ShadowMode.DISABLED | 枚举属性,指定圆柱体是投射阴影还是从光源接收阴影。 |
distanceDisplayCondition | 指定此圆柱体将显示在距摄影机的距离处 |
2.2 常用方法
clone(result)
复制该CylinderGraphics实例,输入一个CylinderGraphics,返回一个相同的CylinderGraphics。
merge(source)
将此对象上每个未分配的属性分配给提供的源对象上相同属性的值。
3 CylinderGraphics的创建与使用
// 创建圆柱体
const cylinder = new Cesium.Entity({
name : '圆柱体',
position: Cesium.Cartesian3.fromDegrees(114.3, 39.9),
cylinder : {
length : 500000.0,
topRadius : 200000.0,
bottomRadius : 200000.0,
material : Cesium.Color.RED.withAlpha(0.5),
outline : true,
outlineColor : Cesium.Color.BLACK,
heightReference : Cesium.HeightReference.CLAMP_TO_GROUND,
}
});
viewer.entities.add(cylinder)
slices控制了圆柱体周长周围的边数,默认值为100,最少的值为3。将该值设置为3时,如下图。
该值越大,圆柱体越精细,但相对而言开销也会更大。