NodeSet LinearPyramid::sample_points( NodeSet ) const { NodeSet result; result.set_all_corner_nodes(PYRAMID); result.clear_corner_node(4); return result; }
void NodeSetTest::test_set_get_clear_simple() { NodeSet set; for (unsigned i = 0; i < NodeSet::NUM_CORNER_BITS; ++i) { CPPUNIT_ASSERT( !set.corner_node(i) ); set.set_corner_node( i ); CPPUNIT_ASSERT( set.corner_node(i) ); set.clear_corner_node( i ); CPPUNIT_ASSERT( !set.corner_node(i) ); } for (unsigned i = 0; i < NodeSet::NUM_EDGE_BITS; ++i) { CPPUNIT_ASSERT( !set.mid_edge_node(i) ); set.set_mid_edge_node( i ); CPPUNIT_ASSERT( set.mid_edge_node(i) ); set.clear_mid_edge_node( i ); CPPUNIT_ASSERT( !set.mid_edge_node(i) ); } for (unsigned i = 0; i < NodeSet::NUM_FACE_BITS; ++i) { CPPUNIT_ASSERT( !set.mid_face_node(i) ); set.set_mid_face_node( i ); CPPUNIT_ASSERT( set.mid_face_node(i) ); set.clear_mid_face_node( i ); CPPUNIT_ASSERT( !set.mid_face_node(i) ); } for (unsigned i = 0; i < NodeSet::NUM_REGION_BITS; ++i) { CPPUNIT_ASSERT( !set.mid_region_node(i) ); set.set_mid_region_node( i ); CPPUNIT_ASSERT( set.mid_region_node(i) ); set.clear_mid_region_node( i ); CPPUNIT_ASSERT( !set.mid_region_node(i) ); } }
void NodeSetTest::test_clear_node() { const EntityTopology type = HEXAHEDRON; NodeSet set; NodeSet::BitSet expected; for (unsigned i = 0; i < TopologyInfo::corners(type); ++i) { set.set_all_nodes(type); expected = set.get_bits() & ~(1u << (NodeSet::CORNER_OFFSET + i)); set.clear_corner_node( i ); CPPUNIT_ASSERT_EQUAL( expected, set.get_bits() ); } for (unsigned i = 0; i < TopologyInfo::edges(type); ++i) { set.set_all_nodes(type); expected = set.get_bits() & ~(1u << (NodeSet::EDGE_OFFSET + i)); set.clear_mid_edge_node( i ); CPPUNIT_ASSERT_EQUAL( expected, set.get_bits() ); } for (unsigned i = 0; i < TopologyInfo::faces(type); ++i) { set.set_all_nodes(type); expected = set.get_bits() & ~(1u << (NodeSet::FACE_OFFSET + i)); set.clear_mid_face_node( i ); CPPUNIT_ASSERT_EQUAL( expected, set.get_bits() ); } set.set_all_nodes(type); expected = set.get_bits() & ~(1u << (NodeSet::REGION_OFFSET)); set.clear_mid_region_node( 0 ); CPPUNIT_ASSERT_EQUAL( expected, set.get_bits() ); }
void NodeSetTest::test_have_any() { NodeSet set; set.clear(); CPPUNIT_ASSERT( !set.have_any_corner_node() ); set.set_corner_node(0); CPPUNIT_ASSERT( set.have_any_corner_node() ); set.clear_corner_node(0); CPPUNIT_ASSERT( !set.have_any_corner_node() ); set.set_corner_node( NodeSet::NUM_CORNER_BITS-1 ); CPPUNIT_ASSERT( set.have_any_corner_node() ); CPPUNIT_ASSERT( !set.have_any_mid_node() ); CPPUNIT_ASSERT( !set.have_any_mid_edge_node() ); set.set_mid_edge_node(0); CPPUNIT_ASSERT( set.have_any_mid_edge_node() ); CPPUNIT_ASSERT( set.have_any_mid_node() ); set.clear_mid_edge_node(0); CPPUNIT_ASSERT( !set.have_any_mid_edge_node() ); CPPUNIT_ASSERT( !set.have_any_mid_node() ); set.set_mid_edge_node( NodeSet::NUM_EDGE_BITS-1 ); CPPUNIT_ASSERT( set.have_any_mid_edge_node() ); CPPUNIT_ASSERT( set.have_any_mid_node() ); set.clear(); CPPUNIT_ASSERT( !set.have_any_mid_face_node() ); set.set_mid_face_node(0); CPPUNIT_ASSERT( set.have_any_mid_face_node() ); CPPUNIT_ASSERT( set.have_any_mid_node() ); set.clear_mid_face_node(0); CPPUNIT_ASSERT( !set.have_any_mid_face_node() ); CPPUNIT_ASSERT( !set.have_any_mid_node() ); set.set_mid_face_node( NodeSet::NUM_FACE_BITS-1 ); CPPUNIT_ASSERT( set.have_any_mid_face_node() ); CPPUNIT_ASSERT( set.have_any_mid_node() ); set.clear(); CPPUNIT_ASSERT( !set.have_any_mid_region_node() ); set.set_mid_region_node(0); CPPUNIT_ASSERT( set.have_any_mid_region_node() ); CPPUNIT_ASSERT( set.have_any_mid_node() ); set.clear_mid_region_node(0); CPPUNIT_ASSERT( !set.have_any_mid_region_node() ); CPPUNIT_ASSERT( !set.have_any_mid_node() ); set.set_mid_region_node( NodeSet::NUM_REGION_BITS-1 ); CPPUNIT_ASSERT( set.have_any_mid_region_node() ); CPPUNIT_ASSERT( set.have_any_mid_node() ); set.clear(); }