VTK:将标签/文本放在3d图中的点附近

时间:2013-02-24 04:07:49

标签: vtk

我编写了一个代码,将多个3d点绘制为球体。我想在3D中的每个球体附近添加一些文字,以提及有关每个点的一些信息。但我有vtkPoints来存储没有GetOutputPort的积分位置,我需要在labelMApper中(并且还使用glyph3d制作球体)

vtkSmartPointer<vtkLabeledDataMapper> labelMapper = vtkSmartPointer<vtkLabeledDataMapper>::New();
labelMapper->SetInputConnection( vtkpoints->GetOutputPort() ); // No GetOutputPort()
vtkSmartPointer<vtkActor2D> labelActor = vtkSmartPointer<vtkActor2D>::New();
labelActor->SetMapper(labelMapper);
renderer->AddActor(labelActor); 

1 个答案:

答案 0 :(得分:2)

您应该从点构造一个vtkPolyData,并将其设置为标签映射器的输入。

这样的事情:

vtkNew<vtkPolyData> labelPolyData;
labelPolyData->SetPoints(labelPoints);
labelMapper->SetInput(labelPolyData);  // Note: If you're using VTK from master (6.x), this is SetInputData(...)
renderer->AddActor2D(labelActor);