[vtkusers] Error: it says Undefining object ,please have a look
tony hakki
tony2007vtk at yahoo.com
Thu Feb 1 07:30:25 EST 2007
Hello All;
I converted vtk polydata to itk mesh. Now I would like to convert that mesh to the vtk poly data for testing if first converting right. To convert mesh to vtk poly data I would like to use the following code ,bur unfortunately it gives an error ,I have also indicated that line with red below.
I want to convert Itk mesh to vtk poly data.
vtkPolyData* ITKMeshToVtkPolyData( MeshType::Pointer mesh )
{
//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
PointIterator pntIterator = mesh->GetPoints()->Begin(); // it says PointIterator is Undefining
PointIterator pntItEnd = mesh->GetPoints()->End();
for (int i = 0; pntIterator != pntItEnd; ++i, ++pntIterator)
{
ItkPoint pnt = pntIterator.Value(); // also here it says ItkPoint is undefining ,How can I define them??
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();
// return the vtkUnstructuredGrid
return newPolyData;
}
Thank you
Tony
____________________________________________________________________________________
Don't pick lemons.
See all the new 2007 cars at Yahoo! Autos.
http://autos.yahoo.com/new_cars.html
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20070201/4bf692a5/attachment.htm>
More information about the vtkusers
mailing list