new ViewShed3D(scene)
可视域分析,设置观察点、目标的位置,水平、垂直视角范围,建立可视区域分析并在指定的场景中显示分析结果。
| Name | Type | Description |
|---|---|---|
scene |
Scene |
场景对象。 |
- Demo:
Throws:
-
scene are required.
- Type
- DeveloperError
Example
//创建可视域分析
var viewShed3D= new SuperMap3D.ViewShed3D(scene);
Members
-
directionnumber
-
获取或设置当前相机的方向与正北方向的夹角[0-360],单位:度。
- Default Value: 0.0
distancenumber
获取或设置可视距离,单位:米。
- Default Value: 200.0
hiddenAreaColorColor
获取或设置不可见区域的颜色。
- Default Value: SuperMap3D.Color(1.0, 0.0, 0.0, 0.5)
hintLineColorColor
获取或设置可视域分析的提示线颜色。
- Default Value: SuperMap3D.Color(1.0,1.0,1.0,1.0)
horizontalFovnumber
获取或设置可视域分析的水平视角范围[0-360],单位:度。
- Default Value: 90.0
isShowLineboolean
获取或设置可视域体轮廓线是否显示
- Default Value: true
namestring
获取或设置可视域名称。
pitchnumber
获取或设置当前分析的相机俯仰角范围[-90,90]。 注意:该俯仰角指当相机方向与地面平行的时候是0度,与相机本身参数俯仰不一样。
- Default Value: 0.0
verticalFovnumber
获取或设置可视域分析垂直视角范围[0-180],单位:度。
- Default Value: 60.0
viewPositionArray.<number>
获取或设置观察点的位置。位置由经度、纬度和高程组成的数组表示。
- Default Value: [0, 0, 0]
visibleAreaColorColor
获取或设置可见区域的颜色。
- Default Value: SuperMap3D.Color(0.0, 1.0, 0.0, 0.5)
Methods
-
addClipRegion(){boolean}
-
添加裁剪区域。
Name Type Description options.namestring 裁剪区域的名称。
options.positionArray.<number> 裁剪区域。
Returns:
Type Description boolean result 裁剪区域是否添加成功。 Example
let positions = [102, 24, 10, 103, 24, 10]; viewshed3D.addClipRegion({name: 'test', position: positions}); -
build()
-
创建可视域分析。
-
clear()
-
清除可视域分析结果。
-
destroy()
-
销毁对象
-
getViewshedParameter(){Object}
-
获取可视域闭合体的构建参数。 注:iServer返回的geomodel对象,如果data.geometry.suffix === [4,0,0,0]则为S3M模型,否则为S3MB模型,须在添加模型的接口传入isS3MB参数
Returns:
Name Type Description resultObject 返回可视/不可视闭合体的构建参数,包括视点、障碍点行列阵列及半径。 Name Type Description result.viewPositionPoint3D distancenumber 可视域距离 -
getVisibleInViewport(index){boolean}
-
获得可视域分析在对应视口的可见性。
Name Type Description indexnumber 指定的视口索引。
Throws:
-
索引值的范围为:0-8。
- Type
- DeveloperError
Returns:
Type Description boolean 可见性。 -
-
isDestroyed(){boolean}
-
对象是否被销毁
Returns:
Type Description boolean result -
removeAllClipRegion()
-
移除所有裁剪区域
-
removeClipRegion(name){boolean}
-
移除裁剪区域。
Name Type Description namestring 区域名称。
Returns:
Type Description boolean result 是否删除成功。 -
setClipMode()
-
设置裁剪模式
Example
viewshed3D.setClipMode(SuperMap3D.ClippingType.KeepOutside); -
setDistDirByPoint(position)
-
通过点(经度,纬度,高度)设置方向。
Name Type Description positionArray 位置。
Throws:
-
位置是[经度,纬度,高度] 并且不等于viewPosition。
- Type
- DeveloperError
-
-
setVisibleInViewport(index)
-
设置可视域分析在对应视口的可见性。
Name Type Description indexnumber 指定的视口索引。
Throws:
-
索引值的范围为:0-8。
- Type
- DeveloperError
-