vtkProperty SetLineStipplePattern工作,但SetLineWidth不.. ..

时间:2016-12-09 12:31:47

标签: vtk

我创建了一个传递给vtkPolyDataMapper的vtkLineSource,传递给vtkActor。

actor->GetProperty()->SetLineStipplePattern(0xf0f0); 

就像一个魅力。然而

actor->GetProperty()->SetLineWidth(5.0);

什么也没做。

两种方法都标记为"这仅适用于OpenGL。"

以下是片段:

vtkSmartPointer<vtkLineSource> line1 = vtkSmartPointer<vtkLineSource>::New();
line1->SetPoint1(posvel1.x, posvel1.y, posvel1.z);
line1->SetPoint2(posvel2.x, posvel2.y, posvel2.z);

vtkSmartPointer<vtkPolyDataMapper> mapper = vtkSmartPointer<vtkPolyDataMapper>::New();
mapper->SetInputConnection(line1->GetOutputPort());

vtkSmartPointer<vtkActor> actor = vtkSmartPointer<vtkActor>::New();
actor->SetMapper(mapper);
actor->GetProperty()->SetLineWidth(2.0); // TODO: Has no effect. 
actor->GetProperty()->SetColor(1, 1, 1);
actor->GetProperty()->SetOpacity(0.5);
actor->GetProperty()->SetLineStipplePattern(0xf0f0);
actor->GetProperty()->SetLineStippleRepeatFactor(1);
// Further up, add actor to vtkAssembly

线条显示并有点画图案,但宽度不受我传递给SetLineWidth的任何值的影响。

编辑:我的代码中已有评论。 &#34;用vtkPoints替换多边形绘图而不是需要LineSource ......&#34;经测试:没有解决问题,点画模式存在,线宽不起作用。

==编辑== 什么替代有用vtk在3D场景中绘制2D虚线/虚线?

0 个答案:

没有答案