VTK/Tutorials/TriangleGeometryLines: Difference between revisions

From KitwarePublic
< VTK‎ | Tutorials
Jump to navigationJump to search
Line 57: Line 57:
cmake_minimum_required(VERSION 2.6)
cmake_minimum_required(VERSION 2.6)


PROJECT(TriangleLines)
project(TriangleLines)


FIND_PACKAGE(VTK REQUIRED)
find_package(VTK REQUIRED)
INCLUDE(${VTK_USE_FILE})
include(${VTK_USE_FILE})
 
ADD_EXECUTABLE(TriangleLines TriangleLines.cxx)
TARGET_LINK_LIBRARIES(TriangleLines vtkHybrid)


add_executable(TriangleLines TriangleLines.cxx)
if(VTK_LIBRARIES)
  target_link_libarries(TriangleLines ${VTK_LIBRARIES})
else()
  target_link_libraries(TriangleLines vtkHybrid)
endif()
</source>
</source>

Revision as of 19:20, 25 April 2014

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" );
 writer->SetInput ( polydata );
 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>