多边形几何体类,可以使用
Primitive
和GroundPrimitive
进行绘制。
Name | Type | Default | Description |
---|---|---|---|
具有以下属性的对象: |
Object | ||
options.polygonHierarchy |
PolygonHierarchy | optional 可以包含多孔的多边形层次结构。 | |
options.height |
Number |
0.0
|
optional 多边形和椭球表面之间的距离(以米为单位)。 |
options.extrudedHeight |
Number | optional 多边形的拉伸面和椭圆体表面之间的距离。 | |
options.vertexFormat |
VertexFormat |
VertexFormat.DEFAULT
|
optional 要计算的顶点属性。 |
options.stRotation |
Number |
0.0
|
optional 纹理坐标的旋转,以弧度为单位。正向旋转是逆时针方向。 |
options.ellipsoid |
Ellipsoid |
Ellipsoid.WGS84
|
optional 要作参考的椭球体。 |
options.granularity |
Number |
CesiumMath.RADIANS_PER_DEGREE
|
optional 每个纬度和经度之间的距离(以弧度为单位)。确定缓冲区中的位置数。 |
options.perPositionHeight |
Boolean |
false
|
optional 对每个位置使用options.options的高度,而不是使用options.height来确定高度。 |
options.closeTop |
Boolean |
true
|
optional 当为false时, 使拉伸多边形的顶部保持打开状态。 |
options.closeBottom |
Boolean |
true
|
optional 当为false时, 使拉伸多边形的底部保持打开状态。 |
- PolygonGeometry#createGeometry
- PolygonGeometry#fromPositions
Example:
// 1. create a polygon from points
var polygon = new Cesium.PolygonGeometry({
polygonHierarchy : new Cesium.PolygonHierarchy(
Cesium.Cartesian3.fromDegreesArray([
-72.0, 40.0,
-70.0, 35.0,
-75.0, 30.0,
-70.0, 30.0,
-68.0, 40.0
])
)
});
var geometry = Cesium.PolygonGeometry.createGeometry(polygon);
// 2. create a nested polygon with holes
var polygonWithHole = new Cesium.PolygonGeometry({
polygonHierarchy : new Cesium.PolygonHierarchy(
Cesium.Cartesian3.fromDegreesArray([
-109.0, 30.0,
-95.0, 30.0,
-95.0, 40.0,
-109.0, 40.0
]),
[new Cesium.PolygonHierarchy(
Cesium.Cartesian3.fromDegreesArray([
-107.0, 31.0,
-107.0, 39.0,
-97.0, 39.0,
-97.0, 31.0
]),
[new Cesium.PolygonHierarchy(
Cesium.Cartesian3.fromDegreesArray([
-105.0, 33.0,
-99.0, 33.0,
-99.0, 37.0,
-105.0, 37.0
]),
[new Cesium.PolygonHierarchy(
Cesium.Cartesian3.fromDegreesArray([
-103.0, 34.0,
-101.0, 34.0,
-101.0, 36.0,
-103.0, 36.0
])
)]
)]
)]
)
});
var geometry = Cesium.PolygonGeometry.createGeometry(polygonWithHole);
// 3. create extruded polygon
var extrudedPolygon = new Cesium.PolygonGeometry({
polygonHierarchy : new Cesium.PolygonHierarchy(
Cesium.Cartesian3.fromDegreesArray([
-72.0, 40.0,
-70.0, 35.0,
-75.0, 30.0,
-70.0, 30.0,
-68.0, 40.0
])
),
extrudedHeight: 300000
});
var geometry = Cesium.PolygonGeometry.createGeometry(extrudedPolygon);
Demo:
See:
Members
-
The number of elements used to pack the object into an array.
Methods
-
staticCesium.PolygonGeometry.createGeometry(polygonGeometry) → Geometry|undefined
-
Computes the geometric representation of a polygon, including its vertices, indices, and a bounding sphere.
Name Type Description polygonGeometry
PolygonGeometry A description of the polygon. Returns:
The computed vertices and indices. -
staticCesium.PolygonGeometry.fromPositions(options) → PolygonGeometry
-
A description of a polygon from an array of positions. Polygon geometry can be rendered with both
Primitive
andGroundPrimitive
.Name Type Description options
Object Object with the following properties: Name Type Default Description positions
Array.<Cartesian3> An array of positions that defined the corner points of the polygon. height
Number 0.0
optional The height of the polygon. extrudedHeight
Number optional The height of the polygon extrusion. vertexFormat
VertexFormat VertexFormat.DEFAULT
optional The vertex attributes to be computed. stRotation
Number 0.0
optional The rotation of the texture coordinates, in radians. A positive rotation is counter-clockwise. ellipsoid
Ellipsoid Ellipsoid.WGS84
optional The ellipsoid to be used as a reference. granularity
Number CesiumMath.RADIANS_PER_DEGREE
optional The distance, in radians, between each latitude and longitude. Determines the number of positions in the buffer. perPositionHeight
Boolean false
optional Use the height of options.positions for each position instead of using options.height to determine the height. closeTop
Boolean true
optional When false, leaves off the top of an extruded polygon open. closeBottom
Boolean true
optional When false, leaves off the bottom of an extruded polygon open. Returns:
- PolygonGeometry#createGeometry
Example:
// create a polygon from points var polygon = Cesium.PolygonGeometry.fromPositions({ positions : Cesium.Cartesian3.fromDegreesArray([ -72.0, 40.0, -70.0, 35.0, -75.0, 30.0, -70.0, 30.0, -68.0, 40.0 ]) }); var geometry = Cesium.PolygonGeometry.createGeometry(polygon);
See:
-
Stores the provided instance into the provided array.
Name Type Default Description value
PolygonGeometry The value to pack. array
Array.<Number> The array to pack into. startingIndex
Number 0
optional The index into the array at which to start packing the elements. Returns:
The array that was packed into -
Retrieves an instance from a packed array.
Name Type Default Description array
Array.<Number> The packed array. startingIndex
Number 0
optional The starting index of the element to be unpacked. result
PolygonGeometry optional The object into which to store the result.