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 wallGeometryWallOutlineGeometry 墙面轮廓描述。
Returns:
Type Description Geometry | undefined 计算出的顶点和索引。 -
static fromConstantHeights(){WallOutlineGeometry}
-
墙体由一系列点定义,这些点垂直向下拉伸至地面。 此外,可选择将其进一步向下拉伸至指定高度(如自定义基底或限制最大/最小延伸范围)
Name Type Default Description options.positionsArray.<Cartesian3> Cartesian对象数组,即墙体的点。
options.granularityNumber Math.RADIANS_PER_DEGREE 可选 每个经纬度之间的距离(以弧度为单位)。确定buffer中的位置数。
options.maximumHeightsArray.<Number> 可选 一个与位置平行的数组,它给出了墙体在各个位置的最大高度。如果未定义,则使用每个位置的高度。
options.minimumHeightsArray.<Number> 可选 一个与位置平行的数组,它给出了墙体在各个位置的最小高度。如果未定义,则每个位置的高度为 0.0。
options.ellipsoidEllipsoid 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 valueWallOutlineGeometry 打包的值。
arrayArray.<Number> 要装入的数组。
startingIndexNumber 0 可选 开始打包元素的数组的索引。
Returns:
Type Description Array.<Number> 被装入的数组。 -
static unpack(array, startingIndex, result){WallOutlineGeometry}
-
从打包数组中检索实例。
Name Type Default Description arrayArray.<Number> 打包数组。
startingIndexNumber 0 可选 要解压缩的元素的起始索引。
resultWallOutlineGeometry 可选 存储结果的对象。
Returns:
Type Description WallOutlineGeometry 修改后的结果参数或新的WallOutlineGeometry实例(如果没有提供)。