]> git.jsancho.org Git - guile-irrlicht.git/blobdiff - src/scene-node.cpp
Some doc
[guile-irrlicht.git] / src / scene-node.cpp
index 0caea376d6837f06d7a8d70c32bd92ca35cac3f8..3700818f4c290eeeea6dff21c33f046347b87e7e 100644 (file)
 #include "matrix4.h"
 #include "scene-node.h"
 #include "vector3d.h"
-
+#include "wrapped.h"
 
 using namespace irr;
 
-
 template <typename TSceneNode>
 SCM
 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 <typename TSceneNode>
 SCM
 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 <typename TSceneNode>
 SCM
 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 <typename TSceneNode>
 SCM
 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 <typename TSceneNode>
 SCM
 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 <typename TSceneNode>
 SCM
 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 <typename TSceneNode>
 SCM
 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 <typename TSceneNode>
 SCM
 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 ("IAnimatedMeshSceneNode_addAnimator", 2, 0, 0,
-                  ISceneNode_addAnimator<scene::IAnimatedMeshSceneNode*>);
-    DEFINE_GSUBR ("IMeshSceneNode_addAnimator", 2, 0, 0,
-                  ISceneNode_addAnimator<scene::IMeshSceneNode*>);
-    DEFINE_GSUBR ("ISceneNode_addAnimator", 2, 0, 0,
-                  ISceneNode_addAnimator<scene::ISceneNode*>);
-
-    DEFINE_GSUBR ("ISceneNode_getAbsoluteTransformation", 1, 0, 0,
-                  ISceneNode_getAbsoluteTransformation<scene::ISceneNode*>);
-
-    DEFINE_GSUBR ("IMeshSceneNode_getPosition", 1, 0, 0,
-                  ISceneNode_getPosition<scene::IMeshSceneNode*>);
-    DEFINE_GSUBR ("ISceneNode_getPosition", 1, 0, 0,
-                  ISceneNode_getPosition<scene::ISceneNode*>);
-
-    DEFINE_GSUBR ("IAnimatedMeshSceneNode_setMaterialFlag", 3, 0, 0,
-                  ISceneNode_setMaterialFlag<scene::IAnimatedMeshSceneNode*>);
-    DEFINE_GSUBR ("IMeshSceneNode_setMaterialFlag", 3, 0, 0,
-                  ISceneNode_setMaterialFlag<scene::IMeshSceneNode*>);
-    DEFINE_GSUBR ("ISceneNode_setMaterialFlag", 3, 0, 0,
-                  ISceneNode_setMaterialFlag<scene::ISceneNode*>);
-
-    DEFINE_GSUBR ("IAnimatedMeshSceneNode_setMaterialTexture", 3, 0, 0,
-                  ISceneNode_setMaterialTexture<scene::IAnimatedMeshSceneNode*>);
-    DEFINE_GSUBR ("IMeshSceneNode_setMaterialTexture", 3, 0, 0,
-                  ISceneNode_setMaterialTexture<scene::IMeshSceneNode*>);
-    DEFINE_GSUBR ("ISceneNode_setMaterialTexture", 3, 0, 0,
-                  ISceneNode_setMaterialTexture<scene::ISceneNode*>);
-
-    DEFINE_GSUBR ("IMeshSceneNode_setPosition", 2, 0, 0,
-                  ISceneNode_setPosition<scene::IMeshSceneNode*>);
-    DEFINE_GSUBR ("ISceneNode_setPosition", 2, 0, 0,
-                  ISceneNode_setPosition<scene::ISceneNode*>);
-
-    DEFINE_GSUBR ("IAnimatedMeshSceneNode_setRotation", 2, 0, 0,
-                  ISceneNode_setRotation<scene::IAnimatedMeshSceneNode*>);
-    DEFINE_GSUBR ("ICameraSceneNode_setRotation", 2, 0, 0,
-                  ISceneNode_setRotation<scene::ICameraSceneNode*>);
-    DEFINE_GSUBR ("ISceneNode_setRotation", 2, 0, 0,
-                  ISceneNode_setRotation<scene::ISceneNode*>);
-
-    DEFINE_GSUBR ("IAnimatedMeshSceneNode_setScale", 2, 0, 0,
-                  ISceneNode_setScale<scene::IAnimatedMeshSceneNode*>);
-    DEFINE_GSUBR ("ISceneNode_setScale", 2, 0, 0,
-                  ISceneNode_setScale<scene::ISceneNode*>);
-  }
-
+void
+init_scene_node (void)
+{
+  DEFINE_GSUBR ("IAnimatedMeshSceneNode_addAnimator", 2, 0, 0,
+                ISceneNode_addAnimator<scene::IAnimatedMeshSceneNode*>);
+  DEFINE_GSUBR ("IMeshSceneNode_addAnimator", 2, 0, 0,
+                ISceneNode_addAnimator<scene::IMeshSceneNode*>);
+  DEFINE_GSUBR ("ISceneNode_addAnimator", 2, 0, 0,
+                ISceneNode_addAnimator<scene::ISceneNode*>);
+
+  DEFINE_GSUBR ("ISceneNode_getAbsoluteTransformation", 1, 0, 0,
+                ISceneNode_getAbsoluteTransformation<scene::ISceneNode*>);
+
+  DEFINE_GSUBR ("IMeshSceneNode_getPosition", 1, 0, 0,
+                ISceneNode_getPosition<scene::IMeshSceneNode*>);
+  DEFINE_GSUBR ("ISceneNode_getPosition", 1, 0, 0,
+                ISceneNode_getPosition<scene::ISceneNode*>);
+
+  DEFINE_GSUBR ("IAnimatedMeshSceneNode_setMaterialFlag", 3, 0, 0,
+                ISceneNode_setMaterialFlag<scene::IAnimatedMeshSceneNode*>);
+  DEFINE_GSUBR ("IMeshSceneNode_setMaterialFlag", 3, 0, 0,
+                ISceneNode_setMaterialFlag<scene::IMeshSceneNode*>);
+  DEFINE_GSUBR ("ISceneNode_setMaterialFlag", 3, 0, 0,
+                ISceneNode_setMaterialFlag<scene::ISceneNode*>);
+
+  DEFINE_GSUBR ("IAnimatedMeshSceneNode_setMaterialTexture", 3, 0, 0,
+                ISceneNode_setMaterialTexture<scene::IAnimatedMeshSceneNode*>);
+  DEFINE_GSUBR ("IMeshSceneNode_setMaterialTexture", 3, 0, 0,
+                ISceneNode_setMaterialTexture<scene::IMeshSceneNode*>);
+  DEFINE_GSUBR ("ISceneNode_setMaterialTexture", 3, 0, 0,
+                ISceneNode_setMaterialTexture<scene::ISceneNode*>);
+
+  DEFINE_GSUBR ("IMeshSceneNode_setPosition", 2, 0, 0,
+                ISceneNode_setPosition<scene::IMeshSceneNode*>);
+  DEFINE_GSUBR ("ISceneNode_setPosition", 2, 0, 0,
+                ISceneNode_setPosition<scene::ISceneNode*>);
+
+  DEFINE_GSUBR ("IAnimatedMeshSceneNode_setRotation", 2, 0, 0,
+                ISceneNode_setRotation<scene::IAnimatedMeshSceneNode*>);
+  DEFINE_GSUBR ("ICameraSceneNode_setRotation", 2, 0, 0,
+                ISceneNode_setRotation<scene::ICameraSceneNode*>);
+  DEFINE_GSUBR ("ISceneNode_setRotation", 2, 0, 0,
+                ISceneNode_setRotation<scene::ISceneNode*>);
+
+  DEFINE_GSUBR ("IAnimatedMeshSceneNode_setScale", 2, 0, 0,
+                ISceneNode_setScale<scene::IAnimatedMeshSceneNode*>);
+  DEFINE_GSUBR ("ISceneNode_setScale", 2, 0, 0,
+                ISceneNode_setScale<scene::ISceneNode*>);
 }