Appearance
Class: Viewer
Defined in: packages/viewer-core/src/public/Viewer.ts:63
.fmbv 渲染引擎的唯一公开入口。
持有 WebGL 渲染管线与场景,把能力按域拆给 14 个只读 manager 属性 (model / camera / selection / section / explode 等);事件经 on() / once() 订阅。典型流程:Viewer.create(canvas) → viewer.model.load(url) → 经各 manager 操作 → 不再使用时 dispose()。
Properties
background
readonlybackground:BackgroundManager
Defined in: packages/viewer-core/src/public/Viewer.ts:83
画布背景(纯色 / 渐变 / 图片 / 透明)。
camera
readonlycamera:CameraManager
Defined in: packages/viewer-core/src/public/Viewer.ts:67
相机位姿、标准视图、zoom-to-fit 与交互控制。
diagnostics
readonlydiagnostics:DiagnosticsManager
Defined in: packages/viewer-core/src/public/Viewer.ts:79
LOD 等调试诊断查询。
edges
readonlyedges:EdgesManager
Defined in: packages/viewer-core/src/public/Viewer.ts:71
全局边线显示开关、颜色与不透明度。
explode
readonlyexplode:ExplodeManager
Defined in: packages/viewer-core/src/public/Viewer.ts:87
零件爆炸(散开 / 锁定 / 动画)。
explodeEdit
readonlyexplodeEdit:ExplodeEditManager
Defined in: packages/viewer-core/src/public/Viewer.ts:93
编辑态零件爆炸(范围/方向/层级/增量;写 transform 通道、进 undo/sidecar)。
export
readonlyexport:ExportManager
Defined in: packages/viewer-core/src/public/Viewer.ts:85
矢量 SVG 工程图导出(消隐线条)。
history
readonlyhistory:HistoryManager
Defined in: packages/viewer-core/src/public/Viewer.ts:91
统一编辑撤销/重做(变换 + 可见性交错于同一有序栈)。
labels
readonlylabels:LabelsManager
Defined in: packages/viewer-core/src/public/Viewer.ts:101
序号标签:点零件钉编号气泡,随视图持久化、可撤销。
lights
readonlylights:LightsManager
Defined in: packages/viewer-core/src/public/Viewer.ts:75
场景光源的增删与强度调整。
model
readonlymodel:ModelManager
Defined in: packages/viewer-core/src/public/Viewer.ts:65
模型加载 / 卸载、结构树查询与节点级外观控制。
navcube
readonlynavcube:NavCubeManager
Defined in: packages/viewer-core/src/public/Viewer.ts:81
画布角落导航立方体的开关 / 停靠 / 尺寸。
quality
readonlyquality:RenderQualityManager
Defined in: packages/viewer-core/src/public/Viewer.ts:97
渲染质量(抗锯齿 / AO / 色调映射 / 质量档)。
renderMode
readonlyrenderMode:RenderModeManager
Defined in: packages/viewer-core/src/public/Viewer.ts:73
全局与按节点的渲染模式(实色线框 / 线框 / 实色 / 消隐)。
section
readonlysection:SectionManager
Defined in: packages/viewer-core/src/public/Viewer.ts:95
剖切 section 与盖面 / gizmo 交互。
selection
readonlyselection:SelectionManager
Defined in: packages/viewer-core/src/public/Viewer.ts:69
点击 / 框选 / 程序化选中与 hover 高亮。
stats
readonlystats:StatsView
Defined in: packages/viewer-core/src/public/Viewer.ts:77
加载与渲染统计快照(fps / 帧时 / chunk 进度等)。
transform
readonlytransform:TransformManager
Defined in: packages/viewer-core/src/public/Viewer.ts:89
零部件位置变换编辑(单实例,平移+旋转)。
views
readonlyviews:ViewsManager
Defined in: packages/viewer-core/src/public/Viewer.ts:99
视图结果态捕获 / 应用(相机 + 显隐 + 位置变换 + 材质)。
Methods
captureImage()
captureImage(
opts?):string
Defined in: packages/viewer-core/src/public/Viewer.ts:767
渲染一帧并以 data URL 形式返回当前视口截图。
Parameters
opts?
maxSize?
number
限制输出图像最长边(px),等比缩放;省略则全分辨率。
mime?
string
输出 MIME 类型(默认 image/png)。
实现先 renderOnce() 再读 canvas——同步栈内读取,无需 preserveDrawingBuffer。
Returns
string
dispose()
dispose():
void
Defined in: packages/viewer-core/src/public/Viewer.ts:799
销毁 viewer:停止渲染循环、释放全部 GPU 资源与事件订阅。幂等(重复 调用静默返回);销毁后再调各 manager 的方法会抛 ViewerError(Disposed)。
Returns
void
invalidate()
invalidate():
void
Defined in: packages/viewer-core/src/public/Viewer.ts:790
请求引擎在下一帧重绘(render-on-demand 兜底逃生口)。宿主绕过公开 API 直接改动了会影响画面的状态(或怀疑某条状态变更路径未接线到失效检测)时 调用;已销毁时静默返回。多数内置状态变更(选中 / hover / 外观 / 剖切 / 显隐 / 变换 / 标签 / 视图 / 投影 / 结构编辑 / 相机)已经过 EventBus 自动 失效,通常无需手动调用。
Returns
void
off()
off<
K>(event,handler):void
Defined in: packages/viewer-core/src/public/Viewer.ts:748
取消订阅(需传入与 on 时相同的 handler 引用);已销毁时静默返回。
Type Parameters
K
K extends keyof ViewerEvents
Parameters
event
K
handler
(e) => void
Returns
void
on()
on<
K>(event,handler): () =>void
Defined in: packages/viewer-core/src/public/Viewer.ts:742
订阅一个 viewer 事件(事件清单与 payload 见 ViewerEvents), 返回取消订阅函数;已销毁时抛 ViewerError(Disposed)。
Type Parameters
K
K extends keyof ViewerEvents
Parameters
event
K
handler
(e) => void
Returns
() => void
once()
once<
K>(event,handler): () =>void
Defined in: packages/viewer-core/src/public/Viewer.ts:754
订阅一个事件且只触发一次,返回取消订阅函数;已销毁时抛 ViewerError(Disposed)。
Type Parameters
K
K extends keyof ViewerEvents
Parameters
event
K
handler
(e) => void
Returns
() => void
resize()
resize():
void
Defined in: packages/viewer-core/src/public/Viewer.ts:778
将渲染器与相机宽高比重新同步到 canvas 当前的 CSS 尺寸。引擎已通过 ResizeObserver 自动处理尺寸变化,宿主通常无需调用——这是一个显式的 逃生口,供宿主在浏览器完成布局前就已知晓布局变化时使用。已销毁时 静默返回。
Returns
void
create()
staticcreate(canvas,options?):Promise<Viewer>
Defined in: packages/viewer-core/src/public/Viewer.ts:725
创建并启动一个 Viewer 实例(唯一构造入口;构造函数私有)。 在给定 canvas 上建立 WebGL 渲染管线并开启渲染循环;options 见 ViewerOptions。若指定了 options.environment,会等 HDRI 环境 加载完成后才 resolve。
Parameters
canvas
HTMLCanvasElement
options?
ViewerOptions = {}
Returns
Promise<Viewer>