#include "scene-manager.h"
#include "vector3d.h"
-
using namespace irr;
-
template <typename TParent>
SCM
ISceneManager_addAnimatedMeshSceneNode (SCM scene_manager,
return scm_from_pointer ((void*) node, NULL);
}
-
template <typename TParent>
SCM
ISceneManager_addCameraSceneNode (SCM scene_manager,
return scm_from_pointer ((void*) camera, NULL);
}
-
template <typename TParent>
SCM
ISceneManager_addCameraSceneNodeFPS (SCM scene_manager,
return scm_from_pointer ((void*) camera, NULL);
}
-
template <typename TParent>
SCM
ISceneManager_addCubeSceneNode (SCM scene_manager,
return scm_from_pointer ((void*) node, NULL);
}
-
template <typename TParent>
SCM
ISceneManager_addCustomSceneNode (SCM scene_manager,
return scm_from_pointer ((void*) node, NULL);
}
-
template <typename TParent, typename TMesh>
SCM
ISceneManager_addOctreeSceneNode (SCM scene_manager,
return scm_from_pointer ((void*) node, NULL);
}
-
template <typename TParent>
SCM
ISceneManager_addSphereSceneNode (SCM scene_manager,
return scm_from_pointer ((void*) node, NULL);
}
-
SCM
ISceneManager_createFlyCircleAnimator (SCM scene_manager,
SCM center,
return scm_from_pointer ((void*) anim, NULL);
}
-
SCM
ISceneManager_createFlyStraightAnimator (SCM scene_manager,
SCM start_point,
return scm_from_pointer ((void*) anim, NULL);
}
-
SCM
ISceneManager_createRotationAnimator (SCM scene_manager,
SCM rotation_speed)
return scm_from_pointer ((void*) anim, NULL);
}
-
SCM
ISceneManager_drawAll (SCM scene_manager)
{
return SCM_UNSPECIFIED;
}
-
SCM
ISceneManager_getMesh (SCM scene_manager,
SCM filename)
return scm_from_pointer ((void*) mesh, NULL);
}
-
SCM
ISceneManager_getRootSceneNode (SCM scene_manager)
{
return scm_from_pointer ((void*) smgr->getRootSceneNode (), NULL);
}
-
-extern "C" {
-
- void
- init_scene_manager (void)
- {
- DEFINE_GSUBR ("ISceneManager_addAnimatedMeshSceneNode_ISceneNode", 8, 0, 0,
- ISceneManager_addAnimatedMeshSceneNode<scene::ISceneNode*>);
- DEFINE_GSUBR ("ISceneManager_addCameraSceneNode_ISceneNode", 6, 0, 0,
- ISceneManager_addCameraSceneNode<scene::ISceneNode*>);
- DEFINE_GSUBR ("ISceneManager_addCameraSceneNodeFPS_ISceneNode", 1, 0, 1,
- ISceneManager_addCameraSceneNodeFPS<scene::ISceneNode*>);
- DEFINE_GSUBR ("ISceneManager_addCubeSceneNode_ISceneNode", 7, 0, 0,
- ISceneManager_addCubeSceneNode<scene::ISceneNode*>);
- DEFINE_GSUBR ("ISceneManager_addCustomSceneNode_ISceneNode", 10, 0, 0,
- ISceneManager_addCustomSceneNode<scene::ISceneNode*>);
- DEFINE_GSUBR ("ISceneManager_addOctreeSceneNode_ISceneNode_IAnimatedMesh", 6, 0, 0,
- (ISceneManager_addOctreeSceneNode<scene::ISceneNode*, scene::IAnimatedMesh*>));
- DEFINE_GSUBR ("ISceneManager_addOctreeSceneNode_ISceneNode_IMesh", 6, 0, 0,
- (ISceneManager_addOctreeSceneNode<scene::ISceneNode*, scene::IMesh*>));
- DEFINE_GSUBR ("ISceneManager_addSphereSceneNode_ISceneNode", 8, 0, 0,
- ISceneManager_addSphereSceneNode<scene::ISceneNode*>);
- DEFINE_GSUBR ("ISceneManager_createFlyCircleAnimator", 7, 0, 0,
- ISceneManager_createFlyCircleAnimator);
- DEFINE_GSUBR ("ISceneManager_createFlyStraightAnimator", 6, 0, 0,
- ISceneManager_createFlyStraightAnimator);
- DEFINE_GSUBR ("ISceneManager_createRotationAnimator", 2, 0, 0,
- ISceneManager_createRotationAnimator);
- DEFINE_GSUBR ("ISceneManager_drawAll", 1, 0, 0, ISceneManager_drawAll);
- DEFINE_GSUBR ("ISceneManager_getMesh", 2, 0, 0, ISceneManager_getMesh);
- DEFINE_GSUBR ("ISceneManager_getRootSceneNode", 1, 0, 0, ISceneManager_getRootSceneNode);
- }
-
+void
+init_scene_manager (void)
+{
+ DEFINE_GSUBR ("ISceneManager_addAnimatedMeshSceneNode_ISceneNode", 8, 0, 0,
+ ISceneManager_addAnimatedMeshSceneNode<scene::ISceneNode*>);
+ DEFINE_GSUBR ("ISceneManager_addCameraSceneNode_ISceneNode", 6, 0, 0,
+ ISceneManager_addCameraSceneNode<scene::ISceneNode*>);
+ DEFINE_GSUBR ("ISceneManager_addCameraSceneNodeFPS_ISceneNode", 1, 0, 1,
+ ISceneManager_addCameraSceneNodeFPS<scene::ISceneNode*>);
+ DEFINE_GSUBR ("ISceneManager_addCubeSceneNode_ISceneNode", 7, 0, 0,
+ ISceneManager_addCubeSceneNode<scene::ISceneNode*>);
+ DEFINE_GSUBR ("ISceneManager_addCustomSceneNode_ISceneNode", 10, 0, 0,
+ ISceneManager_addCustomSceneNode<scene::ISceneNode*>);
+ DEFINE_GSUBR ("ISceneManager_addOctreeSceneNode_ISceneNode_IAnimatedMesh", 6, 0, 0,
+ (ISceneManager_addOctreeSceneNode<scene::ISceneNode*, scene::IAnimatedMesh*>));
+ DEFINE_GSUBR ("ISceneManager_addOctreeSceneNode_ISceneNode_IMesh", 6, 0, 0,
+ (ISceneManager_addOctreeSceneNode<scene::ISceneNode*, scene::IMesh*>));
+ DEFINE_GSUBR ("ISceneManager_addSphereSceneNode_ISceneNode", 8, 0, 0,
+ ISceneManager_addSphereSceneNode<scene::ISceneNode*>);
+ DEFINE_GSUBR ("ISceneManager_createFlyCircleAnimator", 7, 0, 0,
+ ISceneManager_createFlyCircleAnimator);
+ DEFINE_GSUBR ("ISceneManager_createFlyStraightAnimator", 6, 0, 0,
+ ISceneManager_createFlyStraightAnimator);
+ DEFINE_GSUBR ("ISceneManager_createRotationAnimator", 2, 0, 0,
+ ISceneManager_createRotationAnimator);
+ DEFINE_GSUBR ("ISceneManager_drawAll", 1, 0, 0, ISceneManager_drawAll);
+ DEFINE_GSUBR ("ISceneManager_getMesh", 2, 0, 0, ISceneManager_getMesh);
+ DEFINE_GSUBR ("ISceneManager_getRootSceneNode", 1, 0, 0, ISceneManager_getRootSceneNode);
}