diff options
Diffstat (limited to 'libdimension-python')
-rw-r--r-- | libdimension-python/dimension.pxd | 1 | ||||
-rw-r--r-- | libdimension-python/dimension.pyx | 9 |
2 files changed, 5 insertions, 5 deletions
diff --git a/libdimension-python/dimension.pxd b/libdimension-python/dimension.pxd index 4590e89..42fda7e 100644 --- a/libdimension-python/dimension.pxd +++ b/libdimension-python/dimension.pxd @@ -305,6 +305,7 @@ cdef extern from "../libdimension/dimension.h": dmnsn_texture *texture dmnsn_interior *interior dmnsn_matrix trans + dmnsn_matrix intrinsic_trans dmnsn_object *dmnsn_new_object() void dmnsn_delete_object(dmnsn_object *object) diff --git a/libdimension-python/dimension.pyx b/libdimension-python/dimension.pyx index 556b90a..a1c8710 100644 --- a/libdimension-python/dimension.pyx +++ b/libdimension-python/dimension.pyx @@ -952,11 +952,10 @@ cdef class Object: # Transform an object without affecting the texture cdef _intrinsic_transform(self, Matrix trans): - self._object.trans = dmnsn_matrix_mul(self._object.trans, trans._m) - cdef Matrix inv = trans.inverse() - if self._object.texture != NULL: - self._object.texture.trans = dmnsn_matrix_mul(self._object.texture.trans, - inv._m) + self._object.intrinsic_trans = dmnsn_matrix_mul( + trans._m, + self._object.intrinsic_trans + ) cdef class Triangle(Object): """A triangle.""" |