PolygonOutlineGeometry

new SuperMap3D.PolygonOutlineGeometry()

用于描述椭球体表面多边形轮廓线的几何类,支持定义带孔洞或嵌套结构的轮廓线‌。
Name Type Default Description
options.polygonHierarchy PolygonHierarchy 多边形层次结构,可包含孔洞。
options.height Number 0.0 optional 多边形与椭球面之间的距离(米)。
options.extrudedHeight Number optional 多边形挤出面与椭球面之间的距离(米)。
options.vertexFormat VertexFormat VertexFormat.DEFAULT optional 要计算的顶点属性。
options.ellipsoid Ellipsoid Ellipsoid.WGS84 optional 用作参考的椭球体。
options.granularity Number Math.RADIANS_PER_DEGREE optional 每个经纬度之间的距离(以弧度为单位)。确定buffer.中的位置数。
options.perPositionHeight Boolean false optional 为每个位置使用 options.positions 的高度,而不是使用 options.height 来确定高度。
Example:
// 1. create a polygon outline from points
var polygon = new SuperMap3D.PolygonOutlineGeometry({
  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.PolygonOutlineGeometry.createGeometry(polygon);

// 2. create a nested polygon with holes outline
var polygonWithHole = new SuperMap3D.PolygonOutlineGeometry({
  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.PolygonOutlineGeometry.createGeometry(polygonWithHole);

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

Members

packedLength : Number

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

Methods

staticSuperMap3D.PolygonOutlineGeometry.createGeometry(polygonGeometry)Geometry|undefined

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

staticSuperMap3D.PolygonOutlineGeometry.fromPositions()PolygonOutlineGeometry

‌通过顶点坐标数组定义的多边形轮廓线描述。
Name Type Default Description
options.positions Array.<Cartesian3> 定义多边形角点的位置数组。
options.height Number 0.0 optional 多边形的高度。
options.extrudedHeight Number optional 挤出多边形的高度。
options.ellipsoid Ellipsoid Ellipsoid.WGS84 optional 用作参考的椭球体。
options.granularity Number Math.RADIANS_PER_DEGREE optional 每个经纬度之间的距离(以弧度为单位)。确定buffer中的位置数。
options.perPositionHeight Boolean false optional 为每个位置使用 options.positions 的高度,而不是使用 options.height 来确定高度。
Returns:
Example:
// create a polygon from points
var polygon = SuperMap3D.PolygonOutlineGeometry.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.PolygonOutlineGeometry.createGeometry(polygon);
See:
  • PolygonOutlineGeometry#createGeometry

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

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

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

从打包数组中检索实例。
Name Type Default Description
array Array.<Number> 打包数组。
startingIndex Number 0 optional 要解压缩的元素的起始索引。
result PolygonOutlineGeometry optional 要在其中存储结果的对象。
Returns:
修改后的结果参数或一个新的PolygonOutlineGeometry实例(如果没有提供)。