vtk 两点确定一条直线的可视化

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

vtkSmartPointer<vtkPoints> Points = vtkSmartPointer<vtkPoints>::New();
      Points->InsertNextPoint(StartPoint[0],StartPoint[1],StartPoint[2]);
      Points->InsertNextPoint(EndPoint[0],EndPoint[1],EndPoint[2]);//返回该点的索引值
      vtkSmartPointer<vtkLine> Line = vtkSmartPointer<vtkLine>::New();
      Line->GetPointIds()->SetId(0,0);
      Line->GetPointIds()->SetId(1,1);
      vtkSmartPointer<vtkCellArray> Cell = vtkSmartPointer<vtkCellArray>::New();
      Cell->InsertNextCell(Line);
      vtkSmartPointer<vtkPolyData> Polydata=vtkSmartPointer<vtkPolyData>::New();
      Polydata->SetPoints(Points);//几何结构
      Polydata->SetLines(Cell);//拓扑结构
      vtkSmartPointer<vtkPolyDataMapper>Mapper=
      vtkSmartPointer<vtkPolyDataMapper>::New();
      Mapper->SetInputData(Polydata);
      vtkSmartPointer<vtkActor> Actor = vtkSmartPointer<vtkActor>::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(单元数据)类表达数据集属性。

你可能感兴趣的:(vtk,vtk,几何,拓扑,直线)