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

MeshGenerator.h

Go to the documentation of this file.
00001 #ifndef MESHGENERATOR_H
00002 #define MESHGENERATOR_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 MeshGenerators
00021    */
00022 
00023   class MeshGeneratorBase
00024     {
00025     public:
00026       /** */
00027       MeshGeneratorBase() {;}
00028       /** */
00029       virtual ~MeshGeneratorBase() {;}
00030 
00031       /** */
00032       virtual Mesh getMesh() const = 0;
00033 
00034     protected:
00035     };
00036 
00037   /**
00038    * \ingroup Geometry
00039    * Handle for MeshGenerator
00040    */
00041 
00042   class MeshGenerator
00043     {
00044     public:
00045       /** */
00046       MeshGenerator() : ptr_(0){;}
00047       /** */
00048       MeshGenerator(MeshGeneratorBase* ptr);
00049 
00050       /** */
00051       Mesh getMesh() const ;
00052 
00053     private:
00054       TSFSmartPtr<MeshGeneratorBase> ptr_;
00055 
00056       static TSFTimer& meshBuildTimer();
00057     };
00058 
00059 
00060 
00061 
00062 
00063 }
00064 #endif

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


Documentation generated by