|
MOAB: Mesh Oriented datABase
(version 5.4.1)
|
#include "TestUtil.hpp"#include "moab/Core.hpp"#include "moab/Range.hpp"#include "moab/Types.hpp"#include "MBTagConventions.hpp"#include <cmath>#include <algorithm>
Include dependency graph for readrtt_test.cpp:Go to the source code of this file.
Functions | |
| void | test_loadfile_1 () |
| void | test_meshset_tags_1 () |
| void | test_tets_1 () |
| void | test_tet_tags_1 () |
| void | test_triangles_1 () |
| void | test_triangles_tags_1 () |
| void | test_vertices_1 () |
| void | test_loadfile_2 () |
| void | test_meshset_tags_2 () |
| void | test_tets_2 () |
| void | test_tet_tags_2 () |
| void | test_triangles_2 () |
| void | test_triangles_tags_2 () |
| void | test_vertices_2 () |
| void | read_file (Interface &moab, const char *input_file) |
| int | main () |
Variables | |
| std::string | example1 = "unittest/io/rtttest_v100.rtt" |
| std::string | example2 = "unittest/io/rtttest_v101.rtt" |
| int main | ( | ) |
Definition at line 35 of file readrtt_test.cpp.
References RUN_TEST, test_loadfile_1(), test_loadfile_2(), test_meshset_tags_1(), test_meshset_tags_2(), test_tet_tags_1(), test_tet_tags_2(), test_tets_1(), test_tets_2(), test_triangles_1(), test_triangles_2(), test_vertices_1(), and test_vertices_2().
{
int result = 0;
// first batch
result += RUN_TEST( test_loadfile_1 );
result += RUN_TEST( test_meshset_tags_1 );
result += RUN_TEST( test_tets_1 );
result += RUN_TEST( test_tet_tags_1 );
result += RUN_TEST( test_triangles_1 );
result += RUN_TEST( test_vertices_1 );
// second batch
result += RUN_TEST( test_loadfile_2 );
result += RUN_TEST( test_meshset_tags_2 );
result += RUN_TEST( test_tets_2 );
result += RUN_TEST( test_tet_tags_2 );
result += RUN_TEST( test_triangles_2 );
result += RUN_TEST( test_vertices_2 );
return result;
}
| void test_loadfile_1 | ( | ) |
Definition at line 62 of file readrtt_test.cpp.
References example1, and read_file().
Referenced by main().
| void test_loadfile_2 | ( | ) |
Definition at line 220 of file readrtt_test.cpp.
References example2, and read_file().
Referenced by main().
| void test_meshset_tags_1 | ( | ) |
Definition at line 68 of file readrtt_test.cpp.
References CHECK_EQUAL, CHECK_ERR, dim_tag, entities, ErrorCode, example1, GEOM_DIMENSION_TAG_NAME, moab::Core::get_entities_by_type(), moab::Core::get_entities_by_type_and_tag(), moab::Core::globalId_tag(), id_tag, MB_TAG_CREAT, MB_TAG_SPARSE, MB_TYPE_INTEGER, MBENTITYSET, read_file(), and moab::Core::tag_get_handle().
Referenced by main().
{
Core moab;
// load the data into moab
read_file( moab, example1.c_str() );
// query the dataset to make sure that there are the correct number of cells
Range entities;
ErrorCode rval = moab.get_entities_by_type( 0, moab::MBENTITYSET, entities );CHECK_ERR( rval );
Tag id_tag = moab.globalId_tag();
// get the entities that are tagged
rval = moab.get_entities_by_type_and_tag( 0, moab::MBENTITYSET, &id_tag, 0, 1, entities );CHECK_ERR( rval );
// each tet should have the material tag
int num_vols = 10;
int num_surfaces = 129;
int num_sets = entities.size();
CHECK_EQUAL( num_sets, num_vols + num_surfaces + 1 + 1 );
// from the entities, get the volume meshsets, get it from the dim tag
Tag dim_tag;
entities.clear();
// get the tag handle
rval = moab.tag_get_handle( GEOM_DIMENSION_TAG_NAME, 1, MB_TYPE_INTEGER, dim_tag, MB_TAG_SPARSE | MB_TAG_CREAT );CHECK_ERR( rval );
// get the entities that are tagged with dim 3
int dim3 = 3;
const void* const tag_vals_dim3[] = { &dim3 };
rval = moab.get_entities_by_type_and_tag( 0, moab::MBENTITYSET, &dim_tag, tag_vals_dim3, 1, entities );CHECK_ERR( rval );
// there should only be 10 meshsets of dimension 3
num_sets = entities.size();
CHECK_EQUAL( num_vols, num_sets );
entities.clear();
// get the entities that are tagged with dim 2
int dim2 = 2;
const void* const tag_vals_dim2[] = { &dim2 };
rval = moab.get_entities_by_type_and_tag( 0, moab::MBENTITYSET, &dim_tag, tag_vals_dim2, 1, entities );CHECK_ERR( rval );
// there should only be 129 meshsets of dimension 2
num_sets = entities.size();
CHECK_EQUAL( num_surfaces, num_sets );
}
| void test_meshset_tags_2 | ( | ) |
Definition at line 226 of file readrtt_test.cpp.
References CHECK_EQUAL, CHECK_ERR, dim_tag, entities, ErrorCode, example2, GEOM_DIMENSION_TAG_NAME, moab::Core::get_entities_by_type(), moab::Core::get_entities_by_type_and_tag(), moab::Core::globalId_tag(), id_tag, MB_TAG_CREAT, MB_TAG_SPARSE, MB_TYPE_INTEGER, MBENTITYSET, read_file(), and moab::Core::tag_get_handle().
Referenced by main().
{
Core moab;
// load the data into moab
read_file( moab, example2.c_str() );
// query the dataset to make sure that there are the correct number of cells
Range entities;
ErrorCode rval = moab.get_entities_by_type( 0, moab::MBENTITYSET, entities );CHECK_ERR( rval );
Tag id_tag = moab.globalId_tag();
// get the entities that are tagged
rval = moab.get_entities_by_type_and_tag( 0, moab::MBENTITYSET, &id_tag, 0, 1, entities );CHECK_ERR( rval );
// each tet should have the material tag
int num_vols = 3;
int num_surfaces = 24;
int num_sets = entities.size();
CHECK_EQUAL( num_sets, num_vols + num_surfaces + 1 + 1 );
// from the entities, get the volume meshsets, get it from the dim tag
Tag dim_tag;
entities.clear();
// get the tag handle
rval = moab.tag_get_handle( GEOM_DIMENSION_TAG_NAME, 1, MB_TYPE_INTEGER, dim_tag, MB_TAG_SPARSE | MB_TAG_CREAT );CHECK_ERR( rval );
// get the entities that are tagged with dim 3
int dim3 = 3;
const void* const tag_vals_dim3[] = { &dim3 };
rval = moab.get_entities_by_type_and_tag( 0, moab::MBENTITYSET, &dim_tag, tag_vals_dim3, 1, entities );CHECK_ERR( rval );
// there should only be 10 meshsets of dimension 3
num_sets = entities.size();
CHECK_EQUAL( num_vols, num_sets );
entities.clear();
// get the entities that are tagged with dim 2
int dim2 = 2;
const void* const tag_vals_dim2[] = { &dim2 };
rval = moab.get_entities_by_type_and_tag( 0, moab::MBENTITYSET, &dim_tag, tag_vals_dim2, 1, entities );CHECK_ERR( rval );
// there should only be 129 meshsets of dimension 2
num_sets = entities.size();
CHECK_EQUAL( num_surfaces, num_sets );
}
| void test_tet_tags_1 | ( | ) |
Definition at line 128 of file readrtt_test.cpp.
References CHECK_EQUAL, CHECK_ERR, entities, ErrorCode, example1, moab::Core::get_entities_by_type(), moab::Core::get_entities_by_type_and_tag(), MB_TAG_CREAT, MB_TAG_SPARSE, MB_TYPE_INTEGER, MBTET, read_file(), and moab::Core::tag_get_handle().
Referenced by main().
{
Core moab;
// load the data into moab
read_file( moab, example1.c_str() );
// query the dataset to make sure that there are the correct number of cells
Range entities;
ErrorCode rval = moab.get_entities_by_type( 0, moab::MBTET, entities );CHECK_ERR( rval );
int num_tets = 26710;
int num_tet_in_moab = entities.size();
CHECK_EQUAL( num_tet_in_moab, num_tets );
// get the number of tets tagged with
entities.clear();
Tag material_number;
// get the tag handle
rval = moab.tag_get_handle( "MATERIAL_NUMBER", 1, MB_TYPE_INTEGER, material_number, MB_TAG_SPARSE | MB_TAG_CREAT );CHECK_ERR( rval );
// get the entities that are tagged
rval = moab.get_entities_by_type_and_tag( 0, moab::MBTET, &material_number, 0, 1, entities );
// each tet should have the material tag
int num_tet_tag = entities.size();
CHECK_EQUAL( num_tet_tag, num_tets );CHECK_ERR( rval );
}
| void test_tet_tags_2 | ( | ) |
Definition at line 286 of file readrtt_test.cpp.
References CHECK_EQUAL, CHECK_ERR, entities, ErrorCode, example2, moab::Core::get_entities_by_type(), moab::Core::get_entities_by_type_and_tag(), MB_TAG_CREAT, MB_TAG_SPARSE, MB_TYPE_INTEGER, MBTET, read_file(), and moab::Core::tag_get_handle().
Referenced by main().
{
Core moab;
// load the data into moab
read_file( moab, example2.c_str() );
// query the dataset to make sure that there are the correct number of cells
Range entities;
ErrorCode rval = moab.get_entities_by_type( 0, moab::MBTET, entities );CHECK_ERR( rval );
int num_tets = 84;
int num_tet_in_moab = entities.size();
CHECK_EQUAL( num_tet_in_moab, num_tets );
// get the number of tets tagged with
entities.clear();
Tag material_number;
// get the tag handle
rval = moab.tag_get_handle( "MATERIAL_NUMBER", 1, MB_TYPE_INTEGER, material_number, MB_TAG_SPARSE | MB_TAG_CREAT );CHECK_ERR( rval );
// get the entities that are tagged
rval = moab.get_entities_by_type_and_tag( 0, moab::MBTET, &material_number, 0, 1, entities );
// each tet should have the material tag
int num_tet_tag = entities.size();
CHECK_EQUAL( num_tet_tag, num_tets );CHECK_ERR( rval );
}
| void test_tets_1 | ( | ) |
Definition at line 114 of file readrtt_test.cpp.
References CHECK_EQUAL, CHECK_ERR, entities, ErrorCode, example1, moab::Core::get_entities_by_type(), MBTET, and read_file().
Referenced by main().
{
Core moab;
// load the data into moab
read_file( moab, example1.c_str() );
// query the dataset to make sure that there are the correct number of cells
// cells = 26710 - number of tets
Range entities;
ErrorCode rval = moab.get_entities_by_type( 0, moab::MBTET, entities );CHECK_ERR( rval );
int num_tets = 26710;
int num_tet_in_moab = entities.size();
CHECK_EQUAL( num_tet_in_moab, num_tets );
}
| void test_tets_2 | ( | ) |
Definition at line 272 of file readrtt_test.cpp.
References CHECK_EQUAL, CHECK_ERR, entities, ErrorCode, example2, moab::Core::get_entities_by_type(), MBTET, and read_file().
Referenced by main().
{
Core moab;
// load the data into moab
read_file( moab, example2.c_str() );
// query the dataset to make sure that there are the correct number of cells
// cells = 26710 - number of tets
Range entities;
ErrorCode rval = moab.get_entities_by_type( 0, moab::MBTET, entities );CHECK_ERR( rval );
int num_tets = 84;
int num_tet_in_moab = entities.size();
CHECK_EQUAL( num_tet_in_moab, num_tets );
}
| void test_triangles_1 | ( | ) |
Definition at line 154 of file readrtt_test.cpp.
References CHECK_EQUAL, CHECK_ERR, entities, ErrorCode, example1, moab::Core::get_entities_by_type(), MBTRI, and read_file().
Referenced by main().
{
Core moab;
// load the data into moab
read_file( moab, example1.c_str() );
// query the dataset to make sure that there are the correct number of cells
Range entities;
ErrorCode rval = moab.get_entities_by_type( 0, moab::MBTRI, entities );CHECK_ERR( rval );
int num_tri = 6383; // num tris annotated in rtttest.rtt
int num_tri_in_moab = entities.size();
CHECK_EQUAL( num_tri_in_moab, num_tri );
}
| void test_triangles_2 | ( | ) |
Definition at line 312 of file readrtt_test.cpp.
References CHECK_EQUAL, CHECK_ERR, entities, ErrorCode, example2, moab::Core::get_entities_by_type(), MBTRI, and read_file().
Referenced by main().
{
Core moab;
// load the data into moab
read_file( moab, example2.c_str() );
// query the dataset to make sure that there are the correct number of cells
Range entities;
ErrorCode rval = moab.get_entities_by_type( 0, moab::MBTRI, entities );CHECK_ERR( rval );
int num_tri = 60; // num tris annotated in rtttest.rtt
int num_tri_in_moab = entities.size();
CHECK_EQUAL( num_tri_in_moab, num_tri );
}
| void test_triangles_tags_1 | ( | ) |
Definition at line 168 of file readrtt_test.cpp.
References CHECK_EQUAL, CHECK_ERR, entities, ErrorCode, example1, moab::Core::get_entities_by_type(), moab::Core::get_entities_by_type_and_tag(), MB_TAG_CREAT, MB_TAG_SPARSE, MB_TYPE_INTEGER, MBTRI, read_file(), and moab::Core::tag_get_handle().
{
Core moab;
// load the data into moab
read_file( moab, example1.c_str() );
// query the dataset to make sure that there are the correct number of cells
Range entities;
ErrorCode rval = moab.get_entities_by_type( 0, moab::MBTRI, entities );CHECK_ERR( rval );
int num_tri = 6383; // num tris annotated in rtttest.rtt
int num_tri_in_moab = entities.size();
CHECK_EQUAL( num_tri_in_moab, num_tri );
// get the number of tris tagged with SURFACE_NUMBER
entities.clear();
Tag surface_number;
// get the tag handle
rval = moab.tag_get_handle( "SURFACE_NUMBER", 1, MB_TYPE_INTEGER, surface_number, MB_TAG_SPARSE | MB_TAG_CREAT );CHECK_ERR( rval );
// get the entities that are tagged
rval = moab.get_entities_by_type_and_tag( 0, moab::MBTRI, &surface_number, 0, 1, entities );
// each tri should have the surface number tag
int num_tri_tag = entities.size();
CHECK_EQUAL( num_tri_tag, num_tri );CHECK_ERR( rval );
// get the number of tris tagged with SIDEID_TAG
entities.clear();
Tag sideid_tag;
// get the tag handle
rval = moab.tag_get_handle( "SIDEID_TAG", 1, MB_TYPE_INTEGER, sideid_tag, MB_TAG_SPARSE | MB_TAG_CREAT );CHECK_ERR( rval );
// get the entities that are tagged
rval = moab.get_entities_by_type_and_tag( 0, moab::MBTRI, &sideid_tag, 0, 1, entities );
// each tri should have the sideid tag
num_tri_tag = entities.size();
CHECK_EQUAL( num_tri_tag, num_tri );CHECK_ERR( rval );
}
| void test_triangles_tags_2 | ( | ) |
Definition at line 326 of file readrtt_test.cpp.
References CHECK_EQUAL, CHECK_ERR, entities, ErrorCode, example2, moab::Core::get_entities_by_type(), moab::Core::get_entities_by_type_and_tag(), MB_TAG_CREAT, MB_TAG_SPARSE, MB_TYPE_INTEGER, MBTRI, read_file(), and moab::Core::tag_get_handle().
{
Core moab;
// load the data into moab
read_file( moab, example2.c_str() );
// query the dataset to make sure that there are the correct number of cells
Range entities;
ErrorCode rval = moab.get_entities_by_type( 0, moab::MBTRI, entities );CHECK_ERR( rval );
int num_tri = 60; // num tris annotated in rtttest.rtt
int num_tri_in_moab = entities.size();
CHECK_EQUAL( num_tri_in_moab, num_tri );
// get the number of tris tagged with SURFACE_NUMBER
entities.clear();
Tag surface_number;
// get the tag handle
rval = moab.tag_get_handle( "SURFACE_NUMBER", 1, MB_TYPE_INTEGER, surface_number, MB_TAG_SPARSE | MB_TAG_CREAT );CHECK_ERR( rval );
// get the entities that are tagged
rval = moab.get_entities_by_type_and_tag( 0, moab::MBTRI, &surface_number, 0, 1, entities );
// each tri should have the surface number tag
int num_tri_tag = entities.size();
CHECK_EQUAL( num_tri_tag, num_tri );CHECK_ERR( rval );
// get the number of tris tagged with SIDEID_TAG
entities.clear();
Tag sideid_tag;
// get the tag handle
rval = moab.tag_get_handle( "SIDEID_TAG", 1, MB_TYPE_INTEGER, sideid_tag, MB_TAG_SPARSE | MB_TAG_CREAT );CHECK_ERR( rval );
// get the entities that are tagged
rval = moab.get_entities_by_type_and_tag( 0, moab::MBTRI, &sideid_tag, 0, 1, entities );
// each tri should have the sideid tag
num_tri_tag = entities.size();
CHECK_EQUAL( num_tri_tag, num_tri );CHECK_ERR( rval );
}
| void test_vertices_1 | ( | ) |
Definition at line 206 of file readrtt_test.cpp.
References CHECK_EQUAL, CHECK_ERR, entities, ErrorCode, example1, moab::Core::get_entities_by_type(), MBVERTEX, and read_file().
Referenced by main().
{
Core moab;
// load the data into moab
read_file( moab, example1.c_str() );
// query the dataset to make sure that there are the correct number of cells
Range entities;
ErrorCode rval = moab.get_entities_by_type( 0, moab::MBVERTEX, entities );CHECK_ERR( rval );
int num_verts = 5397; // num verts annotated in rtttest.rtt
int num_verts_in_moab = entities.size();
CHECK_EQUAL( num_verts_in_moab, num_verts );
}
| void test_vertices_2 | ( | ) |
Definition at line 364 of file readrtt_test.cpp.
References CHECK_EQUAL, CHECK_ERR, entities, ErrorCode, example2, moab::Core::get_entities_by_type(), MBVERTEX, and read_file().
Referenced by main().
{
Core moab;
// load the data into moab
read_file( moab, example2.c_str() );
// query the dataset to make sure that there are the correct number of cells
Range entities;
ErrorCode rval = moab.get_entities_by_type( 0, moab::MBVERTEX, entities );CHECK_ERR( rval );
int num_verts = 40; // num verts annotated in rtttest.rtt
int num_verts_in_moab = entities.size();
CHECK_EQUAL( num_verts_in_moab, num_verts );
}
| std::string example1 = "unittest/io/rtttest_v100.rtt" |
Definition at line 14 of file readrtt_test.cpp.
Referenced by test_loadfile_1(), test_meshset_tags_1(), test_tet_tags_1(), test_tets_1(), test_triangles_1(), test_triangles_tags_1(), and test_vertices_1().
| std::string example2 = "unittest/io/rtttest_v101.rtt" |
Definition at line 15 of file readrtt_test.cpp.
Referenced by test_loadfile_2(), test_meshset_tags_2(), test_tet_tags_2(), test_tets_2(), test_triangles_2(), test_triangles_tags_2(), and test_vertices_2().