Class: FdTransformHelper

FdMicroApp. FdTransformHelper

模型编辑器


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无返回值,其他事件返回值是包含各个参数数据的对象