#include <vector>#include <string>#include <stdexcept>#include "lua.h"#include "lauxlib.h"#include "lualib.h"


Go to the source code of this file.
Namespaces | |
| namespace | Lugre |
Classes | |
| class | Lugre::cLuaBindDirectQuickWrapHelper |
| helper class for macro LUABIND_QUICKWRAP More... | |
| class | Lugre::cLuaBindDirectBase |
| class | Lugre::cLuaBindDirect< _T > |
Defines | |
| #define | LUABIND_QUICKWRAP_STATIC(methodname, code) |
| #define | LUABIND_QUICKWRAP(methodname, code) |
| #define | LUABIND_DIRECTWRAP_RETURN_ONE_ALTNAME(returnpushfun, newname, methodname, paramcode) LUABIND_QUICKWRAP( newname, { return returnpushfun(L,GetSelf(L).methodname paramcode ); }); |
| #define | LUABIND_DIRECTWRAP_RETURN_VOID_ALTNAME(newname, methodname, paramcode) LUABIND_QUICKWRAP( newname, { GetSelf(L).methodname paramcode ; }); |
| #define | LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(returnpushfun, methodname, nameadd, paramcode) LUABIND_DIRECTWRAP_RETURN_ONE_ALTNAME(returnpushfun,methodname##nameadd,methodname,paramcode) |
| #define | LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(methodname, nameadd, paramcode) LUABIND_DIRECTWRAP_RETURN_VOID_ALTNAME(methodname##nameadd,methodname,paramcode) |
| #define | LUABIND_DIRECTWRAP_RETURN_ONE(returnpushfun, methodname, paramcode) LUABIND_DIRECTWRAP_RETURN_ONE_ALTNAME(returnpushfun,methodname,methodname,paramcode) |
| #define | LUABIND_DIRECTWRAP_RETURN_VOID(methodname, paramcode) LUABIND_DIRECTWRAP_RETURN_VOID_ALTNAME(methodname,methodname,paramcode) |
| #define | LUABIND_DIRECTWRAP_BASECLASS(classname) RegisterBaseClass(cLuaBindDirect<classname>::GetSingletonPtr(),#classname); |
| #define | LUABIND_PrefixConstant(prefix, name) cScripting::SetGlobal(L,#name,prefix::name); |
| #define | LUABIND_DIRECTWRAP_HELPER_ENUM(prefix, name) static inline prefix::name Param##name (lua_State *L,int i) { return (prefix::name)ParamInt(L,i); } |
| #define | LUABIND_DIRECTWRAP_HELPER_OBJECT(mytype, name) |
| #define | LUABIND_DIRECTWRAP_HELPER_OBJECT_PREFIX(prefix, mytypename) LUABIND_DIRECTWRAP_HELPER_OBJECT(prefix::mytypename,mytypename) |
| #define | LUABIND_DIRECTWRAP_HELPER_PUSH_COPY(prefix, mytype) static inline int PushCopy##mytype (lua_State *L,prefix::mytype& v) { return cLuaBindDirect<prefix::mytype>::CreateUData(L,new prefix::mytype(v)); } |
Functions | |
| struct luaL_reg | Lugre::make_luaL_reg (const char *name, lua_CFunction func) |
| #define LUABIND_DIRECTWRAP_BASECLASS | ( | classname | ) | RegisterBaseClass(cLuaBindDirect<classname>::GetSingletonPtr(),#classname); |
Definition at line 74 of file lugre_luabind_direct.h.
Referenced by Lugre::cLugreLuaBind_cRobRenderable::RegisterMethods(), Lugre::cLugreLuaBind_cRobMovable::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_Texture::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_VertexPoseKeyFrame::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_VertexMorphKeyFrame::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_TransformKeyFrame::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_NumericKeyFrame::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_NodeAnimationTrack::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_Entity::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_Mesh::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_Bone::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_Skeleton::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_SceneNode::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_Camera::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_Light::RegisterMethods(), and Lugre::cLugreLuaBind_Ogre_Node::RegisterMethods().
| #define LUABIND_DIRECTWRAP_HELPER_ENUM | ( | prefix, | |||
| name | ) | static inline prefix::name Param##name (lua_State *L,int i) { return (prefix::name)ParamInt(L,i); } |
Definition at line 79 of file lugre_luabind_direct.h.
| #define LUABIND_DIRECTWRAP_HELPER_OBJECT | ( | mytype, | |||
| name | ) |
Value:
static inline mytype& ParamByRef##name (lua_State *L,int i) { return *cLuaBindDirect<mytype>::checkudata_alive(L,i); } \ static inline mytype* Param##name (lua_State *L,int i) { return cLuaBindDirect<mytype>::checkudata_alive(L,i); } \ static inline int Push##name (lua_State *L,mytype* v) { return cLuaBindDirect<mytype>::CreateUData(L,v); }
Definition at line 81 of file lugre_luabind_direct.h.
| #define LUABIND_DIRECTWRAP_HELPER_OBJECT_PREFIX | ( | prefix, | |||
| mytypename | ) | LUABIND_DIRECTWRAP_HELPER_OBJECT(prefix::mytypename,mytypename) |
Definition at line 85 of file lugre_luabind_direct.h.
| #define LUABIND_DIRECTWRAP_HELPER_PUSH_COPY | ( | prefix, | |||
| mytype | ) | static inline int PushCopy##mytype (lua_State *L,prefix::mytype& v) { return cLuaBindDirect<prefix::mytype>::CreateUData(L,new prefix::mytype(v)); } |
Definition at line 87 of file lugre_luabind_direct.h.
| #define LUABIND_DIRECTWRAP_RETURN_ONE | ( | returnpushfun, | |||
| methodname, | |||||
| paramcode | ) | LUABIND_DIRECTWRAP_RETURN_ONE_ALTNAME(returnpushfun,methodname,methodname,paramcode) |
Definition at line 70 of file lugre_luabind_direct.h.
Referenced by Lugre::cLugreLuaBind_cRobRenderable::RegisterMethods(), and Lugre::cLugreLuaBind_cRobMovable::RegisterMethods().
| #define LUABIND_DIRECTWRAP_RETURN_ONE_ALTNAME | ( | returnpushfun, | |||
| newname, | |||||
| methodname, | |||||
| paramcode | ) | LUABIND_QUICKWRAP( newname, { return returnpushfun(L,GetSelf(L).methodname paramcode ); }); |
Definition at line 64 of file lugre_luabind_direct.h.
| #define LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD | ( | returnpushfun, | |||
| methodname, | |||||
| nameadd, | |||||
| paramcode | ) | LUABIND_DIRECTWRAP_RETURN_ONE_ALTNAME(returnpushfun,methodname##nameadd,methodname,paramcode) |
Definition at line 67 of file lugre_luabind_direct.h.
Referenced by Lugre::cLugreLuaBind_Ogre_Texture::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_Image::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_TransformKeyFrame::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_KeyFrame::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_AnimationState::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_NodeAnimationTrack::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_AnimationTrack::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_Entity::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_SubMesh::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_Mesh::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_Animation::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_Bone::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_Skeleton::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_IndexData::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_VertexData::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_SceneNode::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_Camera::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_Frustum::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_SceneManager::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_Light::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_Node::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_Resource::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_Renderable::RegisterMethods(), and Lugre::cLugreLuaBind_Ogre_MovableObject::RegisterMethods().
| #define LUABIND_DIRECTWRAP_RETURN_VOID | ( | methodname, | |||
| paramcode | ) | LUABIND_DIRECTWRAP_RETURN_VOID_ALTNAME(methodname,methodname,paramcode) |
Definition at line 71 of file lugre_luabind_direct.h.
Referenced by Lugre::cLugreLuaBind_cRobRenderable::RegisterMethods(), and Lugre::cLugreLuaBind_cRobMovable::RegisterMethods().
| #define LUABIND_DIRECTWRAP_RETURN_VOID_ALTNAME | ( | newname, | |||
| methodname, | |||||
| paramcode | ) | LUABIND_QUICKWRAP( newname, { GetSelf(L).methodname paramcode ; }); |
Definition at line 65 of file lugre_luabind_direct.h.
| #define LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD | ( | methodname, | |||
| nameadd, | |||||
| paramcode | ) | LUABIND_DIRECTWRAP_RETURN_VOID_ALTNAME(methodname##nameadd,methodname,paramcode) |
Definition at line 68 of file lugre_luabind_direct.h.
Referenced by Lugre::cLugreLuaBind_Ogre_Texture::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_Image::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_VertexPoseKeyFrame::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_TransformKeyFrame::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_AnimationState::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_NodeAnimationTrack::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_AnimationTrack::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_Entity::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_SubMesh::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_Mesh::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_Animation::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_Bone::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_Skeleton::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_IndexData::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_VertexData::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_SceneNode::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_Camera::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_Frustum::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_SceneManager::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_Light::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_Node::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_Resource::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_Renderable::RegisterMethods(), and Lugre::cLugreLuaBind_Ogre_MovableObject::RegisterMethods().
| #define LUABIND_PrefixConstant | ( | prefix, | |||
| name | ) | cScripting::SetGlobal(L,#name,prefix::name); |
Definition at line 76 of file lugre_luabind_direct.h.
Referenced by Lugre::cLugreLuaBind_Ogre_VertexDeclaration::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_RenderOperation::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_Texture::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_Image::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_Entity::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_Animation::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_SceneManager::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_Light::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_Node::RegisterMethods(), and Lugre::cLugreLuaBind_Ogre_Resource::RegisterMethods().
| #define LUABIND_QUICKWRAP | ( | methodname, | |||
| code | ) |
Value:
{ class cTempClass : public cLuaBindDirectQuickWrapHelper { public: \
static int methodname (lua_State *L) { PROFILE code return 0; }\
}; \
mlMethod.push_back(make_luaL_reg(#methodname,&cTempClass::methodname)); \
}
Definition at line 50 of file lugre_luabind_direct.h.
Referenced by Lugre::cLugreLuaBind_cRobRenderable::RegisterMethods(), Lugre::cLugreLuaBind_cRobMovable::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_VertexDeclaration::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_RenderOperation::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_Image::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_SubMesh::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_Mesh::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_Skeleton::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_IndexData::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_VertexData::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_Frustum::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_Node::RegisterMethods(), Lugre::cImage_L::RegisterMethods(), Lugre::cGfx3D_L::RegisterMethods(), Lugre::cFIFO_L::RegisterMethods(), and Lugre::cCamera_L::RegisterMethods().
| #define LUABIND_QUICKWRAP_STATIC | ( | methodname, | |||
| code | ) |
Value:
{ class cTempClass : public cLuaBindDirectQuickWrapHelper { public: \
static int methodname (lua_State *L) { PROFILE code return 0; }\
}; \
lua_register(L,#methodname,&cTempClass::methodname); \
}
Definition at line 44 of file lugre_luabind_direct.h.
Referenced by Lugre::LuaRegister_LuaBinds_Ogre(), RegisterLua_General_GlobalFunctions(), Lugre::cLugreLuaBind_cRobRenderable::RegisterMethods(), Lugre::cLugreLuaBind_cRobMovable::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_VertexDeclaration::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_Texture::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_Image::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_Mesh::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_Skeleton::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_IndexData::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_VertexData::RegisterMethods(), Lugre::cLugreLuaBind_Ogre_SceneManager::RegisterMethods(), and Lugre::cFIFO_L::RegisterMethods().
1.5.6