Fixing bug in engine. Used arrays when tuples should have been used.
[tuple-trace.git] / scene.lisp
blobe850a23d909be64fe2a52f656970a55994ce6beb
2 (in-package :tuple-trace)
4 (defclass scene ()
5 ((primitives :accessor primitives-of :initform (make-array 0 :element-type 'primitive :adjustable t))))
7 (defmethod primitive-of ((scene scene) index)
8 (aref (primitives-of scene) index))
10 (defmethod add-primitive ((scene scene) primitive)
11 (vector-push-extend primitive (primitives-of scene)))
13 (defmethod (setf primitive-of) (primitive (scene scene) index)
14 (setf (aref (primitives-of scene) index) primitive))
16 (defun make-secene (&rest primitives)
17 (let
18 ((result (make-instance 'scene)))
19 (iterate
20 (for primitive in primitives)
21 (add-primitive result primitive))
22 result))