PolygonGeometry

new SuperMap3D.PolygonGeometry(options)

多边形几何体类,可以使用PrimitiveGroundPrimitive进行绘制。
Name Type Description
options Object 具有以下属性的对象:
Name Type Default Description
polygonHierarchy PolygonHierarchy optional 可以包含多孔的多边形层次结构。
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 Math.RADIANS_PER_DEGREE optional 每个纬度和经度之间的距离(以弧度为单位)。确定缓冲区中的位置数。
perPositionHeight Boolean false optional 对每个位置使用options.options的高度,而不是使用options.height来确定高度。
closeTop Boolean true optional 当为false时, 使拉伸多边形的顶部保持打开状态。
closeBottom Boolean true optional 当为false时, 使拉伸多边形的底部保持打开状态。
Example:
// 1. create a polygon from points
var polygon = new SuperMap3D.PolygonGeometry({
  polygonHierarchy : new SuperMap3D.PolygonHierarchy(
    SuperMap3D.Cartesian3.fromDegreesArray([
      -72.0, 40.0,
      -70.0, 35.0,
      -75.0, 30.0,
      -70.0, 30.0,
      -68.0, 40.0
    ])
  )
});
var geometry = SuperMap3D.PolygonGeometry.createGeometry(polygon);

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

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

Members

packedLength : Number

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

Methods

staticSuperMap3D.PolygonGeometry.createGeometry(polygonGeometry)Geometry|undefined

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

staticSuperMap3D.PolygonGeometry.fromPositions(options)PolygonGeometry

根据位置数组对多边形的描述。多边形几何体可通过 PrimitiveGroundPrimitive 渲染。
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 Math.RADIANS_PER_DEGREE optional 每个经纬度之间的距离(以弧度为单位)。确定buffer中的位置数。
perPositionHeight Boolean false optional 为每个位置使用 options.positions 的高度,而不是使用 options.height 来确定高度。
closeTop Boolean true optional 当为false时,将挤出多边形的顶部打开。
closeBottom Boolean true optional 为false时,挤出多边形的底部不开放。
Returns:
Example:
// create a polygon from points
var polygon = SuperMap3D.PolygonGeometry.fromPositions({
  positions : SuperMap3D.Cartesian3.fromDegreesArray([
    -72.0, 40.0,
    -70.0, 35.0,
    -75.0, 30.0,
    -70.0, 30.0,
    -68.0, 40.0
  ])
});
var geometry = SuperMap3D.PolygonGeometry.createGeometry(polygon);
See:
  • PolygonGeometry#createGeometry

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

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

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

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