AllTypePickTool

new CooSDK.AllTypePickTool(props)

在场景中点击任意数据,使数据变色并获取数据相关信息的操作。主要包括添加(创建)、更新、删除和获取结果4种操作。


拾取效果图
Name Type Description
props Object optional

包含如下属性的Object:

Name Type Default Description
callback SOCallback | String "none" optional

拾取完成时待绑定的回调函数。参数一为拾取到的对象类型,参数二为拾取到的对象信息。

isChangeColor Boolean true optional

拾取时是否变色。

isHover Boolean false optional

鼠标是否悬停触发拾取,设置为false则为点击拾取。

isNormal Boolean false optional

是否以法线方向拾取。

isPenetrate Boolean false optional

是否穿透拾取。

isSingle Boolean false optional

多选返回拾取对象结果是否为单个,默认为返回所有拾取对象结果。

height Number 1000 optional

高亮着色拉伸高度。

hoverTime Number 1000 optional

悬停触发时间,单位:ms。

pickColor ColorObj new ColorObj(1.0,0.0,0.0,0.5) optional

拾取颜色。

pickType EnumPickDataType EnumPickDataType.ALL optional

可拾取数据类型。

screen CooMap | ScreenObj null optional

所属窗口,默认为CooMap所拥有的主窗口。

Example:
// 创建全类型拾取工具。
var allTypePickResponser = new CooSDK.AllTypePickTool({
     pickType: CooSDK.EnumPickDataType.ALL,
     isChangeColor: true,
     pickColor: new CooSDK.ColorObj(0, 1, 0, 0.5),
     callback: getResult
});

function getResult(p1, p2){
     //p1 为刚拾取到的对象的类型。
     //p2 为拾取结果的对象,内部根据拾取对象的不同,分为如下几类:
     //"model" 对应:人工模型(ModelData)。
     //"oblique" 对应:倾斜摄影模型(OsgbData)。
     //"label" 对应:普通标注(LabelObj)。
     //"labelEx" 对应:聚合标注(LabelExObj)。
     //"vector" 对应:矢量数据(FeatureModelData)。
     //"analysisLayer" 对应:空间分析(Analysis)。
     //"dynamicPath" 对应:动态路径(DynamicPathProvider)。
     var result = p2[p1];
}
Demo:

Members

callback : SOCallback|String

获取或者设置拾取完成时绑定的回调函数,,若取消原先绑定的函数,则赋值为"none"。参数一为拾取到的对象类型,参数二为拾取到的对象信息。

Default Value: "none"

height : Number

获取或者设置高亮颜色拉伸高度。

Default Value: 1000

hoverTime : Number

获取或者设置鼠标悬停触发时间,单位:ms。

Default Value: 1000

isChangeColor : Boolean

获取或者设置拾取时是否变色。

Default Value: true

isHover : Boolean

获取或者设置鼠标是否悬停触发拾取,设置为false则为点击拾取。

Default Value: false

isNormal : Boolean

获取或者设置是否以法线方向拾取。

Default Value: false

isPenetrate : Boolean

获取或者设置是否穿透拾取。

Default Value: false

isSingle : Boolean

获取或者设置多选返回拾取对象结果是否为单个,默认为返回所有拾取对象结果。

Default Value: false

pickColor : ColorObj

获取或者设置拾取颜色。

Default Value: new ColorObj(1.0,0.0,0.0,0.5)

pickType : EnumPickDataType

获取或者设置可拾取数据类型。

Default Value: EnumPickDataType.ALL

screen : CooMap|ScreenObj

获取或者设置所属窗口,默认为CooMap所拥有的主窗口。

Default Value: null

Methods

destroy()

从场景中销毁自身。

Returns:

null 空值。

Example:
// 销毁对象
allTypePickResponser = allTypePickResponser.destroy();

update(props)

更新单个或者多个对象属性,使之立即生效。

一般用于多个属性的同时更新,避免性能开销过大。

Name Type Description
props Object optional

包含如下属性的Object:

Name Type Description
callback SOCallback | String optional

拾取完成时待绑定的回调函数。参数一为拾取到的对象类型,参数二为拾取到的对象信息。

isChangeColor Boolean optional

拾取时是否变色。

isHover Boolean optional

鼠标是否悬停触发拾取,设置为false则为点击拾取。

isNormal Boolean optional

是否以法线方向拾取。

isPenetrate Boolean optional

是否穿透拾取。

isSingle Boolean optional

多选返回拾取结果是否为单个。

height Number optional

高亮着色拉伸高度。

hoverTime Number optional

悬停触发时间,单位:ms。

pickColor ColorObj optional

拾取颜色。

pickType EnumPickDataType optional

可拾取数据类型。

Example:
allTypePickResponser.update({
     pickColor: new CooSDK.ColorObj(0, 1, 0, 0.5);
});