def get_edges(vertex): vertex2 = stk.Vertex(1, vertex.get_position() + [-1, -1, 0]) yield stk.Edge(id=0, vertex1=vertex, vertex2=vertex2, position=vertex.get_position() + [-1, 0, 0]) yield stk.Edge(id=1, vertex1=vertex, vertex2=vertex2, position=vertex.get_position() + [0, -1, 0])
def test_with_scale(case_data): """ Test :meth:`.Edge.with_scale`. Parameters ---------- case_data : :class:`.CaseData` A test case. Holds the starting position, the scale to apply and the target position. Returns ------- None : :class:`NoneType` """ edge = stk.Edge( id=0, vertex1=stk.Vertex(0, [0, 0, 0]), vertex2=stk.Vertex(1, [10, 0, 0]), position=case_data.start, ) # Save a clone to check immutability. clone = edge.clone() _test_with_scale(edge, case_data.scale, case_data.target) is_clone(edge, clone)
def get_edges(building_block_vertices): vertices = (vertex for vertices in building_block_vertices.values() for vertex in vertices) vertex1 = next(vertices) for id_, vertex2 in enumerate(vertices): yield stk.Edge(id_, vertex1, vertex2) vertex1 = vertex2
def case_data(id, vertex1, vertex2, periodicity): return CaseData( edge=stk.Edge( id=id, vertex1=vertex1, vertex2=vertex2, periodicity=periodicity, ), id=id, vertex1_id=vertex1.get_id(), vertex2_id=vertex2.get_id(), periodicity=periodicity, is_periodic=any(i != 0 for i in periodicity), )
def get_nonlinear_edges(num_edges, vertex): """ Yield edges placed in a circle around `vertex`. Parameters ---------- num_edges : :class:`int` The number of edges to yield. vertex : :class:`.Vertex` The vertex which needs edges. Yields ------ :class:`.Edge` An edge connected to `vertex`. """ for id_, point in enumerate( get_points(center=vertex.get_position(), num_points=num_edges)): yield stk.Edge(id_, vertex, stk.Vertex(id_ + 1, point))
def get_edges(vertex): vertex2 = stk.Vertex(1, vertex.get_position() + [-10, 0, 0]) vertex3 = stk.Vertex(2, vertex.get_position() + [10, 0, 0]) yield stk.Edge(0, vertex, vertex2) yield stk.Edge(1, vertex, vertex3)
def get_edge(vertex): vertex2 = stk.Vertex(1, vertex.get_position() + [-1, 0, 0]) yield stk.Edge(0, vertex, vertex2)
def get_angled_edges(vertex: stk.Vertex) -> stk.Edge: vertex2 = stk.Vertex(1, vertex.get_position() + [0, 10, 0]) vertex3 = stk.Vertex(2, vertex.get_position() + [10, 0, 0]) yield stk.Edge(0, vertex, vertex2) yield stk.Edge(1, vertex, vertex3)
def get_edges(vertex, angle): position1, position2 = get_points(vertex.get_position(), angle) vertex2 = stk.Vertex(1, position1) vertex3 = stk.Vertex(2, position2) yield stk.Edge(0, vertex, vertex2) yield stk.Edge(1, vertex, vertex3)