[vtkusers] itkmeshtovtkpolydata

Bill Lorensen bill.lorensen at gmail.com
Thu Feb 22 07:52:01 EST 2007


The statement should read:
itk::Point pnt = pntIterator.Value();


On 2/22/07, tony hakki <tony2007vtk at yahoo.com> wrote:
>
>  Hello dear ITK and VTK users;
>
> First I converted vtk polydata to itk mesh format. After some processing I
> want to reconvert itk mesh to vtk polydata format. TO implement that I found
> an code through the internet. It seems good,But one line it gives an error,I
> couldn't understand reason of that. Could any one help me on that problem.
> It will be really appreciated help for me.
> Here is the code and I indicated the line which gives error
>
>  *//Creat a new vtkPolyData*
>   vtkPolyData* newPolyData = vtkPolyData::New();
>
>   //Creat vtkPoints for insertion into newPolyData
>   vtkPoints *points = vtkPoints::New();
>   std::cout<<"Points = "<<mesh->GetNumberOfPoints()<<std::endl;
>
>   //Copy all points into the vtkPolyData structure
> typedef MeshType::PointsContainer::ConstIterator  PointIterator;
>   PointIterator pntIterator = mesh->GetPoints()->Begin();
>   PointIterator pntItEnd = mesh->GetPoints()->End();
>   for (int i = 0; pntIterator != pntItEnd; ++i, ++pntIterator)
>     {
>     ItkPoint pnt = pntIterator.Value();  //Here it says *ItkPoint* is
> undeclared identifier ,how  should I define that
>     points->InsertPoint(i, pnt[0], pnt[1], pnt[2]);
> //       std::cout<<i<<"-th point:  ";
> //       std::cout<<pnt[0]<<std::endl;
> //       std::cout<<"               "<<pntIterator.Value()<<std::endl;
> //      ++pntIterator;
>     }
>   newPolyData->SetPoints(points);
>   points->Delete();
>
>   //Copy all cells into the vtkPolyData structure
>   //Creat vtkCellArray into which the cells are copied
>   vtkCellArray* triangle = vtkCellArray::New();
>   CellIterator cellIt = mesh->GetCells()->Begin();
>   CellIterator cellItEnd = mesh->GetCells()->End();
>   for (int it = 0; cellIt != cellItEnd; ++it, ++cellIt)
>     {
>     CellType * cellptr = cellIt.Value();
>     //    LineType * line = dynamic_cast<LineType *>( cellptr );
>     //    std::cout << line->GetNumberOfPoints() << std::endl;
>     //      std::cout << cellptr->GetNumberOfPoints() << std::endl;
>     PointIdIterator pntIdIter = cellptr->PointIdsBegin();
>     PointIdIterator pntIdEnd = cellptr->PointIdsEnd();
>     vtkIdList* pts = vtkIdList::New();
>     for (; pntIdIter != pntIdEnd; ++pntIdIter)
>       {
>       pts->InsertNextId( *pntIdIter );
>       //          std::cout<<"           "<<tempCell[it1]<<std::endl;
>       }
>     triangle->InsertNextCell(pts);
>     }
>   newPolyData->SetPolys(triangle);
>   triangle->Delete();
>
>
>
> ------------------------------
> TV dinner still cooling?
> Check out "Tonight's Picks"<http://us.rd.yahoo.com/evt=49979/*http://tv.yahoo.com/>on Yahoo! TV.
>
> _______________________________________________
> This is the private VTK discussion list.
> Please keep messages on-topic. Check the FAQ at:
> http://www.vtk.org/Wiki/VTK_FAQ
> Follow this link to subscribe/unsubscribe:
> http://www.vtk.org/mailman/listinfo/vtkusers
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20070222/83087217/attachment.htm>


More information about the vtkusers mailing list