MOAB: Mesh Oriented datABase
(version 5.4.1)
|
Public Member Functions | |
UntangleBetaTest () | |
void | test_supported_types () |
void | test_ideal_element_eval () |
void | test_inverted_elements () |
void | test_degenerate_elements () |
void | test_get_evaluations () |
void | test_get_element_indices () |
void | test_get_fixed_indices () |
void | test_eval_with_indices () |
void | test_location_invariant () |
void | test_orient_invariant () |
Private Member Functions | |
CPPUNIT_TEST_SUITE (UntangleBetaTest) | |
CPPUNIT_TEST (test_supported_types) | |
CPPUNIT_TEST (test_ideal_element_eval) | |
CPPUNIT_TEST (test_inverted_elements) | |
CPPUNIT_TEST (test_degenerate_elements) | |
CPPUNIT_TEST (test_get_evaluations) | |
CPPUNIT_TEST (test_get_element_indices) | |
CPPUNIT_TEST (test_get_fixed_indices) | |
CPPUNIT_TEST (test_eval_with_indices) | |
CPPUNIT_TEST (test_location_invariant) | |
CPPUNIT_TEST (test_orient_invariant) | |
CPPUNIT_TEST_SUITE_END () | |
Private Attributes | |
UntangleBetaQualityMetric | mMetric |
QualityMetricTester | tester |
Definition at line 41 of file UntangleBetaTest.cpp.
UntangleBetaTest::UntangleBetaTest | ( | ) | [inline] |
Definition at line 63 of file UntangleBetaTest.cpp.
UntangleBetaTest::CPPUNIT_TEST | ( | test_supported_types | ) | [private] |
UntangleBetaTest::CPPUNIT_TEST | ( | test_ideal_element_eval | ) | [private] |
UntangleBetaTest::CPPUNIT_TEST | ( | test_inverted_elements | ) | [private] |
UntangleBetaTest::CPPUNIT_TEST | ( | test_degenerate_elements | ) | [private] |
UntangleBetaTest::CPPUNIT_TEST | ( | test_get_evaluations | ) | [private] |
UntangleBetaTest::CPPUNIT_TEST | ( | test_get_element_indices | ) | [private] |
UntangleBetaTest::CPPUNIT_TEST | ( | test_get_fixed_indices | ) | [private] |
UntangleBetaTest::CPPUNIT_TEST | ( | test_eval_with_indices | ) | [private] |
UntangleBetaTest::CPPUNIT_TEST | ( | test_location_invariant | ) | [private] |
UntangleBetaTest::CPPUNIT_TEST | ( | test_orient_invariant | ) | [private] |
UntangleBetaTest::CPPUNIT_TEST_SUITE | ( | UntangleBetaTest | ) | [private] |
UntangleBetaTest::CPPUNIT_TEST_SUITE_END | ( | ) | [private] |
void UntangleBetaTest::test_degenerate_elements | ( | ) | [inline] |
Definition at line 127 of file UntangleBetaTest.cpp.
References ASSERT_NO_ERROR, MBMesquite::HEXAHEDRON, mMetric, MBMesquite::PRISM, MBMesquite::PYRAMID, MBMesquite::QUADRILATERAL, MBMesquite::TETRAHEDRON, MBMesquite::TRIANGLE, and value().
{ MsqPrintError err( std::cout ); double value; PatchData pd; char val_str[128]; tester.get_zero_element( TRIANGLE, pd ); mMetric.evaluate( pd, 0, value, err ); ASSERT_NO_ERROR( err ); sprintf( val_str, "value: %f", value ); CPPUNIT_ASSERT_MESSAGE( val_str, value > 1e-6 ); tester.get_zero_element( QUADRILATERAL, pd ); mMetric.evaluate( pd, 0, value, err ); ASSERT_NO_ERROR( err ); sprintf( val_str, "value: %f", value ); CPPUNIT_ASSERT_MESSAGE( val_str, value > 1e-6 ); tester.get_zero_element( TETRAHEDRON, pd ); mMetric.evaluate( pd, 0, value, err ); ASSERT_NO_ERROR( err ); sprintf( val_str, "value: %f", value ); CPPUNIT_ASSERT_MESSAGE( val_str, value > 1e-6 ); tester.get_zero_element( HEXAHEDRON, pd ); mMetric.evaluate( pd, 0, value, err ); ASSERT_NO_ERROR( err ); sprintf( val_str, "value: %f", value ); CPPUNIT_ASSERT_MESSAGE( val_str, value > 1e-6 ); tester.get_zero_element( PRISM, pd ); mMetric.evaluate( pd, 0, value, err ); ASSERT_NO_ERROR( err ); sprintf( val_str, "value: %f", value ); CPPUNIT_ASSERT_MESSAGE( val_str, value > 1e-6 ); tester.get_zero_element( PYRAMID, pd ); mMetric.evaluate( pd, 0, value, err ); ASSERT_NO_ERROR( err ); sprintf( val_str, "value: %f", value ); CPPUNIT_ASSERT_MESSAGE( val_str, value > 1e-6 ); }
void UntangleBetaTest::test_eval_with_indices | ( | ) | [inline] |
Definition at line 186 of file UntangleBetaTest.cpp.
References mMetric.
void UntangleBetaTest::test_get_element_indices | ( | ) | [inline] |
Definition at line 176 of file UntangleBetaTest.cpp.
References mMetric.
{ tester.test_get_element_indices( &mMetric ); }
void UntangleBetaTest::test_get_evaluations | ( | ) | [inline] |
Definition at line 171 of file UntangleBetaTest.cpp.
References mMetric.
{ tester.test_get_element_evaluations( &mMetric ); }
void UntangleBetaTest::test_get_fixed_indices | ( | ) | [inline] |
Definition at line 181 of file UntangleBetaTest.cpp.
References mMetric.
{ tester.test_get_indices_fixed( &mMetric ); }
void UntangleBetaTest::test_ideal_element_eval | ( | ) | [inline] |
Definition at line 73 of file UntangleBetaTest.cpp.
References MBMesquite::HEXAHEDRON, mMetric, MBMesquite::PRISM, MBMesquite::PYRAMID, MBMesquite::QUADRILATERAL, MBMesquite::TETRAHEDRON, and MBMesquite::TRIANGLE.
{ tester.test_evaluate_unit_edge_element( &mMetric, TRIANGLE, 0.0 ); tester.test_evaluate_unit_edge_element( &mMetric, QUADRILATERAL, 0.0 ); tester.test_evaluate_unit_edge_element( &mMetric, TETRAHEDRON, 0.0 ); tester.test_evaluate_unit_edge_element( &mMetric, HEXAHEDRON, 0.0 ); tester.test_evaluate_unit_edge_element( &mMetric, PRISM, 0.0 ); tester.test_evaluate_unit_edge_element( &mMetric, PYRAMID, 0.0 ); }
void UntangleBetaTest::test_inverted_elements | ( | ) | [inline] |
Definition at line 83 of file UntangleBetaTest.cpp.
References ASSERT_NO_ERROR, MBMesquite::HEXAHEDRON, mMetric, MBMesquite::PRISM, MBMesquite::PYRAMID, MBMesquite::QUADRILATERAL, MBMesquite::TETRAHEDRON, MBMesquite::TRIANGLE, and value().
{ MsqPrintError err( std::cout ); double value; PatchData pd; char val_str[128]; tester.get_inverted_element( TRIANGLE, pd ); mMetric.evaluate( pd, 0, value, err ); ASSERT_NO_ERROR( err ); sprintf( val_str, "value: %f", value ); CPPUNIT_ASSERT_MESSAGE( val_str, value > 1e-6 ); tester.get_inverted_element( QUADRILATERAL, pd ); mMetric.evaluate( pd, 0, value, err ); ASSERT_NO_ERROR( err ); sprintf( val_str, "value: %f", value ); CPPUNIT_ASSERT_MESSAGE( val_str, value > 1e-6 ); tester.get_inverted_element( TETRAHEDRON, pd ); mMetric.evaluate( pd, 0, value, err ); ASSERT_NO_ERROR( err ); sprintf( val_str, "value: %f", value ); CPPUNIT_ASSERT_MESSAGE( val_str, value > 1e-6 ); tester.get_inverted_element( HEXAHEDRON, pd ); mMetric.evaluate( pd, 0, value, err ); ASSERT_NO_ERROR( err ); sprintf( val_str, "value: %f", value ); CPPUNIT_ASSERT_MESSAGE( val_str, value > 1e-6 ); tester.get_inverted_element( PRISM, pd ); mMetric.evaluate( pd, 0, value, err ); ASSERT_NO_ERROR( err ); sprintf( val_str, "value: %f", value ); CPPUNIT_ASSERT_MESSAGE( val_str, value > 1e-6 ); tester.get_inverted_element( PYRAMID, pd ); mMetric.evaluate( pd, 0, value, err ); ASSERT_NO_ERROR( err ); sprintf( val_str, "value: %f", value ); CPPUNIT_ASSERT_MESSAGE( val_str, value > 1e-6 ); }
void UntangleBetaTest::test_location_invariant | ( | ) | [inline] |
Definition at line 191 of file UntangleBetaTest.cpp.
References mMetric.
{ tester.test_location_invariant( &mMetric, true ); tester.test_grad_location_invariant( &mMetric, true ); tester.test_hessian_location_invariant( &mMetric, true ); }
void UntangleBetaTest::test_orient_invariant | ( | ) | [inline] |
Definition at line 198 of file UntangleBetaTest.cpp.
References mMetric.
{ tester.test_orient_invariant( &mMetric, true ); tester.test_grad_orient_invariant( &mMetric, true ); }
void UntangleBetaTest::test_supported_types | ( | ) | [inline] |
Definition at line 68 of file UntangleBetaTest.cpp.
References mMetric.
{ tester.test_supported_element_types( &mMetric ); }
Definition at line 59 of file UntangleBetaTest.cpp.
QualityMetricTester UntangleBetaTest::tester [private] |
Definition at line 60 of file UntangleBetaTest.cpp.