Skip to content

Class: ViewsManager ​

Defined in: packages/viewer-core/src/public/managers/ViewsManager.ts:58

视图结果态的捕获与应用,以及视图集(.fmbview.json 信封)的导航。 经 viewer.views 访问,不要直接构造。

Accessors ​

current ​

Get Signature ​

get current(): ViewDocumentView | null

Defined in: packages/viewer-core/src/public/managers/ViewsManager.ts:232

当前视图;无信封或未命中时为 null。

Returns ​

ViewDocumentView | null


currentIndex ​

Get Signature ​

get currentIndex(): number

Defined in: packages/viewer-core/src/public/managers/ViewsManager.ts:239

当前视图位置;无信封时为 -1。

Returns ​

number


hasDocument ​

Get Signature ​

get hasDocument(): boolean

Defined in: packages/viewer-core/src/public/managers/ViewsManager.ts:222

当前是否持有视图信封。

Returns ​

boolean


isDirty ​

Get Signature ​

get isDirty(): boolean

Defined in: packages/viewer-core/src/public/managers/ViewsManager.ts:244

应用当前视图之后,场景是否被改动过(相机 / 可见性 / 变换 / 爆炸)。

Returns ​

boolean

Methods ​

activate() ​

activate(selector, opts?): boolean

Defined in: packages/viewer-core/src/public/managers/ViewsManager.ts:252

切到某个视图。selector 同 selectView:视图 id、name 或整数索引。 命中并应用返回 true;无信封 / 未命中返回 false(不抛)。

Parameters ​

selector ​

string | number

opts? ​

ApplyViewOptions = {}

Returns ​

boolean


apply() ​

apply(state, opts?): void

Defined in: packages/viewer-core/src/public/managers/ViewsManager.ts:153

在当前 viewer 上复现一个 ViewState。 顺序:显示模式 → 可见性 reset+set → 外观(animate 渐变 / instant 逐通道 reset+set) → 变换 → 投影 + 相机。

应用后「已偏离」判据归零。直接喂一个视图集之外的 state 时 currentIndex 不变 (视图集导航由 activate 维护),仅重置偏离基线。

Parameters ​

state ​

ViewState

opts? ​

ApplyViewOptions = {}

Returns ​

void


capture() ​

capture(opts?): ViewState

Defined in: packages/viewer-core/src/public/managers/ViewsManager.ts:102

读当前场景为一个 ViewState。displayMode 缺省由引擎 renderMode 反推(无 xray)。

Parameters ​

opts? ​

CaptureViewOptions = {}

Returns ​

ViewState


clearDocument() ​

clearDocument(): void

Defined in: packages/viewer-core/src/public/managers/ViewsManager.ts:306

丢弃视图信封(模型换掉时自动调用)。

Returns ​

void


list() ​

list(): readonly ViewDocumentView[]

Defined in: packages/viewer-core/src/public/managers/ViewsManager.ts:227

信封里的全部视图(只读)。无信封时为空数组。

Returns ​

readonly ViewDocumentView[]


loadDocument() ​

loadDocument(src, opts?): boolean

Defined in: packages/viewer-core/src/public/managers/ViewsManager.ts:290

装载一份视图信封(拖入 sidecar / 宿主自取)。JSON 字符串或已解析对象皆可。 解析失败、签名与当前模型不符、或信封为空时返回 false 且不改变现状。 默认按 activeId 选中并应用;opts.apply === false 只装载不应用。

Parameters ​

src ​

string | ViewDocument

opts? ​

object & ApplyViewOptions = {}

Returns ​

boolean


next() ​

next(opts?): boolean

Defined in: packages/viewer-core/src/public/managers/ViewsManager.ts:265

切到下一个视图(到尾不循环)。没有可切的返回 false。

Parameters ​

opts? ​

ApplyViewOptions = {}

Returns ​

boolean


prev() ​

prev(opts?): boolean

Defined in: packages/viewer-core/src/public/managers/ViewsManager.ts:271

切到上一个视图(到头不循环)。没有可切的返回 false。

Parameters ​

opts? ​

ApplyViewOptions = {}

Returns ​

boolean


resetToCurrent() ​

resetToCurrent(opts?): boolean

Defined in: packages/viewer-core/src/public/managers/ViewsManager.ts:277

复位到当前视图(清掉用户的偏离)。无当前视图返回 false。

Parameters ​

opts? ​

ApplyViewOptions = {}

Returns ​

boolean