MeshKit  1.0
VertexMesher.hpp
Go to the documentation of this file.
00001 #ifndef MESHKIT_VERTEXMESHER_HPP
00002 #define MESHKIT_VERTEXMESHER_HPP
00003 
00004 #include "meshkit/Types.hpp"
00005 #include "meshkit/Error.hpp"
00006 #include "meshkit/MeshScheme.hpp"
00007 #include "meshkit/ModelEnt.hpp"
00008 #include "iGeom.h"
00009 #include "moab/Interface.hpp"
00010 #include <vector>
00011 
00012 namespace MeshKit {
00013 
00014 class MKCore;
00015     
00016 
00033 class VertexMesher : public MeshScheme
00034 {
00035 public:
00036 
00038   VertexMesher(MKCore *mkcore, const MEntVector &me_vec = MEntVector());
00039 
00041   virtual ~VertexMesher();
00042   
00046   virtual bool add_modelent(ModelEnt *model_ent);
00047 
00049   virtual void setup_this();
00050 
00052   virtual void execute_this();
00053   
00054   
00056   static const char* name() 
00057     { return "VertexMesher"; }
00058 
00063   static bool can_mesh(iBase_EntityType dim)
00064     { return iBase_VERTEX == dim; }
00065 
00072   static bool can_mesh(ModelEnt *model_ent)
00073     { return canmesh_vertex(model_ent); }
00074     
00078   static const moab::EntityType* output_types();
00079 
00083   virtual const moab::EntityType* mesh_types_arr() const
00084     { return output_types(); }
00085 
00086 protected:
00087   
00088 private:
00089 
00091   VertexMesher(const VertexMesher &);
00092   
00094   VertexMesher &operator=(const VertexMesher &);
00095 
00097   static int init;
00098 };
00099 
00100 }
00101 
00102 #endif
00103 
00104   
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines