def test_edgedata_io(mesh): mesh.update_default_edge_attributes({'index': 0}) for index, (u, v) in enumerate(mesh.edges()): mesh.edge_attribute((u, v), 'index', index) other = HalfEdge.from_data(mesh.data) assert all( other.edge_attribute(edge, 'index') == index for index, edge in enumerate(other.edges()))
def test_default_edge_attributes(): he = HalfEdge(name='test', default_edge_attributes={'a': 1, 'b': 2}) for edge in he.vertices(): assert he.edge_attribute(edge, name='a') == 1 assert he.edge_attribute(edge, name='b') == 2 he.edge_attribute(edge, name='a', value=3) assert he.edge_attribute(edge, name='a') == 3
def test_default_vertex_attributes(): he = HalfEdge(name='test', default_vertex_attributes={'a': 1, 'b': 2}) for vertex in he.vertices(): assert he.vertex_attribute(vertex, name='a') == 1 assert he.vertex_attribute(vertex, name='b') == 2 he.vertex_attribute(vertex, name='a', value=3) assert he.vertex_attribute(vertex, name='a') == 3
def mesh(): vertices = [None, None, None, None] faces = [[0, 1, 2], [0, 3, 1]] he = HalfEdge() for vertex in vertices: he.add_vertex() for face in faces: he.add_face(face) return he
def mesh(): vertices = [ [1.0, 0.0, 0.0], [1.0, 2.0, 0.0], [0.0, 1.0, 0.0], [2.0, 1.0, 0.0] ] faces = [ [0, 1, 2], [0, 3, 1] ] he = HalfEdge() for vertex in vertices: he.add_vertex(x=vertex[0], y=vertex[1], z=vertex[2]) for face in faces: he.add_face(face) return he