Commit f43448f3 authored by hrchilds's avatar hrchilds

Fix bug with BOV files with BYTE_OFFSET > 2^32 (RC merge)


git-svn-id: http://visit.ilight.com/svn/visit/trunk/src@19814 18c085ea-50e0-402c-830e-de6fd14e8384
parent fbba410b
......@@ -1384,6 +1384,26 @@ void BroadcastInt(int &i)
#endif
}
// ****************************************************************************
// Function: BroadcastLongLong
//
// Purpose:
// Broadcast a long long from processor 0 to all other processors
//
// Arguments:
// l the long long
//
// Programmer: Hank Childs
// Creation: December 10, 2012
//
// ****************************************************************************
void BroadcastLongLong(VISIT_LONG_LONG &l)
{
#ifdef PARALLEL
MPI_Bcast(&l, 1, MPI_LONG_LONG, 0, VISIT_MPI_COMM);
#endif
}
// ****************************************************************************
// Function: BroadcastIntArray
//
......
......@@ -91,6 +91,7 @@ PIPELINE_API void UnifyMinimumDoubleArrayAcrossAllProcessors(double *, double
PIPELINE_API void UnifyMaximumDoubleArrayAcrossAllProcessors(double *, double *, int);
PIPELINE_API void BroadcastInt(int &i);
PIPELINE_API void BroadcastLongLong(VISIT_LONG_LONG &i);
PIPELINE_API void BroadcastIntArray(int *array, int nArray);
PIPELINE_API void BroadcastIntVector(std::vector<int>&, int myrank);
PIPELINE_API void BroadcastBool(bool &b);
......
......@@ -1679,6 +1679,9 @@ avtBOVFileFormat::PopulateDatabaseMetaData(avtDatabaseMetaData *md)
// Added a conversion routine to read the numerical values from the input
// string, to get better conversion to long long.
//
// Hank Childs, Mon Dec 10 16:06:52 PST 2012
// Add support for byte offsets longer than MAX_INT.
//
// ****************************************************************************
template <class T>
......@@ -2223,7 +2226,7 @@ avtBOVFileFormat::ReadTOC(void)
// Note that the "Broadcast<Type>" calls serve to both
// send from processor 0 and receive on other processors
// simultaneously.
std::vector<int> vals(18);
std::vector<int> vals(17);
vals[0] = cycle;
vals[1] = full_size[0];
vals[2] = full_size[1];
......@@ -2238,10 +2241,9 @@ avtBOVFileFormat::ReadTOC(void)
vals[11] = (int) declaredEndianess;
vals[12] = (int) byteToFloatTransform;
vals[13] = (int) nodalCentering;
vals[14] = byteOffset;
vals[15] = (int) divideBrick;
vals[16] = (int) cycleIsAccurate;
vals[17] = (int) timeIsAccurate;
vals[14] = (int) divideBrick;
vals[15] = (int) cycleIsAccurate;
vals[16] = (int) timeIsAccurate;
BroadcastIntVector(vals, PAR_Rank());
cycle = vals[0];
full_size[0] = vals[1];
......@@ -2257,10 +2259,10 @@ avtBOVFileFormat::ReadTOC(void)
declaredEndianess = (bool) vals[11];
byteToFloatTransform = (bool) vals[12];
nodalCentering = (bool) vals[13];
byteOffset = vals[14];
divideBrick = (bool) vals[15];
cycleIsAccurate = (bool) vals[16];
timeIsAccurate = (bool) vals[17];
divideBrick = (bool) vals[14];
cycleIsAccurate = (bool) vals[15];
timeIsAccurate = (bool) vals[16];
BroadcastLongLong(byteOffset);
bool hasExtents = false;
if (var_brick_min.size() > 0)
......
......@@ -36,6 +36,7 @@ list of changes in release 2.6.</p>
<li>The compute engine's cell count variables were changed from integer to long precision. This fixes a problem where having over 1 billion cells in a dataset could cause the engine to think it was scalable rendering mode but never send back an image to the viewer.</li>
<li>A bug was fixed whereby necessary support libraries were not installed, causing failure with Python Expressions.</li>
<li>A bug was fixed with exporting BOV files after using the Resample operator.</li>
<li>A bug was fixed with reading BOV files that have BYTE_OFFSETs bigger than 2^32 bytes.</li>
<li>Several annotation types were not showing the proper time value in movies containing transparency when the parallel version of VisIt's compute engine was used. The <i>time slider</i>, <i>text</i>, and <i>3D text</i> annotations were afflicted.</li>
</ul>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment