Appearance
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
Returns
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
Returns
boolean
lockNodes()
lockNodes(
ids):void
Defined in: packages/viewer-core/src/public/managers/ExplodeManager.ts:105
锁定一组节点不参与爆炸(非叶节点展开到其叶子);已处于爆炸状态时立即生效。
Parameters
ids
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
Returns
void