]> git.jsancho.org Git - guile-irrlicht.git/blobdiff - src/scene-manager.cpp
wrap Irrlicht objects in C++
[guile-irrlicht.git] / src / scene-manager.cpp
index c9edc8f7488147bf25b4ae3cc2920f0ad10ad883..31f433075664c02b269ebfd4c1b461febd6cb3d3 100644 (file)
@@ -48,7 +48,7 @@ ISceneManager_addAnimatedMeshSceneNode (SCM scene_manager,
                                     scm_to_vector3df (rotation),
                                     scm_to_vector3df (scale),
                                     scm_to_bool (also_add_if_mesh_pointer_zero));
-  return scm_from_pointer ((void*) node, NULL);
+  return scm_from_irr_pointer ("<animated-mesh-scene-node>", (void*) node);
 }
 
 template <typename TParent>
@@ -67,7 +67,7 @@ ISceneManager_addCameraSceneNode (SCM scene_manager,
                               scm_to_vector3df (lookat),
                               scm_to_int32 (id),
                               scm_to_bool (make_active));
-  return scm_from_pointer ((void*) camera, NULL);
+  return scm_from_irr_pointer ("<camera-scene-node>", (void*) camera);
 }
 
 template <typename TParent>
@@ -112,7 +112,7 @@ ISceneManager_addCameraSceneNodeFPS (SCM scene_manager,
                                  scm_to_double (jump_speed),
                                  scm_to_bool (invert_mouse),
                                  scm_to_bool (make_active));
-  return scm_from_pointer ((void*) camera, NULL);
+  return scm_from_irr_pointer ("<camera-scene-node>", (void*) camera);
 }
 
 template <typename TParent>
@@ -133,7 +133,7 @@ ISceneManager_addCubeSceneNode (SCM scene_manager,
                             scm_to_vector3df (position),
                             scm_to_vector3df (rotation),
                             scm_to_vector3df (scale));
-  return scm_from_pointer ((void*) node, NULL);
+  return scm_from_irr_pointer ("<mesh-scene-node>", (void*) node);
 }
 
 template <typename TParent>
@@ -218,7 +218,7 @@ ISceneManager_addCustomSceneNode (SCM scene_manager,
                          proc_get_bounding_box,
                          proc_get_material_count,
                          proc_get_material);
-  return scm_from_pointer ((void*) node, NULL);
+  return scm_from_irr_pointer ("<scene-node>", (void*) node);
 }
 
 template <typename TParent, typename TMesh>
@@ -237,7 +237,7 @@ ISceneManager_addOctreeSceneNode (SCM scene_manager,
                               scm_to_int32 (id),
                               scm_to_int32 (minimal_polys_per_node),
                               scm_to_bool (also_add_if_mesh_pointer_zero));
-  return scm_from_pointer ((void*) node, NULL);
+  return scm_from_irr_pointer ("<mesh-scene-node>", (void*) node);
 }
 
 template <typename TParent>
@@ -260,7 +260,7 @@ ISceneManager_addSphereSceneNode (SCM scene_manager,
                               scm_to_vector3df (position),
                               scm_to_vector3df (rotation),
                               scm_to_vector3df (scale));
-  return scm_from_pointer ((void*) node, NULL);
+  return scm_from_irr_pointer ("<mesh-scene-node>", (void*) node);
 }
 
 SCM
@@ -280,7 +280,7 @@ ISceneManager_createFlyCircleAnimator (SCM scene_manager,
                                    scm_to_vector3df (direction),
                                    scm_to_double (start_position),
                                    scm_to_double (radius_ellipsoid));
-  return scm_from_pointer ((void*) anim, NULL);
+  return scm_from_irr_pointer ("<scene-node-animator>", (void*) anim);
 }
 
 SCM
@@ -298,7 +298,7 @@ ISceneManager_createFlyStraightAnimator (SCM scene_manager,
                                      scm_to_uint32 (time_for_way),
                                      scm_to_bool (loop),
                                      scm_to_bool (pingpong));
-  return scm_from_pointer ((void*) anim, NULL);
+  return scm_from_irr_pointer ("<scene-node-animator>", (void*) anim);
 }
 
 SCM
@@ -308,7 +308,7 @@ ISceneManager_createRotationAnimator (SCM scene_manager,
   scene::ISceneManager* smgr = (scene::ISceneManager*) scm_to_irr_pointer (scene_manager);
   scene::ISceneNodeAnimator* anim =
     smgr->createRotationAnimator (scm_to_vector3df (rotation_speed));
-  return scm_from_pointer ((void*) anim, NULL);
+  return scm_from_irr_pointer ("<scene-node-animator>", (void*) anim);
 }
 
 SCM
@@ -326,14 +326,14 @@ ISceneManager_getMesh (SCM scene_manager,
   scene::ISceneManager* smgr = (scene::ISceneManager*) scm_to_irr_pointer (scene_manager);
   scene::IAnimatedMesh* mesh = smgr->getMesh(cfilename);
   free (cfilename);
-  return scm_from_pointer ((void*) mesh, NULL);
+  return scm_from_irr_pointer ("<animated-mesh>", (void*) mesh);
 }
 
 SCM
 ISceneManager_getRootSceneNode (SCM scene_manager)
 {
   scene::ISceneManager* smgr = (scene::ISceneManager*) scm_to_irr_pointer (scene_manager);
-  return scm_from_pointer ((void*) smgr->getRootSceneNode (), NULL);
+  return scm_from_irr_pointer ("<scene-node>", (void*) smgr->getRootSceneNode ());
 }
 
 void