MOAB: Mesh Oriented datABase
(version 5.4.1)
|
Public Member Functions | |
void | setUp () |
void | tearDown () |
MsqVertexTest () | |
void | test_hex_vertices () |
void | test_flags () |
Private Member Functions | |
CPPUNIT_TEST_SUITE (MsqVertexTest) | |
CPPUNIT_TEST (test_flags) | |
CPPUNIT_TEST_SUITE_END () | |
Private Attributes | |
PatchData | one_hex_patch |
PatchData | one_tet_patch |
PatchData | one_qua_patch |
PatchData | one_tri_patch |
Vector3D | e1 |
Vector3D | e2 |
Vector3D | e3 |
double | tolEps |
Definition at line 64 of file MsqVertexTest.cpp.
MsqVertexTest::MsqVertexTest | ( | ) | [inline] |
Definition at line 123 of file MsqVertexTest.cpp.
{}
MsqVertexTest::CPPUNIT_TEST | ( | test_flags | ) | [private] |
MsqVertexTest::CPPUNIT_TEST_SUITE | ( | MsqVertexTest | ) | [private] |
MsqVertexTest::CPPUNIT_TEST_SUITE_END | ( | ) | [private] |
void MsqVertexTest::setUp | ( | ) | [inline] |
Definition at line 81 of file MsqVertexTest.cpp.
References MBMesquite::HEXAHEDRON, MBMesquite::QUADRILATERAL, MBMesquite::TETRAHEDRON, and MBMesquite::TRIANGLE.
{ tolEps = 1.e-12; // set up the unit vectors e1.set( 1, 0, 0 ); e2.set( 0, 1, 0 ); e3.set( 0, 0, 1 ); MsqPrintError err( cout ); double hcoords[] = { 1.0, 1.0, 1.0, 2.0, 1.0, 1.0, 2.0, 2.0, 1.0, 1.0, 2.0, 1.0, 1.0, 1.0, 2.0, 2.0, 1.0, 2.0, 2.0, 2.0, 2.0, 1.0, 2.0, 2.0 }; size_t hconn[] = { 0, 1, 2, 3, 4, 5, 6, 7 }; one_hex_patch.fill( 8, hcoords, 1, HEXAHEDRON, hconn, 0, err ); double tcoords[] = { 1.0, 1.0, 1.0, 2.0, 1.0, 1.0, 1.5, 1 + sqrt( 3.0 ) / 2.0, 1.0, 1.5, 1 + sqrt( 3.0 ) / 6.0, 1 + sqrt( 2.0 ) / sqrt( 3.0 ) }; size_t tconn[] = { 0, 1, 2, 3 }; one_tet_patch.fill( 4, tcoords, 1, TETRAHEDRON, tconn, 0, err ); double qcoords[] = { 1.0, 1.0, 1.0, 2.0, 1.0, 1.0, 2.0, 2.0, 1.0, 1.0, 2.0, 1.0 }; size_t qconn[] = { 0, 1, 2, 3 }; one_qua_patch.fill( 4, qcoords, 1, QUADRILATERAL, qconn, 0, err ); double rcoords[] = { 1.0, 1.0, 1.0, 2.0, 1.0, 1.0, 1.5, 1 + sqrt( 3.0 ) / 2.0, 1.0 }; size_t rconn[] = { 0, 1, 2 }; one_tri_patch.fill( 3, rcoords, 1, TRIANGLE, rconn, 0, err ); }
void MsqVertexTest::tearDown | ( | ) | [inline] |
Definition at line 120 of file MsqVertexTest.cpp.
{}
void MsqVertexTest::test_flags | ( | ) | [inline] |
Definition at line 146 of file MsqVertexTest.cpp.
References CPPUNIT_ASSERT, MBMesquite::MsqVertex::is_flag_set(), MBMesquite::MsqVertex::MSQ_CULLED, MBMesquite::MsqVertex::MSQ_HARD_FIXED, MBMesquite::MsqVertex::set_hard_fixed_flag(), and vtx().
{ MsqVertex vtx( 1, 2, 3 ); CPPUNIT_ASSERT( vtx.is_flag_set( MsqVertex::MSQ_HARD_FIXED ) == false ); vtx.set_hard_fixed_flag(); CPPUNIT_ASSERT( vtx.is_flag_set( MsqVertex::MSQ_CULLED ) == false ); CPPUNIT_ASSERT( vtx.is_flag_set( MsqVertex::MSQ_HARD_FIXED ) == true ); CPPUNIT_ASSERT( ( vtx.is_flag_set( MsqVertex::MSQ_CULLED ) || vtx.is_flag_set( MsqVertex::MSQ_HARD_FIXED ) ) == true ); CPPUNIT_ASSERT( ( vtx.is_flag_set( MsqVertex::MSQ_CULLED ) && vtx.is_flag_set( MsqVertex::MSQ_HARD_FIXED ) ) == false ); }
void MsqVertexTest::test_hex_vertices | ( | ) | [inline] |
Definition at line 125 of file MsqVertexTest.cpp.
References CPPUNIT_ASSERT, CPPUNIT_ASSERT_EQUAL, MBMesquite::Vector3D::set(), and vtx().
{ MsqPrintError err( cout ); // prints out the vertices. const MsqVertex* ideal_vertices = one_hex_patch.get_vertex_array( err ); CPPUNIT_ASSERT( !err ); int num_vtx = one_hex_patch.num_nodes(); CPPUNIT_ASSERT_EQUAL( 8, num_vtx ); MsqVertex vtx; vtx.set( 1, 1, 1 ); CPPUNIT_ASSERT_EQUAL( vtx, ideal_vertices[0] ); vtx.set( 2, 2, 2 ); CPPUNIT_ASSERT_EQUAL( vtx, ideal_vertices[6] ); vtx.set( 1, 2, 2 ); CPPUNIT_ASSERT_EQUAL( vtx, ideal_vertices[7] ); }
Vector3D MsqVertexTest::e1 [private] |
Definition at line 77 of file MsqVertexTest.cpp.
Vector3D MsqVertexTest::e2 [private] |
Definition at line 77 of file MsqVertexTest.cpp.
Vector3D MsqVertexTest::e3 [private] |
Definition at line 77 of file MsqVertexTest.cpp.
PatchData MsqVertexTest::one_hex_patch [private] |
Definition at line 73 of file MsqVertexTest.cpp.
PatchData MsqVertexTest::one_qua_patch [private] |
Definition at line 75 of file MsqVertexTest.cpp.
PatchData MsqVertexTest::one_tet_patch [private] |
Definition at line 74 of file MsqVertexTest.cpp.
PatchData MsqVertexTest::one_tri_patch [private] |
Definition at line 76 of file MsqVertexTest.cpp.
double MsqVertexTest::tolEps [private] |
Definition at line 78 of file MsqVertexTest.cpp.