[vtkusers] Bug in vtkPlot3DReader.cxx and in vtkMultiBlockPLOT3DReader.cxx
mstucky5 at cox.net
mstucky5 at cox.net
Thu Nov 9 13:33:12 EST 2006
There appears to be a bug in both vtkPlot3DReader.cxx and
vtkMultiBlockPLOT3DReader.cxx
The function "ReadQHeader" (in both files) does not properly
handle 2D geometries.
int vtkPLOT3DReader::ReadQHeader(FILE* fp)
{
int numGrid = this->GetNumberOfOutputsInternal(fp, 0);
vtkDebugMacro("Q number of grids: " << numGrid);
if ( numGrid == 0 )
{
return VTK_ERROR;
}
this->SkipByteCount(fp);
for(int i=0; i<numGrid; i++)
{
int ni, nj, nk;
this->ReadIntBlock(fp, 1, &ni);
this->ReadIntBlock(fp, 1, &nj);
this->ReadIntBlock(fp, 1, &nk);
The above incorrectly attempts to read "nk" whether the
data is 2D or 3D. The above should be changed to test
for the 2D case :
for(i=0; i<numGrid; i++)
{
int ni, nj, nk;
this->ReadIntBlock(fp, 1, &ni);
this->ReadIntBlock(fp, 1, &nj);
if (!this->TwoDimensionalGeometry)
{
this->ReadIntBlock(fp, 1, &nk);
}
else
{
nk = 1;
}
This is how it is correctly handled in the function
"ReadGeometryHeader".
Regards,
--Mark Stucky
More information about the vtkusers
mailing list