1

我正在尝试使用@kitware/vtk.js 18.1.2和自定义源在 react ts 应用程序中显示网格。首先,我创建了一个带有锥形源的工作场景

(...)
const coneSource = vtkConeSource.newInstance();

const mapper = vtkMapper.newInstance();
// @ts-ignore
mapper.setInputConnection(coneSource.getOutputPort());
(...)

它可以按预期工作,尽管没有声明类似的功能setInputConnectiongetOutputPort这就是我使用 的原因@ts-ignore)。现在我试图通过创建自定义来显示我自己的数据vtkPolyDatavtk.js 的文档中有教程, 示例用法vtkPolyData如下:

const polyData = vtkPolyData.newInstance()
Const vertices = new Float32Array(<xyz coords>)
Const polys = new Uint32Array(<poly definitions>)
polyData.getPoints().setData(vertices, 3)
polyData.getPolys().setData(polys);

它不起作用,因为 API 似乎已更改(?)所以尝试这样做:

const polyData = vtkPolyData.newInstance();
polyData.setVerts(vertices);
polyData.setPolys(polys);

Where verticesis Float32Arrayin format of [x1, y1, z1, x2, y2, z2, ...] and polysis Uint32Arrayin format of [4, p1, p2, p3, p4, ...](我的网格只使用四边形)。

然后我将它连接到映射器:

// @ts-ignore
mapper.setInputData(meshSource);

再次setInputData没有声明,但无论如何都编译了所有内容,并且控制台中没有错误。不幸的是,我看到的只是渲染器的背景。如何显示我的自定义数据?我是否朝着正确的方向前进?我是VTK的新手。

4

0 回答 0