PolygonGeometry

new LSGlobe.PolygonGeometry(options)

椭球上一个多边形的描述。这个多边形通过polygon hierarchy定义的。Polygon geometry既可以通过Primitive也可以通过GroundPrimitive来进行渲染
Name Type Description
options Object 对象具有以下属性:
Name Type Default Description
polygonHierarchy PolygonHierarchy 包含洞的一个多边形继承类(polygonHierarchy)
height Number 0.0 optional 多边形距离椭球表面的距离(米)
extrudedHeight Number optional 多边形延伸面距离椭球表面的距离(米)
vertexFormat VertexFormat VertexFormat.DEFAULT optional 参与计算的顶点的属性
stRotation Number 0.0 optional 纹理坐标的旋转(弧度)。逆时针是正方向
ellipsoid Ellipsoid Ellipsoid.WGS84 optional 椭球被用作坐标系
granularity Number CesiumMath.RADIANS_PER_DEGREE optional 表示单位经纬度之间的距离(单位是弧度)。它决定了缓存中位置的数量
perPositionHeight Boolean false optional 对于每个位置点采用height参数(采用经纬高三个参数决定一个点)
closeTop Boolean true optional 当值为false时,延伸多边形的顶部不封闭
closeBottom Boolean true optional 当值为false时,延伸多边形的底部不封闭
Example:
// 1. 利用点创建一个多边形
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. 创建一个带洞的嵌套多边形
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. 创建一个拉伸多边形
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

staticLSGlobe.PolygonGeometry.createGeometry(polygonGeometry)Geometry|undefined

计算出一个多边形的几何化表述。包括它的顶点、索引和包围球
Name Type Description
polygonGeometry PolygonGeometry 多边形的描述
Returns:
计算出来的顶点和索引信息

staticLSGlobe.PolygonGeometry.fromPositions(options)PolygonGeometry

由一组点创建的多边形的描述。Polygon geometry既可以通过Primitive也可以通过GroundPrimitive来进行渲染
Name Type Description
options Object 对象具有以下属性
Name Type Default Description
positions Array.<Cartesian3> 定义多边形的边的一组点
height Number 0.0 optional 多边形的高度
extrudedHeight Number optional 多边形的拉伸高度
vertexFormat VertexFormat VertexFormat.DEFAULT optional 参与计算的顶点属性
stRotation Number 0.0 optional 纹理坐标的旋转(弧度)。逆时针是正方向
ellipsoid Ellipsoid Ellipsoid.WGS84 optional 参考椭球
granularity Number CesiumMath.RADIANS_PER_DEGREE optional 表示单位经纬度之间的距离(单位是弧度)。它决定了缓存中位置的数量
perPositionHeight Boolean false optional 对于每个位置点采用height参数(采用经纬高三个参数决定一个点)
closeTop Boolean true optional 当值为false时,拉伸多边形的顶部不封闭
closeBottom Boolean true optional 当值为false时,拉伸多边形的底部不封闭
Returns:
Example:
// 由点创建一个多边形
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

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

由点创建一个多边形
Name Type Default Description
value PolygonGeometry 要打包的值
array Array.<Number> 要打包的数组
startingIndex Number 0 optional 在数组中开始打包元素的索引
Returns:
被打包的数组

staticLSGlobe.PolygonGeometry.unpack(array, startingIndex, result)

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