Qt环境下使用vtk的测量组件 vtkAngleWidget和vtkDistanceWidget
来源:互联网 发布:股票回测软件 编辑:程序博客网 时间:2024/06/18 11:14
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是组件不显示,写成普通模式则可以,不太清楚具体原因
阅读全文