[MOAB-dev] r2093 - in MOAB/trunk: . parallel test/perf tools/converter tools/iMesh tools/mbperf

kraftche at mcs.anl.gov kraftche at mcs.anl.gov
Thu Sep 25 12:22:34 CDT 2008


Author: kraftche
Date: 2008-09-25 12:22:33 -0500 (Thu, 25 Sep 2008)
New Revision: 2093

Removed:
   MOAB/trunk/MBHandleUtils.cpp
   MOAB/trunk/MBHandleUtils.hpp
Modified:
   MOAB/trunk/FileTokenizer.cpp
   MOAB/trunk/FileTokenizer.hpp
   MOAB/trunk/MBCore.cpp
   MOAB/trunk/MBCore.hpp
   MOAB/trunk/MBInterface.hpp
   MOAB/trunk/MBInternals.hpp
   MOAB/trunk/MBReadUtil.cpp
   MOAB/trunk/MBReadUtil.hpp
   MOAB/trunk/MBReadUtilIface.hpp
   MOAB/trunk/MBTest.cpp
   MOAB/trunk/Makefile.am
   MOAB/trunk/ReadGmsh.cpp
   MOAB/trunk/ReadHDF5.cpp
   MOAB/trunk/ReadNCDF.cpp
   MOAB/trunk/ReadSTL.cpp
   MOAB/trunk/ReadVtk.cpp
   MOAB/trunk/SequenceManager.cpp
   MOAB/trunk/SequenceManager.hpp
   MOAB/trunk/Tqdcfr.cpp
   MOAB/trunk/parallel/MBParallelComm.cpp
   MOAB/trunk/parallel/MBParallelData.cpp
   MOAB/trunk/parallel/mbparallelcomm_test.cpp
   MOAB/trunk/parallel/parallel_hdf5_test.cc
   MOAB/trunk/scdseq_test.cpp
   MOAB/trunk/test/perf/perf.cpp
   MOAB/trunk/test/perf/seqperf.cpp
   MOAB/trunk/tools/converter/convert.cpp
   MOAB/trunk/tools/iMesh/iMeshP_MOAB.cpp
   MOAB/trunk/tools/iMesh/iMesh_MOAB.cpp
   MOAB/trunk/tools/mbperf/mbperf.cpp
Log:
Remove embedded parallel rank from MBEntityHandle, and all related functionality

Modified: MOAB/trunk/FileTokenizer.cpp
===================================================================
--- MOAB/trunk/FileTokenizer.cpp	2008-09-25 17:17:33 UTC (rev 2092)
+++ MOAB/trunk/FileTokenizer.cpp	2008-09-25 17:22:33 UTC (rev 2093)
@@ -462,3 +462,26 @@
   return false;
 }
 
+bool FileTokenizer::get_binary( size_t size, void* mem )
+{
+    // if data in buffer
+  if (nextToken != bufferEnd) {
+      // if requested size is less than buffer contents,
+      // just pass back part of the buffer
+    if (bufferEnd - nextToken <= size) {
+      memcpy( mem, nextToken, size );
+      nextToken += size;
+      return true;
+    }
+    
+      // copy buffer contents into memory and clear buffer
+    memcpy( mem, nextToken, bufferEnd - nextToken );
+    size -= bufferEnd - nextToken;
+    mem = reinterpret_cast<char*>(mem) + (bufferEnd - nextToken);
+    nextToken = bufferEnd;
+  }
+  
+    // read any additional data from file
+  return size == fread( mem, 1, size, filePtr );
+}
+

Modified: MOAB/trunk/FileTokenizer.hpp
===================================================================
--- MOAB/trunk/FileTokenizer.hpp	2008-09-25 17:17:33 UTC (rev 2092)
+++ MOAB/trunk/FileTokenizer.hpp	2008-09-25 17:22:33 UTC (rev 2093)
@@ -148,6 +148,14 @@
        */
     bool get_bytes( size_t count, unsigned char* array );
     
