Skip to content

Instantly share code, notes, and snippets.

@csaez
Created December 14, 2016 11:43
Show Gist options
  • Save csaez/dfcfbe064db66da8c30ca6cf9cae4957 to your computer and use it in GitHub Desktop.
Save csaez/dfcfbe064db66da8c30ca6cf9cae4957 to your computer and use it in GitHub Desktop.
import random
import pprint
class Transform:
def __init__(self):
self._translate = [0.0, 0.0, 0.0]
self._rotate = [0.0, 0.0, 0.0]
self._scale = [1.0, 1.0, 1.0]
def __str__(self):
return pprint.pformat(self.__dict__)
def translate():
def fget(self):
return self._translate
def fset(self, value):
self._translate = list(value)
return locals()
translate = property(**translate())
def rotate():
def fget(self):
return self._translate
def fset(self, value):
self._translate = list(value)
return locals()
rotate = property(**rotate())
def scale():
def fget(self):
return self._translate
def fset(self, value):
self._translate = list(value)
return locals()
scale = property(**scale())
if __name__ == "__main__":
xfo1 = Transform()
xfo1.translate[0] = 100 * random.random()
xfo2 = Transform()
xfo2.translate = xfo1.translate
xfo2.translate[0] += 5
print(xfo1)
print(xfo2)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment