+ return wrap_device (device);
+ }
+
+ SCM
+ irr_getGUIEnvironment (SCM device_obj)
+ {
+ irr::IrrlichtDevice* device = unwrap_device (device_obj);
+ irr::gui::IGUIEnvironment* gui_environment = device->getGUIEnvironment();
+ return wrap_gui_environment (gui_environment);
+ }
+
+ SCM
+ irr_getSceneManager (SCM device_obj)
+ {
+ irr::IrrlichtDevice* device = unwrap_device (device_obj);
+ irr::scene::ISceneManager* scene_manager = device->getSceneManager();
+ return wrap_scene_manager (scene_manager);
+ }
+
+ SCM
+ irr_getVideoDriver (SCM device_obj)
+ {
+ irr::IrrlichtDevice* device = unwrap_device (device_obj);
+ irr::video::IVideoDriver* driver = device->getVideoDriver();
+ return wrap_video_driver (driver);