new FdTransformHelper()
Example
var viewer = Freedo.FdApp.createDefaultViewer('freedoContainer'); var tileset = viewer.scene.primitives.add(new Freedo.FreedoPModelset({ url : '../../sampleData/文化室2018z' })); tileset.readyPromise.then(function(tileset) { viewer.camera.viewBoundingSphere(tileset.boundingSphere, new Freedo.HeadingPitchRange(0, -0.5, 0)); var th = new Freedo.FdMicroApp.FdTransformHelper(viewer); th.setData([tileset]); th.start('MOVE'); });
Methods
-
addPModel(pModel)
-
添加PModel对象
Parameters:
Name Type Description pModel
PModel PModel对象
-
applyTransformToTileset(tileSet, TMoveX, TMoveY, TMoveZ, THeading, TPitch, TRoll, TScaleX, TScaleY, TScaleZ [, XCenter] [, YCenter] [, ZCenter])
-
根据参数进行模型变换
Parameters:
Name Type Argument Description tileSet
Object 需要进行操作的模型
TMoveX
Number 从原点计算的经度偏移量,单位弧度
TMoveY
Number 从原点计算的纬度偏移量,单位弧度
TMoveZ
Number 从原点计算的最终高程值,单位是米
THeading
Number Heading,单位是角度
TPitch
Number Pitch,单位是角度
TRoll
Number Roll,单位是角度
TScaleX
Number X方向上的缩放系数
TScaleY
Number X方向上的缩放系数
TScaleZ
Number X方向上的缩放系数
XCenter
Number <optional>
指定操作点的经度,单位弧度
YCenter
Number <optional>
指定操作点的纬度,单位弧度
ZCenter
Number <optional>
指定操作点的高程,单位米
-
cancel()
-
退出模型编辑
-
dispose()
-
销毁所有资源
-
getData()
-
获取数据
Returns:
格式如下: [{ tileset: tileset对象, modelMatrix: 变换矩阵 }...]
- Type
- Object
-
getMatrixOfTileset(tileSet, TMoveX, TMoveY, TMoveZ, THeading, TPitch, TRoll, TScaleX, TScaleY, TScaleZ [, XCenter] [, YCenter] [, ZCenter])
-
根据参数得到变换矩阵
Parameters:
Name Type Argument Description tileSet
Object 需要进行操作的模型
TMoveX
Number 从原点计算的经度偏移量,单位弧度
TMoveY
Number 从原点计算的纬度偏移量,单位弧度
TMoveZ
Number 从原点计算的最终高程值,单位是米
THeading
Number Heading,单位是角度
TPitch
Number Pitch,单位是角度
TRoll
Number Roll,单位是角度
TScaleX
Number X方向上的缩放系数
TScaleY
Number X方向上的缩放系数
TScaleZ
Number X方向上的缩放系数
XCenter
Number <optional>
指定操作点的经度,单位弧度,可选参数,如果不指定默认使用原点的经度
YCenter
Number <optional>
指定操作点的纬度,单位弧度,可选参数,如果不指定默认使用原点的纬度
ZCenter
Number <optional>
指定操作点的高程,单位米,可选参数,如果不指定默认使用原点的高程
-
hideAxis()
-
隐藏操作轴
-
on(listener [, scope])
-
注册事件捕捉
Parameters:
Name Type Argument Description listener
FdMicroApp.FdTransformHelper~FdTransformHelperCallback 当有事件触发时被执行的函数。
scope
Object <optional>
listener函数执行时的绑定的对象。
Returns:
返回一个函数,调用该函数可以取消监听。
- Type
- Freedo.Event~RemoveCallback
-
removePModel(pModel)
-
删除PModel对象
Parameters:
Name Type Description pModel
PModel PModel对象
-
reset()
-
重置
-
resetTransform()
-
重置场景的变换矩阵
-
saveTransform()
-
保存变换矩阵
-
setArg(argName, argValue)
-
设置参数值
Parameters:
Name Type Description argName
String 参数名
argValue
String 参数值
-
setData(aPModel)
-
设置PModel数组
Parameters:
Name Type Description aPModel
Array PModelSet的数组
-
setModel(aPModel)
-
设置PModel数组
Parameters:
Name Type Description aPModel
Array PModelSet数组
-
start(type)
-
激活模型编辑
Parameters:
Name Type Description type
String 编辑类型,MOVE,SCALE, ROTATE
Type Definitions
-
FdTransformHelperCallback(eventType, eventArg)
-
Parameters:
Name Type Description eventType
String 事件类型有:Start,Cancel,InitTransform,Transform,Transforming,Transformed,TransformedMatrix,resetTransform,DataChanged
eventArg
Object Start/Cancel无返回值,其他事件返回值是包含各个参数数据的对象