MultiTypePickTool

new CooSDK.MultiTypePickTool(props)

多重类型拾取工具,在场景中点击可同时拾取ModelData和FeatureModelData数据,使模型变色并获取模型相关信息的操作。主要包括添加(创建)、更新、删除和获取结果4种操作。

人工模型和矢量数据拾取效果图

Name Type Description
props Object optional

包含如下属性的Object:。

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

拾取完成时待绑定的回调函数。

dataArray Array.<(ModelData|FeatureModelData)> [EnumCooMap.ALL_DATA] optional

ModelData或FeatureModelData对象ID的数组。

isChangeColor Boolean true optional

拾取时是否变色。

isGetLayerID Boolean true optional

拾取返回结果是否获取其id。

isHover Boolean false optional

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

hoverTime Number 1000 optional

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

isResident Boolean true optional

内存驻留模式,true驻留,false为不驻留。

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

拾取颜色。

pickType EnumPickType EnumPickType.BOTH optional

拾取类型,默认为全拾取。

screen CooMap | ScreenObj null optional

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

Example:
// 创建全拾取工具
var multiPickTool = new CooSDK.MultiTypePickTool({
     dataArray: [-1],
     callback: getResult
});

function getResult(x, y){
     var result = multiPickTool.getResult(CooSDK.EnumToolModel.DATAID);
}
Demo:

Members

callback : SNCallback|String

获取或者设置模型拾取器拾取完成时绑定的回调函数,,若取消原先绑定的函数,则赋值为"none"。

Default Value: "none"

dataArray : Array.<(ModelData|FeatureModelData)>

获取或者设置ModelData和FesatureModelData对象图层ID的数组。

Default Value: [EnumCooMap.ALL_DATA]

hoverTime : Number

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

Default Value: 1000

isChangeColor : Boolean

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

Default Value: true

isGetLayerID : Boolean

获取或者设置拾取返回结果是否获取其id。

Default Value: true

isHover : Boolean

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

Default Value: false

isResident : Boolean

获取或者设置内存驻留模式。

Default Value: true

pickColor : ColorObj

获取或者设置拾取颜色。

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

pickType : EnumPickType

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

Default Value: EnumPickType.BOTH

screen : CooMap|ScreenObj

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

Default Value: null

Methods

destroy()

从场景中销毁自身。

Returns:

null 空值。

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

getResult(name, reCallback)String

根据指定参数获取拾取完成后的结果。

Name Type Description
name EnumToolMulti

查询参数。

reCallback CBCallback optional

可传递的回调函数,返回查询结果。

Returns:

查询结果。

Example:
// 获取模型数据部分属性
var result = multiPickTool.getResult(CooSDK.EnumToolMulti.POINT);
var result1 = multiPickTool.getResult(CooSDK.EnumToolMulti.NAME);
var result2 = multiPickTool.getResult(CooSDK.EnumToolMulti.DATAID);     
console.log(result + "," + result1 + "," + result2);

update(props)

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

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

Name Type Description
props Object optional

包含如下属性的Object:

Name Type Description
callback SNCallback | String optional

拾取完成时待绑定的回调函数。

isChangeColor Boolean optional

拾取时是否变色。

isGetLayerID Boolean optional

拾取返回结果是否获取其id。

isHover Boolean optional

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

hoverTime Number optional

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

dataArray Array.<(ModelData|FeatureModelData)> optional

ModelData或FeatureModelData对象ID的数组。

pickColor ColorObj optional

拾取颜色。

pickType EnumPickType optional

拾取类型。

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