X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=src%2Fscene-node.cpp;h=3700818f4c290eeeea6dff21c33f046347b87e7e;hb=c4d9e46f268b4f7f738dd77685c632991125cec9;hp=08a133669364bb21e703c93b9ce60c3b2993c4eb;hpb=19663b6c5766b06c73148fdf803ce3555052a23e;p=guile-irrlicht.git diff --git a/src/scene-node.cpp b/src/scene-node.cpp index 08a1336..3700818 100644 --- a/src/scene-node.cpp +++ b/src/scene-node.cpp @@ -26,148 +26,135 @@ #include "matrix4.h" #include "scene-node.h" #include "vector3d.h" - +#include "wrapped.h" using namespace irr; - template SCM -scene_ISceneNode_addAnimator (SCM scene_node, - SCM animator) +ISceneNode_addAnimator (SCM scene_node, + SCM animator) { - TSceneNode node = (TSceneNode) scm_to_pointer (scene_node); - node->addAnimator ((scene::ISceneNodeAnimator*) scm_to_pointer (animator)); + TSceneNode node = (TSceneNode) scm_to_irr_pointer (scene_node); + node->addAnimator ((scene::ISceneNodeAnimator*) scm_to_irr_pointer (animator)); return SCM_UNSPECIFIED; } - template SCM -scene_ISceneNode_getAbsoluteTransformation (SCM scene_node) +ISceneNode_getAbsoluteTransformation (SCM scene_node) { - TSceneNode node = (TSceneNode) scm_to_pointer (scene_node); + TSceneNode node = (TSceneNode) scm_to_irr_pointer (scene_node); return scm_from_matrix4 (node->getAbsoluteTransformation ()); } - template SCM -scene_ISceneNode_getPosition (SCM scene_node) +ISceneNode_getPosition (SCM scene_node) { - TSceneNode node = (TSceneNode) scm_to_pointer (scene_node); + TSceneNode node = (TSceneNode) scm_to_irr_pointer (scene_node); return scm_from_vector3df (node->getPosition ()); } - template SCM -scene_ISceneNode_setMaterialFlag (SCM scene_node, - SCM flag, - SCM newvalue) +ISceneNode_setMaterialFlag (SCM scene_node, + SCM flag, + SCM newvalue) { - TSceneNode node = (TSceneNode) scm_to_pointer (scene_node); + TSceneNode node = (TSceneNode) scm_to_irr_pointer (scene_node); node->setMaterialFlag (scm_to_material_flag (flag), scm_to_bool (newvalue)); return SCM_UNSPECIFIED; } - template SCM -scene_ISceneNode_setMaterialTexture (SCM scene_node, - SCM texture_layer, - SCM texture) +ISceneNode_setMaterialTexture (SCM scene_node, + SCM texture_layer, + SCM texture) { - TSceneNode node = (TSceneNode) scm_to_pointer (scene_node); + TSceneNode node = (TSceneNode) scm_to_irr_pointer (scene_node); node->setMaterialTexture (scm_to_uint32 (texture_layer), - (video::ITexture*) scm_to_pointer (texture)); + (video::ITexture*) scm_to_irr_pointer (texture)); return SCM_UNSPECIFIED; } - template SCM -scene_ISceneNode_setPosition (SCM scene_node, - SCM position) +ISceneNode_setPosition (SCM scene_node, + SCM position) { - TSceneNode node = (TSceneNode) scm_to_pointer (scene_node); + TSceneNode node = (TSceneNode) scm_to_irr_pointer (scene_node); node->setPosition (scm_to_vector3df (position)); return SCM_UNSPECIFIED; } - template SCM -scene_ISceneNode_setRotation (SCM scene_node, - SCM rotation) +ISceneNode_setRotation (SCM scene_node, + SCM rotation) { - TSceneNode node = (TSceneNode) scm_to_pointer (scene_node); + TSceneNode node = (TSceneNode) scm_to_irr_pointer (scene_node); node->setRotation (scm_to_vector3df (rotation)); return SCM_UNSPECIFIED; } - template SCM -scene_ISceneNode_setScale (SCM scene_node, - SCM scale) +ISceneNode_setScale (SCM scene_node, + SCM scale) { - TSceneNode node = (TSceneNode) scm_to_pointer (scene_node); + TSceneNode node = (TSceneNode) scm_to_irr_pointer (scene_node); node->setScale (scm_to_vector3df (scale)); return SCM_UNSPECIFIED; } - -extern "C" { - - void - init_scene_node (void) - { - DEFINE_GSUBR ("scene_IAnimatedMeshSceneNode_addAnimator", 2, 0, 0, - scene_ISceneNode_addAnimator); - DEFINE_GSUBR ("scene_IMeshSceneNode_addAnimator", 2, 0, 0, - scene_ISceneNode_addAnimator); - DEFINE_GSUBR ("scene_ISceneNode_addAnimator", 2, 0, 0, - scene_ISceneNode_addAnimator); - - DEFINE_GSUBR ("scene_ISceneNode_getAbsoluteTransformation", 1, 0, 0, - scene_ISceneNode_getAbsoluteTransformation); - - DEFINE_GSUBR ("scene_IMeshSceneNode_getPosition", 1, 0, 0, - scene_ISceneNode_getPosition); - DEFINE_GSUBR ("scene_ISceneNode_getPosition", 1, 0, 0, - scene_ISceneNode_getPosition); - - DEFINE_GSUBR ("scene_IAnimatedMeshSceneNode_setMaterialFlag", 3, 0, 0, - scene_ISceneNode_setMaterialFlag); - DEFINE_GSUBR ("scene_IMeshSceneNode_setMaterialFlag", 3, 0, 0, - scene_ISceneNode_setMaterialFlag); - DEFINE_GSUBR ("scene_ISceneNode_setMaterialFlag", 3, 0, 0, - scene_ISceneNode_setMaterialFlag); - - DEFINE_GSUBR ("scene_IAnimatedMeshSceneNode_setMaterialTexture", 3, 0, 0, - scene_ISceneNode_setMaterialTexture); - DEFINE_GSUBR ("scene_IMeshSceneNode_setMaterialTexture", 3, 0, 0, - scene_ISceneNode_setMaterialTexture); - DEFINE_GSUBR ("scene_ISceneNode_setMaterialTexture", 3, 0, 0, - scene_ISceneNode_setMaterialTexture); - - DEFINE_GSUBR ("scene_IMeshSceneNode_setPosition", 2, 0, 0, - scene_ISceneNode_setPosition); - DEFINE_GSUBR ("scene_ISceneNode_setPosition", 2, 0, 0, - scene_ISceneNode_setPosition); - - DEFINE_GSUBR ("scene_IAnimatedMeshSceneNode_setRotation", 2, 0, 0, - scene_ISceneNode_setRotation); - DEFINE_GSUBR ("scene_ICameraSceneNode_setRotation", 2, 0, 0, - scene_ISceneNode_setRotation); - DEFINE_GSUBR ("scene_ISceneNode_setRotation", 2, 0, 0, - scene_ISceneNode_setRotation); - - DEFINE_GSUBR ("scene_IAnimatedMeshSceneNode_setScale", 2, 0, 0, - scene_ISceneNode_setScale); - DEFINE_GSUBR ("scene_ISceneNode_setScale", 2, 0, 0, - scene_ISceneNode_setScale); - } - +void +init_scene_node (void) +{ + DEFINE_GSUBR ("IAnimatedMeshSceneNode_addAnimator", 2, 0, 0, + ISceneNode_addAnimator); + DEFINE_GSUBR ("IMeshSceneNode_addAnimator", 2, 0, 0, + ISceneNode_addAnimator); + DEFINE_GSUBR ("ISceneNode_addAnimator", 2, 0, 0, + ISceneNode_addAnimator); + + DEFINE_GSUBR ("ISceneNode_getAbsoluteTransformation", 1, 0, 0, + ISceneNode_getAbsoluteTransformation); + + DEFINE_GSUBR ("IMeshSceneNode_getPosition", 1, 0, 0, + ISceneNode_getPosition); + DEFINE_GSUBR ("ISceneNode_getPosition", 1, 0, 0, + ISceneNode_getPosition); + + DEFINE_GSUBR ("IAnimatedMeshSceneNode_setMaterialFlag", 3, 0, 0, + ISceneNode_setMaterialFlag); + DEFINE_GSUBR ("IMeshSceneNode_setMaterialFlag", 3, 0, 0, + ISceneNode_setMaterialFlag); + DEFINE_GSUBR ("ISceneNode_setMaterialFlag", 3, 0, 0, + ISceneNode_setMaterialFlag); + + DEFINE_GSUBR ("IAnimatedMeshSceneNode_setMaterialTexture", 3, 0, 0, + ISceneNode_setMaterialTexture); + DEFINE_GSUBR ("IMeshSceneNode_setMaterialTexture", 3, 0, 0, + ISceneNode_setMaterialTexture); + DEFINE_GSUBR ("ISceneNode_setMaterialTexture", 3, 0, 0, + ISceneNode_setMaterialTexture); + + DEFINE_GSUBR ("IMeshSceneNode_setPosition", 2, 0, 0, + ISceneNode_setPosition); + DEFINE_GSUBR ("ISceneNode_setPosition", 2, 0, 0, + ISceneNode_setPosition); + + DEFINE_GSUBR ("IAnimatedMeshSceneNode_setRotation", 2, 0, 0, + ISceneNode_setRotation); + DEFINE_GSUBR ("ICameraSceneNode_setRotation", 2, 0, 0, + ISceneNode_setRotation); + DEFINE_GSUBR ("ISceneNode_setRotation", 2, 0, 0, + ISceneNode_setRotation); + + DEFINE_GSUBR ("IAnimatedMeshSceneNode_setScale", 2, 0, 0, + ISceneNode_setScale); + DEFINE_GSUBR ("ISceneNode_setScale", 2, 0, 0, + ISceneNode_setScale); }