Sightline

new SuperMap3D.Sightline(scene)

视线分析,即通视分析,根据观察者点位和目标点建立视线分析,并在场景中分析得到结果。
Name Type Description
scene Scene 场景对象。
Throws:
Example:
//创建通视分析
var sightline = new SuperMap3D.Sightline(scene);
Demo:

Members

hiddenColor : Color

获取或设置通视分析的不可见部分颜色。
Example:
var sightline = new SuperMap3D.Sightline(scene);
var color = new SuperMap3D.Color(1, 0, 0);
//设置不可见部分的颜色
sightline .hiddenColor = color;
//获取不可见部分的颜色
var value= sightline .hiddenColor ;

lineWidth : Number

获取或设置通视线的宽度。

viewPosition : Array

获取或设置观察者的位置。位置由经度、纬度和高程组成的数组表示。
Example:
var sightline = new SuperMap3D.Sightline(scene);
//设置观察者的位置
sightline .viewPosition   = [120, 40, 100];
//获取观察者的位置
var value= sightline .viewPosition;

visibleColor : Color

获取或设置通视分析的可见部分颜色。
Example:
var sightline = new SuperMap3D.Sightline(scene);
var color = new SuperMap3D.Color(0, 1, 0);
//设置可见部分颜色
sightline .visibleColor = color;
//获取可见部分颜色
var value= sightline .visibleColor ;

Methods

addTargetPoint(options)Boolean

添加目标点。
Name Type Description
options Object 对象具有如下属性。
Name Type Description
position Array 位置信息,由经度、纬度和高程组成的数组表示。
name String 目标点的名称。
Returns:
添加成功返回true,否则返回false。
Example:
var sightline = new SuperMap3D.Sightline(scene);
sightline.addTargetPoint({
postion : [120, 40, 50],
name : “first”
               });

build()

执行通视分析。
Example:
var sightline = new SuperMap3D.Sightline(scene);
sightline.build();

getBarrierPoint(name, func)Object

获得障碍点。
Name Type Description
name String 目标点名称。
func Object 回调函数。
Returns:
Object.isViewer,Object.position 通视经纬高。

getObjectIds()Object

获取通视分析所有障碍物对象的IDS集合。
Returns:
返回一个k-v对象,key为S3M图层ID,value为对象IDS数组。

getVisibleInViewport(index)Boolean

获得图层对应视口可见性。
Name Type Description
index Number 索引。
Returns:
visible 可见性。
Throws:

removeAllTargetPoint()

移除所有目标点。
Example:
var sightline = new SuperMap3D.Sightline(scene);
sightline.removeAllTargetPoint();

removeTargetPoint(name)Boolean

移除指定名称的目标点。
Name Type Description
name String 待移除的目标点名称。
Returns:
移除成功返回true,否则返回false。
Example:
var sightline = new SuperMap3D.Sightline(scene);
var flag = sightline.removeTargetPoint(“first”);

setVisibleInViewport(index)

设置图层对应视口可见性。
Name Type Description
index Number 索引。
Throws: