您的位置:首页 > 其它

vtk画直线

2012-11-29 00:25 686 查看
vtk中画一条直线,point1为起始点,point2为终止点:

[cpp] view plaincopy

vtkRenderer *ren = vtkRenderer::New();

vtkRenderWindow *renWin = vtkRenderWindow::New();

renWin->AddRenderer(ren);

vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New();

iren->SetRenderWindow(renWin);

vtkSmartPointer<vtkLineSource> line = vtkSmartPointer<vtkLineSource>::New();

line->SetPoint1(10,10,10);

line->SetPoint2(10,10,50);

vtkSmartPointer<vtkDataSetMapper> line_mapper = vtkSmartPointer<vtkDataSetMapper>::New();

line_mapper->SetInput(line->GetOutput());

vtkSmartPointer<vtkActor> line_actor = vtkSmartPointer<vtkActor>::New();

line_actor->SetMapper(line_mapper);

line_actor->GetProperty()->SetColor(1.0,0,0);

ren->AddActor(line_actor);

ren->SetBackground(1, 1, 1);

renWin->SetSize(450, 450);

vtkInteractorStyleTrackballCamera *style=vtkInteractorStyleTrackballCamera::New();

iren->SetInteractorStyle(style);

iren->Initialize();

renWin->Render();

iren->Start();



也可以在固定的框框中显示直线:

[cpp] view plaincopy

vtkRenderer *ren = vtkRenderer::New();

vtkRenderWindow *renWin = vtkRenderWindow::New();

renWin->AddRenderer(ren);

vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New();

iren->SetRenderWindow(renWin);

vtkSmartPointer<vtkLineSource> line = vtkSmartPointer<vtkLineSource>::New();

line->SetPoint1(10,10,10);

line->SetPoint2(10,10,50);

vtkSmartPointer<vtkDataSetMapper> line_mapper = vtkSmartPointer<vtkDataSetMapper>::New();

line_mapper->SetInput(line->GetOutput());

vtkSmartPointer<vtkActor> line_actor = vtkSmartPointer<vtkActor>::New();

line_actor->SetMapper(line_mapper);

line_actor->GetProperty()->SetColor(1.0,0,0);

tkOrientationMarkerWidget *widget = vtkOrientationMarkerWidget::New();

widget->SetOutlineColor( 0.9300, 0.5700, 0.1300 );

widget->SetOrientationMarker( line_actor );

widget->SetInteractor( iren );

widget->SetViewport( 0.85, 0.0, 1, 0.2 );

widget->SetEnabled( 1 );

widget->InteractiveOff();

widget->InteractiveOn();

ren->SetBackground(1, 1, 1);

renWin->SetSize(450, 450);

vtkInteractorStyleTrackballCamera *style=vtkInteractorStyleTrackballCamera::New();

iren->SetInteractorStyle(style);

iren->Initialize();

renWin->Render();

iren->Start();



本文来源:http://blog.csdn.net/lusmiling/article/details/5655134
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息