Class: ViewShed

Glodon.CIMCube.Analysis. ViewShed

可视域分析类,用于分析指定视点的可视域范围

new ViewShed(map, options)

可视域分析类构造函数
Parameters:
Name Type Description
map Glodon.CIMCube CIMCube实例
options Object 可视域分析配置参数
Properties
Name Type Argument Default Description
viewPosition Catesian3 <optional>
(0, 0, 0) 视点坐标
targetPosition Catesian3 <optional>
(1, 1, 1) 终点坐标
horizontalViewAngle Number <optional>
90 水平张角,单位:度 取值范围(0, 180) 当角度大于170度时 分析精度会明显降低 建议应用端将角度进行一定限制
verticalViewAngle Number <optional>
90 垂直张角,单位:度 取值范围(0, 180) 当角度大于170度时 分析精度会明显降低 建议应用端将角度进行一定限制
visualRange Number <optional>
1000 视距,单位:米 取值范围(0, 100000)
direction Number <optional>
0 视域朝向角,单位:度
pitch Number <optional>
0 视域俯仰角,单位:度
viewHeightOffset Number <optional>
0 视点高度调整值,单位:米
visibleAreaColor String | Color <optional>
#00ff00 可视域颜色,默认绿色
invisibleAreaColor String | Color <optional>
#ff0000) 不可视域颜色,默认红色

Methods


calculateAdditionalPitch(viewPosition, targetPosition)

计算视点相对目标点的附加俯仰角。
Parameters:
Name Type Description
viewPosition Cartesian3 视点
targetPosition Cartesian3 目标点
Returns:
附加俯仰角,单位度
Type
Number

clear()

清除结果

createPostStage()

创建视域后处理阶段。

createShadowMap()

创建视域光源相机和阴影贴图。

destroy()

销毁视域分析对象。
Returns:
销毁结果
Type
Object

dispose()

释放资源

doAnalysis()

执行可视域分析

drawSketch()

绘制可视域

getInterpolatedPositions(startPt, endPt, origin, distance, slice)

按夹角在两点之间插值位置。
Parameters:
Name Type Description
startPt Cartesian3 起点
endPt Cartesian3 终点
origin Cartesian3 原点
distance Number 距离
slice Number 分段数
Returns:
插值后的位置
Type
Array

getSketchGeometry(positionArray, indiceArray)

用顶点和索引创建视域草图图元。
Parameters:
Name Type Description
positionArray Array 顶点数组
indiceArray Array 索引数组
Returns:
草图图元
Type
Primitive

getVisualRange()

获取视域距离
Returns:
视域距离
Type
Number

isDestroyed()

判断对象是否已销毁。
Returns:
是否已销毁
Type
Boolean

setDirection(direction)

设置视域朝向角
Parameters:
Name Type Description
direction Number 朝向角,单位度

setHorizontalViewAngle(hva)

设置水平张角
Parameters:
Name Type Description
hva Number 水平张角,单位:度 取值范围(0, 180) 需注意: 张角越大, 可视域分析的精确度越低

setInvisibleAreaColor(invisibleAreaColor)

设置不可视域颜色
Parameters:
Name Type Description
invisibleAreaColor String | Color 不可视域颜色

setPitch(pitch)

设置视域俯仰角
Parameters:
Name Type Description
pitch Number 俯仰角,单位度

setTargetPos(position)

设置终点
Parameters:
Name Type Description
position Cartesian3 终点坐标

setVerticalViewAngle(vva)

设置垂直张角
Parameters:
Name Type Description
vva Number 垂直张角,单位:度 取值范围(0, 180)

setViewHeightOffset(offset)

设置视点的高程调整值
Parameters:
Name Type Description
offset Number 高程调整值 会在视点原有高程上增加/减少offset的高度

setViewPos(position)

设置视点
Parameters:
Name Type Description
position Cartesian3 视点坐标

setVisibleAreaColor(visibleAreaColor)

设置可视域颜色
Parameters:
Name Type Description
visibleAreaColor String | Color 可视域颜色

setVisualRange(visualRange)

设置视域距离
Parameters:
Name Type Description
visualRange Number 视域距离,单位:米 取值范围(0, 100000) 需注意: 张角越大, 可视域分析的精确度越低

update(frameState)

把视域阴影贴图加入当前帧。
Parameters:
Name Type Description
frameState Object 帧状态

updateCameraOrientation()

更新视域相机姿态。