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