MeshKit
1.0
|
00001 #ifndef ARC_HPP 00002 #define ARC_HPP 00003 00004 #include <vector> 00005 #include "moab/Core.hpp" 00006 #include "gen.hpp" 00007 #include "moab/Skinner.hpp" 00008 #include "MBTagConventions.hpp" 00009 00010 00011 namespace arc { 00012 00015 moab::ErrorCode orient_edge_with_tri( const moab::EntityHandle edge, 00016 const moab::EntityHandle tri ); 00017 // checks for degeneracy of edges in the moab::Range edges and deletes degenerates if found 00018 moab::ErrorCode remove_degenerate_edges( moab::Range &edges, const bool debug ); 00019 00022 moab::ErrorCode remove_opposite_pairs_of_edges( moab::Range &edges, const bool debug ); 00023 moab::ErrorCode remove_opposite_pairs_of_edges_fast( moab::Range &edges, const bool debug ); 00024 00025 moab::ErrorCode get_next_oriented_edge( const moab::Range edges, 00026 const moab::EntityHandle edge, 00027 moab::EntityHandle &next_edge ); 00028 00029 // Given a range of edges and a vertex, find the edge the contains the 00030 // endpoint. Also return the opposite endpoint of the edge. This checks 00031 // to ensure that only one edge is found. 00032 moab::ErrorCode get_next_edge_and_vert_by_edge( const moab::Range edges_in, 00033 const moab::EntityHandle edge_in, 00034 const moab::EntityHandle vertex_in, 00035 moab::EntityHandle &edge_out, 00036 moab::EntityHandle &vertex_out ); 00037 00038 moab::ErrorCode create_loops_from_oriented_edges_fast( moab::Range edges, 00039 std::vector< std::vector<moab::EntityHandle> > &loops_of_edges, 00040 const bool debug ); 00041 moab::ErrorCode create_loops_from_oriented_edges( moab::Range edges, 00042 std::vector< std::vector<moab::EntityHandle> > &loops_of_edges, 00043 const bool debug ); 00044 00045 moab::ErrorCode order_verts_by_edge( moab::Range unordered_edges, std::vector<moab::EntityHandle> &ordered_verts ); 00046 00048 moab::ErrorCode get_meshset( const moab::EntityHandle set, std::vector<moab::EntityHandle> &vec); 00049 00052 moab::ErrorCode set_meshset( const moab::EntityHandle set, const std::vector<moab::EntityHandle> vec ); 00053 00056 moab::ErrorCode merge_curves(moab::Range curve_sets, const double FACET_TOL, 00057 moab::Tag idTag, moab::Tag merge_tag, const bool debug ); 00058 } 00059 00060 #endif