]> git.jsancho.org Git - guile-irrlicht.git/blobdiff - irrlicht/scene.scm
animators
[guile-irrlicht.git] / irrlicht / scene.scm
index 7e9b8d23dddcc1cc7d22c2503600e5cb009d7e59..cd8e4d45a134c6c9df35c34ac4b41c9ab5e6e1bd 100644 (file)
   #:use-module ((irrlicht bindings video) #:prefix ffi-video:)
   #:use-module (irrlicht util)
   #:export (add-animated-mesh-scene-node
+            add-animator!
             add-camera-scene-node!
             add-camera-scene-node-fps!
             add-custom-scene-node!
             add-octree-scene-node
+            create-rotation-animator
             get-mesh
             get-root-scene-node
             scene-draw-all
@@ -57,6 +59,9 @@
                (bool->integer also-add-if-mesh-pointer-zero))))
     (if (null-pointer? node) #f node)))
 
+(define (add-animator! node animator)
+  (ffi-scene:add-animator node animator))
+
 (define* (add-camera-scene-node! scene-manager
                                  #:key
                                  (parent %null-pointer)
    minimal-polys-per-node
    (bool->integer also-add-if-mesh-pointer-zero)))
 
+(define (create-rotation-animator scene-manager rotation-speed)
+  (let ((animator (ffi-scene:create-rotation-animator
+                   scene-manager
+                   (ffi-core:vector3df->pointer rotation-speed))))
+    (if (null-pointer? animator) #f animator)))
+
 (define (get-mesh scene-manager filename)
   (let ((mesh (ffi-scene:get-mesh scene-manager (string->pointer filename))))
     (if (null-pointer? mesh) #f mesh)))