def __init__(self, name, corners): assert isinstance(corners, list), \ "Face must be created by a list of objects of type geo.Pos." for corner in corners: assert isinstance(corner, geo.Pos), \ "Face must be created by a list of objects of type geo.Pos." Drawable.__init__(self, name, geo.centre_of_gravity(corners)) self.corners = corners self.has_opacity = False self.opacity = None
def __init__(self, name, start, target): assert isinstance(start, geo.Pos), \ "The start position of an object of type Bond " \ "must be of type geo.Position." assert isinstance(target, geo.Pos), \ "The target position of an object of type Bond " \ "must be of type geo.Position." Drawable.__init__(self, name, geo.centre_of_gravity([start, target])) self.start = start self.target = target self.has_thickness = False self.thickness = None
def test_centre_of_gravity(): p1 = geo.Pos(nb.Matrix([[1], [0], [0], [1]])) p2 = geo.Pos(nb.Matrix([[3], [0], [0], [1]])) assert geo.centre_of_gravity([p1, p2]) == geo.Pos(nb.Matrix([[2], [0], [0], [1]]))