Files
openmesh/src/Python/Unittests/test_trimesh_circulator_face_halfedge.py
Jan Möbius 8a19cd851e Python source
git-svn-id: http://www.openmesh.org/svnrepo/OpenMesh/trunk@1171 fdac6126-5c0c-442c-9429-916003d36597
2014-09-16 11:15:13 +00:00

50 lines
1.8 KiB
Python

import unittest
import openmesh
class TriMeshCirculatorFaceHalfEdge(unittest.TestCase):
def setUp(self):
self.mesh = openmesh.TriMesh()
# Add some vertices
self.vhandle = []
self.vhandle.append(self.mesh.add_vertex(openmesh.Vec3d(0, 1, 0)))
self.vhandle.append(self.mesh.add_vertex(openmesh.Vec3d(1, 0, 0)))
self.vhandle.append(self.mesh.add_vertex(openmesh.Vec3d(2, 1, 0)))
self.vhandle.append(self.mesh.add_vertex(openmesh.Vec3d(3, 0, 0)))
self.vhandle.append(self.mesh.add_vertex(openmesh.Vec3d(4, 1, 0)))
self.vhandle.append(self.mesh.add_vertex(openmesh.Vec3d(2,-1, 0)))
# Add four faces
self.mesh.add_face(self.vhandle[0], self.vhandle[1], self.vhandle[2])
self.mesh.add_face(self.vhandle[2], self.vhandle[1], self.vhandle[3])
self.mesh.add_face(self.vhandle[2], self.vhandle[3], self.vhandle[4])
self.mesh.add_face(self.vhandle[1], self.vhandle[5], self.vhandle[3])
'''
Test setup:
0 ------ 2 ------ 4
\ / \ /
\ 0 / \ 2 /
\ / 1 \ /
1 ------- 3
\ /
\ 3 /
\ /
\ /
5
'''
def test_face_halfedge_iter_without_holes_increment(self):
# Iterate around face 1 at the middle
fh_it = openmesh.FaceHalfedgeIter(self.mesh, self.mesh.face_handle(1))
self.assertEqual(fh_it.__next__().idx(), 8)
self.assertEqual(fh_it.__next__().idx(), 3)
self.assertEqual(fh_it.__next__().idx(), 6)
self.assertRaises(StopIteration, fh_it.__next__)
if __name__ == '__main__':
suite = unittest.TestLoader().loadTestsFromTestCase(TriMeshCirculatorFaceHalfEdge)
unittest.TextTestRunner(verbosity=2).run(suite)