00001
00002
00003
00004 #include "lugre_prefix.h"
00005 #include "lugre_luabind.h"
00006 #include "lugre_luabind_direct.h"
00007 #include "lugre_luabind_ogrehelper.h"
00008 #include "lugre_ogrewrapper.h"
00009 #include "lugre_scripting.h"
00010 #include "lugre_fifo.h"
00011 #include <Ogre.h>
00012 #include <OgreRenderOperation.h>
00013 #include <OgreHardwareVertexBuffer.h>
00014 #include <OgreAnimationTrack.h>
00015
00016 extern "C" {
00017 #include "lua.h"
00018 #include "lauxlib.h"
00019 #include "lualib.h"
00020 }
00021
00022 using namespace Ogre;
00023
00024 class lua_State;
00025
00026
00027 namespace Lugre {
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053 class cLugreLuaBind_Ogre_MovableObject : public cLuaBindDirect<Ogre::MovableObject>, public cLuaBindDirectOgreHelper { public:
00054 virtual void RegisterMethods (lua_State *L) { PROFILE
00055
00056
00057
00058
00059
00060
00061 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( _notifyManager, ,(ParamSceneManager(L,2)) );
00062 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushSceneManager, _getManager, ,() );
00063 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushString, getName, ,() );
00064 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushString, getMovableType, ,() );
00065 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNode, getParentNode, ,() );
00066 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushSceneNode, getParentSceneNode, ,() );
00067 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( _notifyAttached, ,(ParamNode(L,2),ParamBool(L,3)) );
00068 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, isAttached, ,() );
00069 #if OGRE_VERSION < 0x10700
00070 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( detatchFromParent, ,() );
00071 #else
00072 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( detachFromParent, ,() );
00073 #endif
00074 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, isInScene, ,() );
00075 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( _notifyMoved, ,() );
00076 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( _notifyCurrentCamera, ,(ParamCamera(L,2)) );
00077 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushAxisAlignedBox, getBoundingBox, ,() );
00078 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getBoundingRadius, ,() );
00079 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushAxisAlignedBox, getWorldBoundingBox, ,(ParamBool(L,2)) );
00080
00081
00082 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setVisible, ,(ParamBool(L,2)) );
00083 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, getVisible, ,() );
00084 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, isVisible, ,() );
00085 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setRenderingDistance, ,(ParamNumber(L,2)) );
00086 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getRenderingDistance, ,() );
00087
00088
00089
00090
00091 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setRenderQueueGroup, ,(ParamInt(L,2)) );
00092 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getRenderQueueGroup, ,() );
00093 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushMatrix4, _getParentNodeFullTransform, ,() );
00094 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setQueryFlags, ,(ParamInt(L,2)) );
00095 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( addQueryFlags, ,(ParamInt(L,2)) );
00096 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( removeQueryFlags, ,(ParamInt(L,2)) );
00097 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getQueryFlags, ,() );
00098 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setDefaultQueryFlags, ,(ParamInt(L,2)) );
00099 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getDefaultQueryFlags, ,() );
00100 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setVisibilityFlags, ,(ParamInt(L,2)) );
00101 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( addVisibilityFlags, ,(ParamInt(L,2)) );
00102 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( removeVisibilityFlags, ,(ParamInt(L,2)) );
00103 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getVisibilityFlags, ,() );
00104 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setDefaultVisibilityFlags, ,(ParamInt(L,2)) );
00105 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getDefaultVisibilityFlags, ,() );
00106
00107
00108
00109
00110
00111 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, hasEdgeList, ,() );
00112
00113 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushAxisAlignedBox, getLightCapBounds, ,() );
00114 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushAxisAlignedBox, getDarkCapBounds, ,(ParamByRefLight(L,2),ParamNumber(L,3)) );
00115 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setCastShadows, ,(ParamBool(L,2)) );
00116 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, getCastShadows, ,() );
00117 #if OGRE_VERSION >= 0x10604
00118 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, getReceivesShadows, ,() );
00119 #endif
00120 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getPointExtrusionDistance, ,(ParamLight(L,2)) );
00121 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getTypeFlags, ,() );
00122
00123 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setDebugDisplayEnabled, ,(ParamBool(L,2)) );
00124 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, isDebugDisplayEnabled, ,() );
00125
00126
00127
00128
00129
00130
00131
00132 }
00133 virtual const char* GetLuaTypeName () { return "lugre.ogre.MovableObject"; }
00134 };
00135
00136 class cLugreLuaBind_Ogre_Renderable : public cLuaBindDirect<Ogre::Renderable>, public cLuaBindDirectOgreHelper { public:
00137 virtual void RegisterMethods (lua_State *L) { PROFILE
00138
00139
00140
00141
00142
00143 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( getRenderOperation, ,(ParamByRefRenderOperation(L,2)) );
00144
00145
00146
00147 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getNumWorldTransforms, ,() );
00148 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setUseIdentityProjection, ,(ParamBool(L,2)) );
00149 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, getUseIdentityProjection, ,() );
00150 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setUseIdentityView, ,(ParamBool(L,2)) );
00151 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, getUseIdentityView, ,() );
00152 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getSquaredViewDepth, ,(ParamCamera(L,2)) );
00153
00154 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, getCastsShadows, ,() );
00155 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setCustomParameter, ,(ParamInt(L,2),ParamVector4(L,3)) );
00156 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushVector4, getCustomParameter, ,(ParamInt(L,2)) );
00157
00158 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setPolygonModeOverrideable, ,(ParamBool(L,2)) );
00159 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, getPolygonModeOverrideable, ,() );
00160
00161
00162
00163
00164
00165
00166
00167
00168
00169
00170
00171
00172
00173
00174
00175
00176
00177
00178
00179
00180 }
00181 virtual const char* GetLuaTypeName () { return "lugre.ogre.Renderable"; }
00182 };
00183
00184 class cLugreLuaBind_Ogre_Resource : public cLuaBindDirect<Ogre::Resource>, public cLuaBindDirectOgreHelper { public:
00185 virtual void RegisterMethods (lua_State *L) { PROFILE
00186
00187
00188
00189
00190 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( prepare, ,() );
00191 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( load, ,(ParamBool(L,2)) );
00192 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( reload, ,() );
00193 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, isReloadable, ,() );
00194 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, isManuallyLoaded, ,() );
00195 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( unload, ,() );
00196 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getSize, ,() );
00197 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( touch, ,() );
00198 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushString, getName, ,() );
00199
00200 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, isPrepared, ,() );
00201 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, isLoaded, ,() );
00202 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, isLoading, ,() );
00203
00204 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, isBackgroundLoaded, ,() );
00205 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setBackgroundLoaded, ,(ParamBool(L,2)) );
00206 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( escalateLoading, ,() );
00207
00208
00209 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushString, getGroup, ,() );
00210 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( changeGroupOwnership, ,(ParamString(L,2)) );
00211
00212 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushString, getOrigin, ,() );
00213 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( _notifyOrigin, ,(ParamString(L,2)) );
00214 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getStateCount, ,() );
00215 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( _dirtyState, ,() );
00216 #if OGRE_VERSION < 0x10700
00217 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( _fireBackgroundLoadingComplete, ,() );
00218 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( _fireBackgroundPreparingComplete, ,() );
00219 #endif
00220
00221 LUABIND_PrefixConstant(Ogre::Resource,LOADSTATE_UNLOADED)
00222 LUABIND_PrefixConstant(Ogre::Resource,LOADSTATE_LOADING)
00223 LUABIND_PrefixConstant(Ogre::Resource,LOADSTATE_LOADED)
00224 LUABIND_PrefixConstant(Ogre::Resource,LOADSTATE_UNLOADING)
00225 LUABIND_PrefixConstant(Ogre::Resource,LOADSTATE_PREPARED)
00226 LUABIND_PrefixConstant(Ogre::Resource,LOADSTATE_PREPARING)
00227 }
00228 virtual const char* GetLuaTypeName () { return "lugre.ogre.Resource"; }
00229 };
00230
00231 class cLugreLuaBind_Ogre_Node : public cLuaBindDirect<Ogre::Node>, public cLuaBindDirectOgreHelper { public:
00232 virtual void RegisterMethods (lua_State *L) { PROFILE
00233 LUABIND_DIRECTWRAP_BASECLASS(Ogre::Renderable);
00234
00235 LUABIND_QUICKWRAP( getRealAddress, { return PushPointer(L,checkudata_alive(L)); });
00236
00237
00238
00239
00240
00241
00242
00243
00244
00245 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushString ,getName, ,() );
00246 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNode, getParent, ,() );
00247 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushQuaternion ,getOrientation, ,() );
00248 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setOrientation, ,(ParamQuaternion(L,2)) );
00249 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setOrientation,2 ,(ParamNumber(L,2),ParamNumber(L,3),ParamNumber(L,4),ParamNumber(L,5)) );
00250 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( resetOrientation, ,() );
00251 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setPosition, ,(ParamVector3(L,2)) );
00252 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setPosition,2 ,(ParamNumber(L,2),ParamNumber(L,3),ParamNumber(L,4)) );
00253 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushVector3 ,getPosition, ,() );
00254 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setScale, ,(ParamVector3(L,2)) );
00255 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setScale,2 ,(ParamNumber(L,2),ParamNumber(L,3),ParamNumber(L,4)) );
00256 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushVector3 ,getScale, ,() );
00257 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setInheritOrientation, ,(ParamBool(L,2)) );
00258 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool ,getInheritOrientation, ,() );
00259 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setInheritScale, ,(ParamBool(L,2)) );
00260 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool ,getInheritScale, ,() );
00261 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( scale, ,(ParamVector3(L,2)) );
00262 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( scale,2 ,(ParamNumber(L,2),ParamNumber(L,3),ParamNumber(L,4)) );
00263 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( translate, ,(ParamVector3(L,2),ParamTransformSpace(L,3)) );
00264 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( translate,2 ,(ParamNumber(L,2),ParamNumber(L,3),ParamNumber(L,4),ParamTransformSpace(L,5)) );
00265
00266
00267 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( roll, ,(ParamRadian(L,2),ParamTransformSpace(L,3)) );
00268 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( pitch, ,(ParamRadian(L,2),ParamTransformSpace(L,3)) );
00269 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( yaw, ,(ParamRadian(L,2),ParamTransformSpace(L,3)) );
00270 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( rotate, ,(ParamVector3(L,2),ParamRadian(L,3),ParamTransformSpace(L,4)) );
00271 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( rotate,2 ,(ParamQuaternion(L,2),ParamTransformSpace(L,3)) );
00272
00273 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNode, createChild, ,(ParamVector3(L,2),ParamQuaternion(L,3)) );
00274 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNode, createChild,2 ,(ParamString(L,2),ParamVector3(L,3),ParamQuaternion(L,4)) );
00275 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( addChild, ,(ParamNode(L,2)) );
00276 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber ,numChildren, ,() );
00277 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNode, getChild, ,(ParamInt(L,2)) );
00278 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNode, getChild,2 ,(ParamString(L,2)) );
00279
00280
00281 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNode, removeChild, ,(ParamInt(L,2)) );
00282 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNode, removeChild,2 ,(ParamNode(L,2)) );
00283 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNode, removeChild,3 ,(ParamString(L,2)) );
00284 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( removeAllChildren, ,() );
00285 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushQuaternion ,_getDerivedOrientation, ,() );
00286 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushVector3 ,_getDerivedPosition, ,() );
00287 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushVector3 ,_getDerivedScale, ,() );
00288 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushMatrix4, _getFullTransform, ,() );
00289 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( _update, ,(ParamBool(L,2),ParamBool(L,3)) );
00290
00291
00292
00293
00294
00295 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setInitialState, ,() );
00296 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( resetToInitialState, ,() );
00297 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushVector3 ,getInitialPosition, ,() );
00298 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushQuaternion ,getInitialOrientation, ,() );
00299 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushVector3 ,getInitialScale, ,() );
00300
00301 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( needUpdate, ,(ParamBool(L,2)) );
00302 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( requestUpdate, ,(ParamNode(L,2),ParamBool(L,3)) );
00303 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( cancelUpdate, ,(ParamNode(L,2)) );
00304 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( queueNeedUpdate, ,(ParamNode(L,2)) );
00305 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( processQueuedUpdates, ,() );
00306
00307
00308 LUABIND_PrefixConstant(Ogre::Node,TS_LOCAL)
00309 LUABIND_PrefixConstant(Ogre::Node,TS_PARENT)
00310 LUABIND_PrefixConstant(Ogre::Node,TS_WORLD)
00311 }
00312 virtual const char* GetLuaTypeName () { return "lugre.ogre.Node"; }
00313 };
00314
00315 class cLugreLuaBind_Ogre_Light : public cLuaBindDirect<Ogre::Light>, public cLuaBindDirectOgreHelper { public:
00316 virtual void RegisterMethods (lua_State *L) { PROFILE
00317 LUABIND_DIRECTWRAP_BASECLASS(Ogre::MovableObject);
00318
00319
00320 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( _calcTempSquareDist, ,(ParamVector3(L,2)) );
00321
00322
00323
00324
00325 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setType, ,(ParamLightTypes(L,2)) );
00326 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getType, ,() );
00327 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setDiffuseColour, ,(ParamNumber(L,2),ParamNumber(L,3),ParamNumber(L,4)) );
00328 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setDiffuseColour,2 ,(ParamColourValue(L,2)) );
00329 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushColourValue, getDiffuseColour, ,() );
00330 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setSpecularColour, ,(ParamNumber(L,2),ParamNumber(L,3),ParamNumber(L,4)) );
00331 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setSpecularColour,2 ,(ParamColourValue(L,2)) );
00332 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushColourValue, getSpecularColour, ,() );
00333 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setAttenuation, ,(ParamNumber(L,2),ParamNumber(L,3),ParamNumber(L,4),ParamNumber(L,5)) );
00334 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getAttenuationRange, ,() );
00335 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getAttenuationConstant, ,() );
00336 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getAttenuationLinear, ,() );
00337 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getAttenuationQuadric, ,() );
00338 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setPosition, ,(ParamNumber(L,2),ParamNumber(L,3),ParamNumber(L,4)) );
00339 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setPosition,2 ,(ParamVector3(L,2)) );
00340 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushVector3, getPosition, ,() );
00341 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setDirection, ,(ParamNumber(L,2),ParamNumber(L,3),ParamNumber(L,4)) );
00342 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setDirection,2 ,(ParamVector3(L,2)) );
00343 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushVector3, getDirection, ,() );
00344 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setSpotlightRange, ,(ParamRadian(L,2),ParamRadian(L,3),ParamNumber(L,4)) );
00345 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushRadian, getSpotlightInnerAngle, ,() );
00346 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushRadian, getSpotlightOuterAngle, ,() );
00347 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getSpotlightFalloff, ,() );
00348 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setSpotlightInnerAngle, ,(ParamRadian(L,2)) );
00349 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setSpotlightOuterAngle, ,(ParamRadian(L,2)) );
00350 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setSpotlightFalloff, ,(ParamNumber(L,2)) );
00351 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setPowerScale, ,(ParamNumber(L,2)) );
00352 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getPowerScale, ,() );
00353
00354
00355
00356
00357
00358 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushVector3, getDerivedPosition, ,(ParamBool(L,2)) );
00359 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushVector3, getDerivedDirection, ,() );
00360
00361
00362 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushVector4, getAs4DVector, ,(ParamBool(L,2)) );
00363
00364
00365
00366
00367
00368 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( resetCustomShadowCameraSetup, ,() );
00369
00370
00371 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, _getIndexInFrame, ,() );
00372 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( _notifyIndexInFrame, ,(ParamInt(L,2)) );
00373 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setShadowFarDistance, ,(ParamNumber(L,2)) );
00374 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( resetShadowFarDistance, ,() );
00375 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getShadowFarDistance, ,() );
00376 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getShadowFarDistanceSquared, ,() );
00377 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( _setCameraRelative, ,(ParamCamera(L,2)) );
00378
00379 LUABIND_PrefixConstant(Ogre::Light,LT_POINT)
00380 LUABIND_PrefixConstant(Ogre::Light,LT_DIRECTIONAL)
00381 LUABIND_PrefixConstant(Ogre::Light,LT_SPOTLIGHT)
00382 }
00383 virtual const char* GetLuaTypeName () { return "lugre.ogre.Light"; }
00384 };
00385
00386 class cLugreLuaBind_Ogre_SceneManager : public cLuaBindDirect<Ogre::SceneManager>, public cLuaBindDirectOgreHelper { public:
00387 virtual void RegisterMethods (lua_State *L) { PROFILE
00388 LUABIND_QUICKWRAP_STATIC(GetSceneManager, { return CreateUData(L,cOgreWrapper::GetSingleton().GetSceneManager(ParamStringDefault(L,1,"main").c_str())); });
00389
00390
00391
00392
00393
00394
00395
00396
00397
00398
00399
00400
00401
00402
00403
00404
00405
00406
00407
00408
00409 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushString, getName, ,() );
00410 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushString, getTypeName, ,() );
00411 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushCamera, createCamera, ,(ParamString(L,2)) );
00412 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushCamera, getCamera, ,(ParamString(L,2)) );
00413 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, hasCamera, ,(ParamString(L,2)) );
00414 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( destroyCamera, ,(ParamCamera(L,2)) );
00415 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( destroyCamera,2 ,(ParamString(L,2)) );
00416 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( destroyAllCameras, ,() );
00417 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushLight, createLight, ,(ParamString(L,2)) );
00418 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushLight, getLight, ,(ParamString(L,2)) );
00419 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, hasLight, ,(ParamString(L,2)) );
00420
00421
00422 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( destroyLight, ,(ParamString(L,2)) );
00423 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( destroyLight,2 ,(ParamLight(L,2)) );
00424 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( destroyAllLights, ,() );
00425 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( _notifyLightsDirty, ,() );
00426 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, _getLightsDirtyCounter, ,() );
00427
00428
00429 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushSceneNode, createSceneNode, ,() );
00430 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushSceneNode, createSceneNode,2 ,(ParamString(L,2)) );
00431 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( destroySceneNode, ,(ParamString(L,2)) );
00432 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( destroySceneNode,2 ,(ParamSceneNode(L,2)) );
00433 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushSceneNode, getRootSceneNode, ,() );
00434 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushSceneNode, getSceneNode, ,(ParamString(L,2)) );
00435 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, hasSceneNode, ,(ParamString(L,2)) );
00436 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushEntity, createEntity, ,(ParamString(L,2),ParamString(L,3)) );
00437
00438
00439 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushEntity, getEntity, ,(ParamString(L,2)) );
00440 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, hasEntity, ,(ParamString(L,2)) );
00441 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( destroyEntity, ,(ParamEntity(L,2)) );
00442 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( destroyEntity,2 ,(ParamString(L,2)) );
00443 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( destroyAllEntities, ,() );
00444
00445
00446 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, hasManualObject, ,(ParamString(L,2)) );
00447
00448 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( destroyManualObject,2 ,(ParamString(L,2)) );
00449 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( destroyAllManualObjects, ,() );
00450
00451
00452 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, hasBillboardChain, ,(ParamString(L,2)) );
00453
00454 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( destroyBillboardChain,2 ,(ParamString(L,2)) );
00455 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( destroyAllBillboardChains, ,() );
00456
00457
00458 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, hasRibbonTrail, ,(ParamString(L,2)) );
00459
00460 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( destroyRibbonTrail,2 ,(ParamString(L,2)) );
00461 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( destroyAllRibbonTrails, ,() );
00462
00463
00464
00465 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, hasParticleSystem, ,(ParamString(L,2)) );
00466
00467 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( destroyParticleSystem,2 ,(ParamString(L,2)) );
00468 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( destroyAllParticleSystems, ,() );
00469 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( clearScene, ,() );
00470 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setAmbientLight, ,(ParamColourValue(L,2)) );
00471 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushColourValue, getAmbientLight, ,() );
00472 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( prepareWorldGeometry, ,(ParamString(L,2)) );
00473
00474 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setWorldGeometry, ,(ParamString(L,2)) );
00475
00476 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, estimateWorldGeometry, ,(ParamString(L,2)) );
00477
00478
00479
00480
00481 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, hasOption, ,(ParamString(L,2)) );
00482
00483
00484 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( _updateSceneGraph, ,(ParamCamera(L,2)) );
00485
00486 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( _applySceneAnimations, ,() );
00487 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( _renderVisibleObjects, ,() );
00488 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( _renderScene, ,(ParamCamera(L,2),ParamViewport(L,3),ParamBool(L,4)) );
00489 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( _queueSkiesForRendering, ,(ParamCamera(L,2)) );
00490
00491
00492
00493 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, isSkyPlaneEnabled, ,() );
00494 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushSceneNode, getSkyPlaneNode, ,() );
00495
00496 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setSkyBox, ,(ParamBool(L,2),ParamString(L,3),ParamNumber(L,4),ParamBool(L,5),ParamQuaternion(L,6),ParamString(L,7)) );
00497 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( _setSkyBox, ,(ParamBool(L,2),ParamString(L,3),ParamNumber(L,4),ParamInt(L,5),ParamQuaternion(L,6),ParamString(L,7)) );
00498 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, isSkyBoxEnabled, ,() );
00499 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushSceneNode, getSkyBoxNode, ,() );
00500
00501 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setSkyDome, ,(ParamBool(L,2),ParamString(L,3),ParamNumber(L,4),ParamNumber(L,5),ParamNumber(L,6),ParamBool(L,7),ParamQuaternion(L,8),ParamInt(L,9),ParamInt(L,10),ParamInt(L,11),ParamString(L,12)) );
00502 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( _setSkyDome, ,(ParamBool(L,2),ParamString(L,3),ParamNumber(L,4),ParamNumber(L,5),ParamNumber(L,6),ParamInt(L,7),ParamQuaternion(L,8),ParamInt(L,9),ParamInt(L,10),ParamInt(L,11),ParamString(L,12)) );
00503 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, isSkyDomeEnabled, ,() );
00504 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushSceneNode, getSkyDomeNode, ,() );
00505
00506 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setFog, ,(ParamFogMode(L,2),ParamColourValue(L,3),ParamNumber(L,4),ParamNumber(L,5),ParamNumber(L,6)) );
00507 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getFogMode, ,() );
00508 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushColourValue, getFogColour, ,() );
00509 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getFogStart, ,() );
00510 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getFogEnd, ,() );
00511 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getFogDensity, ,() );
00512
00513
00514 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, hasBillboardSet, ,(ParamString(L,2)) );
00515
00516 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( destroyBillboardSet,2 ,(ParamString(L,2)) );
00517 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( destroyAllBillboardSets, ,() );
00518 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setDisplaySceneNodes, ,(ParamBool(L,2)) );
00519 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, getDisplaySceneNodes, ,() );
00520 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushAnimation, createAnimation, ,(ParamString(L,2),ParamNumber(L,3)) );
00521 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushAnimation, getAnimation, ,(ParamString(L,2)) );
00522 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, hasAnimation, ,(ParamString(L,2)) );
00523 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( destroyAnimation, ,(ParamString(L,2)) );
00524 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( destroyAllAnimations, ,() );
00525 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushAnimationState, createAnimationState, ,(ParamString(L,2)) );
00526 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushAnimationState, getAnimationState, ,(ParamString(L,2)) );
00527 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, hasAnimationState, ,(ParamString(L,2)) );
00528 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( destroyAnimationState, ,(ParamString(L,2)) );
00529 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( destroyAllAnimationStates, ,() );
00530
00531 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushRenderQueue, getRenderQueue, ,() );
00532
00533
00534 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( addSpecialCaseRenderQueue, ,(ParamInt(L,2)) );
00535 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( removeSpecialCaseRenderQueue, ,(ParamInt(L,2)) );
00536 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( clearSpecialCaseRenderQueues, ,() );
00537 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setSpecialCaseRenderQueueMode, ,(ParamSpecialCaseRenderQueueMode(L,2)) );
00538 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getSpecialCaseRenderQueueMode, ,() );
00539 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, isRenderQueueToBeProcessed, ,(ParamInt(L,2)) );
00540 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setWorldGeometryRenderQueue, ,(ParamInt(L,2)) );
00541 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getWorldGeometryRenderQueue, ,() );
00542 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( showBoundingBoxes, ,(ParamBool(L,2)) );
00543 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, getShowBoundingBoxes, ,() );
00544 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( _notifyAutotrackingSceneNode, ,(ParamSceneNode(L,2),ParamBool(L,3)) );
00545
00546
00547
00548
00549
00550
00551
00552
00553
00554
00555
00556 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setShadowTechnique, ,(ParamShadowTechnique(L,2)) );
00557 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getShadowTechnique, ,() );
00558 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setShowDebugShadows, ,(ParamBool(L,2)) );
00559 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, getShowDebugShadows, ,() );
00560 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setShadowColour, ,(ParamColourValue(L,2)) );
00561 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushColourValue, getShadowColour, ,() );
00562 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setShadowDirectionalLightExtrusionDistance, ,(ParamNumber(L,2)) );
00563 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getShadowDirectionalLightExtrusionDistance, ,() );
00564 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setShadowFarDistance, ,(ParamNumber(L,2)) );
00565 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getShadowFarDistance, ,() );
00566 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getShadowFarDistanceSquared, ,() );
00567 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setShadowIndexBufferSize, ,(ParamInt(L,2)) );
00568 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getShadowIndexBufferSize, ,() );
00569 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setShadowTextureSize, ,(ParamInt(L,2)) );
00570 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setShadowTextureConfig, ,(ParamInt(L,2),ParamInt(L,3),ParamInt(L,4),ParamPixelFormat(L,5)) );
00571
00572
00573 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setShadowTexturePixelFormat, ,(ParamPixelFormat(L,2)) );
00574 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setShadowTextureCount, ,(ParamInt(L,2)) );
00575 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getShadowTextureCount, ,() );
00576 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setShadowTextureCountPerLightType, ,(ParamLightTypes(L,2),ParamInt(L,3)) );
00577 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getShadowTextureCountPerLightType, ,(ParamLightTypes(L,2)) );
00578 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setShadowTextureSettings, ,(ParamInt(L,2),ParamInt(L,3),ParamPixelFormat(L,4)) );
00579 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushTexturePtr, getShadowTexture, ,(ParamInt(L,2)) );
00580 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setShadowDirLightTextureOffset, ,(ParamNumber(L,2)) );
00581 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getShadowDirLightTextureOffset, ,() );
00582 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setShadowTextureFadeStart, ,(ParamNumber(L,2)) );
00583 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setShadowTextureFadeEnd, ,(ParamNumber(L,2)) );
00584 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setShadowTextureSelfShadow, ,(ParamBool(L,2)) );
00585 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, getShadowTextureSelfShadow, ,() );
00586 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setShadowTextureCasterMaterial, ,(ParamString(L,2)) );
00587 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setShadowTextureReceiverMaterial, ,(ParamString(L,2)) );
00588 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setShadowCasterRenderBackFaces, ,(ParamBool(L,2)) );
00589 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, getShadowCasterRenderBackFaces, ,() );
00590
00591
00592 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setShadowUseInfiniteFarPlane, ,(ParamBool(L,2)) );
00593 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, isShadowTechniqueStencilBased, ,() );
00594 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, isShadowTechniqueTextureBased, ,() );
00595 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, isShadowTechniqueModulative, ,() );
00596 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, isShadowTechniqueAdditive, ,() );
00597 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, isShadowTechniqueIntegrated, ,() );
00598 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, isShadowTechniqueInUse, ,() );
00599 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setShadowUseLightClipPlanes, ,(ParamBool(L,2)) );
00600 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, getShadowUseLightClipPlanes, ,() );
00601
00602
00603
00604
00605 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, hasStaticGeometry, ,(ParamString(L,2)) );
00606
00607 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( destroyStaticGeometry,2 ,(ParamString(L,2)) );
00608 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( destroyAllStaticGeometry, ,() );
00609
00610
00611
00612 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( destroyInstancedGeometry,2 ,(ParamString(L,2)) );
00613 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( destroyAllInstancedGeometry, ,() );
00614
00615 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( destroyMovableObject, ,(ParamString(L,2),ParamString(L,3)) );
00616 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( destroyMovableObject,2 ,(ParamMovableObject(L,2)) );
00617 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( destroyAllMovableObjectsByType, ,(ParamString(L,2)) );
00618 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( destroyAllMovableObjects, ,() );
00619 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushMovableObject, getMovableObject, ,(ParamString(L,2),ParamString(L,3)) );
00620 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, hasMovableObject, ,(ParamString(L,2),ParamString(L,3)) );
00621
00622
00623 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( injectMovableObject, ,(ParamMovableObject(L,2)) );
00624 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( extractMovableObject, ,(ParamString(L,2),ParamString(L,3)) );
00625 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( extractMovableObject,2 ,(ParamMovableObject(L,2)) );
00626 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( extractAllMovableObjectsByType, ,(ParamString(L,2)) );
00627 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setVisibilityMask, ,(ParamInt(L,2)) );
00628 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getVisibilityMask, ,() );
00629 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, _getCombinedVisibilityMask, ,() );
00630 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setFindVisibleObjects, ,(ParamBool(L,2)) );
00631 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, getFindVisibleObjects, ,() );
00632 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setNormaliseNormalsOnScale, ,(ParamBool(L,2)) );
00633 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, getNormaliseNormalsOnScale, ,() );
00634 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setFlipCullingOnNegativeScale, ,(ParamBool(L,2)) );
00635 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, getFlipCullingOnNegativeScale, ,() );
00636
00637 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( _suppressRenderStateChanges, ,(ParamBool(L,2)) );
00638 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, _areRenderStateChangesSuppressed, ,() );
00639
00640 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( _suppressShadows, ,(ParamBool(L,2)) );
00641 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, _areShadowsSuppressed, ,() );
00642
00643
00644
00645
00646 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushViewport, getCurrentViewport, ,() );
00647
00648
00649 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setCameraRelativeRendering, ,(ParamBool(L,2)) );
00650 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, getCameraRelativeRendering, ,() );
00651
00652 LUABIND_PrefixConstant(Ogre::SceneManager,SCRQM_INCLUDE)
00653 LUABIND_PrefixConstant(Ogre::SceneManager,SCRQM_EXCLUDE)
00654 LUABIND_PrefixConstant(Ogre::SceneManager,PT_PLANE)
00655 LUABIND_PrefixConstant(Ogre::SceneManager,PT_CUBE)
00656 LUABIND_PrefixConstant(Ogre::SceneManager,PT_SPHERE)
00657 LUABIND_PrefixConstant(Ogre::SceneManager,IRS_NONE)
00658 LUABIND_PrefixConstant(Ogre::SceneManager,IRS_RENDER_TO_TEXTURE)
00659 LUABIND_PrefixConstant(Ogre::SceneManager,IRS_RENDER_RECEIVER_PASS)
00660
00661 }
00662 virtual const char* GetLuaTypeName () { return "lugre.ogre.SceneManager"; }
00663 };
00664
00665 class cLugreLuaBind_Ogre_Frustum : public cLuaBindDirect<Ogre::Frustum>, public cLuaBindDirectOgreHelper { public:
00666 virtual void RegisterMethods (lua_State *L) { PROFILE
00667 LUABIND_QUICKWRAP(CastToMovable, { return PushMovableObject(L,&GetSelf(L)); });
00668 LUABIND_QUICKWRAP(CastToRenderable, { return PushRenderable(L,&GetSelf(L)); });
00669
00670
00671
00672 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setFOVy, ,(ParamRadian(L,2)) );
00673 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushRadian, getFOVy, ,() );
00674 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setNearClipDistance, ,(ParamNumber(L,2)) );
00675 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getNearClipDistance, ,() );
00676 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setFarClipDistance, ,(ParamNumber(L,2)) );
00677 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getFarClipDistance, ,() );
00678 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setAspectRatio, ,(ParamNumber(L,2)) );
00679 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getAspectRatio, ,() );
00680 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setFrustumOffset, ,(ParamVector2(L,2)) );
00681 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setFrustumOffset,2 ,(ParamNumber(L,2),ParamNumber(L,3)) );
00682 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushVector2, getFrustumOffset, ,() );
00683 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setFocalLength, ,(ParamNumber(L,2)) );
00684 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getFocalLength, ,() );
00685 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setFrustumExtents, ,(ParamNumber(L,2),ParamNumber(L,3),ParamNumber(L,4),ParamNumber(L,5)) );
00686 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( resetFrustumExtents, ,() );
00687
00688 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushMatrix4, getProjectionMatrixRS, ,() );
00689 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushMatrix4, getProjectionMatrixWithRSDepth, ,() );
00690 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushMatrix4, getProjectionMatrix, ,() );
00691 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushMatrix4, getViewMatrix, ,() );
00692
00693 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setCustomViewMatrix, ,(ParamBool(L,2),ParamMatrix4(L,3)) );
00694 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, isCustomViewMatrixEnabled, ,() );
00695 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setCustomProjectionMatrix, ,(ParamBool(L,2),ParamMatrix4(L,3)) );
00696 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, isCustomProjectionMatrixEnabled, ,() );
00697
00698
00699
00700
00701
00702 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getTypeFlags, ,() );
00703 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushAxisAlignedBox, getBoundingBox, ,() );
00704 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getBoundingRadius, ,() );
00705 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( _updateRenderQueue, ,(ParamRenderQueue(L,2)) );
00706 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushString, getMovableType, ,() );
00707 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( _notifyCurrentCamera, ,(ParamCamera(L,2)) );
00708
00709 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( getRenderOperation, ,(ParamByRefRenderOperation(L,2)) );
00710
00711 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getSquaredViewDepth, ,(ParamCamera(L,2)) );
00712
00713
00714 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setProjectionType, ,(ParamProjectionType(L,2)) );
00715 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getProjectionType, ,() );
00716 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setOrthoWindow, ,(ParamNumber(L,2),ParamNumber(L,3)) );
00717 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setOrthoWindowHeight, ,(ParamNumber(L,2)) );
00718 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setOrthoWindowWidth, ,(ParamNumber(L,2)) );
00719 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getOrthoWindowHeight, ,() );
00720 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getOrthoWindowWidth, ,() );
00721
00722
00723 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( disableReflection, ,() );
00724 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, isReflected, ,() );
00725 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushMatrix4, getReflectionMatrix, ,() );
00726
00727
00728
00729
00730 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( disableCustomNearClipPlane, ,() );
00731 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, isCustomNearClipPlaneEnabled, ,() );
00732
00733
00734 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushVector3, getPositionForViewUpdate, ,() );
00735 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushQuaternion, getOrientationForViewUpdate, ,() );
00736
00737 }
00738 virtual const char* GetLuaTypeName () { return "lugre.ogre.Frustum"; }
00739 };
00740
00741 class cLugreLuaBind_Ogre_Camera : public cLuaBindDirect<Ogre::Camera>, public cLuaBindDirectOgreHelper { public:
00742 virtual void RegisterMethods (lua_State *L) { PROFILE
00743 LUABIND_DIRECTWRAP_BASECLASS(Ogre::Frustum);
00744
00745
00746
00747 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushSceneManager, getSceneManager, ,() );
00748 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushString, getName, ,() );
00749 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setPolygonMode, ,(ParamPolygonMode(L,2)) );
00750 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getPolygonMode, ,() );
00751 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setPosition, ,(ParamNumber(L,2),ParamNumber(L,3),ParamNumber(L,4)) );
00752 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setPosition,2 ,(ParamVector3(L,2)) );
00753 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushVector3, getPosition, ,() );
00754 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( move, ,(ParamVector3(L,2)) );
00755 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( moveRelative, ,(ParamVector3(L,2)) );
00756 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setDirection, ,(ParamNumber(L,2),ParamNumber(L,3),ParamNumber(L,4)) );
00757 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setDirection,2 ,(ParamVector3(L,2)) );
00758 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushVector3, getDirection, ,() );
00759 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushVector3, getUp, ,() );
00760 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushVector3, getRight, ,() );
00761 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( lookAt, ,(ParamVector3(L,2)) );
00762 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( lookAt,2 ,(ParamNumber(L,2),ParamNumber(L,3),ParamNumber(L,4)) );
00763 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( roll, ,(ParamRadian(L,2)) );
00764 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( yaw, ,(ParamRadian(L,2)) );
00765 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( pitch, ,(ParamRadian(L,2)) );
00766 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( rotate, ,(ParamVector3(L,2),ParamRadian(L,3)) );
00767 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( rotate,2 ,(ParamQuaternion(L,2)) );
00768 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setFixedYawAxis, ,(ParamBool(L,2),ParamVector3(L,3)) );
00769 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushQuaternion, getOrientation, ,() );
00770 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setOrientation, ,(ParamQuaternion(L,2)) );
00771 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( _renderScene, ,(ParamViewport(L,2),ParamBool(L,3)) );
00772
00773 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( _notifyRenderedFaces, ,(ParamInt(L,2)) );
00774 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( _notifyRenderedBatches, ,(ParamInt(L,2)) );
00775 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, _getNumRenderedFaces, ,() );
00776 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, _getNumRenderedBatches, ,() );
00777 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushQuaternion, getDerivedOrientation, ,() );
00778 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushVector3, getDerivedPosition, ,() );
00779 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushVector3, getDerivedDirection, ,() );
00780 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushVector3, getDerivedUp, ,() );
00781 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushVector3, getDerivedRight, ,() );
00782 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushQuaternion, getRealOrientation, ,() );
00783 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushVector3, getRealPosition, ,() );
00784 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushVector3, getRealDirection, ,() );
00785 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushVector3, getRealUp, ,() );
00786 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushVector3, getRealRight, ,() );
00787
00788 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setAutoTracking, ,(ParamBool(L,2),ParamSceneNode(L,3),ParamVector3(L,4)) );
00789 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setLodBias, ,(ParamNumber(L,2)) );
00790 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getLodBias, ,() );
00791 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setLodCamera, ,(ParamCamera(L,2)) );
00792
00793
00794
00795
00796
00797 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, _getLodBiasInverse, ,() );
00798 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( _autoTrack, ,() );
00799 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setWindow, ,(ParamNumber(L,2),ParamNumber(L,3),ParamNumber(L,4),ParamNumber(L,5)) );
00800 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( resetWindow, ,() );
00801 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, isWindowSet, ,() );
00802
00803
00804 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushSceneNode, getAutoTrackTarget, ,() );
00805 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushVector3, getAutoTrackOffset, ,() );
00806 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushViewport, getViewport, ,() );
00807 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( _notifyViewport, ,(ParamViewport(L,2)) );
00808 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setAutoAspectRatio, ,(ParamBool(L,2)) );
00809 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, getAutoAspectRatio, ,() );
00810 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setCullingFrustum, ,(ParamFrustum(L,2)) );
00811 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushFrustum, getCullingFrustum, ,() );
00812
00813
00814
00815
00816
00817
00818
00819
00820
00821
00822 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushMatrix4, getViewMatrix, ,(ParamBool(L,2)) );
00823 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setUseRenderingDistance, ,(ParamBool(L,2)) );
00824 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, getUseRenderingDistance, ,() );
00825 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( synchroniseBaseSettingsWith, ,(ParamCamera(L,2)) );
00826
00827
00828
00829 }
00830 virtual const char* GetLuaTypeName () { return "lugre.ogre.Camera"; }
00831 };
00832
00833 class cLugreLuaBind_Ogre_SceneNode : public cLuaBindDirect<Ogre::SceneNode>, public cLuaBindDirectOgreHelper { public:
00834 virtual void RegisterMethods (lua_State *L) { PROFILE
00835 LUABIND_DIRECTWRAP_BASECLASS(Ogre::Node);
00836
00837 LUABIND_DIRECTWRAP_BASECLASS(Ogre::Renderable);
00838
00839
00840
00841
00842
00843
00844
00845 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( attachObject, ,(ParamMovableObject(L,2)) );
00846 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, numAttachedObjects, ,() );
00847 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushMovableObject, getAttachedObject, ,(ParamInt(L,2)) );
00848 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushMovableObject, getAttachedObject,2 ,(ParamString(L,2)) );
00849 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushMovableObject, detachObject, ,(ParamInt(L,2)) );
00850 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( detachObject,2 ,(ParamMovableObject(L,2)) );
00851 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushMovableObject, detachObject,3 ,(ParamString(L,2)) );
00852 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( detachAllObjects, ,() );
00853 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, isInSceneGraph, ,() );
00854 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( _notifyRootNode, ,() );
00855
00856 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( _updateBounds, ,() );
00857
00858 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushAxisAlignedBox, _getWorldAABB, ,() );
00859
00860
00861 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushSceneManager, getCreator, ,() );
00862 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( removeAndDestroyChild, ,(ParamString(L,2)) );
00863 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( removeAndDestroyChild,2 ,(ParamInt(L,2)) );
00864 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( removeAndDestroyAllChildren, ,() );
00865 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( showBoundingBox, ,(ParamBool(L,2)) );
00866 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( _addBoundingBoxToQueue, ,(ParamRenderQueue(L,2)) );
00867 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, getShowBoundingBox, ,() );
00868 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushSceneNode, createChildSceneNode, ,(ParamVector3(L,2),ParamQuaternion(L,3)) );
00869 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushSceneNode, createChildSceneNode,2 ,(ParamString(L,2),ParamVector3(L,3),ParamQuaternion(L,4)) );
00870
00871 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setFixedYawAxis, ,(ParamBool(L,2),ParamVector3(L,3)) );
00872
00873 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setDirection, ,(ParamNumber(L,2),ParamNumber(L,3),ParamNumber(L,4),ParamTransformSpace(L,5),ParamVector3(L,6)) );
00874 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setDirection,2 ,(ParamVector3(L,2),ParamTransformSpace(L,3),ParamVector3(L,4)) );
00875 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( lookAt, ,(ParamVector3(L,2),ParamTransformSpace(L,3),ParamVector3(L,4)) );
00876 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setAutoTracking, ,(ParamBool(L,2),ParamSceneNode(L,3),ParamVector3(L,4),ParamVector3(L,5)) );
00877 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushSceneNode, getAutoTrackTarget, ,() );
00878 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushVector3, getAutoTrackOffset, ,() );
00879 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushVector3, getAutoTrackLocalDirection, ,() );
00880 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( _autoTrack, ,() );
00881 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushSceneNode, getParentSceneNode, ,() );
00882 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setVisible, ,(ParamBool(L,2),ParamBool(L,3)) );
00883 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( flipVisibility, ,(ParamBool(L,2)) );
00884 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setDebugDisplayEnabled, ,(ParamBool(L,2),ParamBool(L,3)) );
00885
00886 }
00887 virtual const char* GetLuaTypeName () { return "lugre.ogre.SceneNode"; }
00888 };
00889
00890 class cLugreLuaBind_Ogre_VertexData : public cLuaBindDirect<Ogre::VertexData>, public cLuaBindDirectOgreHelper { public:
00891 virtual void RegisterMethods (lua_State *L) { PROFILE
00892
00893 LUABIND_QUICKWRAP_STATIC( CreateVertexData, { return CreateUData(L,new Ogre::VertexData()); });
00894 LUABIND_QUICKWRAP( Destroy, { delete checkudata_alive(L); });
00895
00896 LUABIND_QUICKWRAP( setVertexStart, { GetSelf(L).vertexStart = ParamInt(L,2); });
00897 LUABIND_QUICKWRAP( setVertexCount, { GetSelf(L).vertexCount = ParamInt(L,2); });
00898
00899 LUABIND_QUICKWRAP( getVertexStart, { return PushNumber(L,GetSelf(L).vertexStart); });
00900 LUABIND_QUICKWRAP( getVertexCount, { return PushNumber(L,GetSelf(L).vertexCount); });
00901
00902 LUABIND_QUICKWRAP( getVertexDecl, { return cLuaBindDirect<Ogre::VertexDeclaration>::CreateUData(L,GetSelf(L).vertexDeclaration); });
00903 LUABIND_QUICKWRAP( setVertexDecl, {
00904 Ogre::VertexData& vd = GetSelf(L);
00905 Ogre::VertexDeclaration* oldDcl = vd.vertexDeclaration;
00906 vd.vertexDeclaration = cLuaBindDirect<Ogre::VertexDeclaration>::checkudata_alive(L,2);
00907 if (oldDcl) Ogre::HardwareBufferManager::getSingleton().destroyVertexDeclaration(oldDcl);
00908 });
00909
00910
00911 LUABIND_QUICKWRAP( createAndBindVertexBuffer, {
00912 Ogre::HardwareVertexBufferSharedPtr vbuf = Ogre::HardwareBufferManager::getSingleton().createVertexBuffer(
00913 ParamInt(L,2),
00914 ParamInt(L,3),
00915 (Ogre::HardwareBuffer::Usage)ParamInt(L,4),
00916 ParamBoolDefault(L,5,false)
00917 );
00918 GetSelf(L).vertexBufferBinding->setBinding(ParamIntDefault(L,6,0),vbuf);
00919 });
00920
00921
00922
00923
00924 LUABIND_QUICKWRAP( writeToVertexBuffer, {
00925 Ogre::VertexData& vd = GetSelf(L);
00926 HardwareVertexBufferSharedPtr vbuf = vd.vertexBufferBinding->getBuffer(ParamIntDefault(L,3,0));
00927 if (vbuf.isNull()) return 0;
00928 cFIFO& fifo = *cLuaBind<cFIFO>::checkudata_alive(L,2);
00929 if (1) {
00930 int a = fifo.size();
00931 int b = vd.vertexCount * vbuf->getVertexSize();
00932 if (a != b) return luaL_error(L,"writeToVertexBuffer size mismatch fifo:%d <> calc:%d\n",a,b);
00933 }
00934
00935 vbuf->writeData(0,fifo.size(),fifo.HackGetRawReader(),true);
00936 });
00937
00938
00939 LUABIND_QUICKWRAP( writeToVertexBufferPart, {
00940 Ogre::VertexData& vd = GetSelf(L);
00941 HardwareVertexBufferSharedPtr vbuf = vd.vertexBufferBinding->getBuffer(ParamIntDefault(L,5,0));
00942 if (vbuf.isNull()) return 0;
00943 cFIFO& fifo = *cLuaBind<cFIFO>::checkudata_alive(L,2);
00944 int iVBufOffset = ParamInt(L,3);
00945 int iFifoSize = fifo.size();
00946 int iWriteSize = mymin(iFifoSize,mymax(0,ParamIntDefault(L,4,iFifoSize)));
00947 if (iVBufOffset + iWriteSize > vbuf->getSizeInBytes()) return luaL_error(L,"writeToVertexBufferPart overflow %d+%d > bufsize=%d\n",iVBufOffset,iWriteSize,(int)vbuf->getSizeInBytes());
00948
00949 vbuf->writeData(iVBufOffset,iWriteSize,fifo.HackGetRawReader(),false);
00950 });
00951
00952
00953
00954
00955
00956
00957
00958
00959
00960
00961
00962
00963 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushVertexData, clone, ,(ParamBool(L,2)) );
00964 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( prepareForShadowVolume, ,() );
00965
00966
00967 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( reorganiseBuffers,2 ,(ParamVertexDeclaration(L,2)) );
00968 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( closeGapsInBindings, ,() );
00969 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( removeUnusedBuffers, ,() );
00970
00971 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( allocateHardwareAnimationElements, ,(ParamInt(L,2)) );
00972
00973 }
00974 virtual const char* GetLuaTypeName () { return "lugre.ogre.VertexData"; }
00975 };
00976
00977 class cLugreLuaBind_Ogre_IndexData : public cLuaBindDirect<Ogre::IndexData>, public cLuaBindDirectOgreHelper { public:
00978 virtual void RegisterMethods (lua_State *L) { PROFILE
00979
00980 LUABIND_QUICKWRAP_STATIC( CreateIndexData, { return CreateUData(L,new Ogre::IndexData()); });
00981 LUABIND_QUICKWRAP( Destroy, { delete checkudata_alive(L); });
00982
00983 LUABIND_QUICKWRAP( setIndexStart, { GetSelf(L).indexStart = ParamInt(L,2); });
00984 LUABIND_QUICKWRAP( setIndexCount, { GetSelf(L).indexCount = ParamInt(L,2); });
00985
00986 LUABIND_QUICKWRAP( getIndexStart, { return PushNumber(L,GetSelf(L).indexStart); });
00987 LUABIND_QUICKWRAP( getIndexCount, { return PushNumber(L,GetSelf(L).indexCount); });
00988
00989
00990 LUABIND_QUICKWRAP( createAndBindIndexBuffer, {
00991 GetSelf(L).indexBuffer =
00992 Ogre::HardwareBufferManager::getSingleton().createIndexBuffer(
00993 (Ogre::HardwareIndexBuffer::IndexType)ParamInt(L,2),
00994 ParamInt(L,3),
00995 (Ogre::HardwareBuffer::Usage)ParamInt(L,4),
00996 ParamBoolDefault(L,5,false)
00997 );
00998 });
00999
01000
01001 LUABIND_QUICKWRAP( writeToIndexBuffer, {
01002 Ogre::IndexData& id = GetSelf(L);
01003 cFIFO& fifo = *cLuaBind<cFIFO>::checkudata_alive(L,2);
01004 if (1) {
01005 int a = fifo.size();
01006 int b = id.indexCount * id.indexBuffer->getIndexSize();
01007 if (a != b) return luaL_error(L,"writeToIndexBuffer size mismatch fifo:%d <> calc:%d\n",a,b);
01008 }
01009 id.indexBuffer->writeData(0,fifo.size(),fifo.HackGetRawReader(),true);
01010 });
01011
01012
01013
01014 LUABIND_QUICKWRAP( writeToIndexBufferPart, {
01015 Ogre::IndexData& id = GetSelf(L);
01016 cFIFO& fifo = *cLuaBind<cFIFO>::checkudata_alive(L,2);
01017 int iVBufOffset = ParamInt(L,3);
01018 int iFifoSize = fifo.size();
01019 int iWriteSize = mymin(iFifoSize,mymax(0,ParamIntDefault(L,4,iFifoSize)));
01020 if (iVBufOffset + iWriteSize > id.indexBuffer->getSizeInBytes()) return luaL_error(L,"writeToIndexBufferPart overflow %d+%d > bufsize=%d\n",iVBufOffset,iWriteSize,(int)id.indexBuffer->getSizeInBytes());
01021
01022 id.indexBuffer->writeData(iVBufOffset,iWriteSize,fifo.HackGetRawReader(),false);
01023 });
01024
01025
01026
01027
01028
01029
01030 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushIndexData, clone, ,(ParamBool(L,2)) );
01031 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( optimiseVertexCacheTriList, ,() );
01032
01033 }
01034 virtual const char* GetLuaTypeName () { return "lugre.ogre.IndexData"; }
01035 };
01036
01037 class cLugreLuaBind_Ogre_Skeleton : public cLuaBindDirect<Ogre::Skeleton>, public cLuaBindDirectOgreHelper { public:
01038 virtual void RegisterMethods (lua_State *L) { PROFILE
01039 LUABIND_DIRECTWRAP_BASECLASS(Ogre::Resource);
01040
01042 LUABIND_QUICKWRAP_STATIC(SkeletonManager_load, {
01043 try {
01044 Ogre::SkeletonPtr pSkeleton = Ogre::SkeletonManager::getSingleton().load(ParamString(L,1),Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME);
01045 return CreateUData(L,pSkeleton.getPointer());
01046 } catch (Ogre::Exception& e) { return 0; }
01047 });
01048
01050 LUABIND_QUICKWRAP_STATIC(SkeletonManager_create, {
01051 try {
01052 Ogre::SkeletonPtr pSkeleton = Ogre::SkeletonManager::getSingleton().create(ParamString(L,1),Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME,true);
01053 return CreateUData(L,pSkeleton.getPointer());
01054 } catch (Ogre::Exception& e) { return 0; }
01055 });
01056
01057
01058
01059 LUABIND_QUICKWRAP( SearchBoneByName, {
01060 return PushBone(L,cOgreWrapper::SearchBoneByName(GetSelf(L),ParamString(L,2).c_str()));
01061 });
01062
01063
01064
01065 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBone, createBone, ,() );
01066 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBone, createBone,2 ,(ParamInt(L,2)) );
01067 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBone, createBone,3 ,(ParamString(L,2)) );
01068 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBone, createBone,4 ,(ParamString(L,2),ParamInt(L,3)) );
01069 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getNumBones, ,() );
01070 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBone, getRootBone, ,() );
01071
01072
01073
01074
01075 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBone, getBone, ,(ParamInt(L,2)) );
01076 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBone, getBone,2 ,(ParamString(L,2)) );
01077 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, hasBone, ,(ParamString(L,2)) );
01078 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setBindingPose, ,() );
01079 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( reset, ,(ParamBool(L,2)) );
01080 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushAnimation, createAnimation, ,(ParamString(L,2),ParamNumber(L,3)) );
01081
01082
01083 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, hasAnimation, ,(ParamString(L,2)) );
01084 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( removeAnimation, ,(ParamString(L,2)) );
01085
01086
01087
01088
01089 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getNumAnimations, ,() );
01090 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushAnimation, getAnimation,2 ,(ParamInt(L,2)) );
01091
01092
01093 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( _updateTransforms, ,() );
01094 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( optimiseAllAnimations, ,(ParamBool(L,2)) );
01095 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( addLinkedSkeletonAnimationSource, ,(ParamString(L,2),ParamNumber(L,3)) );
01096 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( removeAllLinkedSkeletonAnimationSources, ,() );
01097
01098
01099
01100 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( _notifyManualBonesDirty, ,() );
01101 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( _notifyManualBoneStateChange, ,(ParamBone(L,2)) );
01102 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, getManualBonesDirty, ,() );
01103 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, hasManualBones, ,() );
01104
01105
01106
01107
01108
01109 }
01110 virtual const char* GetLuaTypeName () { return "lugre.ogre.Skeleton"; }
01111 };
01112
01113 class cLugreLuaBind_Ogre_Bone : public cLuaBindDirect<Ogre::Bone>, public cLuaBindDirectOgreHelper { public:
01114 virtual void RegisterMethods (lua_State *L) { PROFILE
01115 LUABIND_DIRECTWRAP_BASECLASS(Ogre::Node);
01116
01117 LUABIND_DIRECTWRAP_BASECLASS(Ogre::Renderable);
01118
01119
01120
01121
01122 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBone, createChild, ,(ParamInt(L,2),ParamVector3(L,3),ParamQuaternion(L,4)) );
01123 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getHandle, ,() );
01124 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setBindingPose, ,() );
01125 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( reset, ,() );
01126 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setManuallyControlled, ,(ParamBool(L,2)) );
01127 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, isManuallyControlled, ,() );
01128
01129 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushVector3, _getBindingPoseInverseScale, ,() );
01130 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushVector3, _getBindingPoseInversePosition, ,() );
01131 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushQuaternion, _getBindingPoseInverseOrientation, ,() );
01132
01133
01134 }
01135 virtual const char* GetLuaTypeName () { return "lugre.ogre.Bone"; }
01136 };
01137
01138 class cLugreLuaBind_Ogre_Animation : public cLuaBindDirect<Ogre::Animation>, public cLuaBindDirectOgreHelper { public:
01139 virtual void RegisterMethods (lua_State *L) { PROFILE
01140
01141
01142
01143
01144 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushString, getName, ,() );
01145 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getLength, ,() );
01146 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setLength, ,(ParamNumber(L,2)) );
01147 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNodeAnimationTrack, createNodeTrack, ,(ParamInt(L,2)) );
01148
01149
01150 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNodeAnimationTrack, createNodeTrack,2 ,(ParamInt(L,2),ParamNode(L,3)) );
01151
01152
01153 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getNumNodeTracks, ,() );
01154 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNodeAnimationTrack, getNodeTrack, ,(ParamInt(L,2)) );
01155 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, hasNodeTrack, ,(ParamInt(L,2)) );
01156 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getNumNumericTracks, ,() );
01157
01158 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, hasNumericTrack, ,(ParamInt(L,2)) );
01159 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getNumVertexTracks, ,() );
01160
01161 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, hasVertexTrack, ,(ParamInt(L,2)) );
01162 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( destroyNodeTrack, ,(ParamInt(L,2)) );
01163 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( destroyNumericTrack, ,(ParamInt(L,2)) );
01164 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( destroyVertexTrack, ,(ParamInt(L,2)) );
01165 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( destroyAllTracks, ,() );
01166 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( destroyAllNodeTracks, ,() );
01167 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( destroyAllNumericTracks, ,() );
01168 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( destroyAllVertexTracks, ,() );
01169 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( apply, ,(ParamNumber(L,2),ParamNumber(L,3),ParamNumber(L,4)) );
01170 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( apply,2 ,(ParamSkeleton(L,2),ParamNumber(L,3),ParamNumber(L,4),ParamNumber(L,5)) );
01171
01172 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( apply,4 ,(ParamEntity(L,2),ParamNumber(L,3),ParamNumber(L,4),ParamBool(L,5),ParamBool(L,6)) );
01173
01174
01175
01176
01177
01178
01179
01180
01181
01182
01183
01184
01185
01186
01187
01188
01189
01190
01191
01192
01193 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( optimise, ,(ParamBool(L,2)) );
01194
01195
01196
01197 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushAnimation, clone, ,(ParamString(L,2)) );
01198 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( _keyFrameListChanged, ,() );
01199
01200
01201 LUABIND_PrefixConstant(Ogre::Animation,IM_LINEAR)
01202 LUABIND_PrefixConstant(Ogre::Animation,IM_SPLINE)
01203 LUABIND_PrefixConstant(Ogre::Animation,RIM_LINEAR)
01204 LUABIND_PrefixConstant(Ogre::Animation,RIM_SPHERICAL)
01205 }
01206 virtual const char* GetLuaTypeName () { return "lugre.ogre.Animation"; }
01207 };
01208
01209 class cLugreLuaBind_Ogre_Mesh : public cLuaBindDirect<Ogre::Mesh>, public cLuaBindDirectOgreHelper { public:
01210 virtual void RegisterMethods (lua_State *L) { PROFILE
01211 LUABIND_DIRECTWRAP_BASECLASS(Ogre::Resource);
01212
01214 LUABIND_QUICKWRAP_STATIC(MeshManager_load, { return CreateUData(L,Ogre::MeshManager::getSingleton().load(ParamString(L,1),Ogre::ResourceGroupManager::AUTODETECT_RESOURCE_GROUP_NAME).getPointer() ); });
01216 LUABIND_QUICKWRAP_STATIC(MeshManager_createManual, { return CreateUData(L,Ogre::MeshManager::getSingleton().createManual(ParamString(L,1),Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME).getPointer() ); });
01217
01219 LUABIND_QUICKWRAP_STATIC(MeshManager_resourceExists, { return PushBool(L,Ogre::MeshManager::getSingleton().resourceExists(ParamString(L,1)) ); });
01220
01221
01222
01223 LUABIND_QUICKWRAP( addBoneAssignment, {
01224 Ogre::VertexBoneAssignment o;
01225 o.vertexIndex = ParamInt(L,2);
01226 o.boneIndex = ParamInt(L,3);
01227 o.weight = ParamNumber(L,4);
01228 GetSelf(L).addBoneAssignment(o);
01229 return 0;
01230 });
01231
01232
01233 LUABIND_QUICKWRAP( enumBoneAssignment, {
01234
01235 int i=1;
01236 lua_newtable(L);
01237
01238 Ogre::Mesh::BoneAssignmentIterator itor = GetSelf(L).getBoneAssignmentIterator(); while (itor.hasMoreElements()) { size_t first = itor.peekNextKey(); Ogre::VertexBoneAssignment second = itor.peekNextValue(); itor.moveNext();
01239 lua_newtable(L);
01240
01241 PushNumber(L,first); lua_rawseti( L, -2, 1 );
01242 PushNumber(L,second.vertexIndex); lua_rawseti( L, -2, 2 );
01243 PushNumber(L,second.boneIndex); lua_rawseti( L, -2, 3 );
01244 PushNumber(L,second.weight); lua_rawseti( L, -2, 4 );
01245 lua_rawseti( L, -2, i ); ++i;
01246 }
01247 return 1;
01248 });
01249
01250
01251
01252
01253
01254
01255
01256
01257
01258 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushSubMesh, createSubMesh, ,() );
01259 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushSubMesh, createSubMesh,2 ,(ParamString(L,2)) );
01260 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( nameSubMesh, ,(ParamString(L,2),ParamInt(L,3)) );
01261 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, _getSubMeshIndex, ,(ParamString(L,2)) );
01262 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getNumSubMeshes, ,() );
01263 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushSubMesh, getSubMesh, ,(ParamInt(L,2)) );
01264 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushSubMesh, getSubMesh,2 ,(ParamString(L,2)) );
01265
01266
01267
01268
01269 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushMeshPtr, clone, ,(ParamString(L,2),ParamString(L,3)) );
01270 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushAxisAlignedBox, getBounds, ,() );
01271 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getBoundingSphereRadius, ,() );
01272 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( _setBounds, ,(ParamAxisAlignedBox(L,2),ParamBool(L,3)) );
01273 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( _setBoundingSphereRadius, ,(ParamNumber(L,2)) );
01274 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setSkeletonName, ,(ParamString(L,2)) );
01275 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, hasSkeleton, ,() );
01276 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, hasVertexAnimation, ,() );
01277 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushSkeletonPtr, getSkeleton, ,() );
01278 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushString, getSkeletonName, ,() );
01279
01280
01281
01282 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( clearBoneAssignments, ,() );
01283
01284
01285
01286
01287 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getNumLodLevels, ,() );
01288
01289 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( createManualLodLevel, ,(ParamNumber(L,2),ParamString(L,3)) );
01290 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( updateManualLodLevel, ,(ParamInt(L,2),ParamString(L,3)) );
01291 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getLodIndex, ,(ParamNumber(L,2)) );
01292 #if OGRE_VERSION < 0x10700
01293 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getLodIndexSquaredDepth, ,(ParamNumber(L,2)) );
01294 #endif
01295 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, isLodManual, ,() );
01296 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( _setLodInfo, ,(ParamInt(L,2),ParamBool(L,3)) );
01297
01298 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( _setSubMeshLodFaceList, ,(ParamInt(L,2),ParamInt(L,3),ParamIndexData(L,4)) );
01299 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( removeLodLevels, ,() );
01300
01301
01302
01303
01304 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, isVertexBufferShadowed, ,() );
01305 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, isIndexBufferShadowed, ,() );
01306
01307 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( _compileBoneAssignments, ,() );
01308 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( _updateCompiledBoneAssignments, ,() );
01309
01310
01311 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( buildEdgeList, ,() );
01312 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( freeEdgeList, ,() );
01313 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( prepareForShadowVolume, ,() );
01314
01315
01316 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, isPreparedForShadowVolumes, ,() );
01317 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, isEdgeListBuilt, ,() );
01318
01319
01320
01321
01322
01323 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setAutoBuildEdgeLists, ,(ParamBool(L,2)) );
01324 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, getAutoBuildEdgeLists, ,() );
01325
01326 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushAnimation, createAnimation, ,(ParamString(L,2),ParamNumber(L,3)) );
01327 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushAnimation, getAnimation, ,(ParamString(L,2)) );
01328 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushAnimation, _getAnimationImpl, ,(ParamString(L,2)) );
01329 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, hasAnimation, ,(ParamString(L,2)) );
01330 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( removeAnimation, ,(ParamString(L,2)) );
01331 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getNumAnimations, ,() );
01332 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushAnimation, getAnimation,2 ,(ParamInt(L,2)) );
01333 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( removeAllAnimations, ,() );
01334 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushVertexData, getVertexDataByTrackHandle, ,(ParamInt(L,2)) );
01335 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( updateMaterialForAllSubMeshes, ,() );
01336 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( _determineAnimationTypes, ,() );
01337 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, _getAnimationTypesDirty, ,() );
01338
01339 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getPoseCount, ,() );
01340
01341
01342 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( removePose, ,(ParamInt(L,2)) );
01343 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( removePose,2 ,(ParamString(L,2)) );
01344 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( removeAllPoses, ,() );
01345
01346
01347
01348
01349
01350
01351 }
01352 virtual const char* GetLuaTypeName () { return "lugre.ogre.Mesh"; }
01353 };
01354
01355 class cLugreLuaBind_Ogre_SubMesh : public cLuaBindDirect<Ogre::SubMesh>, public cLuaBindDirectOgreHelper { public:
01356 virtual void RegisterMethods (lua_State *L) { PROFILE
01357 LUABIND_QUICKWRAP( getVertexData, { return cLuaBindDirect<Ogre::VertexData>::CreateUData(L,GetSelf(L).vertexData); });
01358 LUABIND_QUICKWRAP( getIndexData, { return cLuaBindDirect<Ogre::IndexData>::CreateUData(L,GetSelf(L).indexData); });
01359 LUABIND_QUICKWRAP( setVertexData, { if (GetSelf(L).vertexData) delete GetSelf(L).vertexData; GetSelf(L).vertexData = ParamVertexData(L,2); });
01360 LUABIND_QUICKWRAP( setIndexData, { if (GetSelf(L).indexData) delete GetSelf(L).indexData; GetSelf(L).indexData = ParamIndexData(L,2); });
01361
01362 LUABIND_QUICKWRAP(setUseSharedVertices, { GetSelf(L).useSharedVertices = ParamBool(L,2); });
01363 LUABIND_QUICKWRAP(getUseSharedVertices, { return PushBool(L,GetSelf(L).useSharedVertices); });
01364
01365 LUABIND_QUICKWRAP( setOperationType, { GetSelf(L).operationType = (Ogre::RenderOperation::OperationType)ParamInt(L,2); });
01366 LUABIND_QUICKWRAP( getOperationType, { return PushNumber(L,GetSelf(L).operationType); });
01367
01368
01369 LUABIND_QUICKWRAP( addBoneAssignment, {
01370 Ogre::VertexBoneAssignment o;
01371 o.vertexIndex = ParamInt(L,2);
01372 o.boneIndex = ParamInt(L,3);
01373 o.weight = ParamNumber(L,4);
01374 GetSelf(L).addBoneAssignment(o);
01375 return 0;
01376 });
01377
01378
01379 LUABIND_QUICKWRAP( enumBoneAssignment, {
01380
01381 int i=1;
01382 lua_newtable(L);
01383
01384 Ogre::SubMesh::BoneAssignmentIterator itor = GetSelf(L).getBoneAssignmentIterator(); while (itor.hasMoreElements()) { size_t first = itor.peekNextKey(); Ogre::VertexBoneAssignment second = itor.peekNextValue(); itor.moveNext();
01385 lua_newtable(L);
01386
01387 PushNumber(L,first); lua_rawseti( L, -2, 1 );
01388 PushNumber(L,second.vertexIndex); lua_rawseti( L, -2, 2 );
01389 PushNumber(L,second.boneIndex); lua_rawseti( L, -2, 3 );
01390 PushNumber(L,second.weight); lua_rawseti( L, -2, 4 );
01391 lua_rawseti( L, -2, i ); ++i;
01392 }
01393 return 1;
01394 });
01395
01396
01397
01398
01399
01400
01401
01402
01403
01404
01405
01406
01407 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setMaterialName, ,(ParamString(L,2)) );
01408 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushString, getMaterialName, ,() );
01409 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, isMatInitialised, ,() );
01410 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( _getRenderOperation, ,(ParamByRefRenderOperation(L,2),ParamInt(L,3)) );
01411
01412 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( clearBoneAssignments, ,() );
01413
01414
01415
01416
01417 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( _compileBoneAssignments, ,() );
01418
01419
01420 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( addTextureAlias, ,(ParamString(L,2),ParamString(L,3)) );
01421 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( removeTextureAlias, ,(ParamString(L,2)) );
01422 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( removeAllTextureAliases, ,() );
01423 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, hasTextureAliases, ,() );
01424 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getTextureAliasCount, ,() );
01425 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, updateMaterialUsingTextureAliases, ,() );
01426
01427 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( generateExtremes, ,(ParamInt(L,2)) );
01428 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, isBuildEdgesEnabled, ,() );
01429 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setBuildEdgesEnabled, ,(ParamBool(L,2)) );
01430
01431 }
01432 virtual const char* GetLuaTypeName () { return "lugre.ogre.SubMesh"; }
01433 };
01434
01435 class cLugreLuaBind_Ogre_Entity : public cLuaBindDirect<Ogre::Entity>, public cLuaBindDirectOgreHelper { public:
01436 virtual void RegisterMethods (lua_State *L) { PROFILE
01437 LUABIND_DIRECTWRAP_BASECLASS(Ogre::MovableObject);
01438
01439
01440
01441
01442 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushMeshPtr, getMesh, ,() );
01443
01444
01445 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getNumSubEntities, ,() );
01446 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushEntity, clone, ,(ParamString(L,2)) );
01447 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setMaterialName, ,(ParamString(L,2)) );
01448
01449
01450
01451
01452 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushAxisAlignedBox, getChildObjectsBoundingBox, ,() );
01453
01454
01455 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushAnimationState, getAnimationState, ,(ParamString(L,2)) );
01456
01457 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setDisplaySkeleton, ,(ParamBool(L,2)) );
01458 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, getDisplaySkeleton, ,() );
01459 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushEntity, getManualLodLevel, ,(ParamInt(L,2)) );
01460 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getNumManualLodLevels, ,() );
01461 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getCurrentLodIndex, ,() );
01462 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setMeshLodBias, ,(ParamNumber(L,2),ParamInt(L,3),ParamInt(L,4)) );
01463 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setMaterialLodBias, ,(ParamNumber(L,2),ParamInt(L,3),ParamInt(L,4)) );
01464 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setPolygonModeOverrideable, ,(ParamBool(L,2)) );
01465
01466 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushMovableObject, detachObjectFromBone, ,(ParamString(L,2)) );
01467 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( detachObjectFromBone,2 ,(ParamMovableObject(L,2)) );
01468 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( detachAllObjectsFromBone, ,() );
01469
01470
01471
01472
01473
01474
01475
01476
01477
01478 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, _getNumBoneMatrices, ,() );
01479 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, hasSkeleton, ,() );
01480
01481 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, isHardwareAnimationEnabled, ,() );
01482
01483 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getSoftwareAnimationRequests, ,() );
01484 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getSoftwareAnimationNormalsRequests, ,() );
01485 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( addSoftwareAnimationRequest, ,(ParamBool(L,2)) );
01486 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( removeSoftwareAnimationRequest, ,(ParamBool(L,2)) );
01487 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( shareSkeletonInstanceWith, ,(ParamEntity(L,2)) );
01488 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, hasVertexAnimation, ,() );
01489 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( stopSharingSkeletonInstance, ,() );
01490
01491
01492 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( refreshAvailableAnimationState, ,() );
01493 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( _updateAnimation, ,() );
01494 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, _isAnimated, ,() );
01495 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, _isSkeletonAnimated, ,() );
01496 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushVertexData, _getSkelAnimVertexData, ,() );
01497 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushVertexData, _getSoftwareVertexAnimVertexData, ,() );
01498 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushVertexData, _getHardwareVertexAnimVertexData, ,() );
01499
01500
01501
01502 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushVertexData, getVertexDataForBinding, ,() );
01503
01504
01505 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, _getBuffersMarkedForAnimation, ,() );
01506 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( _markBuffersUsedForAnimation, ,() );
01507 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, isInitialised, ,() );
01508 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( _initialise, ,(ParamBool(L,2)) );
01509 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( _deinitialise, ,() );
01510 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( backgroundLoadingComplete, ,(ParamResource(L,2)) );
01511
01512
01513 LUABIND_PrefixConstant(Ogre::Entity,BIND_ORIGINAL)
01514 LUABIND_PrefixConstant(Ogre::Entity,BIND_SOFTWARE_SKELETAL)
01515 LUABIND_PrefixConstant(Ogre::Entity,BIND_SOFTWARE_MORPH)
01516 LUABIND_PrefixConstant(Ogre::Entity,BIND_HARDWARE_MORPH)
01517 }
01518 virtual const char* GetLuaTypeName () { return "lugre.ogre.Entity"; }
01519 };
01520
01521 class cLugreLuaBind_Ogre_AnimationTrack : public cLuaBindDirect<Ogre::AnimationTrack>, public cLuaBindDirectOgreHelper { public:
01522 virtual void RegisterMethods (lua_State *L) { PROFILE
01523
01524
01525
01526 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getHandle, ,() );
01527 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getNumKeyFrames, ,() );
01528 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushKeyFrame, getKeyFrame, ,(ParamInt(L,2)) );
01529
01530 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushKeyFrame, createKeyFrame, ,(ParamNumber(L,2)) );
01531 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( removeKeyFrame, ,(ParamInt(L,2)) );
01532 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( removeAllKeyFrames, ,() );
01533
01534
01535 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( _keyFrameDataChanged, ,() );
01536 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, hasNonZeroKeyFrames, ,() );
01537 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( optimise, ,() );
01538
01539
01540
01541 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushAnimation, getParent, ,() );
01542
01543 }
01544 virtual const char* GetLuaTypeName () { return "lugre.ogre.AnimationTrack"; }
01545 };
01546
01547 class cLugreLuaBind_Ogre_NodeAnimationTrack : public cLuaBindDirect<Ogre::NodeAnimationTrack>, public cLuaBindDirectOgreHelper { public:
01548 virtual void RegisterMethods (lua_State *L) { PROFILE
01549 LUABIND_DIRECTWRAP_BASECLASS(Ogre::AnimationTrack);
01550
01551
01552
01553
01554 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushTransformKeyFrame, createNodeKeyFrame, ,(ParamNumber(L,2)) );
01555 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNode, getAssociatedNode, ,() );
01556 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setAssociatedNode, ,(ParamNode(L,2)) );
01557
01558 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setUseShortestRotationPath, ,(ParamBool(L,2)) );
01559 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, getUseShortestRotationPath, ,() );
01560
01561
01562
01563 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushTransformKeyFrame, getNodeKeyFrame, ,(ParamInt(L,2)) );
01564
01565
01566 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNodeAnimationTrack, _clone, ,(ParamAnimation(L,2)) );
01567
01568 }
01569 virtual const char* GetLuaTypeName () { return "lugre.ogre.NodeAnimationTrack"; }
01570 };
01571
01572 class cLugreLuaBind_Ogre_AnimationState : public cLuaBindDirect<Ogre::AnimationState>, public cLuaBindDirectOgreHelper { public:
01573 virtual void RegisterMethods (lua_State *L) { PROFILE
01574
01575
01576
01577
01578 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushString, getAnimationName, ,() );
01579 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getTimePosition, ,() );
01580 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setTimePosition, ,(ParamNumber(L,2)) );
01581 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getLength, ,() );
01582 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setLength, ,(ParamNumber(L,2)) );
01583 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getWeight, ,() );
01584 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setWeight, ,(ParamNumber(L,2)) );
01585 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( addTime, ,(ParamNumber(L,2)) );
01586 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, hasEnded, ,() );
01587 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, getEnabled, ,() );
01588 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setEnabled, ,(ParamBool(L,2)) );
01589
01590
01591 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setLoop, ,(ParamBool(L,2)) );
01592 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, getLoop, ,() );
01593 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( copyStateFrom, ,(ParamByRefAnimationState(L,2)) );
01594
01595 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( createBlendMask, ,(ParamInt(L,2),ParamNumber(L,3)) );
01596 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( destroyBlendMask, ,() );
01597
01598
01599
01600 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, hasBlendMask, ,() );
01601 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setBlendMaskEntry, ,(ParamInt(L,2),ParamNumber(L,3)) );
01602
01603
01604 }
01605 virtual const char* GetLuaTypeName () { return "lugre.ogre.AnimationState"; }
01606 };
01607
01608 class cLugreLuaBind_Ogre_KeyFrame : public cLuaBindDirect<Ogre::KeyFrame>, public cLuaBindDirectOgreHelper { public:
01609 virtual void RegisterMethods (lua_State *L) { PROFILE
01610
01611
01612 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getTime, ,() );
01613 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushKeyFrame, _clone, ,(ParamAnimationTrack(L,2)) );
01614
01615 }
01616 virtual const char* GetLuaTypeName () { return "lugre.ogre.KeyFrame"; }
01617 };
01618
01619 class cLugreLuaBind_Ogre_NumericKeyFrame : public cLuaBindDirect<Ogre::NumericKeyFrame>, public cLuaBindDirectOgreHelper { public:
01620 virtual void RegisterMethods (lua_State *L) { PROFILE
01621 LUABIND_DIRECTWRAP_BASECLASS(Ogre::KeyFrame);
01622
01623
01624
01625
01626
01627
01628
01629 }
01630 virtual const char* GetLuaTypeName () { return "lugre.ogre.NumericKeyFrame"; }
01631 };
01632
01633 class cLugreLuaBind_Ogre_TransformKeyFrame : public cLuaBindDirect<Ogre::TransformKeyFrame>, public cLuaBindDirectOgreHelper { public:
01634 virtual void RegisterMethods (lua_State *L) { PROFILE
01635 LUABIND_DIRECTWRAP_BASECLASS(Ogre::KeyFrame);
01636
01637
01638
01639 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setTranslate, ,(ParamVector3(L,2)) );
01640 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushVector3, getTranslate, ,() );
01641 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setScale, ,(ParamVector3(L,2)) );
01642 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushVector3, getScale, ,() );
01643 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setRotation, ,(ParamQuaternion(L,2)) );
01644 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushQuaternion, getRotation, ,() );
01645
01646
01647 }
01648 virtual const char* GetLuaTypeName () { return "lugre.ogre.TransformKeyFrame"; }
01649 };
01650
01651 class cLugreLuaBind_Ogre_VertexMorphKeyFrame : public cLuaBindDirect<Ogre::VertexMorphKeyFrame>, public cLuaBindDirectOgreHelper { public:
01652 virtual void RegisterMethods (lua_State *L) { PROFILE
01653 LUABIND_DIRECTWRAP_BASECLASS(Ogre::KeyFrame);
01654
01655
01656
01657
01658
01659
01660
01661 }
01662 virtual const char* GetLuaTypeName () { return "lugre.ogre.VertexMorphKeyFrame"; }
01663 };
01664
01665 class cLugreLuaBind_Ogre_VertexPoseKeyFrame : public cLuaBindDirect<Ogre::VertexPoseKeyFrame>, public cLuaBindDirectOgreHelper { public:
01666 virtual void RegisterMethods (lua_State *L) { PROFILE
01667 LUABIND_DIRECTWRAP_BASECLASS(Ogre::KeyFrame);
01668
01669
01670
01671
01672
01673 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( addPoseReference, ,(ParamInt(L,2),ParamNumber(L,3)) );
01674 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( updatePoseReference, ,(ParamInt(L,2),ParamNumber(L,3)) );
01675 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( removePoseReference, ,(ParamInt(L,2)) );
01676 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( removeAllPoseReferences, ,() );
01677
01678
01679
01680
01681
01682
01683
01684 }
01685 virtual const char* GetLuaTypeName () { return "lugre.ogre.VertexPoseKeyFrame"; }
01686 };
01687
01688 int LugreImage_CreateFromOgreImage (lua_State *L,Ogre::Image* pImg);
01689 bool MySubImage (Ogre::Image& pImageSrc,Ogre::Image& pImageDst,int iOffsetX,int iOffsetY,int iNewWidth,int iNewHeight);
01690
01691 class cLugreLuaBind_Ogre_Image : public cLuaBindDirect<Ogre::Image>, public cLuaBindDirectOgreHelper { public:
01692 virtual void RegisterMethods (lua_State *L) { PROFILE
01693 LUABIND_QUICKWRAP_STATIC( CreateOgreImage, { return CreateUData(L,new Ogre::Image()); });
01694 LUABIND_QUICKWRAP( Destroy, { delete checkudata_alive(L); });
01695 LUABIND_QUICKWRAP( ColorReplace, { cOgreWrapper::ImageColorReplace(*checkudata_alive(L),ParamColourValue(L,2),ParamColourValue(L,3)); });
01696 LUABIND_QUICKWRAP( ColorKeyToAlpha, { cOgreWrapper::ImageColorKeyToAlpha(*checkudata_alive(L),ParamColourValue(L,2)); });
01697
01698 LUABIND_QUICKWRAP( ToOldLugreImage, { return LugreImage_CreateFromOgreImage(L,checkudata_alive(L)); });
01699 LUABIND_QUICKWRAP( SubImage, {
01700 Ogre::Image* pNew = new Ogre::Image();
01701 MySubImage(*checkudata_alive(L),*pNew,ParamInt(L,2),ParamInt(L,3),ParamInt(L,4),ParamInt(L,5));
01702 return CreateUData(L,pNew);
01703 });
01704
01706 LUABIND_QUICKWRAP( MakeEmptyArea, {
01707 int w = ParamInt(L,2);
01708 int h = ParamInt(L,3);
01709 Ogre::PixelFormat fmt = ParamPixelFormat(L,4);
01710 int iSize = Ogre::Image::calculateSize(1,1,w,h,1,fmt);
01711
01712 Ogre::uchar* b = (Ogre::uchar*)OGRE_MALLOC(iSize,Ogre::MEMCATEGORY_GENERAL);
01713 checkudata_alive(L)->loadDynamicImage(b,w,h,1,fmt,true);
01714 });
01715
01717 LUABIND_QUICKWRAP( MakeTexture, {
01718 std::string sTexName = ParamIsSet(L,2) ? ParamString(L,2) : cOgreWrapper::GetSingleton().GetUniqueName();
01719 bool bIsAlpha = ParamBoolDefault(L,3,false);
01720
01721 const Ogre::String& group = Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME;
01722 Ogre::TextureType texType = TEX_TYPE_2D;
01723 int iNumMipmaps = MIP_DEFAULT;
01724 Ogre::Real gamma = 1.0f;
01725 Ogre::PixelFormat desiredFormat = PF_UNKNOWN;
01726
01727 Ogre::TextureManager::getSingleton().loadImage(sTexName,group,*checkudata_alive(L),texType,iNumMipmaps,gamma,bIsAlpha,desiredFormat);
01728 return PushString(L,sTexName.c_str());
01729 });
01730
01731
01733 LUABIND_QUICKWRAP( BlitPart, { cOgreWrapper::ImageBlitPart(*checkudata_alive(L,1),*checkudata_alive(L,2),
01734 ParamInt(L,3),ParamInt(L,4),ParamInt(L,5),ParamInt(L,6),ParamInt(L,7),ParamInt(L,8)); });
01735
01736
01737
01738
01739
01740
01741
01742
01743 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushCopyImage, flipAroundY, ,() );
01744 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushCopyImage, flipAroundX, ,() );
01745 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushCopyImage, loadDynamicImage, ,((uchar*)ParamFIFOData(L,2),ParamInt(L,3),ParamInt(L,4),ParamInt(L,5),ParamPixelFormat(L,6),ParamBool(L,7),ParamInt(L,8),ParamInt(L,9)) );
01746 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushCopyImage, loadDynamicImage,2 ,((uchar*)ParamFIFOData(L,2),ParamInt(L,3),ParamInt(L,4),ParamPixelFormat(L,5)) );
01747
01748
01749 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushCopyImage, load, ,(ParamString(L,2),ParamStringDefault(L,3,Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME)) );
01750
01751 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( save, ,(ParamString(L,2)) );
01752
01753
01754
01755 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getSize, ,() );
01756 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getNumMipmaps, ,() );
01757
01758 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getWidth, ,() );
01759 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getHeight, ,() );
01760 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getDepth, ,() );
01761 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getNumFaces, ,() );
01762 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getRowSpan, ,() );
01763 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getFormat, ,() );
01764 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getBPP, ,() );
01765 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, getHasAlpha, ,() );
01766 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( applyGamma, ,((uchar*)ParamFIFOData(L,2),ParamNumber(L,3),ParamInt(L,4),ParamInt(L,5)) );
01767 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushColourValue, getColourAt, ,(ParamInt(L,2),ParamInt(L,3),ParamInt(L,4)) );
01768
01769
01770
01771
01772 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, calculateSize, ,(ParamInt(L,2),ParamInt(L,3),ParamInt(L,4),ParamInt(L,5),ParamInt(L,6),ParamPixelFormat(L,7)) );
01773
01774
01775 LUABIND_PrefixConstant(Ogre::Image,FILTER_NEAREST)
01776 LUABIND_PrefixConstant(Ogre::Image,FILTER_LINEAR)
01777 LUABIND_PrefixConstant(Ogre::Image,FILTER_BILINEAR)
01778 LUABIND_PrefixConstant(Ogre::Image,FILTER_BOX)
01779 LUABIND_PrefixConstant(Ogre::Image,FILTER_TRIANGLE)
01780 LUABIND_PrefixConstant(Ogre::Image,FILTER_BICUBIC)
01781 }
01782 virtual const char* GetLuaTypeName () { return "lugre.ogre.Image"; }
01783 };
01784
01785 class cLugreLuaBind_Ogre_Texture : public cLuaBindDirect<Ogre::Texture>, public cLuaBindDirectOgreHelper { public:
01786 virtual void RegisterMethods (lua_State *L) { PROFILE
01787 LUABIND_DIRECTWRAP_BASECLASS(Ogre::Resource);
01788
01789 LUABIND_QUICKWRAP_STATIC( GetOgreTexture, {
01790 return CreateUData(L,Ogre::TextureManager::getSingleton().load(ParamString(L,2),ParamStringDefault(L,3,Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME)).get());
01791 });
01792
01793
01794
01795 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setTextureType, ,(ParamTextureType(L,2)) );
01796 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getTextureType, ,() );
01797 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getNumMipmaps, ,() );
01798 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setNumMipmaps, ,(ParamInt(L,2)) );
01799 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, getMipmapsHardwareGenerated, ,() );
01800 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getGamma, ,() );
01801 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setGamma, ,(ParamNumber(L,2)) );
01802 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setHardwareGammaEnabled, ,(ParamBool(L,2)) );
01803 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, isHardwareGammaEnabled, ,() );
01804 #if OGRE_VERSION < 0x10700
01805 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setFSAA, ,(ParamInt(L,2)) );
01806 #else
01807 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setFSAA, ,(ParamInt(L,2),ParamString(L,3)) );
01808 #endif
01809 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getFSAA, ,() );
01810 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getHeight, ,() );
01811 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getWidth, ,() );
01812 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getDepth, ,() );
01813 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getSrcHeight, ,() );
01814 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getSrcWidth, ,() );
01815 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getSrcDepth, ,() );
01816 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setHeight, ,(ParamInt(L,2)) );
01817 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setWidth, ,(ParamInt(L,2)) );
01818 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setDepth, ,(ParamInt(L,2)) );
01819 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getUsage, ,() );
01820 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setUsage, ,(ParamInt(L,2)) );
01821 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( createInternalResources, ,() );
01822 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( freeInternalResources, ,() );
01823
01824 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( loadImage, ,(ParamByRefImage(L,2)) );
01825
01826
01827 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getFormat, ,() );
01828 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getDesiredFormat, ,() );
01829 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getSrcFormat, ,() );
01830 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setFormat, ,(ParamPixelFormat(L,2)) );
01831 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, hasAlpha, ,() );
01832 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setDesiredIntegerBitDepth, ,(ParamInt(L,2)) );
01833 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getDesiredIntegerBitDepth, ,() );
01834 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setDesiredFloatBitDepth, ,(ParamInt(L,2)) );
01835 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getDesiredFloatBitDepth, ,() );
01836 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setDesiredBitDepths, ,(ParamInt(L,2),ParamInt(L,3)) );
01837 LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD( setTreatLuminanceAsAlpha, ,(ParamBool(L,2)) );
01838 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushBool, getTreatLuminanceAsAlpha, ,() );
01839 LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD( PushNumber, getNumFaces, ,() );
01840
01841
01842
01843 LUABIND_PrefixConstant(Ogre,TEX_TYPE_1D)
01844 LUABIND_PrefixConstant(Ogre,TEX_TYPE_2D)
01845 LUABIND_PrefixConstant(Ogre,TEX_TYPE_3D)
01846 LUABIND_PrefixConstant(Ogre,TEX_TYPE_CUBE_MAP)
01847 }
01848 virtual const char* GetLuaTypeName () { return "lugre.ogre.Texture"; }
01849 };
01850
01851 class cLugreLuaBind_Ogre_RenderOperation : public cLuaBindDirect<Ogre::RenderOperation>, public cLuaBindDirectOgreHelper { public:
01852 virtual void RegisterMethods (lua_State *L) { PROFILE
01853 LUABIND_QUICKWRAP( getVertexData, { return cLuaBindDirect<Ogre::VertexData>::CreateUData(L,GetSelf(L).vertexData); });
01854 LUABIND_QUICKWRAP( getIndexData, { return cLuaBindDirect<Ogre::IndexData>::CreateUData(L,GetSelf(L).indexData); });
01855 LUABIND_QUICKWRAP( setVertexData, { if (GetSelf(L).vertexData) delete GetSelf(L).vertexData; GetSelf(L).vertexData = ParamVertexData(L,2); });
01856 LUABIND_QUICKWRAP( setIndexData, { if (GetSelf(L).indexData) delete GetSelf(L).indexData; GetSelf(L).indexData = ParamIndexData(L,2); });
01857
01858 LUABIND_QUICKWRAP( setOperationType, { GetSelf(L).operationType = (Ogre::RenderOperation::OperationType)ParamInt(L,2); });
01859 LUABIND_QUICKWRAP( getOperationType, { return PushNumber(L,GetSelf(L).operationType); });
01860
01861 LUABIND_QUICKWRAP(setUseIndexes, { GetSelf(L).useIndexes = ParamBool(L,2); });
01862 LUABIND_QUICKWRAP(getUseIndexes, { return PushBool(L,GetSelf(L).useIndexes); });
01863
01864
01865 LUABIND_PrefixConstant(Ogre::RenderOperation,OT_POINT_LIST)
01866 LUABIND_PrefixConstant(Ogre::RenderOperation,OT_LINE_LIST)
01867 LUABIND_PrefixConstant(Ogre::RenderOperation,OT_LINE_STRIP)
01868 LUABIND_PrefixConstant(Ogre::RenderOperation,OT_TRIANGLE_LIST)
01869 LUABIND_PrefixConstant(Ogre::RenderOperation,OT_TRIANGLE_STRIP)
01870 LUABIND_PrefixConstant(Ogre::RenderOperation,OT_TRIANGLE_FAN)
01871
01872
01873 LUABIND_PrefixConstant(Ogre::HardwareIndexBuffer,IT_16BIT)
01874 LUABIND_PrefixConstant(Ogre::HardwareIndexBuffer,IT_32BIT)
01875
01876
01877
01878 LUABIND_PrefixConstant(Ogre::HardwareBuffer,HBU_STATIC)
01879 LUABIND_PrefixConstant(Ogre::HardwareBuffer,HBU_DYNAMIC)
01880 LUABIND_PrefixConstant(Ogre::HardwareBuffer,HBU_WRITE_ONLY)
01881 LUABIND_PrefixConstant(Ogre::HardwareBuffer,HBU_DISCARDABLE)
01882 LUABIND_PrefixConstant(Ogre::HardwareBuffer,HBU_STATIC_WRITE_ONLY)
01883 LUABIND_PrefixConstant(Ogre::HardwareBuffer,HBU_DYNAMIC_WRITE_ONLY)
01884 LUABIND_PrefixConstant(Ogre::HardwareBuffer,HBU_DYNAMIC_WRITE_ONLY_DISCARDABLE)
01885 }
01886 virtual const char* GetLuaTypeName () { return "lugre.ogre.RenderOperation"; }
01887 };
01888
01889 class cLugreLuaBind_Ogre_VertexDeclaration : public cLuaBindDirect<Ogre::VertexDeclaration>, public cLuaBindDirectOgreHelper { public:
01890 virtual void RegisterMethods (lua_State *L) { PROFILE
01891 LUABIND_QUICKWRAP_STATIC(CreateVertexDeclaration, { return CreateUData(L,Ogre::HardwareBufferManager::getSingleton().createVertexDeclaration()); });
01892 LUABIND_QUICKWRAP(Destroy, { delete checkudata_alive(L); });
01893
01894
01895
01896
01897
01898 LUABIND_QUICKWRAP(removeAllElements, { GetSelf(L).removeAllElements(); });
01899 LUABIND_QUICKWRAP(getElementCount, { return PushNumber(L,GetSelf(L).getElementCount()); });
01900 LUABIND_QUICKWRAP(sort, { GetSelf(L).sort(); });
01901 LUABIND_QUICKWRAP(clone, { return CreateUData(L,GetSelf(L).clone()); });
01902 LUABIND_QUICKWRAP(getVertexSize, { return PushNumber(L,GetSelf(L).getVertexSize(ParamInt(L,2))); });
01903 LUABIND_QUICKWRAP(getMaxSource, { return PushNumber(L,GetSelf(L).getMaxSource()); });
01904 LUABIND_QUICKWRAP(closeGapsInSource, { GetSelf(L).closeGapsInSource(); });
01905
01907 LUABIND_QUICKWRAP(getAutoOrganisedDeclaration, { return CreateUData(L,GetSelf(L).getAutoOrganisedDeclaration(ParamBool(L,2),ParamBool(L,3))); });
01908
01910 LUABIND_QUICKWRAP(getElement, {
01911 const Ogre::VertexElement* p = GetSelf(L).getElement(ParamInt(L,2));
01912 if (!p) return 0;
01913 PushNumber(L,p->getSource());
01914 PushNumber(L,p->getOffset());
01915 PushNumber(L,(int)p->getType());
01916 PushNumber(L,(int)p->getSemantic());
01917 PushNumber(L,(int)p->getIndex());
01918 return 5;
01919 });
01920
01922 LUABIND_QUICKWRAP(addElement, {
01923 return PushNumber(L,GetSelf(L).addElement( (unsigned short) ParamInt(L,2),
01924 (size_t) ParamInt(L,3),
01925 (Ogre::VertexElementType) ParamInt(L,4),
01926 (Ogre::VertexElementSemantic) ParamInt(L,5),
01927 (unsigned short) ParamIntDefault(L,6,0)
01928 ).getSize());
01929 });
01930
01931 LUABIND_PrefixConstant(Ogre,VET_FLOAT1)
01932 LUABIND_PrefixConstant(Ogre,VET_FLOAT2)
01933 LUABIND_PrefixConstant(Ogre,VET_FLOAT3)
01934 LUABIND_PrefixConstant(Ogre,VET_FLOAT4)
01935 LUABIND_PrefixConstant(Ogre,VET_COLOUR)
01936 LUABIND_PrefixConstant(Ogre,VET_SHORT1)
01937 LUABIND_PrefixConstant(Ogre,VET_SHORT2)
01938 LUABIND_PrefixConstant(Ogre,VET_SHORT3)
01939 LUABIND_PrefixConstant(Ogre,VET_SHORT4)
01940 LUABIND_PrefixConstant(Ogre,VET_UBYTE4)
01941 LUABIND_PrefixConstant(Ogre,VET_COLOUR_ARGB)
01942 LUABIND_PrefixConstant(Ogre,VET_COLOUR_ABGR)
01943
01944 LUABIND_PrefixConstant(Ogre,VES_POSITION)
01945 LUABIND_PrefixConstant(Ogre,VES_BLEND_WEIGHTS)
01946 LUABIND_PrefixConstant(Ogre,VES_BLEND_INDICES)
01947 LUABIND_PrefixConstant(Ogre,VES_NORMAL)
01948 LUABIND_PrefixConstant(Ogre,VES_DIFFUSE)
01949 LUABIND_PrefixConstant(Ogre,VES_SPECULAR)
01950 LUABIND_PrefixConstant(Ogre,VES_TEXTURE_COORDINATES)
01951 LUABIND_PrefixConstant(Ogre,VES_BINORMAL)
01952 LUABIND_PrefixConstant(Ogre,VES_TANGENT)
01953 }
01954
01955 virtual const char* GetLuaTypeName () { return "lugre.VertexDeclaration"; }
01956 };
01957
01958
01960 void LuaRegister_LuaBinds_Ogre (lua_State *L) { PROFILE
01961
01962 cLuaBindDirect<Ogre::MovableObject >::GetSingletonPtr(new cLugreLuaBind_Ogre_MovableObject( ))->LuaRegister(L);
01963 cLuaBindDirect<Ogre::Renderable >::GetSingletonPtr(new cLugreLuaBind_Ogre_Renderable( ))->LuaRegister(L);
01964 cLuaBindDirect<Ogre::Resource >::GetSingletonPtr(new cLugreLuaBind_Ogre_Resource( ))->LuaRegister(L);
01965 cLuaBindDirect<Ogre::Node >::GetSingletonPtr(new cLugreLuaBind_Ogre_Node( ))->LuaRegister(L);
01966 cLuaBindDirect<Ogre::Light >::GetSingletonPtr(new cLugreLuaBind_Ogre_Light( ))->LuaRegister(L);
01967 cLuaBindDirect<Ogre::SceneManager >::GetSingletonPtr(new cLugreLuaBind_Ogre_SceneManager( ))->LuaRegister(L);
01968 cLuaBindDirect<Ogre::Frustum >::GetSingletonPtr(new cLugreLuaBind_Ogre_Frustum( ))->LuaRegister(L);
01969 cLuaBindDirect<Ogre::Camera >::GetSingletonPtr(new cLugreLuaBind_Ogre_Camera( ))->LuaRegister(L);
01970 cLuaBindDirect<Ogre::SceneNode >::GetSingletonPtr(new cLugreLuaBind_Ogre_SceneNode( ))->LuaRegister(L);
01971 cLuaBindDirect<Ogre::VertexData >::GetSingletonPtr(new cLugreLuaBind_Ogre_VertexData( ))->LuaRegister(L);
01972 cLuaBindDirect<Ogre::IndexData >::GetSingletonPtr(new cLugreLuaBind_Ogre_IndexData( ))->LuaRegister(L);
01973 cLuaBindDirect<Ogre::Skeleton >::GetSingletonPtr(new cLugreLuaBind_Ogre_Skeleton( ))->LuaRegister(L);
01974 cLuaBindDirect<Ogre::Bone >::GetSingletonPtr(new cLugreLuaBind_Ogre_Bone( ))->LuaRegister(L);
01975 cLuaBindDirect<Ogre::Animation >::GetSingletonPtr(new cLugreLuaBind_Ogre_Animation( ))->LuaRegister(L);
01976 cLuaBindDirect<Ogre::Mesh >::GetSingletonPtr(new cLugreLuaBind_Ogre_Mesh( ))->LuaRegister(L);
01977 cLuaBindDirect<Ogre::SubMesh >::GetSingletonPtr(new cLugreLuaBind_Ogre_SubMesh( ))->LuaRegister(L);
01978 cLuaBindDirect<Ogre::Entity >::GetSingletonPtr(new cLugreLuaBind_Ogre_Entity( ))->LuaRegister(L);
01979 cLuaBindDirect<Ogre::AnimationTrack >::GetSingletonPtr(new cLugreLuaBind_Ogre_AnimationTrack( ))->LuaRegister(L);
01980 cLuaBindDirect<Ogre::NodeAnimationTrack >::GetSingletonPtr(new cLugreLuaBind_Ogre_NodeAnimationTrack( ))->LuaRegister(L);
01981 cLuaBindDirect<Ogre::AnimationState >::GetSingletonPtr(new cLugreLuaBind_Ogre_AnimationState( ))->LuaRegister(L);
01982 cLuaBindDirect<Ogre::KeyFrame >::GetSingletonPtr(new cLugreLuaBind_Ogre_KeyFrame( ))->LuaRegister(L);
01983 cLuaBindDirect<Ogre::NumericKeyFrame >::GetSingletonPtr(new cLugreLuaBind_Ogre_NumericKeyFrame( ))->LuaRegister(L);
01984 cLuaBindDirect<Ogre::TransformKeyFrame >::GetSingletonPtr(new cLugreLuaBind_Ogre_TransformKeyFrame( ))->LuaRegister(L);
01985 cLuaBindDirect<Ogre::VertexMorphKeyFrame >::GetSingletonPtr(new cLugreLuaBind_Ogre_VertexMorphKeyFrame( ))->LuaRegister(L);
01986 cLuaBindDirect<Ogre::VertexPoseKeyFrame >::GetSingletonPtr(new cLugreLuaBind_Ogre_VertexPoseKeyFrame( ))->LuaRegister(L);
01987 cLuaBindDirect<Ogre::Image >::GetSingletonPtr(new cLugreLuaBind_Ogre_Image( ))->LuaRegister(L);
01988 cLuaBindDirect<Ogre::Texture >::GetSingletonPtr(new cLugreLuaBind_Ogre_Texture( ))->LuaRegister(L);
01989 cLuaBindDirect<Ogre::RenderOperation >::GetSingletonPtr(new cLugreLuaBind_Ogre_RenderOperation( ))->LuaRegister(L);
01990 cLuaBindDirect<Ogre::VertexDeclaration >::GetSingletonPtr(new cLugreLuaBind_Ogre_VertexDeclaration( ))->LuaRegister(L);
01991 LUABIND_QUICKWRAP_STATIC(getMaximumDepthInputValue, { return PushNumber(L,Ogre::Root::getSingleton().getRenderSystem()->getMaximumDepthInputValue()); });
01992 }
01993
01994 };