问题描述
我正在尝试使用 lambda
和自定义源在 react ts 应用程序中显示网格。
首先,我用锥形源创建了一个工作场景
@kitware/vtk.js 18.1.2
尽管没有声明 (...)
const conesource = vtkConesource.newInstance();
const mapper = vtkMapper.newInstance();
// @ts-ignore
mapper.setInputConnection(conesource.getoutputPort());
(...)
和 setInputConnection
等函数(这就是我使用 getoutputPort
的原因),但它按预期工作。
现在我试图通过创建自定义 @ts-ignore
来显示我自己的数据。
There are tutorials in documentation of vtk.js
vtkpolyData
的示例用法如下:
vtkpolyData
它不起作用,因为 API 似乎已更改(?)所以尝试这样做:
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);
其中 const polyData = vtkpolyData.newInstance();
polyData.setVerts(vertices);
polyData.setpolys(polys);
是 vertices
,格式为 Float32Array
[x1,y1,z1,x2,y2,z2,...]
是 polys
,格式为 Uint32Array
(我的网格仅使用四边形)。
然后我将它连接到映射器:
[4,p1,p2,p3,p4,...]
再次声明 // @ts-ignore
mapper.setInputData(meshSource);
未声明,但无论如何都编译了所有内容,并且控制台中没有错误。不幸的是,我所看到的只是渲染器的背景。如何显示我的自定义数据?我什至朝着正确的方向前进吗?我是 VTK 的新手。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)