MeshKit  1.0
CAMALTriAdvance.hpp
Go to the documentation of this file.
00001 #ifndef MESHKIT_CAMAL_TRI_ADV_HPP
00002 #define MESHKIT_CAMAL_TRI_ADV_HPP
00003 
00004 #include "meshkit/iGeom.hpp"
00005 #include <set>
00006 #include <vector>
00007 #include "meshkit/MeshScheme.hpp"
00008 #include "moab/Interface.hpp"
00009 
00013 #include "meshkit/MeshScheme.hpp"
00014 
00015 namespace MeshKit
00016 {
00017 
00018 class MKCore;
00019     
00025 class CAMALTriAdvance : public MeshScheme
00026 {
00027 public:
00032   CAMALTriAdvance(MKCore *mk_core, const MEntVector &me_vec);
00033 
00036   ~CAMALTriAdvance();
00037 
00040   virtual void setup_this();
00041 
00044   virtual void execute_this();
00045         
00048   static moab::EntityType meshTps[];
00049   
00050   
00052   static const char* name() 
00053     { return "CAMALTriAdvance"; }
00054 
00059   static bool can_mesh(iBase_EntityType dim)
00060     { return iBase_FACE == dim; }
00061 
00068   static bool can_mesh(ModelEnt *me)
00069     { return canmesh_face(me); }
00070 
00074   static const moab::EntityType* output_types()
00075     { return meshTps; }
00076 
00080   virtual const moab::EntityType* mesh_types_arr() const
00081     { return output_types(); }
00082   
00083 private:
00084 
00087   void print_debug(ModelEnt *me, std::vector<double> &coords,
00088                    moab::Range &bdy_vrange, std::vector<int> &group_sizes,
00089                    std::vector<int> &bdy_ids);
00090 };
00091 
00092 } // namespace MeshKit
00093 
00094 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines