23 #include <string_view>
40 std::cout <<
"Usage: " << program_name <<
" [meshfile]\n"
44 int main(
int argc,
char** argv )
49 if( argc > 1 && ( std::string( argv[1] ) ==
"-h" || std::string( argv[1] ) ==
"--help" ) )
56 const std::string mesh_file =
60 auto moab = std::make_unique< Core >();
63 std::cerr <<
"Error: Failed to create MOAB instance\n";
68 MB_CHK_SET_ERR(
moab->load_mesh( mesh_file.c_str() ),
"Failed to load mesh file: " << mesh_file );
72 MB_CHK_SET_ERR(
moab->get_entities_by_handle( 0, entities ),
"Failed to retrieve entities from mesh" );
75 for(
const auto& entity : entities )
77 const auto entity_type =
moab->type_from_handle( entity );
78 const auto entity_id =
moab->id_from_handle( entity );
83 Range adjacent_elements;
85 "Failed to get adjacencies for vertex " << entity_id );
87 std::cout <<
"Vertex " << entity_id <<
" is connected to " << adjacent_elements.
size() <<
" elements\n";
88 if( !adjacent_elements.
empty() )
90 std::cout <<
" Adjacent elements: ";
91 for(
const auto& elem : adjacent_elements )
93 std::cout <<
moab->id_from_handle( elem ) <<
" ";
102 int num_vertices = 0;
111 for(
int i = 0; i < num_vertices; ++i )
113 std::cout <<
moab->id_from_handle( connectivity[i] );
114 if( i < num_vertices - 1 ) std::cout <<
", ";
122 catch(
const std::exception& e )
124 std::cerr <<
"Error: " << e.what() <<
"\n";
129 std::cerr <<
"Error: Unknown exception occurred\n";