diff --git a/databases/Silo/avtSiloFileFormat.C b/databases/Silo/avtSiloFileFormat.C index ce5d1589655d30d93f020c269bcb9a7e0bbe9d9a..4aaa31f15f4fa9eee7ab1d3be45fc146e747a965 100644 --- a/databases/Silo/avtSiloFileFormat.C +++ b/databases/Silo/avtSiloFileFormat.C @@ -1686,6 +1686,9 @@ avtSiloFileFormat::ReadTopDirStuff(DBfile *dbfile, const char *dirname, // Katheen Biagas, Thu Jun 6 13:11:27 PDT 2013 // Enable reading of mrgtrees on Windows. // +// Cyrus Harrison, Fri Aug 16 10:07:47 PDT 2013 +// Added support for nodelists placed @ /Nodelists/ +// // **************************************************************************** void @@ -2028,8 +2031,7 @@ avtSiloFileFormat::ReadMultimeshes(DBfile *dbfile, // // Handle special case for enumerated scalar rep for nodelists // - if (codeNameGuess == "BlockStructured" && - !haveAddedNodelistEnumerations[name_w_dir]) + if ( !haveAddedNodelistEnumerations[name_w_dir]) { haveAddedNodelistEnumerations[name_w_dir] = true; AddNodelistEnumerations(dbfile, md, name_w_dir); @@ -6958,6 +6960,10 @@ avtSiloFileFormat::GetMrgTreeNodelistsVar(int domain, string listsname) // // Mark C. Miller, Tue Jul 10 20:08:37 PDT 2012 // Add support for nodelist vars in MRG Trees. +// +// Cyrus Harrison, Fri Aug 16 10:07:47 PDT 2013 +// Added support for nodelists placed @ /Nodelists/ +// // **************************************************************************** vtkDataArray * @@ -6970,7 +6976,7 @@ avtSiloFileFormat::GetVar(int domain, const char *v) // // Handle possible special case of nodelists spoofed as a variable // - if (codeNameGuess == "BlockStructured" && string(v) == "Nodelists") + if (string(v) == "Nodelists") { vtkDataArray *nlvar = GetNodelistsVar(domain); if (nlvar != 0) @@ -15745,18 +15751,39 @@ AddAle3drlxstatEnumerationInfo(avtScalarMetaData *smd) // // Mark C. Miller, Thu Apr 12 23:14:21 PDT 2012 // Replaced use of NChooseR enumeration mode with ByBitMap. +// +// Cyrus Harrison, Fri Aug 16 10:07:47 PDT 2013 +// Added support for nodelists placed @ /Nodelists/ +// // **************************************************************************** void avtSiloFileFormat::AddNodelistEnumerations(DBfile *dbfile, avtDatabaseMetaData *md, string meshname) { - if (meshname != "hydro_mesh") + // mesh names that adhere to this nodelist format + if (!( meshname != "hydro_mesh" || + meshname != "MMESH" || + meshname != "MESH") ) return; - if (DBInqVarType(dbfile, "/Global/Nodelists") != DB_DIR) - return; + // check for nodelists + ostringstream oss; + string nodelist_base = "/Global/Nodelists"; + + if (DBInqVarType(dbfile, nodelist_base.c_str()) != DB_DIR) + { + // it not found @ "/Global/Nodelists", check for "Nodelists" in the root of the silo file. + nodelist_base = "/Nodelists"; + if (DBInqVarType(dbfile, nodelist_base.c_str()) != DB_DIR) + return; + } + + debug5 << "Adding Nodelist for mesh = " << meshname <