PolygonOutlineGeometry

new SuperMap3D.PolygonOutlineGeometry(options)

描述椭球体上多边形的轮廓。多边形由多边形层次结构定义。
Name Type Description
options Object 具有以下属性的对象:
Name Type Default Description
polygonHierarchy PolygonHierarchy 多边形层次结构,可包含孔洞。
height Number 0.0 optional 多边形与椭球面之间的距离(米)。
extrudedHeight Number optional 多边形挤出面与椭球面之间的距离(米)。
vertexFormat VertexFormat VertexFormat.DEFAULT optional 要计算的顶点属性。
ellipsoid Ellipsoid Ellipsoid.WGS84 optional 用作参考的椭球体。
granularity Number Math.RADIANS_PER_DEGREE optional 每个经纬度之间的距离(以弧度为单位)。确定buffer.中的位置数。
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(options)PolygonOutlineGeometry

从位置数组描述多边形轮廓。
Name Type Description
options Object 具有以下属性的对象:
Name Type Default Description
positions Array.<Cartesian3> 定义多边形角点的位置数组。
height Number 0.0 optional 多边形的高度。
extrudedHeight Number optional 挤出多边形的高度。
ellipsoid Ellipsoid Ellipsoid.WGS84 optional 用作参考的椭球体。
granularity Number Math.RADIANS_PER_DEGREE optional 每个经纬度之间的距离(以弧度为单位)。确定buffer中的位置数。
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实例(如果没有提供)。