1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
|
Target: xml2info
Function: PixieCommonPluginInfo::SetupDatabase
Declaration: virtual avtDatabase * PixieCommonPluginInfo::SetupDatabase(const char *const *list, int nList, int nBlock);
Definition:
// ****************************************************************************
// Method: PixieCommonPluginInfo::SetupDatabase
//
// Purpose:
// Sets up a Pixie database.
//
// Arguments:
// list A list of file names.
// nList The number of timesteps in list.
// nBlocks The number of blocks in the list.
//
// Returns: A Pixie database from list.
//
// Programmer: whitlocb -- generated by xml2info
// Creation: Fri Aug 13 14:31:41 PST 2004
//
// Modifications:
// Brad Whitlock, Fri Aug 13 18:47:12 PST 2004
// Added some exception handline so the file formats are deleted if
// if creating one of them causes an exception to be generated.
//
// Jeremy Meredith, Thu Jan 28 12:28:07 EST 2010
// MTSD now accepts grouping multiple files into longer sequences, so
// its interface has changed to accept both a number of timestep groups
// and a number of blocks.
// ****************************************************************************
avtDatabase *
PixieCommonPluginInfo::SetupDatabase(const char *const *list,
int nList, int nBlock)
{
int nTimestepGroups = nList / nBlock;
avtMTSDFileFormat ***ffl = new avtMTSDFileFormat**[nTimestepGroups];
for (int i = 0 ; i < nTimestepGroups ; i++)
{
ffl[i] = new avtMTSDFileFormat*[nBlock];
for (int j = 0 ; j < nBlock ; j++)
{
ffl[i][j] = NULL;
}
}
TRY
{
for (int i = 0 ; i < nTimestepGroups ; i++)
{
for (int j = 0 ; j < nBlock ; j++)
{
ffl[i][j] = new avtPixieFileFormat(list[i*nBlock+j]);
}
}
}
CATCH(VisItException)
{
for (int i = 0 ; i < nTimestepGroups ; i++)
{
for (int j = 0 ; j < nBlock ; j++)
{
if(ffl[i][j] != 0)
delete ffl[i][j];
}
delete [] ffl[i];
}
delete [] ffl;
RETHROW;
}
ENDTRY
avtMTSDFileFormatInterface *inter
= new avtMTSDFileFormatInterface(ffl, nTimestepGroups, nBlock);
return new avtGenericDatabase(inter);
}
|