椭球体上多边形的描述。多边形由多边形层次结构定义。多边形几何体可以使用
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:
The result rectangle
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 要在其中存储结果的对象。 |