from .shape import gds_shape, gds_dynamic_shape, shape_property

__all__ = ["gds_shape_modifier"]

class gds_shape_modifier(gds_dynamic_shape):
    original_shape = shape_property(required = True)
    def __init__(self, original_shape, **kwargs):
        super(gds_shape_modifier, self).__init__(
            original_shape = original_shape,
            **kwargs)

    #def set_original_shape(self, shape):
        #if isinstance(shape, gds_shape):
            #self.__original_shape__ = shape
        #else:
            #self.__original_shape__ = gds_shape(shape)
    #def get_original_shape(self):
        #return self.__original_shape__
    #original_shape = property(get_original_shape, set_original_shape)

    def move(self, position):
        self.original_shape = shape_translate(self.original_shape)
        return self

