summaryrefslogtreecommitdiffstats
path: root/libdimension-python
diff options
context:
space:
mode:
Diffstat (limited to 'libdimension-python')
-rw-r--r--libdimension-python/dimension.pxd1
-rw-r--r--libdimension-python/dimension.pyx9
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."""