Commit b169a0d5 authored by whitlocb's avatar whitlocb

Merge the RC to the trunk. (picked up Gunther's changes)

git-svn-id: http://visit.ilight.com/svn/visit/trunk/src@26272 18c085ea-50e0-402c-830e-de6fd14e8384
parent 67de0fb7
......@@ -294,15 +294,12 @@ CHECK_THIRDPARTY_SATISIFED(SAMI SILO)
CHECK_THIRDPARTY_SATISIFED(Nektar++ NEKTAR++ BOOST)
CHECK_THIRDPARTY_SATISIFED(NETCDF NETCDF)
CHECK_THIRDPARTY_SATISIFED(S3D NETCDF)
CHECK_THIRDPARTY_SATISIFED(Exodus NETCDF BOOST)
CHECK_THIRDPARTY_SATISIFED(Exodus NETCDF)
CHECK_THIRDPARTY_SATISIFED(MFIXCDF NETCDF_CXX)
CHECK_THIRDPARTY_SATISIFED(Xdmf XDMF)
CHECK_THIRDPARTY_SATISIFED(Chombo BOOST HDF5)
CHECK_THIRDPARTY_SATISIFED(Miranda BOOST)
CHECK_THIRDPARTY_SATISIFED(Nek5000 BOOST)
CHECK_THIRDPARTY_SATISIFED(SAS BOOST)
CHECK_THIRDPARTY_SATISIFED(Chombo HDF5)
#CHECK_THIRDPARTY_SATISIFED(ALS HDF5)
CHECK_THIRDPARTY_SATISIFED(AMR HDF5)
......@@ -360,7 +357,7 @@ IF(WIN32)
CHECK_THIRDPARTY_SATISIFED(VCellMTMD ZLIB)
CHECK_THIRDPARTY_SATISIFED(H5Part H5PART)
ELSE()
CHECK_THIRDPARTY_SATISIFED(H5Part FASTBIT H5PART BOOST)
CHECK_THIRDPARTY_SATISIFED(H5Part FASTBIT H5PART)
CHECK_THIRDPARTY_SATISIFED(Vista SILO)
CHECK_THIRDPARTY_SATISIFED(paraDIS BOOST)
CHECK_THIRDPARTY_SATISIFED(paraDIS_tecplot BOOST)
......
......@@ -94,8 +94,7 @@
#define H5_USE_16_API
#include <hdf5.h>
#include <visit-hdf5.h>
#include <boost/cstdint.hpp>
// using boost::boost::int32_t; // This conflicts with Visual Studio 10
#include <cstdint>
using std::string;
......@@ -2348,7 +2347,7 @@ avtChomboFileFormat::GetLevelAndLocalPatchNumber(int global_patch,
class LookUpOrderCmp
{
public:
LookUpOrderCmp(const boost::int32_t *d1, const boost::int32_t *d2) : order1Var(d1), order2Var(d2) {}
LookUpOrderCmp(const int32_t *d1, const int32_t *d2) : order1Var(d1), order2Var(d2) {}
bool operator()(vtkIdType a, vtkIdType b)
{
return order1Var[a] < order1Var[b] ||
......@@ -2356,8 +2355,8 @@ class LookUpOrderCmp
}
private:
const boost::int32_t *order1Var;
const boost::int32_t *order2Var;
const int32_t *order1Var;
const int32_t *order2Var;
};
vtkDataSet *
......@@ -2757,8 +2756,8 @@ avtChomboFileFormat::GetMesh(int patch, const char *meshname)
}
}
boost::int32_t *particleOrder = 0;
boost::int32_t *polymerNo = 0;
int32_t *particleOrder = 0;
int32_t *polymerNo = 0;
if (connectParticles &&
std::find(
......@@ -2781,7 +2780,7 @@ avtChomboFileFormat::GetMesh(int patch, const char *meshname)
H5Sget_simple_extent_dims(dataSpace, &nParticlesCheck, NULL);
if (nParticles == nParticlesCheck)
{
particleOrder = new boost::int32_t[nParticles];
particleOrder = new int32_t[nParticles];
H5Dread(dataSet, H5T_NATIVE_INT32, H5S_ALL, H5S_ALL, H5P_DEFAULT, particleOrder);
}
}
......@@ -2801,7 +2800,7 @@ avtChomboFileFormat::GetMesh(int patch, const char *meshname)
H5Sget_simple_extent_dims(dataSpace, &nParticlesCheck, NULL);
if (nParticles == nParticlesCheck)
{
polymerNo = new boost::int32_t[nParticles];
polymerNo = new int32_t[nParticles];
H5Dread(dataSet, H5T_NATIVE_INT32, H5S_ALL, H5S_ALL, H5P_DEFAULT, polymerNo);
}
}
......
......@@ -89,7 +89,7 @@
#include <string.h>
#ifdef HAVE_VTK_SIZEOF___INT64
#include <boost/cstdint.hpp>
#include <cstdint>
#endif
#include <cstdlib> // for qsort
......@@ -108,9 +108,6 @@
using std::map;
using std::string;
using std::vector;
#ifdef HAVE_VTK_SIZEOF___INT64
using boost::int64_t;
#endif
using namespace ExodusDBOptions;
static int VisItNCErr;
......
#ifndef _BASE_INTERFACE_H
#define _BASE_INTERFACE_H
#include <boost/cstdint.hpp>
#include <cstdint>
#include "hdf5.h"
#include <stdio.h>
......
......@@ -148,8 +148,8 @@ bool H5A::write_type(BaseFileInterface::DataType type,void* buffer){
status = H5Awrite(classID,H5T_NATIVE_DOUBLE,data_d);
break;
case BaseFileInterface::DataType(2):
boost::int32_t *data_i;
data_i = (boost::int32_t *)buffer;
int32_t *data_i;
data_i = (int32_t *)buffer;
status = H5Awrite(classID,H5T_NATIVE_INT32,data_i);
break;
case BaseFileInterface::DataType(3):
......
......@@ -72,7 +72,7 @@
#include <InvalidVariableException.h>
#include <InvalidDBTypeException.h>
#include <snprintf.h>
#include <boost/cstdint.hpp>
#include <cstdint>
using std::string;
using std::vector;
......@@ -1442,7 +1442,7 @@ avtMirandaFileFormat::GetVar(int timestate, int domain, const char *varname)
FILE *fd = fopen(filename, "rb");
if (fd == NULL)
EXCEPTION1(InvalidFilesException, filename);
boost::int32_t numfloats = iBlockSize[0]*iBlockSize[1]*iBlockSize[2];
int32_t numfloats = iBlockSize[0]*iBlockSize[1]*iBlockSize[2];
floatvectors[ii].resize(numfloats);
aRawBlocks[ii] = &floatvectors[ii][0];
ReadRawScalar(fd, nPrevComp, aRawBlocks[ii], filename, domain);
......
This diff is collapsed.
......@@ -396,7 +396,7 @@ avtSASFileFormat::GetMesh(int /*timestate*/, int domain, const char * /*meshname
// Size is: fortran header/footer + 80 char title +
// fortran header/footer + assembly id, type, channel index offset, and x,y,z offset
boost::int64_t iAssemblyInstanceSize = sizeof(int)*2 + 80 +
int64_t iAssemblyInstanceSize = sizeof(int)*2 + 80 +
sizeof(int)*2 + sizeof(int)*3 + sizeof(double)*3;
LSEEK64(f, iAssemblyDiskLoc + domain*iAssemblyInstanceSize + sizeof(int)*3 + 80, SEEK_SET);
......@@ -544,7 +544,7 @@ avtSASFileFormat::GetVar(int timestate, int domain, const char *varname)
// Size is: fortran header/footer + 80 char title +
// fortran header/footer + assembly id, type, channel index offset, and x,y,z offset
boost::int64_t iAssemblyInstanceSize = sizeof(int)*2 + 80 +
int64_t iAssemblyInstanceSize = sizeof(int)*2 + 80 +
sizeof(int)*2 + sizeof(int)*3 + sizeof(double)*3;
LSEEK64(f, iAssemblyDiskLoc + domain*iAssemblyInstanceSize + sizeof(int)*3 + 80, SEEK_SET);
......@@ -576,7 +576,7 @@ avtSASFileFormat::GetVar(int timestate, int domain, const char *varname)
if (bReadingTemp)
f = OPEN(dataFileName.c_str(), O_RDONLY | O_BINARY);
boost::int64_t iTimeOffset = (boost::int64_t)timestate * (boost::int64_t)iTimeStepSize;
int64_t iTimeOffset = (int64_t)timestate * (int64_t)iTimeStepSize;
double *tmpData = new double[pType->nZVals-1];
for (ii = 0; ii < pType->nChannels; ii++)
......@@ -868,7 +868,7 @@ avtSASFileFormat::ReadTimeStepData()
{
int f = OPEN(dataFileName.c_str(), O_RDONLY | O_BINARY);
boost::int64_t end = LSEEK64(f, 0, SEEK_END);
int64_t end = LSEEK64(f, 0, SEEK_END);
LSEEK64(f, 0, SEEK_SET);
ReadInt(f);
......@@ -891,7 +891,7 @@ avtSASFileFormat::ReadTimeStepData()
}
// Skip date/time strings, footer, and two lines of title data
boost::int64_t startTimesteps = LSEEK64(f, 8+8+4+(sizeof(int)*2+80) * 2, SEEK_CUR );
int64_t startTimesteps = LSEEK64(f, 8+8+4+(sizeof(int)*2+80) * 2, SEEK_CUR );
iTimeStepSize = 0;
int header = ReadInt(f);
......@@ -952,9 +952,9 @@ avtSASFileFormat::ReadTimeStepData()
eChannelOrder = UNSORTED_CHANNELS;
}
boost::int64_t iTotalTimestepSize = end - startTimesteps;
int64_t iTotalTimestepSize = end - startTimesteps;
boost::int64_t nTimesteps = iTotalTimestepSize / iTimeStepSize;
int64_t nTimesteps = iTotalTimestepSize / iTimeStepSize;
if (iTotalTimestepSize % iTimeStepSize != 0)
{
......
......@@ -55,7 +55,7 @@ struct Assembly
};
#include <boost/cstdint.hpp>
#include <cstdint>
// ****************************************************************************
// Class: avtSASFileFormat
......@@ -104,7 +104,7 @@ class avtSASFileFormat : public avtMTMDFileFormat
int nAssemblyTypes;
AssemblyType *aAssemblyTypes;
int nAssemblys;
boost::int64_t iAssemblyDiskLoc; //location of first assembly
int64_t iAssemblyDiskLoc; //location of first assembly
std::vector<Assembly> aCachedAssemblies;
......
......@@ -640,6 +640,42 @@ XdmfGrid * avtXdmfFileFormat::GetGrid(int timestate)
return grid;
}
// ****************************************************************************
// Method: avtXdmfFileFormat::FirstRealGrid
//
// Purpose:
// Looks for the first real grid along a series of collection grids.
//
// Arguments:
// start : The starting grid.
//
// Returns: A pointer to the first real grid along the way.
//
// Note: We don't currently do a full tree traversal.
//
// Programmer: Brad Whitlock
// Creation: Tue Apr 14 16:44:03 PDT 2015
//
// Modifications:
//
// ****************************************************************************
XdmfGrid *
avtXdmfFileFormat::FirstRealGrid(XdmfGrid *start)
{
XdmfGrid *retval = start;
// If the grid we want to read is itself a collection, go another level down.
if(retval->GetGridType() == XDMF_GRID_COLLECTION &&
(retval->GetCollectionType() == XDMF_GRID_COLLECTION_SPATIAL ||
retval->GetCollectionType() == XDMF_GRID_COLLECTION_UNSET))
{
retval = FirstRealGrid(retval->GetChild(0));
}
return retval;
}
// ****************************************************************************
// Method: avtXdmfFileFormat::GetMesh
//
......@@ -664,6 +700,9 @@ XdmfGrid * avtXdmfFileFormat::GetGrid(int timestate)
// I added support for processing the BaseIndex and GhostOffsets properties
// for strucutured grids.
//
// Brad Whitlock, Tue Apr 14 16:36:26 PDT 2015
// Handle grids that are collections of collections of real grids.
//
// ****************************************************************************
vtkDataSet * avtXdmfFileFormat::GetMesh(int timestate, int domain, const char *meshname)
......@@ -671,9 +710,11 @@ vtkDataSet * avtXdmfFileFormat::GetMesh(int timestate, int domain, const char *m
this->SetCurrentGrid(timestate, meshname);
XdmfGrid * gridToRead = currentGrid;
if(currentGrid->GetGridType() == XDMF_GRID_COLLECTION && (currentGrid->GetCollectionType() == XDMF_GRID_COLLECTION_SPATIAL || currentGrid->GetCollectionType() == XDMF_GRID_COLLECTION_UNSET))
if(currentGrid->GetGridType() == XDMF_GRID_COLLECTION &&
(currentGrid->GetCollectionType() == XDMF_GRID_COLLECTION_SPATIAL ||
currentGrid->GetCollectionType() == XDMF_GRID_COLLECTION_UNSET))
{
gridToRead = currentGrid->GetChild(domain);
gridToRead = this->FirstRealGrid(currentGrid->GetChild(domain));
}
gridToRead->Update(); // Read in heavy data
......@@ -1198,6 +1239,10 @@ void avtXdmfFileFormat::GetTimes(std::vector<double> & times)
// Programmer: kleiter -- generated by xml2avt
// Creation: Mon Mar 29 15:43:05 PST 2010
//
// Modifications:
// Brad Whitlock, Tue Apr 14 16:36:26 PDT 2015
// Handle grids that are collections of collections of real grids.
//
// ****************************************************************************
vtkDataArray *
......@@ -1210,9 +1255,11 @@ avtXdmfFileFormat::GetVar(int timestate, int domain, const char *varname)
}
XdmfGrid * gridToExamine = currentGrid;
if(currentGrid->GetGridType() == XDMF_GRID_COLLECTION && (currentGrid->GetCollectionType() == XDMF_GRID_COLLECTION_SPATIAL || currentGrid->GetCollectionType() == XDMF_GRID_COLLECTION_UNSET))
if(currentGrid->GetGridType() == XDMF_GRID_COLLECTION &&
(currentGrid->GetCollectionType() == XDMF_GRID_COLLECTION_SPATIAL ||
currentGrid->GetCollectionType() == XDMF_GRID_COLLECTION_UNSET))
{
gridToExamine = currentGrid->GetChild(domain);
gridToExamine = this->FirstRealGrid(currentGrid->GetChild(domain));
}
XdmfAttribute * attribute = this->GetAttributeFromName(gridToExamine, varname);
......@@ -1246,6 +1293,9 @@ avtXdmfFileFormat::GetVar(int timestate, int domain, const char *varname)
// that the variable was invalid when the variable was defined on a multi
// block mesh.
//
// Brad Whitlock, Tue Apr 14 16:36:26 PDT 2015
// Handle grids that are collections of collections of real grids.
//
// ****************************************************************************
vtkDataArray *
......@@ -1259,9 +1309,11 @@ avtXdmfFileFormat::GetVectorVar(int timestate, int domain, const char *varname)
}
XdmfGrid * gridToExamine = currentGrid;
if(currentGrid->GetGridType() == XDMF_GRID_COLLECTION && (currentGrid->GetCollectionType() == XDMF_GRID_COLLECTION_SPATIAL || currentGrid->GetCollectionType() == XDMF_GRID_COLLECTION_UNSET))
if(currentGrid->GetGridType() == XDMF_GRID_COLLECTION &&
(currentGrid->GetCollectionType() == XDMF_GRID_COLLECTION_SPATIAL ||
currentGrid->GetCollectionType() == XDMF_GRID_COLLECTION_UNSET))
{
gridToExamine = currentGrid->GetChild(domain);
gridToExamine = this->FirstRealGrid(currentGrid->GetChild(domain));
}
XdmfAttribute * attribute = this->GetAttributeFromName(gridToExamine, varname);
attribute->Update();
......@@ -1499,6 +1551,9 @@ bool avtXdmfFileFormat::GetWholeExtent(XdmfGrid* grid, int extents[6])
// Jean Favre/Hank Childs, Wed Oct 12 05:31:51 PDT 2011
// Fix problem with time setting. (Fix by Jean, commit by Hank)
//
// Brad Whitlock, Tue Apr 14 16:36:26 PDT 2015
// Handle grids that are collections of collections of real grids.
//
// ****************************************************************************
void avtXdmfFileFormat::PopulateDatabaseMetaData(avtDatabaseMetaData *md, int timeState)
......@@ -1514,7 +1569,7 @@ void avtXdmfFileFormat::PopulateDatabaseMetaData(avtDatabaseMetaData *md, int ti
{
nblocks = grid->GetNumberOfChildren();
// Take the first spatial element to generate metadata
gridToExamine = grid->GetChild(0);
gridToExamine = this->FirstRealGrid(grid->GetChild(0));
}
int block_origin = 0;
......
......@@ -154,6 +154,7 @@ class avtXdmfFileFormat: public avtMTMDFileFormat
void GetStructuredGhostZones(int[3], int[6], vtkDataSet *);
void ScaleExtents(int[6], int[6], int[3]);
void SetCurrentGrid(int, const char *);
XdmfGrid *FirstRealGrid(XdmfGrid *start);
};
#endif
......@@ -99,6 +99,7 @@ ExternalSurface
ExtractPointFunction2D
Extrude
FFT
FiveFoldTetSubdivision
Flux
LCS
IndexSelect
......@@ -137,14 +138,6 @@ Tube
ZoneDump
)
#####
# FiveFoldTetSubdivision requires boost
#####
IF(BOOST_FOUND)
LIST(APPEND REQUIRED_OPERATOR_PLUGINS FiveFoldTetSubdivision)
ENDIF()
# Do not include Poincare on BlueGene/Q because it has a std::map symbol
# that prevents static linking of libpami.a which is needed by MPI on
# that system.
......
#ifndef _BRANCH_H_
#define _BRANCH_H_
#include <boost/cstdint.hpp>
#include <cstdint>
#include <algorithm>
#include <cassert>
#include <iostream>
......@@ -10,7 +10,7 @@
class Branch
{
public:
typedef boost::uint64_t IdxT;
typedef uint64_t IdxT;
typedef double ValueT;
IdxT extremum;
ValueT extremumVal;
......
......@@ -66,6 +66,7 @@ enhancements and bug-fixes that were added to this release.</p>
<p><b><font size="4">Enhancements in version 2.9.1</font></b></p>
<ul>
<li>A <i>parallel mxterm</i> launch profile was added to many of the LLNL host profiles. Using the <i>parallel mxterm</i> launch profile will allow users to easily run parallel jobs when launching VisIt from within an mxterm.</li>
<li>VisIt's XDMF reader can now read XDMF files that consist of a top level Grid collection containing intermediate grid collections and each of those contains a single grid.</li>
</ul>
<a name="Dev_changes"></a>
......
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