#:use-module (irrlicht video)
#:duplicates (merge-generics)
#:re-export (add-animated-mesh-scene-node!
+ add-animator!
add-camera-scene-node!
add-camera-scene-node-fps!
add-custom-scene-node!
(export <animated-mesh>)
+;; ISceneNodeAnimator
+(define-class <scene-node-animator> (<attribute-exchanging-object> <event-receiver>)
+ (irr-class #:init-value "ISceneNodeAnimator"))
+
+(export <scene-node-animator>)
+
+
;; ISceneManager
(define-class <scene-manager> (<reference-counted>)
(irr-class #:init-value "ISceneManager"))
(define-class <scene-node> (<attribute-exchanging-object>)
(irr-class #:init-value "ISceneNode"))
+(define-method (add-animator! (node <scene-node>) (animator <scene-node-animator>))
+ (let ((addAnimator (get-irrlicht-proc "addAnimator" node)))
+ (addAnimator node animator)))
+
(define-method (set-material-flag! (node <scene-node>) flag new-value)
((get-irrlicht-proc "setMaterialFlag" node)
node
(let ((setPosition (get-irrlicht-proc "setPosition" node)))
(setPosition node new-pos)))
-(export <scene-node> set-material-flag! set-material-texture! set-position!)
+(export <scene-node> add-animator! set-material-flag! set-material-texture! set-position!)
;; IAnimatedMeshSceneNode
(irr-class #:init-value "IMeshSceneNode"))
(export <mesh-scene-node>)
-
-
-;; ISceneNodeAnimator
-(define-class <scene-node-animator> (<attribute-exchanging-object> <event-receiver>)
- (irr-class #:init-value "ISceneNodeAnimator"))
-
-(export <scene-node-animator>)