描述椭球体上的多边形。多边形由多边形层次结构定义。多边形几何体可以通过
Primitive 和 GroundPrimitive 进行渲染。
| Name | Type | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
object |
具有以下属性的对象:
|
- PolygonGeometry#createGeometry
- PolygonGeometry#fromPositions
Example:
// 1. create a polygon from points
const 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
])
)
});
const geometry = Cesium.PolygonGeometry.createGeometry(polygon);
// 2. create a nested polygon with holes
const 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
])
)]
)]
)]
)
});
const geometry = Cesium.PolygonGeometry.createGeometry(polygonWithHole);
// 3. create extruded polygon
const 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
});
const geometry = Cesium.PolygonGeometry.createGeometry(extrudedPolygon);
Demo:
See:
Members
用于将对象打包到数组中的元素数量。
Methods
static Cesium.PolygonGeometry.computeRectangleFromPositions(positions, ellipsoid, arcType, result) → Rectangle
计算一个矩形,该矩形包围由位置列表定义的多边形,包括跨越国际日期线和极点的情况。
| Name | Type | Default | Description |
|---|---|---|---|
positions |
Array.<Cartesian3> | 定义多边形外边界的线性环。 | |
ellipsoid |
Ellipsoid |
Ellipsoid.default
|
optional 用作参考的椭球体。 |
arcType |
ArcType |
ArcType.GEODESIC
|
optional
多边形边缘必须遵循的线的类型。有效选项为 ArcType.GEODESIC 和 ArcType.RHUMB。 |
result |
Rectangle | optional 用于存储结果的对象。 |
Returns:
结果矩形
static Cesium.PolygonGeometry.createGeometry(polygonGeometry) → Geometry|undefined
计算多边形的几何表示,包括其顶点、索引和包围球。
| Name | Type | Description |
|---|---|---|
polygonGeometry |
PolygonGeometry | 对多边形的描述。 |
Returns:
计算得到的顶点和索引。
static Cesium.PolygonGeometry.fromPositions(options) → PolygonGeometry
从位置数组描述一个多边形。多边形几何体可以通过
Primitive 和 GroundPrimitive 进行渲染。
| Name | Type | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
object |
具有以下属性的对象:
|
Returns:
- PolygonGeometry#createGeometry
Example:
// create a polygon from points
const 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
])
});
const geometry = Cesium.PolygonGeometry.createGeometry(polygon);
See:
将提供的实例存储到提供的数组中.
| Name | Type | Default | Description |
|---|---|---|---|
value |
PolygonGeometry | 要打包的值. | |
array |
Array.<number> | 要打包到的数组. | |
startingIndex |
number |
0
|
optional 开始打包元素的数组索引. |
Returns:
被打包成的数组
从打包数组中检索实例.
| Name | Type | Default | Description |
|---|---|---|---|
array |
Array.<number> | 压缩数组. | |
startingIndex |
number |
0
|
optional 需要解包的元素的起始索引. |
result |
PolygonGeometry | optional 存储结果的对象. |
