Mesh Oriented datABase
(version 5.5.1)
An array-based unstructured mesh library
GetEntities.cpp
Go to the documentation of this file.
1
/** @example GetEntities.cpp
2
* Description: Get entities and report non-vertex entity connectivity and vertex adjacencies.\n
3
* This example shows how to get connectivity and adjacencies.\n
4
*
5
* To run: ./GetEntities [meshfile]\n
6
* (default values can run if users don't specify a mesh file)
7
*/
8
9
#include "
moab/Core.hpp
"
10
#include "
moab/Range.hpp
"
11
#include "
moab/CN.hpp
"
12
#include <iostream>
13
14
using namespace
moab
;
15
using namespace
std;
16
17
#ifndef MESH_DIR
18
#define MESH_DIR "."
19
#endif
20
21
string
test_file_name
= string(
MESH_DIR
) + string(
"/hex01.vtk"
);
22
23
int
main
(
int
argc,
char
** argv )
24
{
25
if
( argc > 1 )
26
{
27
// User has input a mesh file
28
test_file_name
= argv[1];
29
}
30
31
// Instantiate & load a mesh from a file
32
Core
*
mb
=
new
( std::nothrow )
Core
;
33
if
( NULL ==
mb
)
return
1;
34
ErrorCode
rval =
mb
->
load_mesh
(
test_file_name
.c_str() );
MB_CHK_ERR
( rval );
35
36
Range
ents;
37
38
// Get all entities in the database
39
rval =
mb
->
get_entities_by_handle
( 0, ents );
MB_CHK_ERR
( rval );
40
41
for
(
Range::iterator
it = ents.
begin
(); it != ents.
end
(); ++it )
42
{
43
if
(
MBVERTEX
==
mb
->
type_from_handle
( *it ) )
44
{
45
Range
adjs;
46
rval =
mb
->
get_adjacencies
( &( *it ), 1, 3,
false
, adjs );
MB_CHK_ERR
( rval );
47
cout <<
"Vertex "
<<
mb
->
id_from_handle
( *it ) <<
" adjacencies:"
<< endl;
48
adjs.
print
();
49
}
50
else
if
(
mb
->
type_from_handle
( *it ) <
MBENTITYSET
)
51
{
52
const
EntityHandle
* connect;
53
int
num_connect;
54
rval =
mb
->
get_connectivity
( *it, connect, num_connect );
MB_CHK_ERR
( rval );
55
cout <<
CN::EntityTypeName
(
mb
->
type_from_handle
( *it ) ) <<
" "
<<
mb
->
id_from_handle
( *it )
56
<<
" vertex connectivity is: "
;
57
for
(
int
i = 0; i < num_connect; i++ )
58
cout <<
mb
->
id_from_handle
( connect[i] ) <<
" "
;
59
cout << endl;
60
}
61
}
62
63
delete
mb
;
64
65
return
0;
66
}
examples
basic
GetEntities.cpp
Generated on Tue Oct 29 2024 02:05:41 for Mesh Oriented datABase by
1.9.1.