+      /** \brief Read binary data (interleaved with ASCII)
+       *
+       * Read a block of binary data.
+       *\param bytes  Number of bytes to read
+       *\param mem    Memory address at which to store data.
+       */
+    bool get_binary( size_t bytes, void* mem );
+    
       /** \brief Parse a sequence of bit or boolean values.
        *
        * Read the specified number of space-delimited values.

Modified: MOAB/trunk/MBCore.cpp
===================================================================
--- MOAB/trunk/MBCore.cpp	2008-09-25 17:17:33 UTC (rev 2092)
+++ MOAB/trunk/MBCore.cpp	2008-09-25 17:22:33 UTC (rev 2093)
@@ -41,7 +41,6 @@
 #include "MBReaderWriterSet.hpp"
 #include "MBReaderIface.hpp"
 #include "MBWriterIface.hpp"
-#include "MBHandleUtils.hpp"
 
 #ifdef USE_MPI
 /* Leave MBParallelComm.hpp before mpi.h or MPICH2 will fail
@@ -114,8 +113,7 @@
 }
 
 //! Constructor
-MBCore::MBCore( int rank, int num_procs ) 
-    : handleUtils(rank, num_procs)
+MBCore::MBCore()
 {
 #ifdef XPCOM_MB
   NS_INIT_ISUPPORTS();
@@ -128,6 +126,23 @@
   }
 }
 
+
+//! Constructor
+MBCore::MBCore( int , int  ) 
+{
+  std::cerr << "Using depricated construtor: MBCore::MBCore(rank,size)" << std::endl;
+
+#ifdef XPCOM_MB
+  NS_INIT_ISUPPORTS();
+#endif
+
+  if (initialize() != MB_SUCCESS)
+  {
+    printf("Error initializing MB\n");
+    exit(1);
+  }
+}
+
 //! destructor
 MBCore::~MBCore()
 {
@@ -152,7 +167,7 @@
   geomDimensionTag = 0;
   globalIdTag      = 0;
   
-  sequenceManager = new SequenceManager( handleUtils );
+  sequenceManager = new SequenceManager;
   if (!sequenceManager)
     return MB_MEMORY_ALLOCATION_FAILED;
 
@@ -1736,24 +1751,11 @@
                                    const int num_nodes, 
                                    MBEntityHandle &handle)
 {
-  return create_element( type, handleUtils.proc_rank(), 
-                         connectivity, num_nodes, handle );
-}
-
-MBErrorCode MBCore::create_element( const MBEntityType type,
-                                    const unsigned processor_id,
-                                    const MBEntityHandle* connectivity,
-                                    const int num_nodes,
-                                    MBEntityHandle& handle )
-{
     // make sure we have enough vertices for this entity type
   if(num_nodes < MBCN::VerticesPerEntity(type))
     return MB_FAILURE;
   
-  if (processor_id >= handleUtils.proc_size())
-    return MB_INDEX_OUT_OF_RANGE;
-  
-  MBErrorCode status = sequence_manager()->create_element(type, processor_id, connectivity, num_nodes, handle);
+  MBErrorCode status = sequence_manager()->create_element(type, connectivity, num_nodes, handle);
   if (MB_SUCCESS == status)
     status = aEntityFactory->notify_create_entity( handle, connectivity, num_nodes); 
 
@@ -1763,31 +1765,14 @@
 //! creates a vertex based on coordinates, returns a handle and error code
 MBErrorCode MBCore::create_vertex(const double coords[3], MBEntityHandle &handle )
 {
-  return create_vertex( handleUtils.proc_rank(), coords, handle );
-}
-
-MBErrorCode MBCore::create_vertex( const unsigned processor_id, const double* coords, MBEntityHandle& handle )
-{
-  if (processor_id >= handleUtils.proc_size())
-    return MB_INDEX_OUT_OF_RANGE;
-    
     // get an available vertex handle
-  return sequence_manager()->create_vertex( processor_id, coords, handle );
+  return sequence_manager()->create_vertex( coords, handle );
 }
 
 MBErrorCode MBCore::create_vertices(const double *coordinates, 
                                     const int nverts,
                                     MBRange &entity_handles ) 
 {
-  return create_vertices(handleUtils.proc_rank(), coordinates,
-                         nverts, entity_handles);
-}
-
-MBErrorCode MBCore::create_vertices(const unsigned processor_id,
-                                    const double *coordinates, 
-                                    const int nverts,
-                                    MBRange &entity_handles ) 
-{
     // Create vertices
   void* tmp_ptr;
   MBErrorCode result = this->query_interface("MBReadUtilIface", &tmp_ptr );
@@ -1797,7 +1782,6 @@
   std::vector<double*> arrays;
   MBEntityHandle start_handle_out = 0;
   result = read_iface->get_node_arrays( 3, nverts, MB_START_ID, 
-                                        processor_id,
                                         start_handle_out, arrays);
   if (MB_SUCCESS != result) return result;
   for (int i = 0; i < nverts; i++) {
@@ -2292,11 +2276,9 @@
 
 MBErrorCode MBCore::create_meshset(const unsigned int options, 
                                    MBEntityHandle &ms_handle,
-                                   int ,
-                                   int start_proc)
+                                   int )
 {
-  if (-1 == start_proc) start_proc = handleUtils.proc_rank();
-  return sequence_manager()->create_mesh_set( start_proc, options, ms_handle );
+  return sequence_manager()->create_mesh_set( options, ms_handle );
 }
 
 MBErrorCode MBCore::get_meshset_options( const MBEntityHandle ms_handle, 
@@ -3091,24 +3073,6 @@
                          tag_storage,       amortized_tag_storage );
 }
 
-    //! Return the rank of this processor
-const int MBCore::proc_rank() const 
-{
-  return handleUtils.proc_rank();
-}
-
-    //! Return the number of processors
-const int MBCore::proc_size() const 
-{
-  return handleUtils.proc_size();
-}
-
-    //! Return the utility for dealing with entity handles
-const MBHandleUtils &MBCore::handle_utils() const 
-{
-  return handleUtils;
-}
-
 void MBCore::print_database() const
 {
   MBErrorCode rval;

Modified: MOAB/trunk/MBCore.hpp
===================================================================
--- MOAB/trunk/MBCore.hpp	2008-09-25 17:17:33 UTC (rev 2092)
+++ MOAB/trunk/MBCore.hpp	2008-09-25 17:22:33 UTC (rev 2093)
@@ -17,7 +17,6 @@
 #define MB_IMPL_GENERAL_HPP
 
 #include "MBInterface.hpp"
-#include "MBHandleUtils.hpp"
 #include <map>
 
 class MBWriteUtil;
@@ -27,7 +26,6 @@
 class TagServer;
 class MBError;
 class MBReaderWriterSet;
-class MBHandleUtils;
 
 #ifdef XPCOM_MB
 
@@ -45,8 +43,11 @@
 public:
 
   //!constructor
-  MB_DLL_EXPORT MBCore( int rank = 0, int num_cpu = 1 );
+  MB_DLL_EXPORT MBCore();
 
+  //! depricated constructor -- values are ignored
+  MB_DLL_EXPORT MBCore( int rank, int num_cpu );
+
   //!destructor
   MB_DLL_EXPORT ~MBCore();
   
@@ -439,21 +440,6 @@
                                         const int num_nodes, 
                                         MBEntityHandle &element_handle);
 
-      /**\brief Create element given CPU ID and connectivity.
-       *
-       * Create an element with the specified processor ID
-       *\param type The type of the element
-       *\param processor_id The ID of the CPU on owning the element
-       *\param connectivity The connectivity list for the element
-       *\param num_nodes The length of the connectivity list
-       *\param element_handle Output handle value.
-       */
-    virtual MBErrorCode create_element (const MBEntityType type, 
-                                        const unsigned processor_id,
-                                        const MBEntityHandle *connectivity,
-                                        const int num_nodes, 
-                                        MBEntityHandle &element_handle);
-
       //! Creates a vertex based on coordinates.  
       /**
          \param coordinates Array that has 3 doubles in it.
@@ -469,17 +455,6 @@
     virtual MBErrorCode create_vertex(const double coordinates[3], 
                                        MBEntityHandle &entity_handle );
 
-      /**\brief Create vertex given CPU ID and coordinates.
-       *
-       * Create a vertex with the specified processor ID
-       *\param processor_id The ID of the CPU on owning the element
-       *\param coordinates The vertex coordinates
-       *\param entity_handle Output handle value.
-       */
-    virtual MBErrorCode create_vertex( const unsigned processor_id,
-                                       const double coordinates[3], 
-                                       MBEntityHandle &entity_handle );
-
     //! Create a set of vertices with the specified coordinates
     /**
        \param coordinates Array that has 3*n doubles in it.
@@ -490,18 +465,6 @@
                                       const int nverts,
                                       MBRange &entity_handles );
 
-    //! Create a set of vertices with the specified coordinates and proc id
-    /**
-       \param processor_id Processor id for these vertices
-       \param coordinates Array that has 3*n doubles in it.
-       \param nverts Number of vertices to create
-       \param entity_handles MBRange passed back with new vertex handles
-    */
-  virtual MBErrorCode create_vertices(const unsigned processor_id,
-                                      const double *coordinates, 
-                                      const int nverts,
-                                      MBRange &entity_handles );
-
       //! merges two entities
     virtual MBErrorCode merge_entities(MBEntityHandle entity_to_keep, 
                                         MBEntityHandle entity_to_remove,
@@ -833,8 +796,7 @@
   //! creates a mesh set
   virtual MBErrorCode create_meshset(const unsigned int options, 
                                      MBEntityHandle &ms_handle,
-                                     int start_id = 0,
-                                     int start_proc = -1);
+                                     int start_id = 0);
 
   //! Empty a vector of mesh set
   /** Empty a mesh set.
@@ -1098,16 +1060,7 @@
                              unsigned long* tag_storage = 0,
                              unsigned long* amortized_tag_storage = 0 );
                                      
-  
-    //! Return the rank of this processor
-  virtual const int proc_rank() const;
 
-    //! Return the number of processors
-  virtual const int proc_size() const;
-
-    //! Return the utility for dealing with entity handles
-  virtual const MBHandleUtils &handle_utils() const;
-
   void print_database() const;
 
 private:
@@ -1144,9 +1097,6 @@
     //! the overall geometric dimension of this mesh
   int geometricDimension;
 
-    //! utility for dealing with handles, proc's, etc.
-  MBHandleUtils handleUtils;
-
   MBTag materialTag;
   MBTag neumannBCTag;
   MBTag dirichletBCTag;

Deleted: MOAB/trunk/MBHandleUtils.cpp
===================================================================
--- MOAB/trunk/MBHandleUtils.cpp	2008-09-25 17:17:33 UTC (rev 2092)
+++ MOAB/trunk/MBHandleUtils.cpp	2008-09-25 17:22:33 UTC (rev 2093)
@@ -1,110 +0,0 @@
-#include "MBHandleUtils.hpp"
-#include "MBInternals.hpp"
-#include "assert.h"
-
-MBHandleUtils::MBHandleUtils(int proc_rank, int proc_size) : 
-    procRank((int) proc_rank),
-    procSize((int) proc_size),
-    procWidth( ceil_log_2(procSize)),
-    idWidth( MB_ID_WIDTH - procWidth ),
-    idMask( MB_ID_MASK >> procWidth ),
-    procMask( ~(MB_TYPE_MASK|idMask) )
-{
-  assert(0 <= proc_rank && 0 <= proc_size);
-}
-
-MBEntityHandle MBHandleUtils::create_handle( MBEntityType type, 
-                                             MBEntityID sub_id, 
-                                             unsigned proc ) const
-{
-  int err;
-  return CREATE_HANDLE( type, create_id( sub_id, proc ), err );
-}
-
-MBRange MBHandleUtils::subset_by_proc( unsigned proc, 
-                                       const MBRange &range) const
-{
-  int junk;
-  MBRange result;
-  MBRange::iterator insert_pos = result.begin();
-  MBRange::const_pair_iterator iter;
-  MBEntityHandle s, e;
-  
-  for (iter = range.const_pair_begin(); iter != range.const_pair_end(); ++iter)
-  {
-    const MBEntityType beg_type = TYPE_FROM_HANDLE(iter->first),
-                       end_type = TYPE_FROM_HANDLE(iter->second);
-    const unsigned beg_rank = rank_from_handle(iter->first), 
-      end_rank = rank_from_handle(iter->second);
-    
-    if (beg_type != end_type) {
-      if (beg_rank <= proc) {
-        s = beg_rank == proc ? iter->first : 
-            CREATE_HANDLE( beg_type,    create_id(0,proc), junk );
-        e = CREATE_HANDLE( beg_type, last_id(proc), junk );
-        insert_pos = result.insert( insert_pos, s, e );
-      }
-      MBEntityType t = beg_type;
-      for (++t; t != end_type; ++t) {
-        s = CREATE_HANDLE( t,    create_id(0,proc), junk );
-        e = CREATE_HANDLE( t, last_id(proc), junk );
-        insert_pos = result.insert( insert_pos, s, e );
-      }
-      if (end_rank >= proc) {
-        e = end_rank == proc ? iter->second :
-            CREATE_HANDLE( end_type, last_id(proc), junk );
-        s = CREATE_HANDLE( end_type,    create_id(0,proc), junk );
-        insert_pos = result.insert( insert_pos, s, e );
-      }
-    }
-    else if (beg_rank <= proc && end_rank >= proc) {
-      s = (beg_rank == proc) ? iter->first  : 
-        CREATE_HANDLE( beg_type, create_id(0,proc), junk );
-      e = (end_rank == proc) ? iter->second : 
-        CREATE_HANDLE( beg_type, last_id(proc), junk );
-      insert_pos = result.insert( insert_pos, s, e );
-    }
-  }
-  
-  return result;
-}
-
-MBRange::const_iterator MBHandleUtils::lower_bound( MBEntityType type, 
-                                                    unsigned proc, 
-                                                    const MBRange &range) const
-{
-  int err;
-  MBEntityHandle h = CREATE_HANDLE( type, create_id(0,proc), err );
-  return err ? range.end() : 
-    MBRange::lower_bound(range.begin(), range.end(), h);
-}
-
-MBRange::const_iterator MBHandleUtils::upper_bound( MBEntityType type, 
-                                                    unsigned proc, 
-                                                    const MBRange &range) const
-{
-  int err;
-  MBEntityHandle h = CREATE_HANDLE( type, last_id(proc), err );
-  return err ? range.end() : 
-    MBRange::upper_bound(range.begin(), range.end(), h);
-}
-
-std::pair<MBRange::const_iterator,MBRange::const_iterator>
-MBHandleUtils::equal_range( MBEntityType type, unsigned proc, 
-                            const MBRange &range) const
-{
-  std::pair<MBRange::const_iterator, MBRange::const_iterator> iters;
-  int err;
-  MBEntityHandle h;
-
-  h = CREATE_HANDLE( type, create_id(0,proc), err );
-  iters.first = err ? range.end() : 
-    MBRange::lower_bound(range.begin(), range.end(), h);  
-  
-  h = CREATE_HANDLE( type, last_id(proc), err );
-  iters.second = err ? range.end() : 
-    MBRange::upper_bound( iters.first, range.end(), h );
-  
-  return iters;
-}
-

Deleted: MOAB/trunk/MBHandleUtils.hpp
===================================================================
--- MOAB/trunk/MBHandleUtils.hpp	2008-09-25 17:17:33 UTC (rev 2092)
+++ MOAB/trunk/MBHandleUtils.hpp	2008-09-25 17:22:33 UTC (rev 2093)
@@ -1,90 +0,0 @@
-#ifndef MBHANDLEUTILS_HPP
-#define MBHANDLEUTILS_HPP
-
-#include "MBInterface.hpp"
-#include "MBRange.hpp"
-
-class MBHandleUtils 
-{
-public:
-  MBHandleUtils(int proc_rank, int proc_size);
-
-    //! Get processor rank
-  unsigned proc_rank() const {return procRank;}
-  
-    //! Get processor size
-  unsigned proc_size() const {return procSize;}
-      
-    //! Get CPU number from handle
-  unsigned rank_from_handle( MBEntityHandle handle ) const
-    { return (handle & procMask) >> idWidth; }
-      
-    //! Get CPU number from ID
-  unsigned rank_from_id( MBEntityID id ) const
-    { return id >> idWidth; }
-      
-    //! Get maximum entity ID that can be stored in a
-    //! a handle, allowing for the processor number
-  MBEntityID max_id() const
-    { return idMask; }
-      
-    //! Create the ID portion of a handle by combining
-    //! an actual ID and a processor number
-  MBEntityID create_id( MBEntityID sub_id, unsigned proc ) const
-    { return ((MBEntityHandle)proc << idWidth) | (MBEntityHandle)sub_id; }
-      
-    //! Extract non-rank portion of entity ID from handle
-  MBEntityID id_from_handle( MBEntityHandle h ) const
-    { return h & idMask; }
-      
-  MBEntityID first_id( unsigned proc ) const
-    { return create_id( 1, proc ); }
-    
-  MBEntityID last_id( unsigned proc ) const
-    { return create_id( max_id(), proc ); }
-      
-    //! Create an entity handle given type, rank, and id
-  MBEntityHandle create_handle( MBEntityType type, 
-                                MBEntityID sub_id, 
-                                unsigned proc ) const;
-
-    //! return a subset with corresponding proc values in handles
-  MBRange subset_by_proc( unsigned proc, 
-                          const MBRange &range) const;
-  
-    //! return a lower bound for handles with corresponding proc values
-  MBRange::const_iterator lower_bound( MBEntityType type, 
-                                       unsigned proc, 
-                                       const MBRange &range) const;
-  
-    //! return an upper bound for handles with corresponding proc values
-  MBRange::const_iterator upper_bound( MBEntityType type, 
-                                       unsigned proc, 
-                                       const MBRange &range) const;
-  
-    //! return an equal range for handles with corresponding proc values
-  std::pair<MBRange::const_iterator,MBRange::const_iterator>
-  equal_range( MBEntityType type, unsigned proc, 
-               const MBRange &range) const;
-  
-private:
-/** Calculate ceiling of log 2 of a positive integer */
-  static unsigned ceil_log_2( unsigned n );
-
-  unsigned procRank;    //!< ID of this processor
-  unsigned procSize;    //!< Total number of processors
-  unsigned procWidth;   //!< Number of bits in handle for processor ID
-  unsigned idWidth;     //!< Number of bits in handle for entity ID
-  MBEntityHandle idMask;
-  MBEntityHandle procMask;
-  
-};
-
-inline unsigned MBHandleUtils::ceil_log_2( unsigned n )
-{
-  unsigned result;
-  for (result = 0; n > (((MBEntityHandle)1)<<result); ++result);
-  return result;
-}
-
-#endif

Modified: MOAB/trunk/MBInterface.hpp
===================================================================
--- MOAB/trunk/MBInterface.hpp	2008-09-25 17:17:33 UTC (rev 2092)
+++ MOAB/trunk/MBInterface.hpp	2008-09-25 17:22:33 UTC (rev 2093)
@@ -60,8 +60,6 @@
                                          0xbd, 0xf6, 0xc3, 0x4e, 0xf7, 0x1f, 0x5a, 0x52 );
 
 
-class MBHandleUtils;
-
 #if defined(XPCOM_MB)
 class NS_NO_VTABLE MBInterface : public nsISupports {
 #else
@@ -805,17 +803,6 @@
   virtual MBErrorCode create_vertex(const double coordinates[3], 
                                     MBEntityHandle &entity_handle ) = 0;
 
-      /**\brief Create vertex given CPU ID and coordinates.
-       *
-       * Create a vertex with the specified processor ID
-       *\param processor_id The ID of the CPU on owning the element
-       *\param coordinates The vertex coordinates
-       *\param entity_handle Output handle value.
-       */
-    virtual MBErrorCode create_vertex( const unsigned processor_id,
-                                       const double coordinates[3], 
-                                       MBEntityHandle &entity_handle ) = 0;
-
     //! Create a set of vertices with the specified coordinates
     /**
        \param coordinates Array that has 3*n doubles in it.
@@ -826,18 +813,6 @@
                                       const int nverts,
                                       MBRange &entity_handles ) = 0;
 
-    //! Create a set of vertices with the specified coordinates and proc id
-    /**
-       \param processor_id Processor id for these vertices
-       \param coordinates Array that has 3*n doubles in it.
-       \param nverts Number of vertices to create
-       \param entity_handles MBRange passed back with new vertex handles
-    */
-  virtual MBErrorCode create_vertices(const unsigned processor_id,
-                                      const double *coordinates, 
-                                      const int nverts,
-                                      MBRange &entity_handles ) = 0;
-
     //! Merge two entities into a single entity
     /** Merge two entities into a single entities, with <em>entity_to_keep</em> receiving
         adjacencies that were on <em>entity_to_remove</em>.
@@ -1307,8 +1282,7 @@
     */
   virtual MBErrorCode create_meshset(const unsigned int options, 
                                      MBEntityHandle &ms_handle,
-                                     int start_id = 0,
-                                     int start_proc = -1) = 0;
+                                     int start_id = 0) = 0;
 
     //! Empty a vector of mesh set
     /** Empty a mesh set.
@@ -1666,16 +1640,6 @@
                              unsigned       num_tags = 0,
                              unsigned long* tag_storage = 0,
                              unsigned long* amortized_tag_storage = 0 ) = 0;
-                                     
-  
-    //! Return the rank of this processor
-  virtual const int proc_rank() const = 0;
-
-    //! Return the number of processors
-  virtual const int proc_size() const = 0;
-
-    //! Return the utility for dealing with entity handles
-  virtual const MBHandleUtils &handle_utils() const = 0;
 };
 
 //! predicate for STL algorithms.  Returns true if the entity handle is

Modified: MOAB/trunk/MBInternals.hpp
===================================================================
--- MOAB/trunk/MBInternals.hpp	2008-09-25 17:17:33 UTC (rev 2092)
+++ MOAB/trunk/MBInternals.hpp	2008-09-25 17:22:33 UTC (rev 2093)
@@ -26,6 +26,7 @@
 #endif
 
 #include "MBTypes.h"
+#include <assert.h>
 
 /*! Define MBEntityHandle for both 32 bit and 64 bit systems.
  *  The decision to use 64 bit handles must be made at compile time.
@@ -62,6 +63,19 @@
   return (((MBEntityHandle)type) << MB_ID_WIDTH)|id;
 }
 
+inline MBEntityHandle CREATE_HANDLE( const unsigned type, const MBEntityID id )
+{
+  // if compiling without asserts, simplify things a bit
+#ifdef NDEBUG
+  return (((MBEntityHandle)type) << MB_ID_WIDTH)|id;
+#else
+  int err;
+  MBEntityHandle result = CREATE_HANDLE( type, id, err );
+  assert(!err);
+  return result;
+#endif
+}
+
 inline MBEntityHandle FIRST_HANDLE( unsigned type )
   { return (((MBEntityHandle)type) << MB_ID_WIDTH)|MB_START_ID; }
 

Modified: MOAB/trunk/MBReadUtil.cpp
===================================================================
--- MOAB/trunk/MBReadUtil.cpp	2008-09-25 17:17:33 UTC (rev 2092)
+++ MOAB/trunk/MBReadUtil.cpp	2008-09-25 17:22:33 UTC (rev 2093)
@@ -36,14 +36,10 @@
 {
 }
 
-unsigned  MBReadUtil::parallel_rank() const
-  { return mMB->proc_rank(); }
-
 MBErrorCode MBReadUtil::get_node_arrays(
     const int /*num_arrays*/,
     const int num_nodes, 
     const int preferred_start_id,
