ModelPickTool

new CooSDK.ModelPickTool(props)

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


人工模型拾取效果图
Name Type Description
props Object optional

包含如下属性的Object:。

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

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

modelDataArray Array.<ModelData> [EnumCooMap.ALL_DATA] optional

ModelData对象的数组。

isChangeColor Boolean true optional

拾取时是否变色。

isGetLayerID Boolean true optional

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

isHover Boolean false optional

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

hoverTime Number 1000 optional

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

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

拾取颜色。

screen CooMap | ScreenObj null optional

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

Example:
// 创建人工模型拾取工具
var modelPickTool = new CooSDK.ModelPickTool({
     modelDataArray: [modelData],
     callback: getResult
});

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

Members

callback : SNCallback|String

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

Default Value: "none"

hoverTime : Number

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

Default Value: 1000

isChangeColor : Boolean

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

Default Value: true

isGetLayerID : Boolean

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

Default Value: true

isHover : Boolean

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

Default Value: false

modelDataArray : Array.<ModelData>

获取或者设置ModelData对象的数组。

Default Value: [EnumCooMap.ALL_DATA]

pickColor : ColorObj

获取或者设置拾取颜色。

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

screen : CooMap|ScreenObj

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

Default Value: null

Methods

destroy()

从场景中销毁自身。

Returns:

null 空值。

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

getResult(name, reCallback)String

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

Name Type Description
name EnumToolModel

查询参数。

reCallback CBCallback optional

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

Returns:

查询结果。

Example:
// 获取模型数据部分属性
var result = modelPickTool.getResult(CooSDK.EnumToolModel.POINT);
var result1 = modelPickTool.getResult(CooSDK.EnumToolModel.NAME);
var result2 = modelPickTool.getResult(CooSDK.EnumToolModel.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。

modelDataArray Array.<ModelData> optional

ModelData对象的数组。

pickColor ColorObj optional

拾取颜色。

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