Hrm.. I'm not sure where I was looking before, but you are certainly correct; ObjectType is clearly public. Thanks for the code changes. I look forward to the new enums!<br><br>As a side note, other than the Doxygen documents and the couple examples included with VTK, is there any documentation on the vtkExodusIIReader? A separate thread on vtkusers (vtk.vtkExodusIIReader: information in GetOutput()?) was particularly enlightening in seeing how the multi-block data sets are used to store the data. Is that information and its like written down somewhere, or is the interface still developing?<br>
<br>Nathan<br><br><div class="gmail_quote">On Fri, Feb 18, 2011 at 3:36 AM, David Thompson <span dir="ltr"><<a href="mailto:dcthomp@sandia.gov">dcthomp@sandia.gov</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Hi Nathan,<br>
<br>
Please "reply all" so that other people can benefit from your experience. I'm glad to hear it worked for you. The ObjectType enum is not protected, but it is excluded from the Python wrapping -- the reader was written before enums could be wrapped. I'll check in a change so that it will get wrapped in the future.<br>
<font color="#888888">
<br>
David</font><div><div></div><div class="h5"><br>
<br>
On Feb 17, 2011, at 15:55 , Nathan Smith wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Hi David,<br>
<br>
Thanks for the help. I was able to get that to work, but it did require some small hurdles. The ObjectType enum is listed as protected in the VTK documentation. In Python, I was unable to locate constants that reflected those values either, so I ended up using vtkExodusIIReader::GetObjectTypeFromName("element"), which returns a value of 1. For my exodus files, this was the only object type that had any data available. I had seen vtkExodusIIReader::GetObjectId() earlier, but without calling UpdateInformation(), it seems to not have any data available. Adding that call made everything click!<br>
<br>
Thanks again,<br>
<br>
Nathan<br>
<br>
On Thu, Feb 17, 2011 at 11:52 AM, Thompson, David C <<a href="mailto:dcthomp@sandia.gov" target="_blank">dcthomp@sandia.gov</a>> wrote:<br>
Hi Nathan,<br>
<br>
Yes, there is an easier way to get the block IDs out; any time after you've called UpdateInformation() on the reader with the filename set properly, you can call this method:<br>
int GetObjectId( int objectType, int objectIndex );<br>
to get the numeric ID of any object (which may be a block, set, or map). The first argument should be one of the vtkExodusIIReader::ObjectType enum values (in your case, it sounds like you want vtkExodusIIReader::ELEM_BLOCK) and the next object should be the integer offset of the block you're interested in (from 0 to GetNumberOfObjects(vtkExodusIIReader::ELEM_BLOCK)-1 in your case).<br>
<br>
The return value will be the ID or -1 if you pass an invalid argument.<br>
<br>
Hope this helps,<br>
David<br>
________________________________________<br>
From: <a href="mailto:vtkusers-bounces@vtk.org" target="_blank">vtkusers-bounces@vtk.org</a> [<a href="mailto:vtkusers-bounces@vtk.org" target="_blank">vtkusers-bounces@vtk.org</a>] On Behalf Of Nathan Smith [<a href="mailto:nathanjsmith@gmail.com" target="_blank">nathanjsmith@gmail.com</a>]<br>
Sent: Thursday, February 17, 2011 09:22<br>
To: <a href="mailto:vtkusers@vtk.org" target="_blank">vtkusers@vtk.org</a><br>
Subject: [vtkusers] Exodus block IDs and vtkExodusIIReader<br>
<br>
Hello all,<br>
<br>
I am trying to read the block IDs out of an Exodus file using the vtkExodusIIReader class. I read through the really helpful "vtk.vtkExodusIIReader: information in GetOutput()?" thread and see how to get the name of the blocks out of the reader object. In the files that I've looked at, the name includes the block IDs. Getting at them, though, would require parsing the strings, which seems terribly error prone. Is there a method to read the block IDs from the reader or its output that does not require string parsing?<br>
<br>
Thanks!<br>
<br>
Nathan<br>
<br>
<br>
</blockquote>
<br>
<br>
</div></div></blockquote></div><br>