-    const int preferred_start_proc,
     MBEntityHandle& actual_start_handle, 
     std::vector<double*>& arrays)
 {
@@ -60,7 +56,7 @@
   // create an entity sequence for these nodes 
   error = mMB->sequence_manager()->create_entity_sequence(
     MBVERTEX, num_nodes, 0, preferred_start_id, 
-    preferred_start_proc, actual_start_handle,
+    actual_start_handle,
     seq);
 
   if(error != MB_SUCCESS)
@@ -86,7 +82,6 @@
     const int verts_per_element,
     const MBEntityType mdb_type,
     const int preferred_start_id, 
-    const int proc, 
     MBEntityHandle& actual_start_handle, 
     MBEntityHandle*& array)
 {
@@ -104,10 +99,9 @@
 //    return MB_TYPE_OUT_OF_RANGE;
 
   // make an entity sequence to hold these elements
-  unsigned proc_id = proc < 0 ? parallel_rank() : proc;
   error = mMB->sequence_manager()->create_entity_sequence(
       mdb_type, num_elements, verts_per_element, preferred_start_id, 
-      proc_id, actual_start_handle, seq);
+      actual_start_handle, seq);
   if (MB_SUCCESS != error)
     return error;
 
@@ -130,7 +124,6 @@
 MBErrorCode MBReadUtil::create_entity_sets( MBEntityID num_sets,
                                             const unsigned* flags ,
                                             MBEntityID start_id,
-                                            int proc,
                                             MBEntityHandle& start_handle )
 {
   if (num_sets < 1) {
@@ -142,7 +135,6 @@
   EntitySequence* seq;
   error = mMB->sequence_manager()->create_meshset_sequence( num_sets,
                                                             start_id,
-                                                            proc,
                                                             flags,
                                                             start_handle,
                                                             seq );

Modified: MOAB/trunk/MBReadUtil.hpp
===================================================================
--- MOAB/trunk/MBReadUtil.hpp	2008-09-25 17:17:33 UTC (rev 2092)
+++ MOAB/trunk/MBReadUtil.hpp	2008-09-25 17:22:33 UTC (rev 2093)
@@ -39,16 +39,12 @@
 
   //! destructor
   ~MBReadUtil(){}
-  
-  //! Get Processor ID
-  unsigned parallel_rank() const;
 
   //! gets arrays for coordinate data from the MB
   MBErrorCode get_node_arrays(
       const int num_arrays,
       const int num_nodes, 
       const int preferred_start_id,
-      const int preferred_start_proc,
       MBEntityHandle& actual_start_handle, 
       std::vector<double*>& arrays
       );
@@ -59,7 +55,6 @@
       const int verts_per_element,
       const MBEntityType mdb_type,
       const int preferred_start_id, 
-      const int preferred_start_proc, 
       MBEntityHandle& actual_start_handle, 
       MBEntityHandle*& array
       );
@@ -81,7 +76,6 @@
     MBEntityID num_sets,
     const unsigned* set_flags,
     MBEntityID preffered_start_id,
-    int preffered_start_proc,
     MBEntityHandle& actual_start_handle
   );
  

Modified: MOAB/trunk/MBReadUtilIface.hpp
===================================================================
--- MOAB/trunk/MBReadUtilIface.hpp	2008-09-25 17:17:33 UTC (rev 2092)
+++ MOAB/trunk/MBReadUtilIface.hpp	2008-09-25 17:22:33 UTC (rev 2093)
@@ -34,9 +34,6 @@
 
     //! destructor
   virtual ~MBReadUtilIface(){}
-  
-  //! Get Processor ID
-  virtual unsigned parallel_rank() const = 0;
 
     //! Given a requested number of vertices and number of coordinates, returns
     //! memory space which will be used to store vertex coordinates and information
@@ -53,7 +50,6 @@
     const int num_arrays,
     const int num_nodes, 
     const int preferred_start_id,
-    const int preferred_start_proc,
     MBEntityHandle& actual_start_handle, 
     std::vector<double*>& arrays
     ) = 0;
@@ -73,7 +69,6 @@
     const int verts_per_element,
     const MBEntityType mdb_type,
     const int preferred_start_id, 
-    const int preferred_start_proc, 
     MBEntityHandle& actual_start_handle, 
     MBEntityHandle*& array
     ) = 0;
@@ -95,7 +90,6 @@
     MBEntityID num_sets,
     const unsigned* set_flags,
     MBEntityID preffered_start_id,
-    int preffered_start_proc,
     MBEntityHandle& actual_start_handle
   ) = 0;
 

Modified: MOAB/trunk/MBTest.cpp
===================================================================
--- MOAB/trunk/MBTest.cpp	2008-09-25 17:17:33 UTC (rev 2092)
+++ MOAB/trunk/MBTest.cpp	2008-09-25 17:22:33 UTC (rev 2093)
@@ -40,7 +40,6 @@
 #include "MBCN.hpp"
 #include "MBOrientedBox.hpp"
 #include "MBCartVect.hpp"
-#include "MBHandleUtils.hpp"
 
 #ifndef IS_BUILDING_MB
 #define IS_BUILDING_MB
@@ -4860,7 +4859,7 @@
 MBErrorCode mb_range_seq_intersect_test( MBInterface*) 
 {
   MBErrorCode rval;
-  SequenceManager sequences(MBHandleUtils( 0, 1 ));
+  SequenceManager sequences;
   MBRangeSeqIntersectIter iter( &sequences );
   MBRange range;
 
@@ -4868,13 +4867,13 @@
   EntitySequence *ts1, *ts2, *ts3, *qs1;
   MBEntityHandle th1, th2, th3, qh1;
   const int nt1 = 100, nt2 = 10, nt3 = 1, nq1 = 20;
-  rval = sequences.create_entity_sequence( MBTRI, nt1, 3, 5, 0, th1, ts1 );
+  rval = sequences.create_entity_sequence( MBTRI, nt1, 3, 5, th1, ts1 );
   if (MB_SUCCESS != rval) return rval;
-  rval = sequences.create_entity_sequence( MBTRI, nt2, 6, 0, 0, th2, ts2 );
+  rval = sequences.create_entity_sequence( MBTRI, nt2, 6, 0, th2, ts2 );
   if (MB_SUCCESS != rval) return rval;
-  rval = sequences.create_entity_sequence( MBTRI, nt3, 3, MB_END_ID, 0, th3, ts3 );
+  rval = sequences.create_entity_sequence( MBTRI, nt3, 3, MB_END_ID, th3, ts3 );
   if (MB_SUCCESS != rval) return rval;
-  rval = sequences.create_entity_sequence( MBQUAD, nq1, 4, 0, 0, qh1, qs1 );
+  rval = sequences.create_entity_sequence( MBQUAD, nq1, 4, 0, qh1, qs1 );
   if (MB_SUCCESS != rval) return rval;
   
     // we're going to assume this below, so verify it now
@@ -5471,230 +5470,10 @@
   return s << *i;
 }
 
