多边形几何体类,可以使用
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 polygonGeometryPolygonGeometry 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
PrimitiveandGroundPrimitive.Name Type Description optionsObject Object with the following properties: Name Type Default Description positionsArray.<Cartesian3> An array of positions that defined the corner points of the polygon. heightNumber 0.0optional The height of the polygon. extrudedHeightNumber optional The height of the polygon extrusion. vertexFormatVertexFormat VertexFormat.DEFAULToptional The vertex attributes to be computed. stRotationNumber 0.0optional The rotation of the texture coordinates, in radians. A positive rotation is counter-clockwise. ellipsoidEllipsoid Ellipsoid.WGS84optional The ellipsoid to be used as a reference. granularityNumber CesiumMath.RADIANS_PER_DEGREEoptional The distance, in radians, between each latitude and longitude. Determines the number of positions in the buffer. perPositionHeightBoolean falseoptional Use the height of options.positions for each position instead of using options.height to determine the height. closeTopBoolean trueoptional When false, leaves off the top of an extruded polygon open. closeBottomBoolean trueoptional 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 valuePolygonGeometry The value to pack. arrayArray.<Number> The array to pack into. startingIndexNumber 0optional 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 arrayArray.<Number> The packed array. startingIndexNumber 0optional The starting index of the element to be unpacked. resultPolygonGeometry optional The object into which to store the result.
