[MOAB-dev] Fwd: r4214 - MOAB/trunk/src/io

Tim Tautges tautges at mcs.anl.gov
Wed Oct 13 08:27:57 CDT 2010


Hi all,
   With this commit, reading cubit 12 .cub files should work now, at least for simple examples.  If you've been chomping 
at the bit to be able to use cubit 12 and moab, consider this your invitation to test this out on your .cub files.  If 
you find something that doesn't work, please send me the cub file and I'll try and figure out what the problem is.  I'll 
be doing some more extensive testing too, but not for a week or so, due to some other trips I have to make first.

Sorry this has taken so long, and thanks for your patience.

- tim

-------- Original Message --------
Subject: [MOAB-dev] r4214 - MOAB/trunk/src/io
Date: Wed, 13 Oct 2010 08:24:23 -0500 (CDT)
From: tautges at mcs.anl.gov
Reply-To: moab-dev at mcs.anl.gov
To: moab-dev at mcs.anl.gov

Author: tautges
Date: 2010-10-13 08:24:23 -0500 (Wed, 13 Oct 2010)
New Revision: 4214

Modified:
    MOAB/trunk/src/io/Tqdcfr.cpp
Log:
Fixes to enable reading cubit 12 cub files.  Tested on a basic example,
but not extensively.  Removed the check for version, but still reading
the cubit version from the file.

Make check works.

Will add more extensive testing soon, but wanted to get this out for others
to try.



Modified: MOAB/trunk/src/io/Tqdcfr.cpp
===================================================================
--- MOAB/trunk/src/io/Tqdcfr.cpp	2010-10-12 13:13:44 UTC (rev 4213)
+++ MOAB/trunk/src/io/Tqdcfr.cpp	2010-10-13 13:24:23 UTC (rev 4214)
@@ -261,21 +261,13 @@
    if (-1 == md_index) data_version = 1.0;
    else data_version = modelMetaData.metadataEntries[md_index].mdDblValue;

-  if (MB_SUCCESS != opts.get_null_option("IGNORE_VERSION")) {
-    md_index = modelMetaData.get_md_entry(2, "CubitVersion");
-    if (md_index >= 0 && !modelMetaData.metadataEntries[md_index].mdStringValue.empty()) {
-      int major, minor;
-      if (2 == sscanf( modelMetaData.metadataEntries[md_index].mdStringValue.c_str(), "%d.%d",
-         &major, &minor)) {
-        if (major > 10 || minor > 2) {
-          readUtilIface->report_error( "Unsupported Cubit version: %d.%d\n", major, minor );
-          return MB_FAILURE;
-        }
-      }
-    }
-  }
+    // get the major/minor cubit version that wrote this file
+  int major = -1, minor = -1;
+  md_index = modelMetaData.get_md_entry(2, "CubitVersion");
+  if (md_index >= 0 && !modelMetaData.metadataEntries[md_index].mdStringValue.empty())
+    sscanf( modelMetaData.metadataEntries[md_index].mdStringValue.c_str(), "%d.%d",
+            &major, &minor);

-
      // ***********************
      // read mesh...
      // ***********************
@@ -517,16 +509,18 @@
    FSEEK(model->modelOffset+nodeseth->memOffset);

      // read ids for each entity type
-  unsigned int this_type, num_ents;
+  unsigned int this_type, num_ents, uid;
+  std::vector<char> bc_data;
+  unsigned int num_read = 0;
    std::vector<EntityHandle> ns_entities, excl_entities;
    for (unsigned int i = 0; i < nodeseth->memTypeCt; i++) {
        // get how many and what type
-    FREADI(2);
+    FREADI(2); num_read += 2*sizeof(int);
      this_type = uint_buf[0];
      num_ents = uint_buf[1];

        // now get the ids
-    FREADI(num_ents);
+    FREADI(num_ents); num_read += sizeof(int);



More information about the moab-dev mailing list