MeshKit
1.0
|
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