summaryrefslogtreecommitdiffstats
path: root/libdimension-python
diff options
context:
space:
mode:
Diffstat (limited to 'libdimension-python')
-rw-r--r--libdimension-python/dimension.pxd5
-rw-r--r--libdimension-python/dimension.pyx6
2 files changed, 3 insertions, 8 deletions
diff --git a/libdimension-python/dimension.pxd b/libdimension-python/dimension.pxd
index 55c2ab8..55d47ab 100644
--- a/libdimension-python/dimension.pxd
+++ b/libdimension-python/dimension.pxd
@@ -360,10 +360,9 @@ cdef extern from "../libdimension/dimension.h":
ctypedef struct dmnsn_light:
dmnsn_vector x0
- dmnsn_light *dmnsn_new_light()
- void dmnsn_delete_light(dmnsn_light *light)
+ dmnsn_light *dmnsn_new_light(dmnsn_pool *pool)
- dmnsn_light *dmnsn_new_point_light(dmnsn_vector x0, dmnsn_color color)
+ dmnsn_light *dmnsn_new_point_light(dmnsn_pool *pool, dmnsn_vector x0, dmnsn_color color)
###########
# Cameras #
diff --git a/libdimension-python/dimension.pyx b/libdimension-python/dimension.pyx
index 28392db..da45f32 100644
--- a/libdimension-python/dimension.pyx
+++ b/libdimension-python/dimension.pyx
@@ -1415,9 +1415,6 @@ cdef class Light:
"""A light."""
cdef dmnsn_light *_light
- def __dealloc__(self):
- dmnsn_delete_light(self._light)
-
cdef class PointLight(Light):
"""A point light."""
def __init__(self, location, color):
@@ -1428,7 +1425,7 @@ cdef class PointLight(Light):
location -- the origin of the light rays
color -- the color and intensity of the light
"""
- self._light = dmnsn_new_point_light(Vector(location)._v, Color(color)._c)
+ self._light = dmnsn_new_point_light(_get_pool(), Vector(location)._v, Color(color)._c)
Light.__init__(self)
###########
@@ -1521,7 +1518,6 @@ cdef class Scene:
cdef dmnsn_light *l
for light in lights:
l = (<Light?>light)._light
- DMNSN_INCREF(l)
dmnsn_array_push(self._scene.lights, &l)
self._scene.camera = camera._camera