-MBErrorCode mb_proc_subset_test( MBInterface* ) 
-{
-  MBRange range;
-  MBRange::iterator i1, i2;
-  std::pair<MBRange::iterator,MBRange::iterator> ip;
-  MBHandleUtils handle_utils( 1, 5 ); // second of five CPUs
-  
-    // make an range containing everything
-  range.insert( 1, handle_utils.create_handle( MBENTITYSET, handle_utils.max_id(), handle_utils.proc_size()-1 ) );
-  
-    // check type/proc subset stuff for each processor for each entity type
-  for (unsigned proc = 0; proc < handle_utils.proc_size(); ++proc) {
-    MBRange proc_range;
-    for (MBEntityType t = MBVERTEX; t < MBMAXTYPE; ++t) {
-      i1 = handle_utils.lower_bound( t, proc, range );
-      ASSERT_NOT_EQUAL( i1, range.end() );
-      ASSERT_EQUAL( TYPE_FROM_HANDLE( *i1 ), t );
-      ASSERT_EQUAL( handle_utils.rank_from_handle( *i1 ), proc );
-      if (!proc && t == MBVERTEX) 
-        ASSERT_EQUAL( handle_utils.id_from_handle( *i1 ), (MBEntityID)1 );
-      else
-        ASSERT_EQUAL( handle_utils.id_from_handle( *i1 ), (MBEntityID)0 );
-      
-      i2 = handle_utils.upper_bound( t, proc, range );
-        // Because the number of processors is not a power
-        // of two, we've inserted handles w/ invalid processor
-        // IDs into the range for all types except MBENTITYSET
-        //if (proc + 1 == handle_utils.proc_size()) {
-        //  if (t == MBENTITYSET)
-        //    ASSERT_EQUAL( i2, range.end() );
-        //  else {
-        //    ASSERT_NOT_EQUAL( i2, range.end() );
-        //    MBEntityType n = t; ++n;
-        //    ASSERT_EQUAL( TYPE_FROM_HANDLE( *i2 ), n );
-        //    ASSERT_EQUAL( handle_utils.rank_from_handle( *i2 ), (unsigned)0 );
-        //    ASSERT_EQUAL( handle_utils.id_from_handle( *i2 ), (MBEntityHandle)0 );
-        //  }
-        //}
-      if (proc + 1 == handle_utils.proc_size() && t == MBENTITYSET)
-        ASSERT_EQUAL( i2, range.end() );
-      else {
-        ASSERT_NOT_EQUAL( i2, range.end() );
-        ASSERT_EQUAL( TYPE_FROM_HANDLE( *i2 ), t );
-        ASSERT_EQUAL( handle_utils.rank_from_handle( *i2 ), proc+1 );
-        ASSERT_EQUAL( handle_utils.id_from_handle( *i2 ), (MBEntityID)0 );
-      }
-      
-      ip = handle_utils.equal_range( t, proc, range );
-      ASSERT_EQUAL( i1, ip.first );
-      ASSERT_EQUAL( i2, ip.second );
-    
-      proc_range.merge( i1, i2 );
-    }
-    
-      // get subset by processor ID and check results
-    MBRange proc_range2 = handle_utils.subset_by_proc( proc, range );
-    ASSERT_EQUAL( proc_range, proc_range2 );
-  }
-  
-    // make a range containing some entities, but not all handles
-  range.clear();
-  range.insert( handle_utils.create_handle( MBVERTEX, 100, 0 ), 
-                handle_utils.create_handle( MBVERTEX, 110, 0 ) );
-  range.insert( handle_utils.create_handle( MBVERTEX, 100, 2 ),
-                handle_utils.create_handle( MBVERTEX, 110, 2 ) );
-  range.insert( handle_utils.create_handle( MBENTITYSET, 5, 0 ),
-                handle_utils.create_handle( MBENTITYSET, 9, 0 ) );
-  range.insert( handle_utils.create_handle( MBENTITYSET, 1, 3 ),
-                handle_utils.create_handle( MBENTITYSET, 1, 3 ) );
-  
-    // test lower_bound
-
-  i1 = handle_utils.lower_bound( MBVERTEX, 0, range );
-  ASSERT_NOT_EQUAL( i1, range.end() );
-  ASSERT_EQUAL( *i1, handle_utils.create_handle( MBVERTEX, 100, 0 ) );
-
-  i1 = handle_utils.lower_bound( MBVERTEX, 1, range );
-  ASSERT_NOT_EQUAL( i1, range.end() );
-  ASSERT_EQUAL( *i1, handle_utils.create_handle( MBVERTEX, 100, 2 ) );
-
-  i1 = handle_utils.lower_bound( MBVERTEX, 2, range );
-  ASSERT_NOT_EQUAL( i1, range.end() );
-  ASSERT_EQUAL( *i1, handle_utils.create_handle( MBVERTEX, 100, 2 ) );
-
-  i1 = handle_utils.lower_bound( MBVERTEX, 3, range );
-  ASSERT_NOT_EQUAL( i1, range.end() );
-  ASSERT_EQUAL( *i1, handle_utils.create_handle( MBENTITYSET, 5, 0 ) );
-
-  i1 = handle_utils.lower_bound( MBEDGE, 0, range );
-  ASSERT_NOT_EQUAL( i1, range.end() );
-  ASSERT_EQUAL( *i1, handle_utils.create_handle( MBENTITYSET, 5, 0 ) );
-
-  i1 = handle_utils.lower_bound( MBTRI, 0, range );
-  ASSERT_NOT_EQUAL( i1, range.end() );
-  ASSERT_EQUAL( *i1, handle_utils.create_handle( MBENTITYSET, 5, 0 ) );
-
-  i1 = handle_utils.lower_bound( MBENTITYSET, 0, range );
-  ASSERT_NOT_EQUAL( i1, range.end() );
-  ASSERT_EQUAL( *i1, handle_utils.create_handle( MBENTITYSET, 5, 0 ) );
-
-  i1 = handle_utils.lower_bound( MBENTITYSET, 1, range );
-  ASSERT_NOT_EQUAL( i1, range.end() );
-  ASSERT_EQUAL( *i1, handle_utils.create_handle( MBENTITYSET, 1, 3 ) );
-
-  i1 = handle_utils.lower_bound( MBENTITYSET, 3, range );
-  ASSERT_NOT_EQUAL( i1, range.end() );
-  ASSERT_EQUAL( *i1, handle_utils.create_handle( MBENTITYSET, 1, 3 ) );
-
-  i1 = handle_utils.lower_bound( MBENTITYSET, 4, range );
-  ASSERT_EQUAL( i1, range.end() );
-
-    // test upper_bound  
-  i1 = handle_utils.upper_bound( MBVERTEX, 0, range );
-  ASSERT_NOT_EQUAL( i1, range.end() );
-  ASSERT_EQUAL( *i1, handle_utils.create_handle( MBVERTEX, 100, 2 ) );
-
-  i1 = handle_utils.upper_bound( MBVERTEX, 1, range );
-  ASSERT_NOT_EQUAL( i1, range.end() );
-  ASSERT_EQUAL( *i1, handle_utils.create_handle( MBVERTEX, 100, 2 ) );
-
-  i1 = handle_utils.upper_bound( MBVERTEX, 2, range );
-  ASSERT_NOT_EQUAL( i1, range.end() );
-  ASSERT_EQUAL( *i1, handle_utils.create_handle( MBENTITYSET, 5, 0 ) );
-
-  i1 = handle_utils.upper_bound( MBVERTEX, 3, range );
-  ASSERT_NOT_EQUAL( i1, range.end() );
-  ASSERT_EQUAL( *i1, handle_utils.create_handle( MBENTITYSET, 5, 0 ) );
-
-  i1 = handle_utils.upper_bound( MBEDGE, 0, range );
-  ASSERT_NOT_EQUAL( i1, range.end() );
-  ASSERT_EQUAL( *i1, handle_utils.create_handle( MBENTITYSET, 5, 0 ) );
-
-  i1 = handle_utils.upper_bound( MBTRI, 0, range );
-  ASSERT_NOT_EQUAL( i1, range.end() );
-  ASSERT_EQUAL( *i1, handle_utils.create_handle( MBENTITYSET, 5, 0 ) );
-
-  i1 = handle_utils.upper_bound( MBENTITYSET, 0, range );
-  ASSERT_NOT_EQUAL( i1, range.end() );
-  ASSERT_EQUAL( *i1, handle_utils.create_handle( MBENTITYSET, 1, 3 ) );
-
-  i1 = handle_utils.upper_bound( MBENTITYSET, 1, range );
-  ASSERT_NOT_EQUAL( i1, range.end() );
-  ASSERT_EQUAL( *i1, handle_utils.create_handle( MBENTITYSET, 1, 3 ) );
-
-  i1 = handle_utils.upper_bound( MBENTITYSET, 3, range );
-  ASSERT_EQUAL( i1, range.end() );
-
-  i1 = handle_utils.upper_bound( MBENTITYSET, 4, range );
-  ASSERT_EQUAL( i1, range.end() );
-  
-    // test equal_range
-  ip = handle_utils.equal_range( MBVERTEX, 0, range );
-  ASSERT_EQUAL( handle_utils.lower_bound( MBVERTEX, 0, range ), ip.first );
-  ASSERT_EQUAL( handle_utils.upper_bound( MBVERTEX, 0, range ), ip.second );
-
-  ip = handle_utils.equal_range( MBVERTEX, 1, range );
-  ASSERT_EQUAL( handle_utils.lower_bound( MBVERTEX, 1, range ), ip.first );
-  ASSERT_EQUAL( handle_utils.upper_bound( MBVERTEX, 1, range ), ip.second );
-
-  ip = handle_utils.equal_range( MBVERTEX, 2, range );
-  ASSERT_EQUAL( handle_utils.lower_bound( MBVERTEX, 2, range ), ip.first );
-  ASSERT_EQUAL( handle_utils.upper_bound( MBVERTEX, 2, range ), ip.second );
-
-  ip = handle_utils.equal_range( MBVERTEX, 3, range );
-  ASSERT_EQUAL( handle_utils.lower_bound( MBVERTEX, 3, range ), ip.first );
-  ASSERT_EQUAL( handle_utils.upper_bound( MBVERTEX, 3, range ), ip.second );
-
-  ip = handle_utils.equal_range( MBEDGE, 0, range );
-  ASSERT_EQUAL( handle_utils.lower_bound( MBEDGE, 0, range ), ip.first );
-  ASSERT_EQUAL( handle_utils.upper_bound( MBEDGE, 0, range ), ip.second );
-
-  ip = handle_utils.equal_range( MBTRI, 0, range );
-  ASSERT_EQUAL( handle_utils.lower_bound( MBTRI, 0, range ), ip.first );
-  ASSERT_EQUAL( handle_utils.upper_bound( MBTRI, 0, range ), ip.second );
-
-  ip = handle_utils.equal_range( MBENTITYSET, 0, range );
-  ASSERT_EQUAL( handle_utils.lower_bound( MBENTITYSET, 0, range ), ip.first );
-  ASSERT_EQUAL( handle_utils.upper_bound( MBENTITYSET, 0, range ), ip.second );
-
-  ip = handle_utils.equal_range( MBENTITYSET, 1, range );
-  ASSERT_EQUAL( handle_utils.lower_bound( MBENTITYSET, 1, range ), ip.first );
-  ASSERT_EQUAL( handle_utils.upper_bound( MBENTITYSET, 1, range ), ip.second );
-
-  ip = handle_utils.equal_range( MBENTITYSET, 3, range );
-  ASSERT_EQUAL( handle_utils.lower_bound( MBENTITYSET, 3, range ), ip.first );
-  ASSERT_EQUAL( handle_utils.upper_bound( MBENTITYSET, 3, range ), ip.second );
-
-  ip = handle_utils.equal_range( MBENTITYSET, 4, range );
-  ASSERT_EQUAL( handle_utils.lower_bound( MBENTITYSET, 4, range ), ip.first );
-  ASSERT_EQUAL( handle_utils.upper_bound( MBENTITYSET, 4, range ), ip.second );
-  
-  MBRange sub, expected;
-  
-  sub.clear(); expected.clear();
-  sub = handle_utils.subset_by_proc( 0, range );
-  expected.insert( handle_utils.create_handle( MBVERTEX, 100, 0 ), 
-                   handle_utils.create_handle( MBVERTEX, 110, 0 ) );
-  expected.insert( handle_utils.create_handle( MBENTITYSET, 5, 0 ),
-                   handle_utils.create_handle( MBENTITYSET, 9, 0 ) );
-  ASSERT_EQUAL( sub, expected );
-  
-  sub.clear();
-  sub = handle_utils.subset_by_proc( 1, range );
-  ASSERT_EQUAL( sub.empty(), true );
-  
-  sub.clear(); expected.clear();
-  sub = handle_utils.subset_by_proc( 2, range );
-  expected.insert( handle_utils.create_handle( MBVERTEX, 100, 2 ),
-                   handle_utils.create_handle( MBVERTEX, 110, 2 ) );
-  ASSERT_EQUAL( sub, expected );
-  
-  sub.clear(); expected.clear();
-  sub = handle_utils.subset_by_proc( 3, range );
-  expected.insert( handle_utils.create_handle( MBENTITYSET, 1, 3 ),
-                   handle_utils.create_handle( MBENTITYSET, 1, 3 ) );
-  ASSERT_EQUAL( sub, expected );
- 
-  return MB_SUCCESS;
-}
-
 MBErrorCode mb_poly_adjacency_test( MBInterface* )
 {
   MBErrorCode rval;
-  MBCore moab(0,1);
+  MBCore moab;
   MBInterface *mbImpl = &moab;
   
     // make a couple polygons and a polyhedron
@@ -5908,7 +5687,6 @@
   RUN_TEST( mb_topo_util_test );
   RUN_TEST( mb_split_test );
   RUN_TEST( mb_range_seq_intersect_test );
-  RUN_TEST( mb_proc_subset_test );
   RUN_TEST( mb_poly_adjacency_test );
   RUN_TEST( mb_memory_use_test );
   RUN_TEST( mb_merge_test );

Modified: MOAB/trunk/Makefile.am
===================================================================
--- MOAB/trunk/Makefile.am	2008-09-25 17:17:33 UTC (rev 2092)
+++ MOAB/trunk/Makefile.am	2008-09-25 17:22:33 UTC (rev 2093)
@@ -22,7 +22,6 @@
         tqdcfr \
         test_adj \
         seq_man_test \
-	internals_test \
         geom_util_test \
         xform_test \
         obb_test \
@@ -121,7 +120,6 @@
   MBCN.cpp \
   MBCNArrays.hpp \
   MBCartVect.cpp \
-  MBHandleUtils.cpp \
   MBMatrix3.cpp \
   MBMatrix3.hpp \
   MBCore.cpp \
@@ -222,7 +220,6 @@
   MBError.hpp \
   MBForward.hpp \
   MBGeomUtil.hpp \
-  MBHandleUtils.hpp \
   MBInterface.hpp \
   MBOrientedBox.hpp \
   MBOrientedBoxTreeTool.hpp \
@@ -250,9 +247,6 @@
 moab_test_LDADD = $(top_builddir)/libMOAB.la
 moab_test_DEPENDENCIES = test/mb_big_test.g test/cell1.gen test/cell2.gen $(top_builddir)/libMOAB.la
 
-internals_test_SOURCES = internals_test.cpp
-internals_test_LDADD = $(top_builddir)/libMOAB.la
-
 homxform_test_SOURCES = HomXform.cpp
 homxform_test_LDADD = $(top_builddir)/libMOAB.la
 homxform_test_CXXFLAGS = -DTEST $(CXXFLAGS)

Modified: MOAB/trunk/ReadGmsh.cpp
===================================================================
--- MOAB/trunk/ReadGmsh.cpp	2008-09-25 17:17:33 UTC (rev 2092)
+++ MOAB/trunk/ReadGmsh.cpp	2008-09-25 17:22:33 UTC (rev 2093)
@@ -176,7 +176,6 @@
   std::vector<double*> coord_arrays;
   MBEntityHandle handle = 0;
   result = readMeshIface->get_node_arrays( 3, num_nodes, MB_START_ID, 
-                                           readMeshIface->parallel_rank(),
                                            handle, coord_arrays );
   if (MB_SUCCESS != result)
     return result;
@@ -381,7 +380,6 @@
   MBEntityHandle* conn_array;
   result = readMeshIface->get_element_array( num_elem, node_per_elem, type.mbtype,
                                              MB_START_ID, 
-                                             readMeshIface->parallel_rank(), 
                                              handle, conn_array );
   if (MB_SUCCESS != result)
     return result;

Modified: MOAB/trunk/ReadHDF5.cpp
===================================================================
--- MOAB/trunk/ReadHDF5.cpp	2008-09-25 17:17:33 UTC (rev 2092)
+++ MOAB/trunk/ReadHDF5.cpp	2008-09-25 17:22:33 UTC (rev 2093)
@@ -381,7 +381,7 @@
   MBEntityHandle handle;
   std::vector<double*> arrays(dim);
   rval = readUtil->get_node_arrays( dim, (int)count, (int)first_id, 
-                                    readUtil->parallel_rank(), handle, arrays );
+                                    handle, arrays );
   if (MB_SUCCESS != rval)
   {
     mhdf_closeData( filePtr, data_id, &status );
@@ -465,7 +465,7 @@
   rval = readUtil->get_element_array( (int)count,
                                        nodes_per_elem,
                                        elems.type,
-                                      (int)first_id, -1,
+                                      (int)first_id,
                                        handle, 
                                        array );
   if (MB_SUCCESS != rval)
@@ -1006,7 +1006,6 @@
     rval = readUtil->create_entity_sets( count,
                                          buffer, 
                                          ID_FROM_HANDLE(start_handle),
-                                         readUtil->parallel_rank(),
                                          handle );
     if (MB_SUCCESS != rval) {
       mhdf_closeData( filePtr, meta_id, &status );

Modified: MOAB/trunk/ReadNCDF.cpp
===================================================================
--- MOAB/trunk/ReadNCDF.cpp	2008-09-25 17:17:33 UTC (rev 2092)
+++ MOAB/trunk/ReadNCDF.cpp	2008-09-25 17:22:33 UTC (rev 2093)
@@ -562,7 +562,7 @@
   MBEntityHandle node_handle = 0;
   std::vector<double*> arrays;
   readMeshIface->get_node_arrays(3, numberNodes_loading, 
-      MB_START_ID, readMeshIface->parallel_rank(), node_handle, arrays);
+      MB_START_ID, node_handle, arrays);
   
   vertexOffset = ID_FROM_HANDLE( node_handle ) - MB_START_ID;
 
@@ -866,7 +866,7 @@
         (*this_it).numElements,
         verts_per_element,
         ExoIIUtil::ExoIIElementMBEntity[(*this_it).elemType],
-        (*this_it).startExoId, readMeshIface->parallel_rank(),
+        (*this_it).startExoId,
         (*this_it).startMBId,
         conn);
         

