有人可以指出我如何绘制看起来相连的多条线的正确方向吗?我发现vtkLine
了它的SetPoint1
和SetPoint2
功能。然后我找到了vtkPolyLine
,但似乎没有任何添加、插入或设置功能。对vtkPolyVertex
.
是否有一个基本功能允许我在其内部数据的末尾推送某个点并简单地渲染它?或者如果没有这样的函数/对象,那么这里的路是什么?
关于一个相关主题:我不太喜欢 vtk。是否有更易于使用的可视化工具包,可能功能有限?
提前致谢
要绘制多条线,您应该首先创建一个包含所有点的 vtkPoints 类,然后添加您希望通过 vtkPolyData 或 vtkUnstructuredGrid 连接到线中的点的连接信息(这是您的 vtkDataSet 类;vtkDataSet 类包含 vtkPoints以及这些点的连接信息)。一旦你的 vtkDataSet 被构建,你可以采用正常的路线来渲染它(mapper->actor->renderer...)
例如:
vtkPoints *pts = vtkPoints::New();
pts->InsertNextPoint(1,1,1);
...
pts->InsertNextPoint(5,5,5);
vtkPolyData *polydata = vtkPolyData::New();
polydata->Allocate();
vtkIdType connectivity[2];
connectivity[0] = 0;
connectivity[1] = 3;
polydata->InsertNextCell(VTK_LINE,2,connectivity); //Connects the first and fourth point we inserted into a line
vtkPolyDataMapper *mapper = vtkPolyDataMapper::New();
mapper->SetInput(polydata);
// And so on, need actor and renderer now
所有类的文档站点上有很多示例这里是 vtkPoints:http ://www.vtk.org/doc/release/5.4/html/a01250.html
如果单击 vtkPoints (Tests) 链接,您可以看到与该类关联的测试。它提供了一堆不同的示例代码。
此外,vtk 邮件列表可能比堆栈溢出更有用。