[vtkusers] Extracting cell connectivity from a vtk file
Eric Mark (CISD/CIV)
emark at arl.army.mil
Fri Sep 25 15:02:12 EDT 2009
Thanks Berk,
That does get me almost to what I'm shooting for. cell is now a
vtkTetra and I would like the actual connection list is specified by the
Point Id's so I can write them out as a string with an index in front of
them. ie. 1 232 295 10 19 (index conn1 conn2 conn3 conn4)
I was trying to do this just to see if I could get to the connection
point ids:
for i in xrange(numcells):
cellobject = ug.GetCell(i)
print "CellObject Methods: ", dir(cellobject)
print " %d, %s " % (j + 1, cellobject.CellBoundry())
j= j + 1
Thanks,
Eric
Berk Geveci wrote:
> You should be able to do:
>
> ug = r.GetOutput()
> ncells = ug.GetNumberOfCells()
> for i in xrange(ncells):
> cell = ug.GetCell(i)
>
> The key is to call GetCell() on the unstructured grid not the cell
> array returned by GetCells().
>
> -berk
>
>
> On Fri, Sep 25, 2009 at 11:37 AM, Eric Mark (CISD/CIV)
> <emark at arl.army.mil> wrote:
>
>> Hello all,
>>
>> I'm using python with vtk 5.2.1 and am trying to read the connectivity list
>> from a vtk file and write it back out in a different format. I'm able to
>> read the point data but I'm not having any success in reading the
>> connectivity data. I would like to be able to print out a connectivity
>> list in the same manner that I'm using below to print the points. However
>> it seems that GetCell or GetNextCell methods are not available from Python.
>> Am I doing something wrong or is there an alternate way of doing this?
>>
>> Thanks,
>>
>> Eric
>>
>> Here's the code:
>>
>> fn = "test.vtk"
>> r = vtkUnstructuredGridReader()
>>
>> r.SetFileName(fn)
>> r.Update()
>> points = r.GetOutput().GetPoints()
>>
>> print "Number of Points: " , points.GetNumberOfPoints()
>> i = 0
>> while(i < points.GetNumberOfPoints()) :
>> print "Next Point : %d, %s " % (i + 1, points.GetPoint(i))
>> i = i + 1
>>
>> numcells = r.GetOutput().GetNumberOfCells()
>> print "Number Of Cells: ", numcells
>> cells = r.GetOutput().GetCells()
>> print "Cells Var contains: ", cells
>> print "Cells.GetSize : ", cells.GetSize()
>> print "Cells.GetSize : ", cells.GetNumberOfConnectivityEntries()
>> print "What Can I Do With Cells? :", dir(cells)
>> j = 0
>> cells.SetTraversalLocation(j)
>> print "NextCell", cells.GetOutput().GetCell(j)
>> #print "Check Array: ", r.GetOutput().GetCells()
>> while(j < cells ):
>> #print " %d, %s " % (j + 1, cells.GetNextCell())
>> j = j + 1
>>
>> _______________________________________________
>> Powered by www.kitware.com
>>
>> Visit other Kitware open-source projects at
>> http://www.kitware.com/opensource/opensource.html
>>
>> Please keep messages on-topic and check the VTK FAQ at:
>> http://www.vtk.org/Wiki/VTK_FAQ
>>
>> Follow this link to subscribe/unsubscribe:
>> http://www.vtk.org/mailman/listinfo/vtkusers
>>
>>
More information about the vtkusers
mailing list