您的位置:首页 > 编程语言 > Qt开发

Qt环境下使用vtk的测量组件 vtkAngleWidget和vtkDistanceWidget

2017-12-26 14:53 821 查看
Qt坏境下在ui文件中qvtkwidget添加vtkAngleWidget和vtkDistanceWidget 组件代码:

vtkDistanceWidget组件:

vtkRenderer * renderer  = vtkRenderer::New();
ui->qvtkWidget->GetRenderWindow()->AddRenderer(renderer);
vtkDistanceWidget *distanceWidget = vtkDistanceWidget::New();
distanceWidget->SetInteractor(ui->vtkWidget->GetRenderWindow()->GetInteractor());
vtkDistanceRepresentation3D* representation = vtkDistanceRepresentation3D::New();
distanceWidget->SetRepresentation(representation);
distanceWidget->SetPriority(0.9);
static_cast<vtkDistanceRepresentation*> (distanceWidget->GetRepresentation())->SetLabelFormat("%-#6.2f mm");
distanceWidget->ManagesCursorOn();
distanceWidget->On();
vtkAngleWidget组件:

vtkRenderer *renderer  = vtkRenderer::New();
ui->qvtkWidget->GetRenderWindow()->AddRenderer(renderer);
vtkAngleWidget *angleWidget =vtkAngleWidget::New();
angleWidget->SetPriority(0.9);
angleWidget->SetInteractor(ui->qvtkWidget->GetRenderWindow()->GetInteractor()); //添加交互器
angleWidget->CreateDefaultRepresentation();
angleWidget->ManagesCursorOn();
angleWidget->On();


在代码调试过程中发现使用vtkSmartPointer智能指针定义vtkDistanceWidget 和 vtkAngleWidget是组件不显示,写成普通模式则可以,不太清楚具体原因



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息