X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=src%2Fscene-manager.cpp;h=af96eebc403b09188d10ce0adbe863a9da2aa638;hb=85623b0c003e4938263a3431b45837050f044593;hp=d17d65c297fd2876749356410542b1c6174a0b16;hpb=a079c41de6a7504e579b425820beef21579e530e;p=guile-irrlicht.git diff --git a/src/scene-manager.cpp b/src/scene-manager.cpp index d17d65c..af96eeb 100644 --- a/src/scene-manager.cpp +++ b/src/scene-manager.cpp @@ -38,6 +38,25 @@ #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); - } - }