Class: WallOutlineGeometry

WallOutlineGeometry

new WallOutlineGeometry()

用于创建墙体轮廓线,生成由一系列垂直线段组成的3D墙体外框几何体,适用于建筑边界、围栏等场景

Name Type Default Description
options.positions Array.<Cartesian3>

Cartesian对象数组,即墙壁的点。

options.granularity Number Math.RADIANS_PER_DEGREE 可选

每个经纬度之间的距离(以弧度为单位)。确定buffer中的位置数。

options.maximumHeights Array.<Number> 可选

与位置平行的数组,给出了墙体在位置上的最大高度。如果未定义,则使用每个位置的高度。

options.minimumHeights Array.<Number> 可选

与位置平行的数组,给出了墙体在位置上的最小高度。如果未定义,则每个位置的高度为0.0。

options.ellipsoid Ellipsoid Ellipsoid.WGS84 可选

用于坐标运算的椭球体。

See:
  • WallGeometry#createGeometry
  • WallGeometry#fromConstantHeight
Throws:
  • positions 长度必须大于或等于 2。

    Type
    DeveloperError
  • positions 和 maximumHeights 的长度必须相同。

    Type
    DeveloperError
  • positions 和 minimumHeights 的长度必须相同。

    Type
    DeveloperError
Example
// create a wall outline that spans from ground level to 10000 meters
var wall = new SuperMap3D.WallOutlineGeometry({
  positions : SuperMap3D.Cartesian3.fromDegreesArrayHeights([
    19.0, 47.0, 10000.0,
    19.0, 48.0, 10000.0,
    20.0, 48.0, 10000.0,
    20.0, 47.0, 10000.0,
    19.0, 47.0, 10000.0
  ])
});
var geometry = SuperMap3D.WallOutlineGeometry.createGeometry(wall);

Members

packedLengthNumber

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

Methods

static createGeometry(wallGeometry){Geometry|undefined}

计算墙体轮廓的几何表示,包括其顶点、索引和包围球。

Name Type Description
wallGeometry WallOutlineGeometry

墙面轮廓描述。

Returns:
Type Description
Geometry | undefined 计算出的顶点和索引。

static fromConstantHeights(){WallOutlineGeometry}

墙体由一系列点定义,这些点垂直向下拉伸至地面。 此外,可选择将其进一步向下拉伸至指定高度(如自定义基底或限制最大/最小延伸范围)

Name Type Default Description
options.positions Array.<Cartesian3>

Cartesian对象数组,即墙体的点。

options.granularity Number Math.RADIANS_PER_DEGREE 可选

每个经纬度之间的距离(以弧度为单位)。确定buffer中的位置数。

options.maximumHeights Array.<Number> 可选

一个与位置平行的数组,它给出了墙体在各个位置的最大高度。如果未定义,则使用每个位置的高度。

options.minimumHeights Array.<Number> 可选

一个与位置平行的数组,它给出了墙体在各个位置的最小高度。如果未定义,则每个位置的高度为 0.0。

options.ellipsoid Ellipsoid Ellipsoid.WGS84 可选

用于坐标运算的椭球体。

See:
  • WallOutlineGeometry#createGeometry
Returns:
Type Description
WallOutlineGeometry
Example
// create a wall that spans from 10000 meters to 20000 meters
var wall = SuperMap3D.WallOutlineGeometry.fromConstantHeights({
  positions : SuperMap3D.Cartesian3.fromDegreesArray([
    19.0, 47.0,
    19.0, 48.0,
    20.0, 48.0,
    20.0, 47.0,
    19.0, 47.0,
  ]),
  minimumHeight : 20000.0,
  maximumHeight : 10000.0
});
var geometry = SuperMap3D.WallOutlineGeometry.createGeometry(wall);

static pack(value, array, startingIndex){Array.<Number>}

将提供的实例存储到提供的数组中。

Name Type Default Description
value WallOutlineGeometry

打包的值。

array Array.<Number>

要装入的数组。

startingIndex Number 0 可选

开始打包元素的数组的索引。

Returns:
Type Description
Array.<Number> 被装入的数组。

static unpack(array, startingIndex, result){WallOutlineGeometry}

从打包数组中检索实例。

Name Type Default Description
array Array.<Number>

打包数组。

startingIndex Number 0 可选

要解压缩的元素的起始索引。

result WallOutlineGeometry 可选

存储结果的对象。

Returns:
Type Description
WallOutlineGeometry 修改后的结果参数或新的WallOutlineGeometry实例(如果没有提供)。