VTK/Tutorials/TriangleGeometryLines

From KitwarePublic
< VTK‎ | Tutorials
Jump to navigationJump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

TriangleLines.cxx

<source lang="cpp">

  1. include <vtkPoints.h>
  2. include <vtkLine.h>
  3. include <vtkCellArray.h>
  4. include <vtkSmartPointer.h>
  5. include <vtkXMLPolyDataWriter.h>
  6. include <vtkPolyData.h>

int main(int argc, char *argv[]) {

 //Setup point coordinates
 vtkSmartPointer<vtkPoints> points = vtkSmartPointer<vtkPoints>::New();
 points->InsertNextPoint ( 1.0, 0.0, 0.0 );
 points->InsertNextPoint ( 0.0, 0.0, 1.0 );
 points->InsertNextPoint ( 0.0, 0.0, 0.0 );
 //create a line between each pair of points
 vtkSmartPointer<vtkLine> line0 = vtkSmartPointer<vtkLine>::New();
 line0->GetPointIds()->SetId ( 0,0 );
 line0->GetPointIds()->SetId ( 1,1 );
 vtkSmartPointer<vtkLine> line1 = vtkSmartPointer<vtkLine>::New();
 line1->GetPointIds()->SetId ( 0,1 );
 line1->GetPointIds()->SetId ( 1,2 );
 vtkSmartPointer<vtkLine> line2 = vtkSmartPointer<vtkLine>::New();
 line2->GetPointIds()->SetId ( 0,2 );
 line2->GetPointIds()->SetId ( 1,0 );
 //create a cell array to store the line in
 vtkSmartPointer<vtkCellArray> lines = vtkSmartPointer<vtkCellArray>::New();
 lines->InsertNextCell ( line0 );
 lines->InsertNextCell ( line1 );
 lines->InsertNextCell ( line2 );
 //create a polydata to store everything in
 vtkSmartPointer<vtkPolyData> polydata = vtkSmartPointer<vtkPolyData>::New();
 //add the points and lines to the polydata
 polydata->SetPoints ( points );
 polydata->SetLines ( lines );
 //write the polydata to a file
 vtkSmartPointer<vtkXMLPolyDataWriter> writer = vtkSmartPointer<vtkXMLPolyDataWriter>::New();
 writer->SetFileName ( "TriangleLines.vtp" );
  1. if VTK_MAJOR_VERSION <= 5
 writer->SetInput ( polydata );
  1. else
 writer->SetInputData ( polydata );
  1. endif
 writer->Write();
 return EXIT_SUCCESS;

}

</source>

CMakeLists.txt

<source lang="cmake"> cmake_minimum_required(VERSION 2.6)

project(TriangleLines)

find_package(VTK REQUIRED) include(${VTK_USE_FILE})

add_executable(TriangleLines TriangleLines.cxx) if(VTK_LIBRARIES)

 target_link_libarries(TriangleLines ${VTK_LIBRARIES})

else()

 target_link_libraries(TriangleLines vtkHybrid)

endif() </source>