Modified: MOAB/trunk/ReadSTL.cpp
===================================================================
--- MOAB/trunk/ReadSTL.cpp	2008-09-25 17:17:33 UTC (rev 2092)
+++ MOAB/trunk/ReadSTL.cpp	2008-09-25 17:22:33 UTC (rev 2093)
@@ -164,7 +164,7 @@
     // Create vertices 
   std::vector<double*> coord_arrays;
   MBEntityHandle handle = 0;
-  result = readMeshIface->get_node_arrays( 3, vertex_map.size(), MB_START_ID, -1,
+  result = readMeshIface->get_node_arrays( 3, vertex_map.size(), MB_START_ID,
                                            handle, coord_arrays );
   if (MB_SUCCESS != result)
     return result;
@@ -193,7 +193,7 @@
   result = readMeshIface->get_element_array( triangles.size(),
                                              3,
                                              MBTRI,
-                                             MB_START_ID, -1,
+                                             MB_START_ID,
                                              handle,
                                              connectivity );
   if (MB_SUCCESS != result)

Modified: MOAB/trunk/ReadVtk.cpp
===================================================================
--- MOAB/trunk/ReadVtk.cpp	2008-09-25 17:17:33 UTC (rev 2092)
+++ MOAB/trunk/ReadVtk.cpp	2008-09-25 17:22:33 UTC (rev 2093)
@@ -325,7 +325,7 @@
     // Create vertices
   std::vector<double*> arrays;
   start_handle_out = 0;
-  result = readMeshIface->get_node_arrays( 3, num_verts, MB_START_ID, 0,
+  result = readMeshIface->get_node_arrays( 3, num_verts, MB_START_ID,
                                            start_handle_out, arrays );
   if (MB_SUCCESS != result)
     return result;
@@ -375,7 +375,7 @@
   result = readMeshIface->get_element_array( num_elements,
                                              vert_per_element,
                                              type,
-                                             MB_START_ID, 0,
+                                             MB_START_ID,
                                              start_handle_out,
                                              conn_array_out );
   if (MB_SUCCESS != result)

Modified: MOAB/trunk/SequenceManager.cpp
===================================================================
--- MOAB/trunk/SequenceManager.cpp	2008-09-25 17:17:33 UTC (rev 2092)
+++ MOAB/trunk/SequenceManager.cpp	2008-09-25 17:22:33 UTC (rev 2093)
@@ -187,15 +187,11 @@
   return result;
 }
   
-MBErrorCode SequenceManager::create_vertex( unsigned proc_id,
-                                            const double coords[3],
+MBErrorCode SequenceManager::create_vertex( const double coords[3],
                                             MBEntityHandle& handle )
 {
-  if (proc_id == (unsigned)-1)
-    proc_id = handleUtils.proc_rank();
-
-  const MBEntityHandle start = handleUtils.create_handle( MBVERTEX, handleUtils.first_id(proc_id), proc_id );
-  const MBEntityHandle   end = handleUtils.create_handle( MBVERTEX, handleUtils. last_id(proc_id), proc_id );
+  const MBEntityHandle start = CREATE_HANDLE( MBVERTEX, MB_START_ID );
+  const MBEntityHandle   end = CREATE_HANDLE( MBVERTEX,   MB_END_ID );
   bool append;
   TypeSequenceManager::iterator seq = typeData[MBVERTEX].find_free_handle( start, end, append );
   VertexSequence* vseq;
@@ -241,19 +237,15 @@
 
   
 MBErrorCode SequenceManager::create_element( MBEntityType type,
-                                             unsigned proc_id,
                                              const MBEntityHandle* conn,
                                              unsigned conn_len,
                                              MBEntityHandle& handle )
 {
-  if (proc_id == (unsigned)-1)
-    proc_id = handleUtils.proc_rank();
-
   if (type <= MBVERTEX || type >= MBENTITYSET)
     return MB_TYPE_OUT_OF_RANGE;
   
-  const MBEntityHandle start = handleUtils.create_handle( type, handleUtils.first_id(proc_id), proc_id );
-  const MBEntityHandle   end = handleUtils.create_handle( type, handleUtils. last_id(proc_id), proc_id );
+  const MBEntityHandle start = CREATE_HANDLE( type, MB_START_ID );
+  const MBEntityHandle   end = CREATE_HANDLE( type,   MB_END_ID );
   bool append;
   TypeSequenceManager::iterator seq = typeData[type].find_free_handle( start, end, append, conn_len );
   UnstructuredElemSeq* eseq;
@@ -311,15 +303,11 @@
 
 
   
-MBErrorCode SequenceManager::create_mesh_set( unsigned proc_id,
-                                              unsigned flags,
+MBErrorCode SequenceManager::create_mesh_set( unsigned flags,
                                               MBEntityHandle& handle )
 {
-  if (proc_id == (unsigned)-1)
-    proc_id = handleUtils.proc_rank();
-
-  const MBEntityHandle start = handleUtils.create_handle( MBENTITYSET, handleUtils.first_id(proc_id), proc_id );
-  const MBEntityHandle   end = handleUtils.create_handle( MBENTITYSET, handleUtils. last_id(proc_id), proc_id );
+  const MBEntityHandle start = CREATE_HANDLE( MBENTITYSET, MB_START_ID );
+  const MBEntityHandle   end = CREATE_HANDLE( MBENTITYSET,   MB_END_ID );
   bool append;
   TypeSequenceManager::iterator seq = typeData[MBENTITYSET].find_free_handle( start, end, append );
   MeshSetSequence* msseq;
@@ -431,13 +419,6 @@
     // if input range is larger than preferred size, trim it
   if (end_handle - start_handle >= max_size)
     end_handle = start_handle + max_size - 1;
-
-    // if range spans more than one proc, trim it to one
-  const unsigned rank = handleUtils.rank_from_handle( start_handle );
-  if (handleUtils.rank_from_handle(end_handle) != rank) 
-    end_handle = handleUtils.create_handle( TYPE_FROM_HANDLE(start_handle),
-                                            handleUtils.max_id(),
-                                            rank );
 }
 
 MBEntityHandle 
@@ -445,17 +426,16 @@
                                         MBEntityID count,
                                         int size,
                                         MBEntityID start,
-                                        int proc,
                                         SequenceData*& data,
                                         MBEntityID &data_size)
 {
   TypeSequenceManager &tsm = typeData[type];
   data = 0;
-  MBEntityHandle handle = handleUtils.create_handle( type, start, proc );
+  MBEntityHandle handle = CREATE_HANDLE( type, start );
   if (start < MB_START_ID ||
       !tsm.is_free_sequence( handle, count, data, size )) {
-    MBEntityHandle pstart = handleUtils.create_handle( type, MB_START_ID, proc );
-    MBEntityHandle pend   = handleUtils.create_handle( type, handleUtils.max_id(),  proc );
+    MBEntityHandle pstart = CREATE_HANDLE( type, MB_START_ID );
+    MBEntityHandle pend   = CREATE_HANDLE( type,   MB_END_ID );
     handle = tsm.find_free_sequence( count, pstart, pend, data, data_size, size);
   }
   return handle;
@@ -489,16 +469,12 @@
                                          MBEntityID count,
                                          int size,
                                          MBEntityID start,
-                                         int proc,
                                          MBEntityHandle& handle,
                                          EntitySequence*& sequence )
 {
-  if (proc == -1)
-    proc = handleUtils.proc_rank();
-
   SequenceData* data = 0;
   MBEntityID data_size = 0;
-  handle = sequence_start_handle( type, count, size, start, proc, data, data_size );
+  handle = sequence_start_handle( type, count, size, start, data, data_size );
     
   if (!handle)
     return MB_MEMORY_ALLOCATION_FAILED;
@@ -571,17 +547,13 @@
 MBErrorCode 
 SequenceManager::create_meshset_sequence( MBEntityID count,
                                           MBEntityID start,
-                                          int proc,
                                           const unsigned* flags,
                                           MBEntityHandle& handle,
                                           EntitySequence*& sequence )
 {
-  if (proc == -1)
-    proc = handleUtils.proc_rank();
-
   SequenceData* data = 0;
   MBEntityID data_size = 0;
-  handle = sequence_start_handle( MBENTITYSET, count, 0, start, proc, data, data_size );
+  handle = sequence_start_handle( MBENTITYSET, count, 0, start, data, data_size );
 
   if (!handle)
     return MB_MEMORY_ALLOCATION_FAILED;
@@ -610,17 +582,13 @@
 MBErrorCode 
 SequenceManager::create_meshset_sequence( MBEntityID count,
                                           MBEntityID start,
-                                          int proc,
                                           unsigned flags,
                                           MBEntityHandle& handle,
                                           EntitySequence*& sequence )
 {
-  if (proc == -1)
-    proc = handleUtils.proc_rank();
-
   SequenceData* data = 0;
   MBEntityID data_size = 0;
-  handle = sequence_start_handle( MBENTITYSET, count, 0, start, proc, data, data_size );
+  handle = sequence_start_handle( MBENTITYSET, count, 0, start, data, data_size );
   if (!handle)
     return MB_MEMORY_ALLOCATION_FAILED;
   
@@ -649,13 +617,9 @@
                                       int imax, int jmax, int kmax,
                                       MBEntityType type,
                                       MBEntityID start_id_hint,
-                                      int processor_id,
                                       MBEntityHandle& handle,
                                       EntitySequence*& sequence )
 {
-  if (processor_id == -1)
-    processor_id = handleUtils.proc_rank();
-
   int this_dim = MBCN::Dimension(type);
 
     // use > instead of != in the following assert to also catch cases where imin > imax, etc.
@@ -676,7 +640,7 @@
     // get a start handle
   SequenceData* data = 0;
   MBEntityID data_size = 0;
-  handle = sequence_start_handle( type, num_ent, -1, start_id_hint, processor_id, data, data_size );
+  handle = sequence_start_handle( type, num_ent, -1, start_id_hint, data, data_size );
 
   if (!handle)
     return MB_MEMORY_ALLOCATION_FAILED;
@@ -712,13 +676,12 @@
                                       const HomCoord& coord_max,
                                       MBEntityType type,
                                       MBEntityID start_id_hint,
-                                      int processor_id,
                                       MBEntityHandle& first_handle_out,
                                       EntitySequence*& sequence_out )
 {
   return create_scd_sequence( coord_min.i(), coord_min.j(), coord_min.k(),
                               coord_max.i(), coord_max.j(), coord_max.k(),
-                              type, start_id_hint,  processor_id,
+                              type, start_id_hint,
                               first_handle_out, sequence_out );
 }
  

Modified: MOAB/trunk/SequenceManager.hpp
===================================================================
--- MOAB/trunk/SequenceManager.hpp	2008-09-25 17:17:33 UTC (rev 2092)
+++ MOAB/trunk/SequenceManager.hpp	2008-09-25 17:22:33 UTC (rev 2093)
@@ -2,8 +2,8 @@
 #define SEQUENCE_MANAGER_HPP
 
 #include "TypeSequenceManager.hpp"
-#include "MBHandleUtils.hpp"
 #include "TagInfo.hpp"
+#include <vector>
 
 class HomCoord;
 class TagServer;
@@ -11,10 +11,6 @@
 class SequenceManager 
 {
   public:
-  
-    SequenceManager( const MBHandleUtils& handle_utils ) 
-      : handleUtils(handle_utils)
-      {}
     
     ~SequenceManager();
     
@@ -75,22 +71,19 @@
       /** Allocate a vertex (possibly in an existing sequence) and 
        *  assign it the passed coordinate values.
        */
-    MBErrorCode create_vertex( unsigned processor_id,
-                               const double coords[3],
+    MBErrorCode create_vertex( const double coords[3],
                                MBEntityHandle& handle_out );
     
       /** Allocate a element (possibly in an existing sequence) and 
        *  assign it the passed connectivity.
        */
     MBErrorCode create_element( MBEntityType type,
-                                unsigned processor_id,
                                 const MBEntityHandle* conn_array,
                                 unsigned num_vertices,
                                 MBEntityHandle& handle_out );
     
       /** Allocate an entity set (possibly in an existing sequence) */
-    MBErrorCode create_mesh_set( unsigned processor_id,
-                                 unsigned flags,
+    MBErrorCode create_mesh_set( unsigned flags,
                                  MBEntityHandle& handle_out );
       /** Allocate an entity set with the specified handle. 
        *\return MB_ALREADY_ALLOCATED if handle is in use, MB_SUCCESS otherwise.
@@ -109,7 +102,6 @@
        *                    MBENTITYSET types.
        *\param start_id_hint Preferred ID portion for first handle.  
        *                    May be ignored if not available.
-       *\param processor_id Processor ID to embed in handles
        *\param first_handle_out First allocated handle.  Allocated handles
        *                    are [first_handle_out, first_handle_out+num_entities-1].
        *\param sequence_out The sequence in which the entities were allocated.
@@ -120,11 +112,10 @@
                                         MBEntityID num_entities,
                                         int nodes_per_entity,
                                         MBEntityID start_id_hint,
-                                        int processor_id,
                                         MBEntityHandle& first_handle_out,
                                         EntitySequence*& sequence_out );
     
-      /**\brief Allocate a block of consecutive mesh sets
+       /**\brief Allocate a block of consecutive mesh sets
        *
        * Allocate a block of consecutive entity handles.  Handles
        * may be appended or prepended to an existing entity sequence.
@@ -143,7 +134,6 @@
        */
     MBErrorCode create_meshset_sequence( MBEntityID num_sets,
                                          MBEntityID start_id_hint,
-                                         int processor_id,
                                          const unsigned* flags,
                                          MBEntityHandle& first_handle_out,
                                          EntitySequence*& sequence_out );
@@ -154,7 +144,6 @@
        */
     MBErrorCode create_meshset_sequence( MBEntityID num_sets,
                                          MBEntityID start_id_hint,
-                                         int processor_id,
                                          unsigned flags,
                                          MBEntityHandle& first_handle_out,
                                          EntitySequence*& sequence_out );
@@ -164,7 +153,6 @@
                                      int imax, int jmax, int kmax,
                                      MBEntityType type,
                                      MBEntityID start_id_hint,
-                                     int processor_id,
                                      MBEntityHandle& first_handle_out,
                                      EntitySequence*& sequence_out );
     
@@ -173,7 +161,6 @@
                                      const HomCoord& coord_max,
                                      MBEntityType type,
                                      MBEntityID start_id_hint,
-                                     int processor_id,
                                      MBEntityHandle& first_handle_out,
                                      EntitySequence*& sequence_out );
                                      
@@ -421,15 +408,13 @@
        *                         the handle range.
        *\return zero if no available handle range, start handle otherwise.
        */
-    MBEntityHandle sequence_start_handle(   MBEntityType type,
-                                              MBEntityID entity_count,
-                                                     int values_per_entity,
-                                              MBEntityID start_id_hint,
-                                                     int processor_rank,
-                                            SequenceData*& data_out,
-                                            MBEntityID &data_size );
+    MBEntityHandle sequence_start_handle( MBEntityType type,
+                                          MBEntityID entity_count,
+                                          int values_per_entity,
+                                          MBEntityID start_id_hint,
+                                          SequenceData*& data_out,
+                                          MBEntityID &data_size );
   
-    const MBHandleUtils handleUtils;
     TypeSequenceManager typeData[MBMAXTYPE];
     
     std::vector<int> tagSizes;

Modified: MOAB/trunk/Tqdcfr.cpp
===================================================================
--- MOAB/trunk/Tqdcfr.cpp	2008-09-25 17:17:33 UTC (rev 2092)
+++ MOAB/trunk/Tqdcfr.cpp	2008-09-25 17:22:33 UTC (rev 2093)
@@ -992,7 +992,6 @@
   std::vector<double*> arrays;
   readUtilIface->get_node_arrays(3, entity->nodeCt,
                                  uint_buf[0], 
-                                 readUtilIface->parallel_rank(), 
                                  vhandle, arrays);
 
     // get node x's in arrays[0]
@@ -1181,7 +1180,6 @@
     
     result = readUtilIface->get_element_array(num_elem, nodes_per_elem,
                                      elem_type, int_buf[0], 
-                                     readUtilIface->parallel_rank(), 
                                      start_handle, conn);
     if (MB_SUCCESS != result)
       return result;
@@ -2555,7 +2553,7 @@
   delete my_impl;
   
     // now check for multiple procs
-  my_impl = new MBCore(1, 2);
+  my_impl = new MBCore;
   my_tqd = new Tqdcfr(my_impl);
   
   result = my_tqd->load_file(file, file_set, opts, 0, 0);
@@ -2580,7 +2578,7 @@
   err = MPI_Comm_rank(MPI_COMM_WORLD, &rank);
 
     // create MOAB instance based on that
-  my_impl = new MBCore(rank, nprocs);
+  my_impl = new MBCore ;//(rank, nprocs);
   if (NULL == my_impl) return 1;
   
   std::string options = "PARALLEL=READ_DELETE;PARTITION=MATERIAL_SET;PARTITION_DISTRIBUTE";

Modified: MOAB/trunk/parallel/MBParallelComm.cpp
===================================================================
--- MOAB/trunk/parallel/MBParallelComm.cpp	2008-09-25 17:17:33 UTC (rev 2092)
+++ MOAB/trunk/parallel/MBParallelComm.cpp	2008-09-25 17:22:33 UTC (rev 2093)
@@ -1227,7 +1227,7 @@
         // unpack coords
       if (num_ents) {
         std::vector<double*> coords(3);
-        result = ru->get_node_arrays(3, num_ents, 0, proc_config().proc_rank(), 
+        result = ru->get_node_arrays(3, num_ents, 0, 
                                      actual_start, coords);
         RRA("Failed to allocate node arrays.");
 
@@ -1260,7 +1260,7 @@
       
       MBEntityHandle *connect;
       result = ru->get_element_array(num_ents, verts_per_entity, this_type,
-                                     0, proc_config().proc_rank(), actual_start,
+                                     0, actual_start,
                                      connect);
       RRA("Failed to allocate element arrays.");
 

Modified: MOAB/trunk/parallel/MBParallelData.cpp
===================================================================
--- MOAB/trunk/parallel/MBParallelData.cpp	2008-09-25 17:17:33 UTC (rev 2092)
+++ MOAB/trunk/parallel/MBParallelData.cpp	2008-09-25 17:22:33 UTC (rev 2093)
@@ -40,8 +40,10 @@
   MBTag proc_tag = 0, procs_tag = 0;
   MBErrorCode result = MB_SUCCESS;
   int my_rank;
-  if (parallelComm) my_rank = parallelComm->proc_config().proc_rank();
-  else my_rank = mbImpl->proc_rank();
+  if (parallelComm) 
+    my_rank = parallelComm->proc_config().proc_rank();
+  else 
+    return MB_FAILURE;
 
   std::multimap<int, MBEntityHandle> iface_data;
 

Modified: MOAB/trunk/parallel/mbparallelcomm_test.cpp
===================================================================
--- MOAB/trunk/parallel/mbparallelcomm_test.cpp	2008-09-25 17:17:33 UTC (rev 2092)
+++ MOAB/trunk/parallel/mbparallelcomm_test.cpp	2008-09-25 17:22:33 UTC (rev 2093)
@@ -72,7 +72,7 @@
   if (0 == rank) stime = MPI_Wtime();
 
     // create MOAB instance based on that
-  MBInterface *mbImpl = new MBCore(rank, nprocs);
+  MBInterface *mbImpl = new MBCore;
   if (NULL == mbImpl) return 1;
   
   MBErrorCode result = MB_SUCCESS;
@@ -224,7 +224,8 @@
 MBErrorCode report_nsets(MBInterface *mbImpl) 
 {
     // get and report various numbers...
-  int rank = mbImpl->proc_rank();
+  int rank;
+  MPI_Comm_rank(MPI_COMM_WORLD, &rank);
   
   MBRange matsets, geomsets, parsets;
   int nsets;

Modified: MOAB/trunk/parallel/parallel_hdf5_test.cc
===================================================================
--- MOAB/trunk/parallel/parallel_hdf5_test.cc	2008-09-25 17:17:33 UTC (rev 2092)
+++ MOAB/trunk/parallel/parallel_hdf5_test.cc	2008-09-25 17:22:33 UTC (rev 2093)
@@ -191,14 +191,12 @@
 void test_write_elements()
 {
   int proc_counts[MBENTITYSET], all_counts[MBENTITYSET], file_counts[MBENTITYSET];
-  int err, rank, size;
+  int err, rank;
   MBErrorCode rval;
   err = MPI_Comm_rank( MPI_COMM_WORLD, &rank );
   CHECK(!err);
-  err = MPI_Comm_size( MPI_COMM_WORLD, &size );
-  CHECK(!err);
   
-  MBCore moab_instance( rank, size );
+  MBCore moab_instance;
   MBInterface& moab = moab_instance;
   load_and_partition( moab, InputFile );
   

Modified: MOAB/trunk/scdseq_test.cpp
===================================================================
--- MOAB/trunk/scdseq_test.cpp	2008-09-25 17:17:33 UTC (rev 2092)
+++ MOAB/trunk/scdseq_test.cpp	2008-09-25 17:22:33 UTC (rev 2093)
@@ -293,7 +293,7 @@
   
     // make a 1d sequence
   MBErrorCode result = seq_mgr->create_scd_sequence(-10, 0, 0, 10, 0, 0,
-                                                     MBVERTEX, 1, 0,
+                                                     MBVERTEX, 1,
                                                      oned_start, dum_seq);
   if (NULL != dum_seq) oned_seq = dynamic_cast<ScdVertexData*>(dum_seq->data());
   if (MB_FAILURE == result || oned_start == 0 || dum_seq == NULL ||
@@ -320,7 +320,7 @@
     // make a 2d sequence
   dum_seq = NULL;
   result = seq_mgr->create_scd_sequence(-10, -10, 0, 10, 10, 0,
-                                        MBVERTEX, 1, 0,
+                                        MBVERTEX, 1,
                                         twod_start, dum_seq);
   if (NULL != dum_seq) twod_seq = dynamic_cast<ScdVertexData*>(dum_seq->data());
   if (MB_FAILURE == result || twod_start == 0 || dum_seq == NULL ||
@@ -347,7 +347,7 @@
     // make a 3d sequence
   dum_seq = NULL;
   result = seq_mgr->create_scd_sequence(-10, -10, -10, 10, 10, 10,
-                                        MBVERTEX, 1, 0,
+                                        MBVERTEX, 1,
                                         threed_start, dum_seq);
   if (NULL != dum_seq) threed_seq = dynamic_cast<ScdVertexData*>(dum_seq->data());
   if (MB_FAILURE == result || threed_start == 0 || dum_seq == NULL ||
@@ -412,7 +412,7 @@
   EntitySequence *dum_seq;
   ScdVertexData *oned_seq = NULL;
   MBErrorCode result = seq_mgr->create_scd_sequence(tmp_min, tmp_max,
-                                                     MBVERTEX, 1, 0,
+                                                     MBVERTEX, 1,
                                                      oned_start, dum_seq);
   if (NULL != dum_seq) oned_seq = dynamic_cast<ScdVertexData*>(dum_seq->data());
   assert (MB_FAILURE != result && oned_start != 0 && dum_seq != NULL && oned_seq != NULL);
@@ -421,7 +421,7 @@
   MBEntityHandle eseq_start;
   StructuredElementSeq *eseq = NULL;
   result = seq_mgr->create_scd_sequence(tmp_min, tmp_max,
-                                        MBEDGE, 1, 0,
+                                        MBEDGE, 1,
                                         eseq_start, dum_seq);
   if (NULL != dum_seq) eseq = dynamic_cast<StructuredElementSeq*>(dum_seq);
   assert (MB_FAILURE != result && eseq_start != 0 && dum_seq != NULL && eseq != NULL);
@@ -469,7 +469,7 @@
   EntitySequence *dum_seq;
   ScdVertexData *twod_seq = NULL;
   MBErrorCode result = seq_mgr->create_scd_sequence(tmp_min, tmp_max,
-                                                     MBVERTEX, 1, 0,
+                                                     MBVERTEX, 1,
                                                      twod_start, dum_seq);
   if (NULL != dum_seq) twod_seq = dynamic_cast<ScdVertexData*>(dum_seq->data());
   assert (MB_FAILURE != result && twod_start != 0 && dum_seq != NULL && twod_seq != NULL);
@@ -478,7 +478,7 @@
   MBEntityHandle eseq_start;
   StructuredElementSeq *eseq = NULL;
   result = seq_mgr->create_scd_sequence(tmp_min, tmp_max,
-                                        MBQUAD, 1, 0,
+                                        MBQUAD, 1,
                                         eseq_start, dum_seq);
   if (NULL != dum_seq) eseq = dynamic_cast<StructuredElementSeq*>(dum_seq);
   assert (MB_FAILURE != result && eseq_start != 0 && dum_seq != NULL && eseq != NULL);
@@ -524,7 +524,7 @@
   EntitySequence *dum_seq;
   ScdVertexData *threed_seq = NULL;
   MBErrorCode result = seq_mgr->create_scd_sequence(tmp_min, tmp_max,
-                                                     MBVERTEX, 1, 0,
+                                                     MBVERTEX, 1,
                                                      threed_start, dum_seq);
   if (NULL != dum_seq) threed_seq = dynamic_cast<ScdVertexData*>(dum_seq->data());
   assert (MB_FAILURE != result && threed_start != 0 && dum_seq != NULL && threed_seq != NULL);
@@ -533,7 +533,7 @@
   MBEntityHandle eseq_start;
   StructuredElementSeq *eseq = NULL;
   result = seq_mgr->create_scd_sequence(tmp_min, tmp_max,
-                                        MBHEX, 1, 0,
+                                        MBHEX, 1,
                                         eseq_start, dum_seq);
   if (NULL != dum_seq) eseq = dynamic_cast<StructuredElementSeq*>(dum_seq);
   assert (MB_FAILURE != result && eseq_start != 0 && dum_seq != NULL && eseq != NULL);
@@ -746,21 +746,21 @@
 
     // first vertex sequence 
   MBErrorCode result = seq_mgr->create_scd_sequence(vseq0_minmax[0], vseq0_minmax[1],
-                                                     MBVERTEX, 1, 0,
+                                                     MBVERTEX, 1,
                                                      vstart[0], dum_seq);
   if (NULL != dum_seq) vseq[0] = dynamic_cast<ScdVertexData*>(dum_seq->data());
   assert (MB_FAILURE != result && vstart[0] != 0 && dum_seq != NULL && vseq[0] != NULL);
 
     // second vertex sequence 
   result = seq_mgr->create_scd_sequence(vseq1_minmax[0], vseq1_minmax[1],
-                                        MBVERTEX, 1, 0,
+                                        MBVERTEX, 1,
                                         vstart[1], dum_seq);
   if (NULL != dum_seq) vseq[1] = dynamic_cast<ScdVertexData*>(dum_seq->data());
   assert (MB_FAILURE != result && vstart[1] != 0 && dum_seq != NULL && vseq[1] != NULL);
 
     // third vertex sequence 
   result = seq_mgr->create_scd_sequence(vseq2_minmax[0], vseq2_minmax[1],
-                                        MBVERTEX, 1, 0,
+                                        MBVERTEX, 1,
                                         vstart[2], dum_seq);
   if (NULL != dum_seq) vseq[2] = dynamic_cast<ScdVertexData*>(dum_seq->data());
   assert (MB_FAILURE != result && vstart[2] != 0 && dum_seq != NULL && vseq[2] != NULL);
@@ -770,7 +770,7 @@
   
     // create the first element sequence
   result = seq_mgr->create_scd_sequence(vseq0_minmax[0], vseq0_minmax[1],
-                                        MBEDGE, 1, 0,
+                                        MBEDGE, 1,
                                         estart[0], dum_seq);
   if (NULL != dum_seq) eseq[0] = dynamic_cast<StructuredElementSeq*>(dum_seq);
   assert (MB_FAILURE != result && estart[0] != 0 && dum_seq != NULL && eseq[0] != NULL);
@@ -790,7 +790,7 @@
     // end of the previous eseq
   result = seq_mgr->create_scd_sequence(HomCoord(vseq0_minmax[1].i(), 0, 0),
                                         HomCoord(1+vseq0_minmax[1].i()+vseq1_minmax[1].i()-vseq1_minmax[0].i(), 0, 0),
-                                        MBEDGE, 1, 0,
+                                        MBEDGE, 1,
                                         estart[1], dum_seq);
   if (NULL != dum_seq) eseq[1] = dynamic_cast<StructuredElementSeq*>(dum_seq);
   assert (MB_FAILURE != result && estart[1] != 0 && dum_seq != NULL && eseq[1] != NULL);
@@ -825,7 +825,7 @@
     // end of the previous eseq
   result = seq_mgr->create_scd_sequence(eseq[1]->max_params(),
                                         HomCoord(eseq[1]->max_params().i()+1+vseq2_minmax[1].i()-vseq2_minmax[0].i(),0,0),
-                                        MBEDGE, 1, 0,
+                                        MBEDGE, 1,
                                         estart[2], dum_seq);
   if (NULL != dum_seq) eseq[2] = dynamic_cast<StructuredElementSeq*>(dum_seq);
   assert (MB_FAILURE != result && estart[2] != 0 && dum_seq != NULL && eseq[2] != NULL);
@@ -879,21 +879,21 @@
 
     // first vertex sequence 
   MBErrorCode result = seq_mgr->create_scd_sequence(vseq0_minmax[0], vseq0_minmax[1],
-                                                     MBVERTEX, 1, 0,
+                                                     MBVERTEX, 1,
                                                      vstart[0], dum_seq);
   if (NULL != dum_seq) vseq[0] = dynamic_cast<ScdVertexData*>(dum_seq->data());
   assert (MB_FAILURE != result && vstart[0] != 0 && dum_seq != NULL && vseq[0] != NULL);
 
     // second vertex sequence 
   result = seq_mgr->create_scd_sequence(vseq1_minmax[0], vseq1_minmax[1],
-                                        MBVERTEX, 1, 0,
+                                        MBVERTEX, 1,
                                         vstart[1], dum_seq);
   if (NULL != dum_seq) vseq[1] = dynamic_cast<ScdVertexData*>(dum_seq->data());
   assert (MB_FAILURE != result && vstart[1] != 0 && dum_seq != NULL && vseq[1] != NULL);
 
     // third vertex sequence 
   result = seq_mgr->create_scd_sequence(vseq2_minmax[0], vseq2_minmax[1],
-                                        MBVERTEX, 1, 0,
+                                        MBVERTEX, 1,
                                         vstart[2], dum_seq);
   if (NULL != dum_seq) vseq[2] = dynamic_cast<ScdVertexData*>(dum_seq->data());
   assert (MB_FAILURE != result && vstart[2] != 0 && dum_seq != NULL && vseq[2] != NULL);
@@ -903,7 +903,7 @@
   
     // create the first element sequence
   result = seq_mgr->create_scd_sequence(vseq0_minmax[0], vseq0_minmax[1],
-                                        MBQUAD, 1, 0,
+                                        MBQUAD, 1,
                                         estart[0], dum_seq);
   if (NULL != dum_seq) eseq[0] = dynamic_cast<StructuredElementSeq*>(dum_seq);
   assert (MB_FAILURE != result && estart[0] != 0 && dum_seq != NULL && eseq[0] != NULL);
@@ -929,7 +929,7 @@
   result = seq_mgr->create_scd_sequence(HomCoord(eseq[0]->max_params().i(), eseq[0]->min_params().j(), 0),
                                         HomCoord(vseq0_minmax[1].i()+1+vseq1_minmax[1].i()-vseq1_minmax[0].i(), 
                                                  eseq[0]->max_params().j(), 0),
-                                        MBQUAD, 1, 0,
+                                        MBQUAD, 1,
                                         estart[1], dum_seq);
   if (NULL != dum_seq) eseq[1] = dynamic_cast<StructuredElementSeq*>(dum_seq);
   assert (MB_FAILURE != result && estart[1] != 0 && dum_seq != NULL && eseq[1] != NULL);
@@ -972,7 +972,7 @@
                                           // add one extra for each of left and right sides
                                         HomCoord(eseq[1]->max_params().i()+1+vseq2_minmax[1].i()-vseq2_minmax[0].i()+1,
                                                  eseq[1]->max_params().j(),0),
-                                        MBEDGE, 1, 0,
+                                        MBEDGE, 1,
                                         estart[2], dum_seq);
   if (NULL != dum_seq) eseq[2] = dynamic_cast<StructuredElementSeq*>(dum_seq);
   assert (MB_FAILURE != result && estart[2] != 0 && dum_seq != NULL && eseq[2] != NULL);
@@ -1065,21 +1065,21 @@
 
     // first vertex sequence 
   MBErrorCode result = seq_mgr->create_scd_sequence(vseq0_minmax[0], vseq0_minmax[1],
-                                                     MBVERTEX, 1, 0,
+                                                     MBVERTEX, 1,
                                                      vstart[0], dum_seq);
   if (NULL != dum_seq) vseq[0] = dynamic_cast<ScdVertexData*>(dum_seq->data());
   assert (MB_FAILURE != result && vstart[0] != 0 && dum_seq != NULL && vseq[0] != NULL);
 
     // second vertex sequence 
   result = seq_mgr->create_scd_sequence(vseq1_minmax[0], vseq1_minmax[1],
-                                        MBVERTEX, 1, 0,
+                                        MBVERTEX, 1,
                                         vstart[1], dum_seq);
   if (NULL != dum_seq) vseq[1] = dynamic_cast<ScdVertexData*>(dum_seq->data());
   assert (MB_FAILURE != result && vstart[1] != 0 && dum_seq != NULL && vseq[1] != NULL);
 
     // third vertex sequence 
   result = seq_mgr->create_scd_sequence(vseq2_minmax[0], vseq2_minmax[1],
-                                        MBVERTEX, 1, 0,
+                                        MBVERTEX, 1,
                                         vstart[2], dum_seq);
   if (NULL != dum_seq) vseq[2] = dynamic_cast<ScdVertexData*>(dum_seq->data());
   assert (MB_FAILURE != result && vstart[2] != 0 && dum_seq != NULL && vseq[2] != NULL);
@@ -1098,7 +1098,7 @@
   
     // create the first element sequence
   result = seq_mgr->create_scd_sequence(eseq0_minmax[0], eseq0_minmax[1], 
-                                        MBQUAD, 1, 0,
+                                        MBQUAD, 1,
                                         estart[0], dum_seq);
   if (NULL != dum_seq) eseq[0] = dynamic_cast<StructuredElementSeq*>(dum_seq);
   assert (MB_FAILURE != result && estart[0] != 0 && dum_seq != NULL && eseq[0] != NULL);
@@ -1118,7 +1118,7 @@
   
     // create the second element sequence
   result = seq_mgr->create_scd_sequence(eseq1_minmax[0], eseq1_minmax[1],
-                                        MBQUAD, 1, 0,
+                                        MBQUAD, 1,
                                         estart[1], dum_seq);
   if (NULL != dum_seq) eseq[1] = dynamic_cast<StructuredElementSeq*>(dum_seq);
   assert (MB_FAILURE != result && estart[1] != 0 && dum_seq != NULL && eseq[1] != NULL);
@@ -1157,7 +1157,7 @@
   
     // create the third element sequence
   result = seq_mgr->create_scd_sequence(eseq2_minmax[0], eseq2_minmax[1],
-                                        MBQUAD, 1, 0,
+                                        MBQUAD, 1,
                                         estart[2], dum_seq);
   if (NULL != dum_seq) eseq[2] = dynamic_cast<StructuredElementSeq*>(dum_seq);
   assert (MB_FAILURE != result && estart[2] != 0 && dum_seq != NULL && eseq[2] != NULL);
@@ -1245,21 +1245,21 @@
 
     // first vertex sequence 
   MBErrorCode result = seq_mgr->create_scd_sequence(vseq0_minmax[0], vseq0_minmax[1],
-                                                     MBVERTEX, 1, 0,
+                                                     MBVERTEX, 1,
                                                      vstart[0], dum_seq);
   if (NULL != dum_seq) vseq[0] = dynamic_cast<ScdVertexData*>(dum_seq->data());
   assert (MB_FAILURE != result && vstart[0] != 0 && dum_seq != NULL && vseq[0] != NULL);
 
     // second vertex sequence 
   result = seq_mgr->create_scd_sequence(vseq1_minmax[0], vseq1_minmax[1],
-                                        MBVERTEX, 1, 0,
+                                        MBVERTEX, 1,
                                         vstart[1], dum_seq);
   if (NULL != dum_seq) vseq[1] = dynamic_cast<ScdVertexData*>(dum_seq->data());
   assert (MB_FAILURE != result && vstart[1] != 0 && dum_seq != NULL && vseq[1] != NULL);
 
     // third vertex sequence 
   result = seq_mgr->create_scd_sequence(vseq2_minmax[0], vseq2_minmax[1],
-                                        MBVERTEX, 1, 0,
+                                        MBVERTEX, 1,
                                         vstart[2], dum_seq);
   if (NULL != dum_seq) vseq[2] = dynamic_cast<ScdVertexData*>(dum_seq->data());
   assert (MB_FAILURE != result && vstart[2] != 0 && dum_seq != NULL && vseq[2] != NULL);
@@ -1278,7 +1278,7 @@
   
     // create the first element sequence
   result = seq_mgr->create_scd_sequence(eseq0_minmax[0], eseq0_minmax[1], 
-                                        MBHEX, 1, 0,
+                                        MBHEX, 1,
                                         estart[0], dum_seq);
   if (NULL != dum_seq) eseq[0] = dynamic_cast<StructuredElementSeq*>(dum_seq);
   assert (MB_FAILURE != result && estart[0] != 0 && dum_seq != NULL && eseq[0] != NULL);
@@ -1298,7 +1298,7 @@
   
     // create the second element sequence
   result = seq_mgr->create_scd_sequence(eseq1_minmax[0], eseq1_minmax[1],
-                                        MBHEX, 1, 0,
+                                        MBHEX, 1,
                                         estart[1], dum_seq);
   if (NULL != dum_seq) eseq[1] = dynamic_cast<StructuredElementSeq*>(dum_seq);
   assert (MB_FAILURE != result && estart[1] != 0 && dum_seq != NULL && eseq[1] != NULL);
@@ -1338,7 +1338,7 @@
   
     // create the third element sequence
   result = seq_mgr->create_scd_sequence(eseq2_minmax[0], eseq2_minmax[1],
-                                        MBHEX, 1, 0,
+                                        MBHEX, 1,
                                         estart[2], dum_seq);
   if (NULL != dum_seq) eseq[2] = dynamic_cast<StructuredElementSeq*>(dum_seq);
   assert (MB_FAILURE != result && estart[2] != 0 && dum_seq != NULL && eseq[2] != NULL);

Modified: MOAB/trunk/test/perf/perf.cpp
===================================================================
--- MOAB/trunk/test/perf/perf.cpp	2008-09-25 17:17:33 UTC (rev 2092)
+++ MOAB/trunk/test/perf/perf.cpp	2008-09-25 17:22:33 UTC (rev 2093)
@@ -406,12 +406,12 @@
   MBEntityHandle vstart, estart;
   
   MBErrorCode result = seq_mgr->create_scd_sequence(vseq_minmax[0], vseq_minmax[1],
-                                                    MBVERTEX, 1, -1, vstart, dum_seq);
+                                                    MBVERTEX, 1, vstart, dum_seq);
   if (NULL != dum_seq) vseq = dynamic_cast<ScdVertexData*>(dum_seq->data());
   assert (MB_FAILURE != result && vstart != 0 && dum_seq != NULL && vseq != NULL);
     // now the element sequence
   result = seq_mgr->create_scd_sequence(vseq_minmax[0], vseq_minmax[1], 
-                                        MBHEX, 1, -1, estart, dum_seq);
+                                        MBHEX, 1, estart, dum_seq);
   if (NULL != dum_seq) eseq = dynamic_cast<StructuredElementSeq*>(dum_seq);
   assert (MB_FAILURE != result && estart != 0 && dum_seq != NULL && eseq != NULL);
   
@@ -468,7 +468,7 @@
   // create a sequence to hold the node coordinates
   // get the current number of entities and start at the next slot
   std::vector<double*> coord_arrays;
-  MBErrorCode result = readMeshIface->get_node_arrays(3, num_verts, 1, -1, vstart, coord_arrays);
+  MBErrorCode result = readMeshIface->get_node_arrays(3, num_verts, 1, vstart, coord_arrays);
   assert(MB_SUCCESS == result && 1 == vstart &&
          coord_arrays[0] && coord_arrays[1] && coord_arrays[2]);
     // memcpy the coordinate data into place
@@ -477,7 +477,7 @@
   memcpy(coord_arrays[2], &coords[2*num_verts], sizeof(double)*num_verts);
   
   MBEntityHandle *conn = 0;
-  result = readMeshIface->get_element_array(num_elems, 8, MBHEX, 1, -1, estart, conn);
+  result = readMeshIface->get_element_array(num_elems, 8, MBHEX, 1, estart, conn);
   assert(MB_SUCCESS == result);
   memcpy(conn, connect, num_elems*8*sizeof(MBEntityHandle));
   result = readMeshIface->update_adjacencies(estart, num_elems, 8, conn);

Modified: MOAB/trunk/test/perf/seqperf.cpp
===================================================================
--- MOAB/trunk/test/perf/seqperf.cpp	2008-09-25 17:17:33 UTC (rev 2092)
+++ MOAB/trunk/test/perf/seqperf.cpp	2008-09-25 17:22:33 UTC (rev 2093)
@@ -435,7 +435,7 @@
 void create_vertices_block( )
 {
   std::vector<double*> arrays;
-  MBErrorCode rval = readTool->get_node_arrays( 3, numVert, 0, 0, vertStart, arrays );
+  MBErrorCode rval = readTool->get_node_arrays( 3, numVert, 0, vertStart, arrays );
   assert(!rval && arrays.size() == 3);
   double *x = arrays[0], *y = arrays[1], *z = arrays[2];
   assert( x && y && z );
@@ -464,7 +464,7 @@
 void create_elements_block( )
 {
   MBEntityHandle* conn = 0;
-  MBErrorCode rval = readTool->get_element_array( numElem, 8, MBHEX, 0, 0, elemStart, conn );
+  MBErrorCode rval = readTool->get_element_array( numElem, 8, MBHEX, 0, elemStart, conn );
   assert(!rval && conn);
   
   for (long i = 0; i < numElem; ++i) 

Modified: MOAB/trunk/tools/converter/convert.cpp
===================================================================
--- MOAB/trunk/tools/converter/convert.cpp	2008-09-25 17:17:33 UTC (rev 2092)
+++ MOAB/trunk/tools/converter/convert.cpp	2008-09-25 17:22:33 UTC (rev 2093)
@@ -132,16 +132,8 @@
   MBErrorCode result;
   MBRange range;
 
-#ifdef USE_MPI
-  MPI_Init( &argc, &argv );
-  int proc_id, num_proc;
-  MPI_Comm_rank( MPI_COMM_WORLD, &proc_id );
-  MPI_Comm_size( MPI_COMM_WORLD, &num_proc );
-  gMB = new MBCore( proc_id, num_proc );
-#else
   int proc_id = 0;
   gMB = new MBCore();
-#endif  
 
   bool append_rank = false;
   int i, dim;

Modified: MOAB/trunk/tools/iMesh/iMeshP_MOAB.cpp
===================================================================
--- MOAB/trunk/tools/iMesh/iMeshP_MOAB.cpp	2008-09-25 17:17:33 UTC (rev 2092)
+++ MOAB/trunk/tools/iMesh/iMeshP_MOAB.cpp	2008-09-25 17:22:33 UTC (rev 2093)
@@ -164,7 +164,10 @@
                                 /*out*/   int *part_handles_size, 
                                 int *err) 
   {
-    if (rank[0] != MBI->proc_rank() || rank_size > 1) {
+    MBParallelComm *pc = MBParallelComm::get_pcomm(MBI, 0);
+    if (!pc) RETURN(iBase_ERROR_MAP[MB_FAILURE]);
+
+    if (rank[0] != pc->proc_config().proc_rank() || rank_size > 1) {
       RETURN(iBase_ERROR_MAP[MB_NOT_IMPLEMENTED]);
     }
   

Modified: MOAB/trunk/tools/iMesh/iMesh_MOAB.cpp
===================================================================
--- MOAB/trunk/tools/iMesh/iMesh_MOAB.cpp	2008-09-25 17:17:33 UTC (rev 2092)
+++ MOAB/trunk/tools/iMesh/iMesh_MOAB.cpp	2008-09-25 17:22:33 UTC (rev 2093)
@@ -34,8 +34,8 @@
   int AdjTable[16];
 };
 
-MBiMesh::MBiMesh(int proc_rank, int proc_size)
-    : MBCore(proc_rank, proc_size), haveDeletedEntities(false)
+MBiMesh::MBiMesh(int , int )
+    : haveDeletedEntities(false)
 {
   memset(AdjTable, 0, 16*sizeof(int));
   for (int i = 0; i < 4; i++) AdjTable[4*i] = AdjTable[i] = 1;

Modified: MOAB/trunk/tools/mbperf/mbperf.cpp
===================================================================
--- MOAB/trunk/tools/mbperf/mbperf.cpp	2008-09-25 17:17:33 UTC (rev 2092)
+++ MOAB/trunk/tools/mbperf/mbperf.cpp	2008-09-25 17:22:33 UTC (rev 2093)
@@ -461,12 +461,12 @@
   MBEntityHandle vstart, estart;
   
   MBErrorCode result = seq_mgr->create_scd_sequence(vseq_minmax[0], vseq_minmax[1],
-                                                    MBVERTEX, 1, 0, vstart, dum_seq);
+                                                    MBVERTEX, 1, vstart, dum_seq);
   if (NULL != dum_seq) vseq = dynamic_cast<ScdVertexData*>(dum_seq->data());
   assert (MB_FAILURE != result && vstart != 0 && dum_seq != NULL && vseq != NULL);
     // now the element sequence
   result = seq_mgr->create_scd_sequence(vseq_minmax[0], vseq_minmax[1], 
-                                        MBHEX, 1, 0, estart, dum_seq);
+                                        MBHEX, 1, estart, dum_seq);
   if (NULL != dum_seq) eseq = dynamic_cast<StructuredElementSeq*>(dum_seq);
   assert (MB_FAILURE != result && estart != 0 && dum_seq != NULL && eseq != NULL);
   
@@ -528,7 +528,7 @@
   // create a sequence to hold the node coordinates
   // get the current number of entities and start at the next slot
   std::vector<double*> coord_arrays;
-  MBErrorCode result = readMeshIface->get_node_arrays(3, num_verts, 1, 0, vstart, coord_arrays);
+  MBErrorCode result = readMeshIface->get_node_arrays(3, num_verts, 1, vstart, coord_arrays);
   assert(MB_SUCCESS == result && 1 == vstart &&
          coord_arrays[0] && coord_arrays[1] && coord_arrays[2]);
     // memcpy the coordinate data into place
@@ -537,7 +537,7 @@
   memcpy(coord_arrays[2], &coords[2*num_verts], sizeof(double)*num_verts);
   
   MBEntityHandle *conn = 0;
-  result = readMeshIface->get_element_array(num_elems, 8, MBHEX, 1, 0, estart, conn);
+  result = readMeshIface->get_element_array(num_elems, 8, MBHEX, 1, estart, conn);
   assert(MB_SUCCESS == result);
   memcpy(conn, connect, num_elems*8*sizeof(MBEntityHandle));
   result = readMeshIface->update_adjacencies(estart, num_elems, 8, conn);




More information about the moab-dev mailing list