AxisEditTool

new CooSDK.AxisEditTool(props, initAxisType)

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


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

包含如下属性的Object:

Name Type Default Description
adjustment Number 0.01 optional

微调部件步进值。

callback SNCallback | String "none" optional

拾取回调事件绑定函数。

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

FeatureModelData或者LabelObj对象的数组。

dragSpeed Number 1 optional

拖拽系数。

initAxisType EnumToolAxisType EnumToolAxisType.TRANS optional

初始化轴类型。

props.isChangeColor Boolean true optional

是否变色。

props.isAxisChange Boolean true optional

轴是否随着点击模型变换类型。

props.isAxisVisible Boolean true optional

是否显示轴。

props.isAxisXVisible Boolean true optional

x旋转面是否显示。

props.isAxisYVisible Boolean true optional

y旋转面是否显示。

props.isAxisZVisible Boolean true optional

z旋转面是否显示。

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

拾取高亮颜色。

props.quation String "Direction" optional

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

props.screen CooMap | ScreenObj null optional

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

props.xRotate String "XRotate" optional

x轴旋转关联字段。

props.yRotate String "YRotate" optional

y轴旋转关联字段。

props.zRotate String "ZRotate" optional

z轴旋转关联字段。

props.xScale String "XScale" optional

x轴缩放关联字段。

props.yScale String "YScale" optional

y轴缩放关联字段。

props.zScale String "ZScale" optional

z轴缩放关联字段。

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

initAxisType : EnumToolAxisType

获取或者设置初始化轴类型。

Default Value: EnumToolAxisType.TRANS

isAxisChange : Boolean

获取或者设置轴是否随着点击模型变换类型。

Default Value: true

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

根据指定参数获取结果。

Name Type Description
name EnumAxisEditResult

查询参数。

reCallback CBCallback optional

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

Returns:

查询结果。

Example:
// 获取模型数据部分属性
var result = axisTool.getResult(CooSDK.EnumAxisEditResult.ID);
console.log(result);

modifyRotate(x, y, z)

旋转模型。

Name Type Description
x Number

模型x轴的旋转弧度。

y Number

模型y轴的旋转弧度。

z Number

模型z轴的旋转弧度。

Example:
axisEditTool.modifyRotate(0,1.5,0);

modifyScale(x, y, z)

缩放模型。

Name Type Description
x Number

模型x轴的缩放比例。

y Number

模型y轴的缩放比例。

z Number

模型z轴的缩放比例。

Example:
axisEditTool.modifyScale(2,1,1);

modifyTranslate(x, y, z)

移动模型的位置。

Name Type Description
x Number

模型x轴的移动距离。

y Number

模型y轴的移动距离。

z Number

模型z轴的移动距离。

Example:
axisEditTool.modifyTranslate(0.1,0,0);

update(props)

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

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

Name Type Description
props Object

包含如下属性的Object:

Name Type Description
adjustment Number optional

微调部件步进值。

callback SNCallback | String optional

拾取回调事件绑定函数。

dataArray Number optional

FeatureModelData或者LabelObj对象的数组。

dragSpeed Number optional

拖拽系数。

isAxisChange Boolean optional

轴是否随着点击模型变换类型。

isAxisVisible Boolean optional

是否显示轴。

isAxisXVisible Boolean optional

x旋转面是否显示。

isAxisYVisible Boolean optional

y旋转面是否显示。

isAxisZVisible Boolean optional

z旋转面是否显示。

isChangeColor Boolean optional

是否变色。

pickColor ColorObj optional

拾取高亮颜色。

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