Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages   Examples  

MeshReader.h

Go to the documentation of this file.
00001 #ifndef MESHREADER_H
00002 #define MESHREADER_H
00003 
00004 #include "SundanceDefs.h"
00005 
00006 #include "Mesh.h"
00007 #include "TSFSmartPtr.h"
00008 #include "TSFTimeMonitor.h"
00009 
00010 namespace Sundance
00011 {
00012 
00013   using namespace TSF;
00014   using std::string;
00015 
00016   using std::ostream;
00017 
00018   /**
00019    *\ingroup LowLevelGeometry
00020    * Base class for MeshReaders
00021    */
00022 
00023   class MeshReaderBase
00024     {
00025     public:
00026       /** */
00027       MeshReaderBase() : verbose_(false) {;}
00028       /** */
00029       virtual ~MeshReaderBase() {;}
00030 
00031       /** */
00032       virtual Mesh getMesh() const = 0;
00033       /** */
00034       virtual Mesh gatherMesh(int numProcs) const ;
00035 
00036       /** */
00037       void verboseOn() {verbose_ = true;}
00038 
00039     protected:
00040       bool verbose_;
00041     };
00042 
00043   /**
00044    * \ingroup
00045    * Handle for MeshReader
00046    */
00047 
00048   class MeshReader
00049     {
00050     public:
00051       /** */
00052       MeshReader() : ptr_(0){;}
00053       /** */
00054       MeshReader(MeshReaderBase* ptr);
00055 
00056       /** */
00057       Mesh getMesh() const ;
00058       /** */
00059       Mesh gatherMesh(int numProcs) const ;
00060 
00061       /** */
00062       void verboseOn();
00063 
00064     private:
00065       TSFSmartPtr<MeshReaderBase> ptr_;
00066 
00067       static TSFTimer& meshReadTimer();
00068     };
00069 
00070 
00071 
00072 
00073 
00074 }
00075 #endif

Contact:
Kevin Long (krlong@ca.sandia.gov)


Documentation generated by