ITK/Examples/PointSet/ReadPointSet: Difference between revisions

From KitwarePublic
< ITK‎ | Examples
Jump to navigationJump to search
No edit summary
(Deprecated content that is moved to sphinx)
 
Line 1: Line 1:
==ReadPointSet.cxx==
{{warning|1=The media wiki content on this page is no longer maintained.  The examples presented on the https://itk.org/Wiki/*  pages likely require ITK version 4.13 or earlier releases.  In many cases, the examples on this page no longer conform to the best practices for modern ITK versions.
<source lang="cpp">
}}
#include "itkVTKPolyDataReader.h"


#include "itkMesh.h"
[https://itk.org/ITKExamples[ITK Sphinx Examples]]
#include "itkPointSet.h"
 
#include <string>
#include <iostream>
 
int main( int argc, char *argv[] )
{
  if (argc < 2)
    {
    std::cout << "Usage: " << argv[0]
              << " Input(.vtk)" << std::endl;
    return EXIT_FAILURE;
    }
 
  std::string InputFilename = argv[1];
  std::cout << "Input file: " << InputFilename << std::endl;
 
  //typedef itk::PointSet<double, 3 > PointSetType;
  //PointSetType::Pointer pointsSet = PointSetType::New();
  //typedef PointSetType::PointType PointType;
 
  typedef itk::Mesh<float, 3>                MeshType;
  typedef itk::VTKPolyDataReader< MeshType >  ReaderType;
 
  ReaderType::Pointer  polyDataReader = ReaderType::New();
 
  typedef ReaderType::PointType  PointType;
  typedef ReaderType::VectorType  VectorType;
 
  polyDataReader->SetFileName(InputFilename.c_str());
 
  try
    {
    polyDataReader->Update();
    }
  catch( itk::ExceptionObject & excp )
    {
    std::cerr << "Error during Update() " << std::endl;
    std::cerr << excp << std::endl;
    return EXIT_FAILURE;
    }
  //polyDataReader->Update();
 
  std::cout << "polyDataReader:" << std::endl;
  std::cout << polyDataReader << std::endl;
 
  MeshType::Pointer mesh = polyDataReader->GetOutput();
 
  PointType  point;
 
  std::cout << "Testing itk::VTKPolyDataReader" << std::endl;
 
  unsigned int numberOfPoints = mesh->GetNumberOfPoints();
  unsigned int numberOfCells  = mesh->GetNumberOfCells();
 
  std::cout << "numberOfPoints= " << numberOfPoints << std::endl;
  std::cout << "numberOfCells= " << numberOfCells << std::endl;
 
  if( !numberOfPoints )
    {
    std::cerr << "ERROR: numberOfPoints= " << numberOfPoints << std::endl;
    return EXIT_FAILURE;
    }
 
  if( !numberOfCells )
    {
    std::cerr << "ERROR: numberOfCells= " << numberOfCells << std::endl;
    return EXIT_FAILURE;
    }
 
  /*
  for(unsigned int i=0; i<numberOfPoints; i++)
    {
    mesh->GetPoint(i, &point);
    }
  */
 
  // Retrieve points
  for(unsigned int i = 0; i < numberOfPoints; i++)
    {
    PointType pp;
    bool pointExists = mesh->GetPoint(i, &pp);
 
    if(pointExists)
      {
      std::cout << "Point is = " << pp << std::endl;
      }
    }
  return EXIT_SUCCESS;
}
</source>
 
{{ITKCMakeLists|{{SUBPAGENAME}}}}

Latest revision as of 21:04, 30 May 2019

Warning: The media wiki content on this page is no longer maintained. The examples presented on the https://itk.org/Wiki/* pages likely require ITK version 4.13 or earlier releases. In many cases, the examples on this page no longer conform to the best practices for modern ITK versions.

[ITK Sphinx Examples]