Beispiel #1
0
 def test_head(self):
     #
     # Retrieve head
     # 
     v1 = Vertex((0,0))
     v2 = Vertex((1,1))
     half_edge = HalfEdge(v1,v2)
     self.assertEqual(half_edge.head(), v2, 'Incorrect head.')
Beispiel #2
0
 def test_make_twin(self):
     #
     # New HalfEdge
     #
     v1 = Vertex((0,0))
     v2 = Vertex((2,2))
     h12 = HalfEdge(v1,v2)
     h21 = h12.make_twin()
     self.assertIsNotNone(h12.twin())
     self.assertIsNotNone(h21.twin())
     self.assertEqual(h12.base(),h21.head())
     self.assertEqual(h21.base(),h12.head())
Beispiel #3
0
 def test_assign_twin(self):
     #
     # New half-edge
     # 
     v1 = Vertex((0,0))
     v2 = Vertex((1,1))
     half_edge = HalfEdge(v1, v2)
     #
     # Try to assign incorrect twin
     # 
     false_twin = HalfEdge(v1, v2)
     self.assertRaises(Exception, half_edge.assign_twin, false_twin,\
                       'This twin should not be assignable.')
     #
     # Assign a good twin and check 
     # 
     good_twin = HalfEdge(v2, v1)
     half_edge.assign_twin(good_twin)
     self.assertEqual(good_twin.base(),half_edge.head(), \
                      'Heads and bases do not match.')
     self.assertEqual(good_twin.head(),half_edge.base(), \
                      'Heads and bases do not match.')
Beispiel #4
0
 def test_assign_next(self):
     #
     # New HalfEdge
     #
     v1 = Vertex((0,0))
     v2 = Vertex((2,2))
     v3 = Vertex((3,4))
     h = HalfEdge(v1, v2)
     #
     # Incompatible next half_edge
     # 
     bad_h_next = HalfEdge(v1, v3)
     self.assertRaises(Exception, h.assign_next, (bad_h_next))
     #
     # Assign good next half-edge
     # 
     good_h_next = HalfEdge(v2, v3)
     h.assign_next(good_h_next)
     
     # Check
     self.assertEqual(h.next(),good_h_next,\
                      'Next HalfEdge incorrect.')
     self.assertEqual(h.head(), h.next().base(), \
                      'Bases and heads should align.')