PolygonGeometry

new LSGlobe.PolygonGeometry (options)

椭球上多边形的描述。多边形由多边形层次结构定义。多边形几何可以使用 Primitive GroundPrimitive 进行渲染一个>。
Name Type Description
options Object Object with the following properties:
Name Type Default Description
polygonHierarchy PolygonHierarchy 可以包含孔的多边形层次结构。
height Number 0.0 可选 多边形和椭球面之间的距离(以米为单位)。
extrudedHeight Number 可选 多边形的凸出面与椭球面之间的距离(以米为单位)。
vertexFormat VertexFormat VertexFormat.DEFAULT 可选 要计算的顶点属性。
stRotation Number 0.0 可选 纹理的旋转坐标(以弧度为单位)。正旋转是逆时针方向。
ellipsoid Ellipsoid Ellipsoid.WGS84 可选 椭圆体作为参考。
granularity Number CesiumMath.RADIANS_PER_DEGREE 可选 每个纬度和经度之间的距离(以弧度为单位)。确定缓冲区中的位置数。
perPositionHeight Boolean false 可选 对每个位置使用options.positions的高度,而不要使用options.height确定高度。
closeTop Boolean true 可选 如果为false,则将其留在挤出的多边形顶部。
closeBottom Boolean true 可选 如果为false,则将挤出的多边形的底部保留为开放状态。
arcType ArcType ArcType.GEODESIC 可选 多边形边缘必须遵循的线型。有效选项为 ArcType.GEODESIC ArcType.RHUMB
Example:
// 1. create a polygon from points
var polygon = new LSGlobe.PolygonGeometry({
  polygonHierarchy : new LSGlobe.PolygonHierarchy(
    LSGlobe.Cartesian3.fromDegreesArray([
      -72.0, 40.0,
      -70.0, 35.0,
      -75.0, 30.0,
      -70.0, 30.0,
      -68.0, 40.0
    ])
  )
});
var geometry = LSGlobe.PolygonGeometry.createGeometry(polygon);

// 2. create a nested polygon with holes
var polygonWithHole = new LSGlobe.PolygonGeometry({
  polygonHierarchy : new LSGlobe.PolygonHierarchy(
    LSGlobe.Cartesian3.fromDegreesArray([
      -109.0, 30.0,
      -95.0, 30.0,
      -95.0, 40.0,
      -109.0, 40.0
    ]),
    [new LSGlobe.PolygonHierarchy(
      LSGlobe.Cartesian3.fromDegreesArray([
        -107.0, 31.0,
        -107.0, 39.0,
        -97.0, 39.0,
        -97.0, 31.0
      ]),
      [new LSGlobe.PolygonHierarchy(
        LSGlobe.Cartesian3.fromDegreesArray([
          -105.0, 33.0,
          -99.0, 33.0,
          -99.0, 37.0,
          -105.0, 37.0
        ]),
        [new LSGlobe.PolygonHierarchy(
          LSGlobe.Cartesian3.fromDegreesArray([
            -103.0, 34.0,
            -101.0, 34.0,
            -101.0, 36.0,
            -103.0, 36.0
          ])
        )]
      )]
    )]
  )
});
var geometry = LSGlobe.PolygonGeometry.createGeometry(polygonWithHole);

// 3. create extruded polygon
var extrudedPolygon = new LSGlobe.PolygonGeometry({
  polygonHierarchy : new LSGlobe.PolygonHierarchy(
    LSGlobe.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 = LSGlobe.PolygonGeometry.createGeometry(extrudedPolygon);
Demo:
See:
  • PolygonGeometry#createGeometry
  • PolygonGeometry#fromPositions

Members

packedLength : Number

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

Methods

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

给定提供的选项,返回边界矩形
Name Type Description
options Object 具有以下属性的对象:
名称 类型 默认 说明
polygonHierarchy PolygonHierarchy 可以包含孔的多边形层次结构。
粒度 数字 CesiumMath.RADIANS_PER_DEGREE 可选 每个纬度和经度之间的距离(以弧度为单位)。确定采样的位置数。
arcType ArcType ArcType.GEODESIC 可选 多边形边缘必须遵循的线型。有效选项为 ArcType.GEODESIC ArcType.RHUMB
椭球 椭球 Ellipsoid.WGS84 可选 椭圆体作为参考。
result Rectangle 可选 存储结果的对象。
Returns:
结果矩形

static LSGlobe.PolygonGeometry.createGeometry (polygonGeometry) Geometry |undefined

计算多边形的几何表示形式,包括其顶点,索引和边界球。
Name Type Description
polygonGeometry PolygonGeometry 多边形的描述。
Returns:
计算的顶点和索引。

static LSGlobe.PolygonGeometry.fromPositions (options) PolygonGeometry

对位置数组中多边形的描述。多边形几何可以使用 Primitive GroundPrimitive 进行渲染一个>。
Name Type Description
options Object Object with the following properties:
Name Type Default Description
positions Array.< Cartesian3 > 定义多边形角点的位置数组。
height Number 0.0 可选 多边形的高度。
extrudedHeight Number 可选 多边形拉伸的高度。
vertexFormat VertexFormat VertexFormat.DEFAULT 可选 要计算的顶点属性。
stRotation Number 0.0 可选 纹理的旋转坐标(以弧度为单位)。正旋转是逆时针方向。
ellipsoid Ellipsoid Ellipsoid.WGS84 可选 椭圆体作为参考。
granularity Number CesiumMath.RADIANS_PER_DEGREE 可选 每个纬度和经度之间的距离(以弧度为单位)。确定缓冲区中的位置数。
perPositionHeight Boolean false 可选 对每个位置使用options.positions的高度,而不要使用options.height确定高度。
closeTop Boolean true 可选 如果为false,则将其留在挤出的多边形顶部。
closeBottom Boolean true 可选 如果为false,则将挤出的多边形的底部保留为开放状态。
arcType ArcType ArcType.GEODESIC 可选 多边形边缘必须遵循的线型。有效选项为 ArcType.GEODESIC ArcType.RHUMB
Returns:
Example:
// create a polygon from points
var polygon = LSGlobe.PolygonGeometry.fromPositions({
  positions : LSGlobe.Cartesian3.fromDegreesArray([
    -72.0, 40.0,
    -70.0, 35.0,
    -75.0, 30.0,
    -70.0, 30.0,
    -68.0, 40.0
  ])
});
var geometry = LSGlobe.PolygonGeometry.createGeometry(polygon);
See:
  • PolygonGeometry#createGeometry

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

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

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

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