SuperMap iClient3D for WebGL教程-C

2019-05-29  本文已影响0人  Mr桔子先生

CylinderGraphics翻译过来就是圆柱对象,只是这个圆柱对象比较特别,可分别指定上下圆柱面的半径,从而可以衍生出圆锥和圆台对象,下面小编就来讲解下CylinderGraphics如何使用。
首先还是老规矩,先看下对象的所有属性。


CylinderGraphics属性

这里小编对几个比较特别的属性进行讲解
length:圆柱的长度,也就是圆柱的上下圆面间的空间距离
topRadius:上圆面半径
bottomRadius:下圆面半径
numberOfVerticalLines:边框竖线数量
slices:上下圆面切边数量
下面小编分别设置上下圆面的大小来实现圆柱、圆台、圆锥

//圆柱
var greenCylinder = viewer.entities.add({
    name : 'Green cylinder with black outline',
    position: Cesium.Cartesian3.fromDegrees(-100.0, 40.0, 200000.0),
    cylinder : {
        length : 400000.0,
        topRadius : 200000.0,
        bottomRadius : 200000.0,
        material : Cesium.Color.GREEN.withAlpha(0.5),
        outline : true,
        outlineColor : Cesium.Color.DARK_GREEN
    }
});
//圆台
var blueCylinder = viewer.entities.add({
    name : 'Green cylinder with black outline',
    position: Cesium.Cartesian3.fromDegrees(-110.0, 40.0, 200000.0),
    cylinder : {
        length : 400000.0,
        topRadius : 100000.0,
        bottomRadius : 200000.0,
        material : Cesium.Color.BLUE.withAlpha(0.5),
        outline : true,
        outlineColor : Cesium.Color.DARK_GREEN
    }
});
//圆锥
var redCone = viewer.entities.add({
    name : 'Red cone',
    position: Cesium.Cartesian3.fromDegrees(-105.0, 40.0, 200000.0),
    cylinder : {
        length : 400000.0,
        topRadius : 0.0,
        bottomRadius : 200000.0,
        outline : true,
        material : Cesium.Color.RED.withAlpha(0.5)
    }
});
CylinderGraphics

下面设置下边框竖线数量,是是圆柱对象在显示边框的情况下,边线的数量。边框竖线数量并不会影响对象的形状。


CylinderGraphics边框竖线

上下圆面切边数量设置,圆都是由一段段细线构成,小编这里做了一个极限测试,将切边设置为4,圆面会不会变成正方形面,下面来看下效果:


CylinderGraphics圆面切边
果然和预想效果一样,切边数量设置为3,也会变成正三角形
CylinderGraphics圆面切边
CylinderGraphics的使用就先介绍到这里,小节教程再见。
上一篇下一篇

猜你喜欢

热点阅读