Class: FdClipPlane

FdMicroApp. FdClipPlane

模型面裁剪功能类 支持调整裁剪面的位置和姿态


new FdClipPlane()

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 cp = new Freedo.FdMicroApp.FdClipPlane(viewer, [tileset]);
 cp.startClip('CLIPXY');
}); 

Methods


backToOriginPlane()

恢复裁剪面的初始位置


cancel()

退出场景裁剪


dispose()

销毁所有资源


enableClipPlaneMove(enable)

是否开启裁剪面移动操作

Parameters:
Name Type Description
enable Boolean

true为开启


getData()

获取数据

Returns:

数据格式如下(经纬度单位为度,高度、长度、距离单位为米): { type: 类型, TMoveX: 经度方向平移量, TMoveY: 纬度方向平移量, TMoveZ: 高度方向平移量, TPitch: 俯仰角, TRoll: 翻滚角 }

Type
Object

getType()

返回当前裁剪面类型

Returns:

返回CLIPYZ、CLIPXY、CLIPXYNEG、CLIPXZ分别对应不同的初始操作面。

Type
String

hideAxis()

显示操作轴


hidePlane()

显示裁剪面


on(listener [, scope])

注册事件捕捉

Parameters:
Name Type Argument Description
listener FdMicroApp.FdClipPlane~FdClipPlaneCallback

当有事件触发时被执行的函数。

scope Object <optional>

listener函数执行时的绑定的对象。

Returns:

返回一个函数,调用该函数可以取消监听。

Type
Freedo.Event~RemoveCallback

reset()

重置


setArcLength(arc)

设置操作弧线的长度

Parameters:
Name Type Description
arc Number

单位为弧度


setData(tileset)

设置数据

Parameters:
Name Type Description
tileset Array

PModel数据数组


showAxis()

显示操作轴


showPlane()

显示裁剪面


start(type, data)

激活场景裁剪

Parameters:
Name Type Description
type String

类型,CLIPYZ、CLIPXY、CLIPXYNEG、CLIPXZ分别对应不同的初始操作面。

data Object

初始化数据

Type Definitions


FdClipPlaneCallback(eventType, eventArg)

Parameters:
Name Type Description
eventType String

事件类型有以下几种:Start(裁剪开始)/Cancel(裁剪取消)/ClipReset(恢复裁剪面到初始位置)/Clip(裁剪面即将开始变化)/Cliping(裁剪面正在发生变化)/Cliped(裁剪面变化完成)

eventArg Object

Start/Cancel无返回值,其他事件返回值是包含各个参数数据的对象