QT学习VTK序列: Line

学习VTK绘制直线

通过vtkLineSource生成直线,主要控制量包含: (1) 起止点 (2)直线分段数 (3)设置输出点的精度

SetPoint1设置起点
SetPoint2设置终点
SetPoints设置点
SetResolution设置直线的分段数
SetOutputPointsPrecision设置输出点精度,单精度浮点数/双精度浮点数
/** ModuleName: 模块名称* Description:* 参考代码:https://lorensen.github.io/VTKExamples/site/Cxx/GeometricObjects/Line/* Author: hsw* Date: 2020-03-15*
*/// QT
#include 
#include // VTK
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include // C++
#include namespace Ui {
class MainWindow;
}VTK_MODULE_INIT(vtkRenderingOpenGL2);
VTK_MODULE_INIT(vtkInteractionStyle);
VTK_MODULE_INIT(vtkRenderingContextOpenGL2);
VTK_MODULE_INIT(vtkRenderingFreeType);class MainWindow : public QMainWindow
{Q_OBJECT
public:explicit MainWindow(QWidget *parent = 0);~MainWindow();
private:Ui::MainWindow *ui;
private:
};
#include "mainwindow.h"
#include "ui_mainwindow.h"MainWindow::MainWindow(QWidget *parent) :QMainWindow(parent),ui(new Ui::MainWindow)
{ui->setupUi(this);// vtkNamedColorsvtkSmartPointer colors = vtkSmartPointer::New();// Create two points, P0 and P1double p0[3] = {1.0, 0.0, 0.0};double p1[3] = {0.0, 1.0, 0.0};vtkSmartPointer lineSource = vtkSmartPointer::New();lineSource->SetPoint1(p0);lineSource->SetPoint2(p1);// vtkPolyDataMappervtkSmartPointer mapper = vtkSmartPointer::New();mapper->SetInputConnection(lineSource->GetOutputPort());// vtkActorvtkSmartPointer actor = vtkSmartPointer::New();actor->SetMapper(mapper);actor->GetProperty()->SetLineWidth(4);actor->GetProperty()->SetColor(colors->GetColor3d("Peacock").GetData());// vtkRenderervtkSmartPointer renderer = vtkSmartPointer::New();renderer->SetBackground(colors->GetColor3d("Silver").GetData());renderer->AddActor(actor);// vtkRenderWindowui->qvtkWidget->GetRenderWindow()->AddRenderer(renderer);
}MainWindow::~MainWindow()
{delete ui;
}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部