Skip to content

Interface: ExplodeManager

Defined in: packages/viewer-core/src/public/managers/ExplodeManager.ts:37

零件爆炸 manager。

职责域:按结构树把零件沿「自身中心 − 模型中心」方向散开,支持散开倍率 / 深度衰减 / 平滑动画与节点锁定(锁定的零件留在原位)。典型入口: set(scale) 设置爆炸程度(0 = 复原,1 = 完全散开),lockNodes() 固定个别零件, reset() 一步复原。

Remarks

经 Viewer 实例上的 viewer.explode 访问,不要直接构造。

Methods

clearLocks()

clearLocks(): void

Defined in: packages/viewer-core/src/public/managers/ExplodeManager.ts:130

清除全部爆炸锁定;已处于爆炸状态时立即重算偏移。

Returns

void


getNodeOffset()

getNodeOffset(id): Vec3

Defined in: packages/viewer-core/src/public/managers/ExplodeManager.ts:138

取某节点当前的爆炸累加偏移(动画 / 测试用);无偏移返回零向量。

Parameters

id

NodeId

Returns

Vec3


getOptions()

getOptions(): object

Defined in: packages/viewer-core/src/public/managers/ExplodeManager.ts:95

取当前生效的爆炸参数(散开倍率 / 深度衰减)。

Returns

object

depthDampening

depthDampening: number

magnitude

magnitude: number


getScale()

getScale(): number

Defined in: packages/viewer-core/src/public/managers/ExplodeManager.ts:90

取当前爆炸程度(动画进行中返回的是逐帧推进的即时值)。

Returns

number


isLocked()

isLocked(id): boolean

Defined in: packages/viewer-core/src/public/managers/ExplodeManager.ts:125

查询某节点(叶子)当前是否被爆炸锁定。

Parameters

id

NodeId

Returns

boolean


lockNodes()

lockNodes(ids): void

Defined in: packages/viewer-core/src/public/managers/ExplodeManager.ts:105

锁定一组节点不参与爆炸(非叶节点展开到其叶子);已处于爆炸状态时立即生效。

Parameters

ids

NodeId | readonly NodeId[]

Returns

void


reset()

reset(): void

Defined in: packages/viewer-core/src/public/managers/ExplodeManager.ts:100

立即复原(等价于 set(0, { animate: false }),无动画)。

Returns

void


set()

set(scale, options?): void

Defined in: packages/viewer-core/src/public/managers/ExplodeManager.ts:65

设置爆炸程度。scale 取 0–1(自动钳制),0 为复原;options 可调散开倍率 magnitude(默认 4)、深度衰减 depthDampening(默认 0)与是否动画过渡 animate(默认 true,约 400ms 缓动)。未加载模型时静默返回。

Parameters

scale

number

options?

ExplodeOptions = {}

Returns

void


unlockNodes()

unlockNodes(ids): void

Defined in: packages/viewer-core/src/public/managers/ExplodeManager.ts:115

解除一组节点的爆炸锁定(非叶节点展开到其叶子);已处于爆炸状态时立即生效。

Parameters

ids

NodeId | readonly NodeId[]

Returns

void