PolygonGeometry

new Cesium.PolygonGeometry (options)

椭圆体上多边形的描述。多边形由多边形层次结构定义。多边形几何体可以使用 Primitive GroundPrimitive 进行渲染。
Name Type Description
options Object 具有以下属性的对象:
姓名 类型 默认 描述
polygonHierarchy 多边形层次结构 可以包含孔的多边形层次结构。
height 数字 0.0 可选 多边形和椭球表面之间的距离(以米为单位)。
extrudedHeight 数字 可选 多边形的拉伸面和椭圆体表面之间的距离(以米为单位)。
vertexFormat 顶点格式 VertexFormat.DEFAULT 可选 要计算的顶点属性。
stRotation 数字 0.0 可选 纹理坐标的旋转,以弧度为单位。正向旋转是逆时针方向。
ellipsoid 椭球体 Ellipsoid.WGS84 可选 要用作参考的椭球体。
granularity 数字 CesiumMath.RADIANS_PER_DEGREE 可选 每个纬度和经度之间的距离(以弧度为单位)。确定缓冲区中的位置数。
perPositionHeight 布尔值 false 可选 对每个位置使用 options.positions 的高度,而不是使用 options.height 来确定高度。
closeTop 布尔值 true 可选 当为 false 时,使拉伸多边形的顶部保持打开状态。
closeBottom 布尔值 true 可选 当为 false 时,使拉伸多边形的底部保持打开状态。
arcType 弧型 ArcType.GEODESIC 可选 多边形边缘必须遵循的线类型。有效选项是 ArcType.GEODESIC ArcType.RHUMB
textureCoordinates 多边形层次结构 可选 纹理坐标作为 Cartesian2 2 点的 PolygonHierarchy 。对地面基元没有影响。
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:
  • PolygonGeometry#createGeometry
  • PolygonGeometry#fromPositions

Members

packedLength : Number

用于将对象打包到数组中的元素数。

Methods

static Cesium.PolygonGeometry.computeRectangle (options, result ) Rectangle

返回给定选项的边界矩形
Name Type Description
options Object 具有以下属性的对象:
姓名 类型 默认 描述
polygonHierarchy 多边形层次结构 可以包含孔的多边形层次结构。
granularity 数字 CesiumMath.RADIANS_PER_DEGREE 可选 每个纬度和经度之间的距离(以弧度为单位)。确定采样的位置数。
arcType 弧型 ArcType.GEODESIC 可选 多边形边缘必须遵循的线类型。有效选项是 ArcType.GEODESIC ArcType.RHUMB
ellipsoid 椭球体 Ellipsoid.WGS84 可选 要用作参考的椭球体。
result Rectangle 可选 存储结果的对象。
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 具有以下属性的对象:
姓名 类型 默认 描述
positions 数组。< 笛卡尔3 > 定义多边形角点的位置数组。
height 数字 0.0 可选 多边形的高度。
extrudedHeight 数字 可选 多边形拉伸的高度。
vertexFormat 顶点格式 VertexFormat.DEFAULT 可选 要计算的顶点属性。
stRotation 数字 0.0 可选 纹理坐标的旋转,以弧度为单位。正向旋转是逆时针方向。
ellipsoid 椭球体 Ellipsoid.WGS84 可选 要用作参考的椭球体。
granularity 数字 CesiumMath.RADIANS_PER_DEGREE 可选 每个纬度和经度之间的距离,以弧度为单位。确定缓冲区中的位置数。
perPositionHeight 布尔值 false 可选 对每个位置使用 options.positions 的高度,而不是使用 options.height 来确定高度。
closeTop 布尔值 true 可选 当为 false 时,使拉伸多边形的顶部保持打开状态。
closeBottom 布尔值 true 可选 当为 false 时,使拉伸多边形的底部保持打开状态。
arcType 弧型 ArcType.GEODESIC 可选 多边形边缘必须遵循的线类型。有效选项是 ArcType.GEODESIC ArcType.RHUMB
textureCoordinates 多边形层次结构 可选 纹理坐标作为 Cartesian2 2 点的 PolygonHierarchy 。对地面基元没有影响。
Returns:
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:
  • PolygonGeometry#createGeometry

static Cesium.PolygonGeometry.pack (value, array, startingIndex ) Array.<Number>

将提供的实例存储到提供的数组中。
Name Type Default Description
value PolygonGeometry 要打包的值。
array Array.<Number> 要打包的数组。
startingIndex Number 0 可选 开始打包元素的数组索引。
Returns:
装入的数组

static Cesium.PolygonGeometry.unpack (array, startingIndex , result )

从打包数组中检索实例。
Name Type Default Description
array Array.<Number> 打包的数组。
startingIndex Number 0 可选 要解包的元素的起始索引。
result PolygonGeometry 可选 存储结果的对象。