View Issue Details [ Jump to Notes ] | [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
0010129 | ParaView | Bug | public | 2010-01-12 16:25 | 2016-08-12 09:57 | ||||
Reporter | Eric Monson | ||||||||
Assigned To | Utkarsh Ayachit | ||||||||
Priority | normal | Severity | minor | Reproducibility | always | ||||
Status | closed | Resolution | moved | ||||||
Platform | OS | OS Version | |||||||
Product Version | Development | ||||||||
Target Version | Fixed in Version | ||||||||
Summary | 0010129: XDMF Reader doesn't create vtkIdType arrays out of GlobalID attributes | ||||||||
Description | The current Xdmf2 format supports AttributeType="GlobalID", but the reader doesn't really create a vtkIdTypeArray for ParaView when reading in these attributes -- it creates an int type, so ParaView can't really use this as a Global ID. (This is at least true when reading "heavy data" from an HDF5 file -- I'm not sure what happens when the data is just specified within the .xmf file as XML data...) In case it helps, I'm detailing what I see as the major issue, plus an outline of my own hacky solution in the Additional Information. | ||||||||
Additional Information | The reader, as it is implemented now within vtkXdmfHeavyData::ReadAttributes() gets a vtkDataArray back from ReadAttribute(), and then if it has XDMF_ATTRIBUTE_TYPE_GLOBALID it calls SetActiveGlobalIds on that array. This doesn't really do much since the vtkDataArray isn't a vtkIdType. When vtkXdmfHeavyData::ReadAttribute() reads in the data from the HDF5 file, it creates the vtkDataArray using the vtkXdmfDataArray::FromXdmfArray() method. This is where the problem occurs. Since HDF5 doesn't natively support an "ID Type", when FromXdmfArray() calls vtkXdmfDataArray->GetNumberType(), IDs will always just look like integers, so some integer type of vtk array will be created and returned. Since I couldn't figure out how to add a new ID number type to Xdmf, the way I solved this in my own modified Xdmf reader was a bit of a hack, but it worked: when the reader detected that an Xdmf attribute had ID type, ReadAttribute() would call vtkXdmfDataArray::FromXdmfIDArray(), which was basically a duplicate of FromXdmfArray(), but creating a vtkIdTypeArray if an integer type was detected (and giving an error for any other type). I'm sure someone else could come up with a more elegant solution, but this worked fine when I tried it, showing idType in the ParaView Information tab. | ||||||||
Tags | No tags attached. | ||||||||
Project | |||||||||
Topic Name | |||||||||
Type | |||||||||
Attached Files | |||||||||
Relationships | |
Relationships |
Notes | |
(0026996) Utkarsh Ayachit (administrator) 2011-07-12 14:29 |
Reopening. This needs to be fixed. |
(0037766) Kitware Robot (administrator) 2016-08-12 09:57 |
Resolving issue as `moved`. This issue tracker is no longer used. Further discussion of this issue may take place in the current ParaView Issues page linked in the banner at the top of this page. |
Notes |
Issue History | |||
Date Modified | Username | Field | Change |
2010-01-12 16:25 | Eric Monson | New Issue | |
2011-07-12 14:29 | Utkarsh Ayachit | Assigned To | => Utkarsh Ayachit |
2011-07-12 14:29 | Utkarsh Ayachit | Note Added: 0026996 | |
2011-07-12 14:29 | Utkarsh Ayachit | Status | expired => backlog |
2011-07-12 14:29 | Utkarsh Ayachit | Resolution | open => reopened |
2016-08-12 09:57 | Kitware Robot | Note Added: 0037766 | |
2016-08-12 09:57 | Kitware Robot | Status | backlog => closed |
2016-08-12 09:57 | Kitware Robot | Resolution | reopened => moved |
Issue History |
Copyright © 2000 - 2018 MantisBT Team |