EllipseOutlineGeometry
是一个用于创建椭圆轮廓线几何体的类。椭圆轮廓线几何体是一个用线段表示的椭圆的形状,该几何体在三维场景中显示为一组连续的线段。
var geometry = Cesium.EllipseOutlineGeometry({
center : new Cesium.Cartesian3(),
semiMajorAxis : Number,
semiMinorAxis : Number,
ellipsoid : Cesium.Ellipsoid,
height : Number,
extrudedHeight : Number,
rotation : Number,
granularity : Number
});
options
一个对象字面量,具备以下属性:
center
: Cartesian3
| undefined
(可选) , 必须是WGS84坐标系中的三维笛卡尔坐标。椭圆的中心点。 默认值:原点。
semiMajorAxis
: Number
一个必须大于零的数字,表示椭圆的长半轴长度。 如果radii
没有指定,则此参数为必需的。如果同时指定radii
,则此参数会被忽略。 默认值:1.0
semiMinorAxis
: Number
一个必须大于零的数字,表示椭圆的短半轴长度。如果radii
没有指定,则此参数为必需的。如果同时指定radii
,则此参数会被忽略。 默认值:1.0
ellipsoid
: Ellipsoid
(可选) 指定椭圆所在的椭球体。 默认值:Ellipsoid.WGS84
。
height
: Number
(可选) 椭圆相对于椭球面的高度。默认值:0.
extrudedHeight
: Number
(可选) 椭圆的挤压高度。如果未指定,椭圆将不会被挤压成3D形状。默认值:0。
rotation
: Number
(可选) 相对于矩阵的旋转角度,单位弧度。默认值:0。
granularity
: Number
(可选) 此椭圆轮廓线的表示粒度。此参数控制轮廓线的长度,值越小轮廓线越精细,值越大轮廓线越简略。 默认值:0.02。
Geometry
- 表示椭圆轮廓线几何体的几何体实例。
// 创建一个czml文档实体
var entity = viewer.entities.add({
name : 'EllipseOutlineGeometry',
polyline : {
positions : Cesium.Cartesian3.fromDegreesArrayHeights([
-75, 45, 0,
-125, 45, 0,
-125, 55, 0,
-75, 55, 0,
-75, 45, 0
]),
width : 5,
outlineWidth : 2,
material : Cesium.Color.YELLOW.withAlpha(0.5),
depthFailMaterial : new Cesium.PolylineOutlineMaterialProperty({
color : Cesium.Color.RED,
outlineWidth : 2,
outlineColor : Cesium.Color.BLACK
})
}
});
// 根据中心点和半径创建一个椭圆轮廓线几何体
var ellipseOutline = new Cesium.GeometryInstance({
geometry : Cesium.EllipseOutlineGeometry.fromCenter({
center : Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883),
semiMajorAxis : 70000.0,
semiMinorAxis : 40000.0,
rotation : Cesium.Math.toRadians(45.0)
}),
id : 'ellipse',
attributes : {
color : Cesium.ColorGeometryInstanceAttribute.fromColor(new Cesium.Color(0.5, 0.5, 1.0, 0.5))
}
});
// 把椭圆轮廓线几何体添加到场景
viewer.scene.primitives.add(new Cesium.Primitive({
geometryInstances : [ellipseOutline],
appearance : new Cesium.PerInstanceColorAppearance()
}));