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