vtkLine 和 vtkLineSource生成直线可视化(生成的直线有什么不一样吗)

已知两个点:StartPoint,EndPoint,用vtk可视化其确定的直线:

1、vtkLineSource

vtkSmartPointer lineSource= vtkSmartPointer::New();
lineSource->SetPoint1(Pointbegin);
lineSource->SetPoint2(Pointend);//两点确定一条直线
lineSource->Update();

2、vtkLine

      vtkSmartPointer Points = vtkSmartPointer::New();
      Points->InsertNextPoint(StartPoint[0],StartPoint[1],StartPoint[2]);
      Points->InsertNextPoint(EndPoint[0],EndPoint[1],EndPoint[2]);//返回该点的索引值
      vtkSmartPointer Line = vtkSmartPointer::New();
      Line->GetPointIds()->SetId(0,0);
      Line->GetPointIds()->SetId(1,1);
      vtkSmartPointer Cell = vtkSmartPointer::New();
      Cell->InsertNextCell(Line);
      vtkSmartPointer Polydata=vtkSmartPointer::New();
      Polydata->SetPoints(Points);//几何结构
      Polydata->SetLines(Cell);//拓扑结构
      vtkSmartPointerMapper=
      vtkSmartPointer::New();
      Mapper->SetInputData(Polydata);
      vtkSmartPointer Actor = vtkSmartPointer::New();
      Actor->SetMapper(Mapper);



vtk的数据集如vtkpolydata、vtkImageData等均由几何结构与拓扑结构组成,对应 Polydata->SetPoints(Points)与 Polydata->SetLines(Cell)。vtkCellArray类是确定拓扑结构的,本文所示的是生成直线,用SetLine实现。 
VTK里与数据集对应的类是vtkDataSet,vtkDataSet-》vtkImageData vtkDataSet-》vtkPointSet-》vtkPolydata。vtkDataSet 由组织结构与属性数据组成,组织结构由几何结构与拓扑结构组成。属性数据可以没有,vtkPointData(点数据)类和vtkCellData(单元数据)类表达数据集属性。

原文:https://blog.csdn.net/Zzhouzhou237/article/details/72953530 
 

你可能感兴趣的:(VTK,3D,显示)