def __init__(self, to_clone=None): """ Create a new Transformable object, optionally cloning the transformations of the supplied Transformable object. """ if to_clone is not None: self.orientation = ObservableArray.like(to_clone.orientation) self.size = ObservableArray.like(to_clone.size) self.position = ObservableArray.like(to_clone.position) self.auto_transform = dict(to_clone.auto_transform) else: self.orientation = ObservableArray.like([0., 0., 0.]) self.size = ObservableArray.like([1., 1., 1.]) self.position = ObservableArray.like([0., 0., 0.]) self.auto_transform = { 'size': True, 'orientation': True, 'position': True } self.check_arrays() self.callbacks.add(self.check_arrays)
def test_replace_size(self): new_size = [1., 2., 3.] self.obj.size = ObservableArray.like(new_size) assert np.array_equal(new_size, self.obj.size)