直接跳到内容

VTKJS 三维模型

PnVTK 组件可以在 Panel 应用程序中渲染 vtk.js 文件,使得可以加载和交互复杂的 3D 几何体。

底层实现为panel.pane.VTK,参数基本一致,参考文档:https://panel.holoviz.org/reference/panes/VTKJS.html

基本用法

构造 PnVTKJS 组件最简单的方法是给它一个 vtk.js 文件,它将序列化并嵌入到图表中。PnVTKJS 组件还支持 Bokeh 提供的常规尺寸选项,包括响应式尺寸模式。也可以通过替换 object 来更新模型。

相机控制

一旦显示了 VTKJS 组件,它将自动将相机状态与组件对象同步。相机参数仅在交互结束时更新。我们可以在相应的参数上读取相机状态:

这种技术也使得可以将两个或多个 VTKJS 组件的相机链接在一起:

还可以在 Python 中修改相机状态并触发更新:

API

属性

属性名说明类型默认值
object可以是指向本地或远程的带有 .vtkjs 扩展名的文件的字符串str, object None
axes在 3D 视图中构造的坐标轴的参数字典。必须至少包含 xtickerytickerztickerdict None
camera反映 VTK 相机当前状态的字典dict None
enable_keybindings激活/禁用键盘绑定的布尔值。绑定的键有:s(将所有 actor 表示设置为表面)、w(将所有 actor 表示设置为线框)、v(将所有 actor 表示设置为顶点)、r(居中 actor 并移动相机,使所有 actor 可见)boolean False
orientation_widget激活/禁用 3D 面板中的方向部件的布尔值boolean False
interactive_orientation_widget如果为 True,则方向部件可点击并允许将场景旋转到正交投影之一boolean False
sizing_mode尺寸调整模式str 'fixed'
width宽度int, str None
height高度int, str None
min_width最小宽度int None
min_height最小高度int None
max_width最大宽度int None
max_height最大高度int None
margin外边距int, tuple 5
css_classesCSS类名列表list []

Slots

插槽名说明
default自定义默认内容

方法

方法名说明参数
export_scene导出场景并生成可以被官方 vtk-js 场景导入器加载的文件filename: str

Controls

src/examples/panel_vuepy/panes/VTKJS

VTKJS 三维模型已经加载完毕