fei_ConnectivityTable.hpp

00001 #ifndef _fei_ConnectivityTable_hpp_
00002 #define _fei_ConnectivityTable_hpp_
00003 
00004 /*--------------------------------------------------------------------*/
00005 /*    Copyright 2005 Sandia Corporation.                              */
00006 /*    Under the terms of Contract DE-AC04-94AL85000, there is a       */
00007 /*    non-exclusive license for use of this work by or on behalf      */
00008 /*    of the U.S. Government.  Export of this program may require     */
00009 /*    a license from the United States Government.                    */
00010 /*--------------------------------------------------------------------*/
00011 
00012 #include "fei_macros.hpp"
00013 #include "fei_defs.h"
00014 
00015 #include <vector>
00016 #include <map>
00017 
00022 class ConnectivityTable {
00023  public:
00024    ConnectivityTable() : numRows(0), elemIDs(), elemNumbers(),
00025                          elem_conn_ids(NULL), elem_conn_ptrs(NULL),
00026                          connectivities(NULL), numNodesPerElem(0) {}
00027 
00028    virtual ~ConnectivityTable() {
00029       for(int i=0; i<numRows; i++) delete connectivities[i];
00030       if (numRows > 0) {
00031          delete [] connectivities;
00032       }
00033 
00034       delete elem_conn_ids;
00035       delete elem_conn_ptrs;
00036    }
00037 
00038    int numRows;
00039    std::map<GlobalID,int> elemIDs;
00040    std::vector<int> elemNumbers;
00041    std::vector<GlobalID>* elem_conn_ids;
00042    std::vector<NodeDescriptor*>* elem_conn_ptrs;
00043    std::vector<GlobalID>** connectivities;
00044    int numNodesPerElem;
00045 
00046  private:
00047    ConnectivityTable(const ConnectivityTable& /*src*/);
00048 
00049    ConnectivityTable& operator=(const ConnectivityTable& /*src*/);
00050 };
00051 
00052 
00053 #endif

Generated on Wed May 12 21:30:40 2010 for FEI by  doxygen 1.4.7