#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
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",
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);
- }
-
}