]> git.jsancho.org Git - guile-irrlicht.git/blobdiff - src/scene-manager.cpp
guile-irrlicht
[guile-irrlicht.git] / src / scene-manager.cpp
index d17d65c297fd2876749356410542b1c6174a0b16..af96eebc403b09188d10ce0adbe863a9da2aa638 100644 (file)
 #include "vector3d.h"
 #include "wrapped.h"
 
+  SCM
+  irr_drawAll (SCM wrapped_obj)
+  {
+    if (gui_environment_p (wrapped_obj))
+      {
+        unwrap_gui_environment (wrapped_obj)->drawAll ();
+      }
+    else if (scene_manager_p (wrapped_obj))
+      {
+        unwrap_scene_manager (wrapped_obj)->drawAll ();
+      }
+    else
+      {
+        scm_error (scm_arg_type_key, NULL, "Cannot draw all elements from object: ~S",
+                   scm_list_1 (wrapped_obj), scm_list_1 (wrapped_obj));
+      }
+    return SCM_UNSPECIFIED;
+  }
+
 extern "C" {
 
   void
@@ -56,7 +75,6 @@ extern "C" {
     DEFINE_GSUBR ("create-rotation-animator", 2, 0, 0, irr_scene_createRotationAnimator);
     DEFINE_GSUBR ("get-mesh", 2, 0, 0, irr_scene_getMesh);
     DEFINE_GSUBR ("get-root-scene-node", 1, 0, 0, irr_scene_getRootSceneNode);
-    DEFINE_GSUBR ("get-scene-manager", 1, 0, 0, irr_getSceneManager);
   }
 
   DEFINE_WRAPPED_TYPE (irr::scene::ISceneManager*, "scene-manager",
@@ -480,20 +498,4 @@ extern "C" {
     return wrap_scene_node (smgr->getRootSceneNode ());
   }
 
-  SCM
-  irr_getSceneManager (SCM wrapped_obj)
-  {
-    irr::scene::ISceneManager* scene_manager;
-    if (device_p (wrapped_obj))
-      {
-        scene_manager = unwrap_device (wrapped_obj)->getSceneManager ();
-      }
-    else
-      {
-        scm_error (scm_arg_type_key, NULL, "Cannot get scene manager from object: ~S",
-                   scm_list_1 (wrapped_obj), scm_list_1 (wrapped_obj));
-      }
-    return wrap_scene_manager (scene_manager);
-  }
-
 }