moab
SphereDecomp.hpp
Go to the documentation of this file.
00001 #ifndef SPHERE_DECOMP_HPP
00002 #define SPHERE_DECOMP_HPP
00003 
00004 #include "moab/Interface.hpp"
00005 
00006 class SphereDecomp 
00007 {
00008 public:
00009   SphereDecomp(moab::Interface *impl);
00010 
00011   moab::ErrorCode build_sphere_mesh(const char *sphere_radii_tag_name, 
00012                                 moab::EntityHandle *hex_set = NULL);
00013   
00014 private:
00015 
00017   moab::ErrorCode compute_nodes(const int dim);
00018 
00021   moab::ErrorCode build_hexes(std::vector<moab::EntityHandle> &sphere_hexes,
00022                           std::vector<moab::EntityHandle> &interstic_hexes);
00023   
00025   moab::ErrorCode subdivide_tet(moab::EntityHandle tet, 
00026                             std::vector<moab::EntityHandle> &sphere_hexes,
00027                             std::vector<moab::EntityHandle> &interstic_hexes);
00028   
00031   moab::ErrorCode retrieve_subdiv_verts(moab::EntityHandle tet, moab::EntityHandle this_ent,
00032                                     const moab::EntityHandle *tet_conn,
00033                                     const int dim, moab::EntityHandle *subdiv_verts);
00034   
00036   moab::Tag sphereRadiiTag;
00037 
00039   moab::Tag subdivVerticesTag;
00040   
00042   moab::Interface *mbImpl;
00043   
00044 };
00045 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines