AxisEditTool

new CooSDK.AxisEditTool(props)

模型标注编辑工具,会在模型中心点位置构建拖拽器,可以通过操作拖拽器来调整模型的坐标点位、角度和大小。在场景中,拖拽器会有三种颜色表示,其中:红色显示的是与X轴相关的控制对象;绿色显示的是与Y轴相关的控制对象;蓝色显示的是与Z轴相关的控制对象。


模型标注编辑效果图
Name Type Description
props Object

包含如下属性的Object:

Name Type Default Description
dataArray Array.<(FeatureModelData|LabelObj)> [EnumCooMap.ALL_DATA] optional

FeatureModelData或者LabelObj对象的数组。

pickColor ColorObj new ColorObj(1.0, 0, 0, 0.6) optional

拾取高亮颜色。

isChangeColor Boolean true optional

是否变色。

isAxisXVisible Boolean true optional

x旋转面是否显示。

isAxisYVisible Boolean true optional

y旋转面是否显示。

isAxisZVisible Boolean true optional

z旋转面是否显示。

xRotate String "XRotate" optional

x轴旋转关联字段。

yRotate String "YRotate" optional

y轴旋转关联字段。

zRotate String "ZRotate" optional

z轴旋转关联字段。

quation String "Direction" optional

模型朝向方向向量关联字段。

xScale String "XScale" optional

x轴缩放关联字段。

yScale String "YScale" optional

y轴缩放关联字段。

zScale String "ZScale" optional

z轴缩放关联字段。

adjustment Number 0.01 optional

微调部件步进值。

dragSpeed Number 1 optional

拖拽系数。

callback SNCallback | String "none" optional

拾取回调事件绑定函数。

screen CooMap | ScreenObj null optional

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

Example:
var modelLabel = new CooSDK.LabelObj({
     labelType: CooSDK.EnumLabelType.MODEL,
     modelSymbol: new CooSDK.ModelSymbol({
         url: gCarModelUrl,
         // 使用AxisEditTool编辑时需设置该参数为true
         isEdit: true 
     }),
     geoPosArray: [new CooSDK.PositionObj(120.218360866, 30.2102196798, 50.4588537607)],
     labelIdArray: ["model1"]
});
var axisTool = new CooSDK.AxisEditTool({
     dataArray: [modelLabel]
});
Demo:

Members

adjustment : Number

获取或者设置微调部件步进值。

Default Value: 0.01

callback : SNCallback|String

获取或者设置回调事件绑定的函数,若取消原先绑定的函数,则赋值为"none"。

Default Value: "none"

dataArray : Number

获取或者设置FeatureModelData的id,与labelObjId两者选其一传入即可。

Default Value: null

dragSpeed : Number

获取或者设置拖拽系数。

Default Value: 1

isAxisXVisible : Boolean

获取或者设置x旋转面是否显示。

Default Value: true

isAxisYVisible : Boolean

获取或者设置y旋转面是否显示。

Default Value: true

isAxisZVisible : Boolean

获取或者设置z旋转面是否显示。

Default Value: true

isChangeColor : Boolean

获取或者设置是否变色。

Default Value: true

labelObjId : Number

获取或者设置模型标注id。

pickColor : ColorObj

获取或者设置拾取高亮颜色。

Default Value: new ColorObj(1.0, 0, 0, 0.6)

quation : String

获取或者设置模型朝向方向向量关联字段。

Default Value: "Direction"

screen : CooMap|ScreenObj

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

Default Value: null

xRotate : String

获取或者设置x轴旋转关联字段。

Default Value: "XRotate"

xScale : String

获取或者设置x轴缩放关联字段。

Default Value: "XScale"

yRotate : String

获取或者设置y轴旋转关联字段。

Default Value: "YRotate"

yScale : String

获取或者设置y轴缩放关联字段。

Default Value: "YScale"

zRotate : String

获取或者设置z轴旋转关联字段。

Default Value: "ZRotate"

zScale : String

获取或者设置z轴缩放关联字段。

Default Value: "ZScale"

Methods

destroy()

从场景中销毁自身。

Returns:

null 空值。

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

getResult(name, reCallback)String|FDTObject

根据指定参数获取结果。

Name Type Description
name EnumAxisEditResult

查询参数。

reCallback CBCallback optional

非IE时可传入:需传递的回调函数,返回查询结果。

Returns:

查询结果。IE:String类型;非IE:FDTObject对象。

Examples:
// IE浏览器写法:
// 获取模型数据部分属性
var result = axisTool.getResult(CooSDK.EnumAxisEditResult.ID);
console.log(result);
// 非IE浏览器写法:
// 获取模型数据部分属性
axisTool.getResult(CooSDK.EnumAxisEditResult.ID, function(result){
     console.log(result);
});

update(props)

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

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

Name Type Description
props Object

包含如下属性的Object:

Name Type Description
dataArray Number optional

FeatureModelData或者LabelObj对象的数组。

pickColor ColorObj optional

拾取高亮颜色。

isChangeColor Boolean optional

是否变色。

isAxisXVisible Boolean optional

x旋转面是否显示。

isAxisYVisible Boolean optional

y旋转面是否显示。

isAxisZVisible Boolean optional

z旋转面是否显示。

adjustment Number optional

微调部件步进值。

dragSpeed Number optional

拖拽系数。

callback SNCallback | String optional

拾取回调事件绑定函数。

Example:
axisEditTool.update({
   adjustment : 0
});