lugre_luabinds_ogre.cpp

Go to the documentation of this file.
00001 // creating vertex declaration, vertex buffers etc for grannyloader and similar geometry generation
00002 // large parts of this file are automatically generated by iris/scripts/luabindheader.lua
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 // String ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME = "General";
00030     
00031 // SceneManager, viewport, window ?
00032 // Light
00033 // Entity
00034 // material, technique, pass, texture_unit
00035 // image
00036 // rendertexture
00037     
00038 //~ lugre_camera_L.cpp
00039 //~ lugre_image_L.cpp
00040 //~ lugre_material_L.cpp
00041 //~ lugre_rendertexture_L.cpp
00042 //~ lugre_viewport_L.cpp
00043 
00044     /*
00045 // ogre mesh, entity, sub mesh, sub entity :  bone assignments seem to be meshbased ? 
00046     // sub->addBoneAssignment(assign);
00047     weird : mlBodySamples
00048     
00049 // TODO : getRenderSystem -> name ?
00050     */
00051 
00052 
00053 class cLugreLuaBind_Ogre_MovableObject : public cLuaBindDirect<Ogre::MovableObject>, public cLuaBindDirectOgreHelper { public:
00054     virtual void RegisterMethods    (lua_State *L) { PROFILE 
00055         // unknown syntax:class _OgreExport Listener;
00056         // unknown syntax:MovableObject();
00057         // unknown syntax:MovableObject(String name);
00058         // unknown syntax:~MovableObject();
00059         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         _notifyCreator,                                     ,(ParamMovableObjectFactory*(L,2))  );
00060         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushMovableObjectFactory*,                      _getCreator,                                        ,() );
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         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushSphere,                                     getWorldBoundingSphere,                             ,(ParamBool(L,2))   );
00081         //~ RENDERQUEUE not yet bound ? LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                             _updateRenderQueue,                                 ,(ParamRenderQueue(L,2))    );
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         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         setUserObject,                                      ,(ParamUserDefinedObject*(L,2)) );
00088         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushUserDefinedObject*,                         getUserObject,                                      ,() );
00089         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         setUserAny,                                         ,(ParamAny(L,2))    );
00090         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushAny,                                        getUserAny,                                         ,() );
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         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         setListener,                                        ,(ParamListener*(L,2))  );
00107         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushListener*,                                  getListener,                                        ,() );
00108         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushLightList,                                  queryLights,                                        ,() );
00109         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushLightList*,                                 _getLightList,                                      ,() );
00110         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushEdgeData*,                                  getEdgeList,                                        ,() );
00111         LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(              PushBool,                                       hasEdgeList,                                        ,() );
00112         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushShadowRenderableListIterator,               getShadowVolumeRenderableIterator,                  ,(ParamShadowTechnique(L,2),ParamLight(L,3),ParamHardwareIndexBufferSharedPtr*(L,4),ParamBool(L,5),ParamNumber(L,6),ParamInt(L,7))  );
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         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         visitRenderables,                                   ,(ParamRenderable::Visitor*(L,2),ParamBool(L,3))    );
00123         LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                 setDebugDisplayEnabled,                     ,(ParamBool(L,2))   );
00124         LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushBool,                               isDebugDisplayEnabled,                      ,() );
00125         
00126         /*
00127         Sphere &            getWorldBoundingSphere,         (ParamBoolDefault(L,2,false))   );
00128         Matrix4 &           _getParentNodeFullTransform,    ()                               );
00129         Node *              getParentNode,                  ()                               );
00130         SceneNode *         getParentSceneNode,             ()
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         // unknown syntax:class RenderSystemData;
00139         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushRenderable():,                              mPolygonModeOverrideable,                           ,(Paramtrue)(L,2),ParammUseIdentityProjection(false)(L,3),ParammUseIdentityView(false)(L,4),ParammRenderSystemData(NULL(L,5))   );
00140         // unknown syntax:~Renderable();
00141         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushMaterialPtr,                                getMaterial,                                        ,() );
00142         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushTechnique*,                                 getTechnique,                                       ,() );
00143         LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                             getRenderOperation,                                 ,(ParamByRefRenderOperation(L,2))   );
00144         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushBool,                                       preRender,                                          ,(ParamSceneManager(L,2),ParamRenderSystem*(L,3))   );
00145         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         postRender,                                         ,(ParamSceneManager(L,2),ParamRenderSystem*(L,3))   );
00146         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         getWorldTransforms,                                 ,(ParamMatrix4*(L,2))   );
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         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushLightList,                                  getLights,                                          ,() );
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         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         _updateCustomGpuParameter,                          ,(ParamGpuProgramParameters::AutoConstantEntry(L,2),ParamGpuProgramParameters*(L,3))    );
00158         LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                     setPolygonModeOverrideable, ,(ParamBool(L,2)) );
00159         LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(      PushBool,       getPolygonModeOverrideable, ,() );
00160         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         setUserAny,                                         ,(ParamAny(L,2))    );
00161         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushAny,                                        getUserAny,                                         ,() );
00162         // unknown syntax:class Visitor;
00163         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushRenderSystemData*,                          getRenderSystemData,                                ,() );
00164         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         setRenderSystemData,                                ,(ParamRenderSystemData*(L,2))  );
00165         
00166         /*
00167                         getWorldTransforms (Matrix4 *xform) 
00168         
00169         MaterialPtr &   getMaterial ()
00170         Technique *     getTechnique ()
00171                         getRenderOperation (RenderOperation &op)
00172         bool            preRender (SceneManager *sm, RenderSystem *rsys)
00173                         postRender (SceneManager *sm, RenderSystem *rsys)
00174                         
00175         Real            getSquaredViewDepth (Camera *cam) 
00176         LightList &     getLights () 
00177                         _updateCustomGpuParameter (GpuProgramParameters::AutoConstantEntry &constantEntry, GpuProgramParameters *params)
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         // unknown syntax:OGRE_AUTO_MUTEX class Listener;
00187         // unknown syntax:enum LoadingState;
00188         // unknown syntax:Resource(ResourceManager* creator,String name,ResourceHandle handle,String group,bool isManual,ManualResourceLoader* loader);
00189         // unknown syntax:~Resource();
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         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushResourceHandle,                             getHandle,                                          ,() );
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         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushLoadingState,                               getLoadingState,                                    ,() );
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         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         addListener,                                        ,(ParamListener*(L,2))  );
00208         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         removeListener,                                     ,(ParamListener*(L,2))  );
00209         LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(              PushString,                                     getGroup,                                           ,() );
00210         LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                             changeGroupOwnership,                               ,(ParamString(L,2)) );
00211         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushResourceManager*,                           getCreator,                                         ,() );
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)); }); // for compare/hierarchy
00236         
00237         // unknown syntax:enum TransformSpace;
00238         // unknown syntax:typedef HashMap<String,Node* > ChildNodeMap;
00239         // unknown syntax:typedef MapIterator<ChildNodeMap> ChildNodeIterator;
00240         // unknown syntax:typedef ConstMapIterator<ChildNodeMap> ConstChildNodeIterator;
00241         // unknown syntax:class _OgreExport Listener;
00242         // unknown syntax:Node();
00243         // unknown syntax:Node(String name);
00244         // unknown syntax:~Node();
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         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         translate,3                                         ,(ParamMatrix3(L,2),ParamVector3(L,3),ParamTransformSpace(L,4)) );
00266         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         translate,4                                         ,(ParamMatrix3(L,2),ParamNumber(L,3),ParamNumber(L,4),ParamNumber(L,5),ParamTransformSpace(L,6))    );
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         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushMatrix3,                                    getLocalAxes,                                       ,() );
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         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushChildNodeIterator,                          getChildIterator,                                   ,() );
00280         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushConstChildNodeIterator,                     getChildIterator,2                                  ,() );
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         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         setListener,                                        ,(ParamListener*(L,2))  );
00291         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushListener*,                                  getListener,                                        ,() );
00292         // in parent: MaterialPtr getMaterial(void);
00293         // in parent: void getRenderOperation(RenderOperation op);
00294         // in parent: void getWorldTransforms(Matrix4* xform);
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         // in parent: Real getSquaredViewDepth(Camera* cam);
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         // in parent: LightList getLights(void);
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         // unknown syntax:Real tempSquareDist;
00320         LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         _calcTempSquareDist,                                ,(ParamVector3(L,2))    );
00321         // unknown syntax:enum LightTypes;
00322         // unknown syntax:Light();
00323         // unknown syntax:Light(String name);
00324         // unknown syntax:~Light();
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         // in parent: void _notifyAttached(Node* parent,bool isTagPoint);
00354         // in parent: void _notifyMoved(void);
00355         // in parent: AxisAlignedBox getBoundingBox(void);
00356         // in parent: void _updateRenderQueue(RenderQueue* queue);
00357         // in parent: String getMovableType(void);
00358         LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushVector3,                                    getDerivedPosition,                                 ,(ParamBool(L,2))   );
00359         LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushVector3,                                    getDerivedDirection,                                ,() );
00360         // in parent: void setVisible(bool visible);
00361         // in parent: Real getBoundingRadius(void);
00362         LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushVector4,                                    getAs4DVector,                                      ,(ParamBool(L,2))   );
00363         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(      PushPlaneBoundedVolume,                         _getNearClipVolume,                                 ,(ParamCamera(L,2)) );
00364         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(      PushPlaneBoundedVolumeList,                     _getFrustumClipVolumes,                             ,(ParamCamera(L,2)) );
00365         // in parent: uint32 getTypeFlags(void);
00366         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(      PushAnimableValuePtr,                           createAnimableValue,                                ,(ParamString(L,2)) );
00367         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         setCustomShadowCameraSetup,                         ,(ParamShadowCameraSetupPtr(L,2))   );
00368         LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         resetCustomShadowCameraSetup,                       ,() );
00369         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(      PushShadowCameraSetupPtr,                       getCustomShadowCameraSetup,                         ,() );
00370         // in parent: void visitRenderables(Renderable::Visitor* visitor,bool debugRenderables);
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         // unknown syntax:uint32 WORLD_GEOMETRY_TYPE_MASK; 
00391         // unknown syntax:uint32 ENTITY_TYPE_MASK;
00392         // unknown syntax:uint32 FX_TYPE_MASK;
00393         // unknown syntax:uint32 STATICGEOMETRY_TYPE_MASK;
00394         // unknown syntax:uint32 LIGHT_TYPE_MASK;
00395         // unknown syntax:uint32 FRUSTUM_TYPE_MASK;
00396         // unknown syntax:uint32 USER_TYPE_MASK_LIMIT;
00397         // unknown syntax:struct materialLess;
00398         // unknown syntax:struct lightLess;
00399         // unknown syntax:enum IlluminationRenderStage;
00400         // unknown syntax:enum SpecialCaseRenderQueueMode;
00401         // unknown syntax:struct SkyDomeGenParameters;
00402         // unknown syntax:struct SkyPlaneGenParameters;
00403         // unknown syntax:struct SkyBoxGenParameters;
00404         // unknown syntax:class Listener;
00405         // unknown syntax:class _OgreExport SceneMgrQueuedRenderableVisitor : public QueuedRenderableVisitor;
00406         // unknown syntax:friend class SceneMgrQueuedRenderableVisitor;
00407         // unknown syntax:SceneManager(String instanceName);
00408         // unknown syntax:~SceneManager();
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         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushPlaneList,                                  getLightClippingPlanes,                             ,(ParamLight(L,2))  );
00421         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushRealRect,                                   getLightScissorRect,                                ,(ParamLight(L,2),ParamCamera(L,3)) );
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         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushLightList,                                  _getLightsAffectingFrustum,                         ,() );
00428         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         _populateLightList,                                 ,(ParamVector3(L,2),ParamNumber(L,3),ParamLightList(L,4))   );
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         // unknown syntax:enum PrefabType;
00438         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushEntity,                                     createEntity,2                                      ,(ParamString(L,2),ParamPrefabType(L,3))    );
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         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushManualObject*,                              createManualObject,                                 ,(ParamString(L,2)) );
00445         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushManualObject*,                              getManualObject,                                    ,(ParamString(L,2)) );
00446         LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(              PushBool,                                       hasManualObject,                                    ,(ParamString(L,2)) );
00447         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         destroyManualObject,                                ,(ParamManualObject*(L,2))  );
00448         LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                             destroyManualObject,2                               ,(ParamString(L,2)) );
00449         LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                             destroyAllManualObjects,                            ,() );
00450         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushBillboardChain*,                            createBillboardChain,                               ,(ParamString(L,2)) );
00451         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushBillboardChain*,                            getBillboardChain,                                  ,(ParamString(L,2)) );
00452         LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(              PushBool,                                       hasBillboardChain,                                  ,(ParamString(L,2)) );
00453         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         destroyBillboardChain,                              ,(ParamBillboardChain*(L,2))    );
00454         LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                             destroyBillboardChain,2                             ,(ParamString(L,2)) );
00455         LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                             destroyAllBillboardChains,                          ,() );
00456         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushRibbonTrail*,                               createRibbonTrail,                                  ,(ParamString(L,2)) );
00457         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushRibbonTrail*,                               getRibbonTrail,                                     ,(ParamString(L,2)) );
00458         LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(              PushBool,                                       hasRibbonTrail,                                     ,(ParamString(L,2)) );
00459         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         destroyRibbonTrail,                                 ,(ParamRibbonTrail*(L,2))   );
00460         LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                             destroyRibbonTrail,2                                ,(ParamString(L,2)) );
00461         LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                             destroyAllRibbonTrails,                             ,() );
00462         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushParticleSystem*,                            createParticleSystem,                               ,(ParamString(L,2),ParamString(L,3))    );
00463         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushParticleSystem*,                            createParticleSystem,2                              ,(ParamString(L,2),ParamInt(L,3),ParamString(L,4))  );
00464         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushParticleSystem*,                            getParticleSystem,                                  ,(ParamString(L,2)) );
00465         LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(              PushBool,                                       hasParticleSystem,                                  ,(ParamString(L,2)) );
00466         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         destroyParticleSystem,                              ,(ParamParticleSystem*(L,2))    );
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         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         prepareWorldGeometry,2                              ,(ParamDataStreamPtr(L,2),ParamString(L,3)) );
00474         LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                     setWorldGeometry,                                   ,(ParamString(L,2)) );
00475         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         setWorldGeometry,2                                  ,(ParamDataStreamPtr(L,2),ParamString(L,3)) );
00476         LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushNumber,                                     estimateWorldGeometry,                              ,(ParamString(L,2)) );
00477         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushNumber,                                     estimateWorldGeometry,2                             ,(ParamDataStreamPtr(L,2),ParamString(L,3)) );
00478         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushViewPoint,                                  getSuggestedViewpoint,                              ,(ParamBool(L,2))   );
00479         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushBool,                                       setOption,                                          ,(ParamString(L,2),Paramvoid*(L,3)) );
00480         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushBool,                                       getOption,                                          ,(ParamString(L,2),Paramvoid*(L,3)) );
00481         LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushBool,                                   hasOption,                                          ,(ParamString(L,2)) );
00482         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushBool,                                       getOptionValues,                                    ,(ParamString(L,2),ParamStringVector(L,3))  );
00483         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushBool,                                       getOptionKeys,                                      ,(ParamStringVector(L,2))   );
00484         LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                     _updateSceneGraph,                                  ,(ParamCamera(L,2)) );
00485         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         _findVisibleObjects,                                ,(ParamCamera(L,2),ParamVisibleObjectsBoundsInfo*(L,3),ParamBool(L,4))  );
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         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         _setDestinationRenderSystem,                        ,(ParamRenderSystem*(L,2))  );
00491         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         setSkyPlane,                                        ,(ParamBool(L,2),ParamPlane(L,3),ParamString(L,4),ParamNumber(L,5),ParamNumber(L,6),ParamBool(L,7),ParamNumber(L,8),ParamInt(L,9),ParamInt(L,10),ParamString(L,11)) );
00492         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         _setSkyPlane,                                       ,(ParamBool(L,2),ParamPlane(L,3),ParamString(L,4),ParamNumber(L,5),ParamNumber(L,6),ParamInt(L,7),ParamNumber(L,8),ParamInt(L,9),ParamInt(L,10),ParamString(L,11))  );
00493         LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushBool,                                   isSkyPlaneEnabled,                                  ,() );
00494         LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushSceneNode,                              getSkyPlaneNode,                                        ,() );
00495         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushSkyPlaneGenParameters,                      getSkyPlaneGenParameters,                           ,() );
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         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushSkyBoxGenParameters,                        getSkyBoxGenParameters,                             ,() );
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         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushSkyDomeGenParameters,                       getSkyDomeGenParameters,                            ,() );
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         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushBillboardSet*,                              createBillboardSet,                                 ,(ParamString(L,2),ParamInt(L,3))   );
00513         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushBillboardSet*,                              getBillboardSet,                                    ,(ParamString(L,2)) );
00514         LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(              PushBool,                                       hasBillboardSet,                                    ,(ParamString(L,2)) );
00515         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         destroyBillboardSet,                                ,(ParamBillboardSet*(L,2))  );
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         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         manualRender,                                       ,(ParamRenderOperation(L,2),ParamPass*(L,3),ParamViewport(L,4),ParamMatrix4(L,5),ParamMatrix4(L,6),ParamMatrix4(L,7),ParamBool(L,8))    );
00531         LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(              PushRenderQueue,                                getRenderQueue,                                     ,() );
00532         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         addRenderQueueListener,                             ,(ParamRenderQueueListener*(L,2))   );
00533         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         removeRenderQueueListener,                          ,(ParamRenderQueueListener*(L,2))   );
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         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushAxisAlignedBoxSceneQuery*,                  createAABBQuery,                                    ,(ParamAxisAlignedBox(L,2),ParamInt(L,3))   );
00546         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushSphereSceneQuery*,                          createSphereQuery,                                  ,(ParamSphere(L,2),ParamInt(L,3))   );
00547         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushPlaneBoundedVolumeListSceneQuery*,          createPlaneBoundedVolumeQuery,                      ,(ParamPlaneBoundedVolumeList(L,2),ParamInt(L,3))   );
00548         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushRaySceneQuery*,                             createRayQuery,                                     ,(ParamRay(L,2),ParamInt(L,3))  );
00549         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushIntersectionSceneQuery*,                    createIntersectionQuery,                            ,(ParamInt(L,2))    );
00550         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         destroyQuery,                                       ,(ParamSceneQuery*(L,2))    );
00551         // unknown syntax:typedef MapIterator<CameraList> CameraIterator;
00552         // unknown syntax:typedef MapIterator<AnimationList> AnimationIterator;
00553         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushCameraIterator,                             getCameraIterator,                                  ,() );
00554         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushAnimationIterator,                          getAnimationIterator,                               ,() );
00555         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushAnimationStateIterator,                     getAnimationStateIterator,                          ,() );
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         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         setShadowTextureConfig,2                            ,(ParamInt(L,2),ParamShadowTextureConfig(L,3))  );
00572         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushConstShadowTextureConfigIterator,           getShadowTextureConfigIterator,                     ,() );
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         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         setShadowCameraSetup,                               ,(ParamShadowCameraSetupPtr(L,2))   );
00591         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushShadowCameraSetupPtr,                       getShadowCameraSetup,                               ,() );
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         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         addListener,                                        ,(ParamListener*(L,2))  );
00602         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         removeListener,                                     ,(ParamListener*(L,2))  );
00603         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushStaticGeometry*,                            createStaticGeometry,                               ,(ParamString(L,2)) );
00604         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushStaticGeometry*,                            getStaticGeometry,                                  ,(ParamString(L,2)) );
00605         LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(              PushBool,                                       hasStaticGeometry,                                  ,(ParamString(L,2)) );
00606         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         destroyStaticGeometry,                              ,(ParamStaticGeometry*(L,2))    );
00607         LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                             destroyStaticGeometry,2                             ,(ParamString(L,2)) );
00608         LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                             destroyAllStaticGeometry,                           ,() );
00609         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushInstancedGeometry*,                         createInstancedGeometry,                            ,(ParamString(L,2)) );
00610         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushInstancedGeometry*,                         getInstancedGeometry,                               ,(ParamString(L,2)) );
00611         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         destroyInstancedGeometry,                           ,(ParamInstancedGeometry*(L,2)) );
00612         LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                             destroyInstancedGeometry,2                          ,(ParamString(L,2)) );
00613         LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                             destroyAllInstancedGeometry,                        ,() );
00614         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushMovableObject,                              createMovableObject,                                ,(ParamString(L,2),ParamString(L,3),ParamNameValuePairList*(L,4))   );
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         // unknown syntax:typedef MapIterator<MovableObjectMap> MovableObjectIterator;
00622         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushMovableObjectIterator,                      getMovableObjectIterator,                           ,(ParamString(L,2)) );
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         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         _injectRenderWithPass,                              ,(ParamPass*(L,2),ParamRenderable(L,3),ParamBool(L,4))  );
00637         LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                     _suppressRenderStateChanges,                            ,(ParamBool(L,2))   );
00638         LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushBool,                                   _areRenderStateChangesSuppressed,                   ,() );
00639         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushPass*,                                      _setPass,                                           ,(ParamPass*(L,2),ParamBool(L,3),ParamBool(L,4))    );
00640         LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                     _suppressShadows,                                   ,(ParamBool(L,2))   );
00641         LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushBool,                                   _areShadowsSuppressed,                              ,() );
00642         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         _renderQueueGroupObjects,                           ,(ParamRenderQueueGroup*(L,2),ParamQueuedRenderableCollection::OrganisationMode(L,3))   );
00643         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         setQueuedRenderableVisitor,                         ,(ParamSceneMgrQueuedRenderableVisitor*(L,2))   );
00644         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushSceneMgrQueuedRenderableVisitor*,           getQueuedRenderableVisitor,                         ,() );
00645         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushRenderSystem*,                              getDestinationRenderSystem,                         ,() );
00646         LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(              PushViewport,                                   getCurrentViewport,                                 ,() );
00647         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushVisibleObjectsBoundsInfo,                   getVisibleObjectsBoundsInfo,                        ,(ParamCamera(L,2)) );
00648         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushVisibleObjectsBoundsInfo,                   getShadowCasterBoundsInfo,                          ,(ParamLight(L,2),ParamInt(L,3))    );
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         // unknown syntax:Frustum();
00671         // unknown syntax:~Frustum();
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         //~ BYREF! LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                              getFrustumExtents,                                  ,(ParamNumber(L,2),ParamNumber(L,3),ParamNumber(L,4),ParamNumber(L,5))  );
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         //~ BYREF! LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                              calcViewMatrixRelative,                             ,(ParamVector3(L,2),ParamMatrix4(L,3))  );
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         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushPlane*,                                     getFrustumPlanes,                                   ,() );
00698         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushPlane,                                      getFrustumPlane,                                    ,(ParamInt(L,2))    );
00699         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushBool,                                       isVisible,                                          ,(ParamAxisAlignedBox(L,2),ParamFrustumPlane*(L,3)) );
00700         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushBool,                                       isVisible,2                                         ,(ParamSphere(L,2),ParamFrustumPlane*(L,3)) );
00701         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushBool,                                       isVisible,3                                         ,(ParamVector3(L,2),ParamFrustumPlane*(L,3))    );
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         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushMaterialPtr,                                getMaterial,                                        ,() );
00709         LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                             getRenderOperation,                                 ,(ParamByRefRenderOperation(L,2))   );
00710         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         getWorldTransforms,                                 ,(ParamMatrix4*(L,2))   );
00711         LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushNumber,                 getSquaredViewDepth,                        ,(ParamCamera(L,2)) );
00712         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushLightList,                                  getLights,                                          ,() );
00713         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushVector3*,                                   getWorldSpaceCorners,                               ,() );
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         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         enableReflection,                                   ,(ParamPlane(L,2))  );
00722         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         enableReflection,2                                  ,(ParamMovablePlane*(L,2))  );
00723         LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                     disableReflection,                      ,() );
00724         LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushBool,                   isReflected,                                ,() );
00725         LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(              PushMatrix4,                                    getReflectionMatrix,                                ,() );
00726         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushPlane,                                      getReflectionPlane,                                 ,() );
00727         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushBool,                                       projectSphere,                                      ,(ParamSphere(L,2),ParamReal*(L,3),ParamReal*(L,4),ParamReal*(L,5),ParamReal*(L,6)) );
00728         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         enableCustomNearClipPlane,                          ,(ParamMovablePlane*(L,2))  );
00729         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         enableCustomNearClipPlane,2                         ,(ParamPlane(L,2))  );
00730         LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                     disableCustomNearClipPlane,             ,() );
00731         LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushBool,                   isCustomNearClipPlaneEnabled,           ,() );
00732         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         visitRenderables,                                   ,(ParamRenderable::Visitor*(L,2),ParamBool(L,3))    );
00733         // unknown syntax:Real INFINITE_FAR_PLANE_ADJUST;
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         // unknown syntax:Camera(String name,SceneManager* sm);
00746         // unknown syntax:~Camera();
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         //~ OPERATOR! LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(            _OgreExport friend std::ostream,        operator<<,                         ,(std::ostream,Camera)  );
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         // in parent: String getMovableType(void);
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         //~ CONST RETURN! LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(            PushCamera,                             getLodCamera,                       ,() ); // const return...
00793         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushRay,                                        getCameraToViewportRay,                             ,(ParamNumber(L,2),ParamNumber(L,3))    );
00794         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         getCameraToViewportRay,2                            ,(ParamNumber(L,2),ParamNumber(L,3),ParamRay*(L,4)) );
00795         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushPlaneBoundedVolume,                         getCameraToViewportBoxVolume,                       ,(ParamNumber(L,2),ParamNumber(L,3),ParamNumber(L,4),ParamNumber(L,5),ParamBool(L,6))   );
00796         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         getCameraToViewportBoxVolume,2                      ,(ParamNumber(L,2),ParamNumber(L,3),ParamNumber(L,4),ParamNumber(L,5),ParamPlaneBoundedVolume*(L,6),ParamBool(L,7)) );
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         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          Pushstd::vector<Plane>,                         getWindowPlanes,                                    ,() );
00803         // in parent: Real getBoundingRadius(void);
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         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         forwardIntersect,                                   ,(ParamPlane(L,2),Paramstd::vector<Vector4>*(L,3))  );
00813         // in parent: bool isVisible(AxisAlignedBox bound,FrustumPlane* culledBy);
00814         // in parent: bool isVisible(Sphere bound,FrustumPlane* culledBy);
00815         // in parent: bool isVisible(Vector3 vert,FrustumPlane* culledBy);
00816         // in parent: Vector3* getWorldSpaceCorners(void);
00817         // in parent: Plane getFrustumPlane(short plane);
00818         // in parent: bool projectSphere(Sphere sphere,Real* left,Real* top,Real* right,Real* bottom);
00819         // in parent: Real getNearClipDistance(void);
00820         // in parent: Real getFarClipDistance(void);
00821         // in parent: Matrix4 getViewMatrix(void);
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         // in parent: Vector3 getPositionForViewUpdate(void);
00827         // in parent: Quaternion getOrientationForViewUpdate(void);
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         // unknown syntax:typedef HashMap<String,MovableObject* > ObjectMap;
00840         // unknown syntax:typedef MapIterator<ObjectMap> ObjectIterator;
00841         // unknown syntax:typedef ConstMapIterator<ObjectMap> ConstObjectIterator;
00842         // unknown syntax:SceneNode(SceneManager* creator);
00843         // unknown syntax:SceneNode(SceneManager* creator,String name);
00844         // unknown syntax:~SceneNode();
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         // in parent: void _update(bool updateChildren,bool parentHasChanged);
00856         LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                 _updateBounds,                      ,() );
00857         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         _findVisibleObjects,                                ,(ParamCamera(L,2),ParamRenderQueue(L,3),ParamVisibleObjectsBoundsInfo*(L,4),ParamBool(L,5),ParamBool(L,6),ParamBool(L,7))  );
00858         LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushAxisAlignedBox,     _getWorldAABB,                      ,() );
00859         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushObjectIterator,                             getAttachedObjectIterator,                          ,() );
00860         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushConstObjectIterator,                        getAttachedObjectIterator,2                         ,() );
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         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         findLights,                                         ,(ParamLightList(L,2),ParamNumber(L,3)) );
00871         LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                 setFixedYawAxis,                        ,(ParamBool(L,2),ParamVector3(L,3)) );
00872         // in parent: void yaw(Radian angle,TransformSpace relativeTo);
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); // free old
00908             });
00909         
00910         // void             createAndBindVertexBuffer   (iVertexSize,iNumVerts,iUsage,bUseShadowBuffer=false,iBindIndex=0)
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         // void             writeToVertexBuffer (fifo,iBindIndex=0)
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) { // size check
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             //~ writeData (size_t offset, size_t length, const void *pSource, bool discardWholeBuffer=false)=0
00935             vbuf->writeData(0,fifo.size(),fifo.HackGetRawReader(),true);
00936         });
00937         
00938         // void             writeToVertexBufferPart (fifo,iVBufOffset,iWriteSize=full,iBindIndex=0)     updates only a part of a vertexbuffer
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()); // size check
00948             //~ writeData (size_t offset, size_t length, const void *pSource, bool discardWholeBuffer=false)=0
00949             vbuf->writeData(iVBufOffset,iWriteSize,fifo.HackGetRawReader(),false);
00950         });
00951         
00952             
00953         // unknown syntax:VertexData();
00954         // unknown syntax:~VertexData();
00955         // unknown syntax:VertexDeclaration* vertexDeclaration;
00956         // unknown syntax:VertexBufferBinding* vertexBufferBinding;
00957         // unknown syntax:size_t vertexStart;
00958         // unknown syntax:size_t vertexCount;
00959         // unknown syntax:struct HardwareAnimationData;
00960         // unknown syntax:typedef std::vector<HardwareAnimationData> HardwareAnimationDataList;
00961         // unknown syntax:HardwareAnimationDataList hwAnimationDataList;
00962         // unknown syntax:size_t hwAnimDataItemsUsed;
00963         LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(              PushVertexData,                                 clone,                                              ,(ParamBool(L,2))   );
00964         LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                             prepareForShadowVolume,                             ,() );
00965         // unknown syntax:HardwareVertexBufferSharedPtr hardwareShadowVolWBuffer;
00966         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         reorganiseBuffers,                                  ,(ParamVertexDeclaration(L,2),ParamBufferUsageList(L,3))    );
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         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         convertPackedColour,                                ,(ParamVertexElementType(L,2),ParamVertexElementType(L,3))  );
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         // void             createAndBindIndexBuffer    (iIndexType,iNumIndexes,iUsage,bUseShadowBuffer=false)
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         // void             writeToIndexBuffer  (fifo)
01001         LUABIND_QUICKWRAP(  writeToIndexBuffer, {
01002             Ogre::IndexData& id = GetSelf(L);
01003             cFIFO& fifo = *cLuaBind<cFIFO>::checkudata_alive(L,2);
01004             if (1) { // size check
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         // void             writeToIndexBufferPart  (fifo,iVBufOffset,iWriteSize=full)      updates only a part of a vertexbuffer
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()); // size check
01021             //~ writeData (size_t offset, size_t length, const void *pSource, bool discardWholeBuffer=false)=0
01022             id.indexBuffer->writeData(iVBufOffset,iWriteSize,fifo.HackGetRawReader(),false);
01023         });
01024         
01025         // unknown syntax:IndexData();
01026         // unknown syntax:~IndexData();
01027         // unknown syntax:HardwareIndexBufferSharedPtr indexBuffer;
01028         // unknown syntax:size_t indexStart;
01029         // unknown syntax:size_t indexCount;
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         // returns 0 if not found. (getBone would throw an exception or so)
01059         LUABIND_QUICKWRAP(  SearchBoneByName,   { 
01060             return PushBone(L,cOgreWrapper::SearchBoneByName(GetSelf(L),ParamString(L,2).c_str()));
01061         });
01062         
01063         // unknown syntax:Skeleton(ResourceManager* creator,String name,ResourceHandle handle,String group,bool isManual,ManualResourceLoader* loader);
01064         // unknown syntax:~Skeleton();
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         // unknown syntax:typedef std::vector<Bone* > BoneList;
01072         // unknown syntax:typedef VectorIterator<BoneList> BoneIterator;
01073         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushBoneIterator,                               getRootBoneIterator,                                ,() );
01074         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushBoneIterator,                               getBoneIterator,                                    ,() );
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         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushAnimation,                                  getAnimation,                                       ,(ParamString(L,2),ParamLinkedSkeletonAnimationSource**(L,3))   );
01082         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushAnimation,                                  _getAnimationImpl,                                  ,(ParamString(L,2),ParamLinkedSkeletonAnimationSource**(L,3))   );
01083         LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(              PushBool,                                       hasAnimation,                                       ,(ParamString(L,2)) );
01084         LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                             removeAnimation,                                    ,(ParamString(L,2)) );
01085         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         setAnimationState,                                  ,(ParamAnimationStateSet(L,2))  );
01086         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         _initAnimationState,                                ,(ParamAnimationStateSet*(L,2)) );
01087         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         _refreshAnimationState,                             ,(ParamAnimationStateSet*(L,2)) );
01088         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         _getBoneMatrices,                                   ,(ParamMatrix4*(L,2))   );
01089         LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(              PushNumber,                                     getNumAnimations,                                   ,() );
01090         LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(              PushAnimation,                                  getAnimation,2                                      ,(ParamInt(L,2))    );
01091         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushSkeletonAnimationBlendMode,                 getBlendMode,                                       ,() );
01092         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         setBlendMode,                                       ,(ParamSkeletonAnimationBlendMode(L,2)) );
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         // unknown syntax:typedef std::vector<LinkedSkeletonAnimationSource> LinkedSkeletonAnimSourceList;
01098         // unknown syntax:typedef ConstVectorIterator<LinkedSkeletonAnimSourceList> LinkedSkeletonAnimSourceIterator;
01099         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushLinkedSkeletonAnimSourceIterator,           getLinkedSkeletonAnimationSourceIterator,           ,() );
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         // unknown syntax:typedef std::vector<ushort> BoneHandleMap;
01105         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         _mergeSkeletonAnimations,                           ,(ParamSkeleton(L,2),ParamBoneHandleMap(L,3),ParamStringVector(L,4))    );
01106         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         _buildMapBoneByHandle,                              ,(ParamSkeleton(L,2),ParamBoneHandleMap(L,3))   );
01107         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         _buildMapBoneByName,                                ,(ParamSkeleton(L,2),ParamBoneHandleMap(L,3))   );
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         // unknown syntax:Bone(short handle,Skeleton* creator);
01120         // unknown syntax:Bone(String name,short handle,Skeleton* creator);
01121         // unknown syntax:~Bone();
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         //~ BYREF! LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                              _getOffsetTransform,                                ,(ParamMatrix4(L,2))    );
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         // in parent: void needUpdate(bool forceParentUpdate);
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         // unknown syntax:enum InterpolationMode;
01141         // unknown syntax:enum RotationInterpolationMode;
01142         // unknown syntax:Animation(String name,Real length);
01143         // unknown syntax:~Animation();
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         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushNumericAnimationTrack*,                     createNumericTrack,                                 ,(ParamInt(L,2))    );
01149         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushVertexAnimationTrack*,                      createVertexTrack,                                  ,(ParamInt(L,2),ParamVertexAnimationType(L,3))  );
01150         LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(              PushNodeAnimationTrack,                         createNodeTrack,2                                   ,(ParamInt(L,2),ParamNode(L,3)) );
01151         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushNumericAnimationTrack*,                     createNumericTrack,2                                ,(ParamInt(L,2),ParamAnimableValuePtr(L,3)) );
01152         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushVertexAnimationTrack*,                      createVertexTrack,2                                 ,(ParamInt(L,2),ParamVertexData(L,3),ParamVertexAnimationType(L,4)) );
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         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushNumericAnimationTrack*,                     getNumericTrack,                                    ,(ParamInt(L,2))    );
01158         LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(              PushBool,                                       hasNumericTrack,                                    ,(ParamInt(L,2))    );
01159         LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(              PushNumber,                                     getNumVertexTracks,                                 ,() );
01160         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushVertexAnimationTrack*,                      getVertexTrack,                                     ,(ParamInt(L,2))    );
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         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         apply,3                                             ,(ParamSkeleton(L,2),ParamNumber(L,3),ParamNumber(L,4),ParamAnimationState::BoneBlendMask*(L,5),ParamNumber(L,6))   );
01172         LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                             apply,4                                             ,(ParamEntity(L,2),ParamNumber(L,3),ParamNumber(L,4),ParamBool(L,5),ParamBool(L,6)) );
01173         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         setInterpolationMode,                               ,(ParamInterpolationMode(L,2))  );
01174         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushInterpolationMode,                          getInterpolationMode,                               ,() );
01175         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         setRotationInterpolationMode,                       ,(ParamRotationInterpolationMode(L,2))  );
01176         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushRotationInterpolationMode,                  getRotationInterpolationMode,                       ,() );
01177         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         setDefaultInterpolationMode,                        ,(ParamInterpolationMode(L,2))  );
01178         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushInterpolationMode,                          getDefaultInterpolationMode,                        ,() );
01179         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         setDefaultRotationInterpolationMode,                ,(ParamRotationInterpolationMode(L,2))  );
01180         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushRotationInterpolationMode,                  getDefaultRotationInterpolationMode,                ,() );
01181         // unknown syntax:typedef std::map< short,NodeAnimationTrack* > NodeTrackList;
01182         // unknown syntax:typedef ConstMapIterator<NodeTrackList> NodeTrackIterator;
01183         // unknown syntax:typedef std::map< short,NumericAnimationTrack* > NumericTrackList;
01184         // unknown syntax:typedef ConstMapIterator<NumericTrackList> NumericTrackIterator;
01185         // unknown syntax:typedef std::map< short,VertexAnimationTrack* > VertexTrackList;
01186         // unknown syntax:typedef ConstMapIterator<VertexTrackList> VertexTrackIterator;
01187         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushNodeTrackList,                              _getNodeTrackList,                                  ,() );
01188         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushNodeTrackIterator,                          getNodeTrackIterator,                               ,() );
01189         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushNumericTrackList,                           _getNumericTrackList,                               ,() );
01190         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushNumericTrackIterator,                       getNumericTrackIterator,                            ,() );
01191         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushVertexTrackList,                            _getVertexTrackList,                                ,() );
01192         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushVertexTrackIterator,                        getVertexTrackIterator,                             ,() );
01193         LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                             optimise,                                           ,(ParamBool(L,2))   );
01194         // unknown syntax:typedef std::set<ushort> TrackHandleList;
01195         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         _collectIdentityNodeTracks,                         ,(ParamTrackHandleList(L,2))    );
01196         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         _destroyNodeTracks,                                 ,(ParamTrackHandleList(L,2))    );
01197         LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(              PushAnimation,                                  clone,                                              ,(ParamString(L,2)) );
01198         LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                             _keyFrameListChanged,                               ,() );
01199         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushTimeIndex,                                  _getTimeIndex,                                      ,(ParamNumber(L,2)) );
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         // see Mesh::addBoneAssignment for shared, and SubMesh::addBoneAssignment() for specific
01223         LUABIND_QUICKWRAP(  addBoneAssignment,  { 
01224                 Ogre::VertexBoneAssignment o;
01225                 o.vertexIndex   = ParamInt(L,2); // unsigned int    
01226                 o.boneIndex     = ParamInt(L,3); // unsigned short  
01227                 o.weight        = ParamNumber(L,4); // Real
01228                 GetSelf(L).addBoneAssignment(o); 
01229                 return 0;
01230         });
01231         
01232         // returns {{key,vertexIndex,boneIndex,weight},...}
01233         LUABIND_QUICKWRAP(  enumBoneAssignment, { 
01234             //~ const Ogre::Mesh::VertexBoneAssignmentList& list = GetSelf(L).getBoneAssignments(); // std::multimap<size_t, VertexBoneAssignment>
01235             int i=1;
01236             lua_newtable(L);
01237             //~ for (Ogre::Mesh::VertexBoneAssignmentList::const_iterator itor=list.begin();itor!=list.end();++itor) { size_t first = itor->first; Ogre::VertexBoneAssignment second = itor->second;
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                     //~ printf("luabind.ogre.mesh.enumBoneAssignment %d %d %d %f\n",(int)first,(int)second.vertexIndex,(int)second.boneIndex,(float)second.weight);
01241                     PushNumber(L,first);                lua_rawseti( L, -2, 1 ); // ??? = vertexIndex ?
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         // unknown syntax:typedef std::vector<Real> LodDistanceList;
01251         // unknown syntax:typedef std::multimap<size_t,VertexBoneAssignment> VertexBoneAssignmentList;
01252         // unknown syntax:typedef MapIterator<VertexBoneAssignmentList> BoneAssignmentIterator;
01253         // unknown syntax:typedef std::vector<SubMesh* > SubMeshList;
01254         // unknown syntax:typedef std::vector< short> IndexMap;
01255         // unknown syntax:typedef HashMap<String,ushort> SubMeshNameMap;
01256         // unknown syntax:Mesh(ResourceManager* creator,String name,ResourceHandle handle,String group,bool isManual,ManualResourceLoader* loader);
01257         // unknown syntax:~Mesh();
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         // unknown syntax:typedef VectorIterator<SubMeshList> SubMeshIterator;
01266         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushSubMeshIterator,                            getSubMeshIterator,                                 ,() );
01267         // unknown syntax:VertexData* sharedVertexData;
01268         // unknown syntax:IndexMap sharedBlendIndexToBoneIndexMap;
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         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         _initAnimationState,                                ,(ParamAnimationStateSet*(L,2)) );
01280         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         _refreshAnimationState,                             ,(ParamAnimationStateSet*(L,2)) );
01281         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         addBoneAssignment,                                  ,(ParamVertexBoneAssignment(L,2))   );
01282         LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                             clearBoneAssignments,                               ,() );
01283         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         _notifySkeleton,                                    ,(ParamSkeletonPtr(L,2))    );
01284         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushBoneAssignmentIterator,                     getBoneAssignmentIterator,                          ,() );
01285         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushVertexBoneAssignmentList,                   getBoneAssignments,                                 ,() );
01286         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         generateLodLevels,                                  ,(ParamLodDistanceList(L,2),ParamProgressiveMesh::VertexReductionQuota(L,3),ParamNumber(L,4))   );
01287         LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(              PushNumber,                                     getNumLodLevels,                                    ,() );
01288         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushMeshLodUsage,                               getLodLevel,                                        ,(ParamInt(L,2))    );
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         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         _setLodUsage,                                       ,(ParamInt(L,2),ParamMeshLodUsage(L,3)) );
01298         LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                             _setSubMeshLodFaceList,                             ,(ParamInt(L,2),ParamInt(L,3),ParamIndexData(L,4))  );
01299         LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                             removeLodLevels,                                    ,() );
01300         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         setVertexBufferPolicy,                              ,(ParamHardwareBuffer::Usage(L,2),ParamBool(L,3))   );
01301         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         setIndexBufferPolicy,                               ,(ParamHardwareBuffer::Usage(L,2),ParamBool(L,3))   );
01302         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushHardwareBuffer::Usage,                      getVertexBufferUsage,                               ,() );
01303         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushHardwareBuffer::Usage,                      getIndexBufferUsage,                                ,() );
01304         LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(              PushBool,                                       isVertexBufferShadowed,                             ,() );
01305         LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(              PushBool,                                       isIndexBufferShadowed,                              ,() );
01306         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushNumber,                                     _rationaliseBoneAssignments,                        ,(ParamInt(L,2),ParamVertexBoneAssignmentList(L,3)) );
01307         LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                             _compileBoneAssignments,                            ,() );
01308         LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                             _updateCompiledBoneAssignments,                     ,() );
01309         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         buildTangentVectors,                                ,(ParamVertexElementSemantic(L,2),ParamInt(L,3),ParamInt(L,4),ParamBool(L,5),ParamBool(L,6),ParamBool(L,7)) );
01310         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushBool,                                       suggestTangentVectorBuildParams,                    ,(ParamVertexElementSemantic(L,2),ParamInt(L,3),ParamInt(L,4))  );
01311         LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                             buildEdgeList,                                      ,() );
01312         LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                             freeEdgeList,                                       ,() );
01313         LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                             prepareForShadowVolume,                             ,() );
01314         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushEdgeData*,                                  getEdgeList,                                        ,(ParamInt(L,2))    );
01315         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushEdgeData*,                                  getEdgeList,2                                       ,(ParamInt(L,2))    );
01316         LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(              PushBool,                                       isPreparedForShadowVolumes,                         ,() );
01317         LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(              PushBool,                                       isEdgeListBuilt,                                    ,() );
01318         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         prepareMatricesForVertexBlend,                      ,(ParamMatrix4**(L,2),ParamMatrix4*(L,3),ParamIndexMap(L,4))    );
01319         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         softwareVertexBlend,                                ,(ParamVertexData(L,2),ParamVertexData(L,3),ParamMatrix4**(L,4),ParamInt(L,5),ParamBool(L,6))   );
01320         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         softwareVertexMorph,                                ,(ParamNumber(L,2),ParamHardwareVertexBufferSharedPtr(L,3),ParamHardwareVertexBufferSharedPtr(L,4),ParamVertexData(L,5))    );
01321         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         softwareVertexPoseBlend,                            ,(ParamNumber(L,2),Paramstd::map<size_t(L,3),ParamVector3>(L,4),ParamVertexData(L,5))   );
01322         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushSubMeshNameMap,                             getSubMeshNameMap,                                  ,() );
01323         LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                             setAutoBuildEdgeLists,                              ,(ParamBool(L,2))   );
01324         LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(              PushBool,                                       getAutoBuildEdgeLists,                              ,() );
01325         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushVertexAnimationType,                        getSharedVertexDataAnimationType,                   ,() );
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         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushPose*,                                      createPose,                                         ,(ParamInt(L,2),ParamString(L,3))   );
01339         LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(              PushNumber,                                     getPoseCount,                                       ,() );
01340         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushPose*,                                      getPose,                                            ,(ParamInt(L,2))    );
01341         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushPose*,                                      getPose,2                                           ,(ParamString(L,2)) );
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         // unknown syntax:typedef VectorIterator<PoseList> PoseIterator;
01346         // unknown syntax:typedef ConstVectorIterator<PoseList> ConstPoseIterator;
01347         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushPoseIterator,                               getPoseIterator,                                    ,() );
01348         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushConstPoseIterator,                          getPoseIterator,2                                   ,() );
01349         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushPoseList,                                   getPoseList,                                        ,() );
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         // see Mesh::addBoneAssignment for shared, and SubMesh::addBoneAssignment() for specific
01369         LUABIND_QUICKWRAP(  addBoneAssignment,  { 
01370                 Ogre::VertexBoneAssignment o;
01371                 o.vertexIndex   = ParamInt(L,2); // unsigned int    
01372                 o.boneIndex     = ParamInt(L,3); // unsigned short  
01373                 o.weight        = ParamNumber(L,4); // Real
01374                 GetSelf(L).addBoneAssignment(o); 
01375                 return 0;
01376         });
01377         
01378         // returns {{key,vertexIndex,boneIndex,weight},...}
01379         LUABIND_QUICKWRAP(  enumBoneAssignment, { 
01380             //~ const Ogre::SubMesh::VertexBoneAssignmentList& list = GetSelf(L).getBoneAssignments(); // std::multimap<size_t, VertexBoneAssignment>
01381             int i=1;
01382             lua_newtable(L);
01383             //~ for (Ogre::SubMesh::VertexBoneAssignmentList::const_iterator itor=list.begin();itor!=list.end();++itor) { size_t first = itor->first; Ogre::VertexBoneAssignment second = itor->second;
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                     //~ printf("luabind.ogre.submesh.enumBoneAssignment %d %d %d %f\n",(int)first,(int)second.vertexIndex,(int)second.boneIndex,(float)second.weight);
01387                     PushNumber(L,first);                lua_rawseti( L, -2, 1 ); // ??? = vertexIndex ?
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         // unknown syntax:SubMesh();
01397         // unknown syntax:~SubMesh();
01398         // unknown syntax:bool useSharedVertices;
01399         // unknown syntax:RenderOperation::OperationType operationType;
01400         // unknown syntax:VertexData* vertexData;
01401         // unknown syntax:IndexData* indexData;
01402         // unknown syntax:typedef std::vector< short> IndexMap;
01403         // unknown syntax:IndexMap blendIndexToBoneIndexMap;
01404         // unknown syntax:ProgressiveMesh::LODFaceList mLodFaceList;
01405         // unknown syntax:std::vector<Vector3> extremityPoints;
01406         // unknown syntax:Mesh* parent;
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         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         addBoneAssignment,                                  ,(ParamVertexBoneAssignment(L,2))   );
01412         LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                             clearBoneAssignments,                               ,() );
01413         // unknown syntax:typedef std::multimap<size_t,VertexBoneAssignment> VertexBoneAssignmentList;
01414         // unknown syntax:typedef MapIterator<VertexBoneAssignmentList> BoneAssignmentIterator;
01415         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushBoneAssignmentIterator,                     getBoneAssignmentIterator,                          ,() );
01416         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushVertexBoneAssignmentList,                   getBoneAssignments,                                 ,() );
01417         LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                             _compileBoneAssignments,                            ,() );
01418         // unknown syntax:typedef ConstMapIterator<AliasTextureNamePairList> AliasTextureIterator;
01419         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushAliasTextureIterator,                       getAliasTextureIterator,                            ,() );
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         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushVertexAnimationType,                        getVertexAnimationType,                             ,() );
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         // unknown syntax:typedef std::set<Entity* > EntitySet;
01440         // unknown syntax:typedef std::map<String,MovableObject* > ChildObjectList;
01441         // unknown syntax:~Entity();
01442         LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(              PushMeshPtr,                                    getMesh,                                            ,() );
01443         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushSubEntity*,                                 getSubEntity,                                       ,(ParamInt(L,2))    );
01444         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushSubEntity*,                                 getSubEntity,2                                      ,(ParamString(L,2)) );
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         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         setMaterial,                                        ,(ParamMaterialPtr(L,2))    );
01449         // in parent: void _notifyCurrentCamera(Camera* cam);
01450         // in parent: void setRenderQueueGroup(uint8 queueID);
01451         // in parent: AxisAlignedBox getBoundingBox(void);
01452         LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(              PushAxisAlignedBox,                             getChildObjectsBoundingBox,                         ,() );
01453         // in parent: void _updateRenderQueue(RenderQueue* queue);
01454         // in parent: String getMovableType(void);
01455         LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(              PushAnimationState,                             getAnimationState,                                  ,(ParamString(L,2)) );
01456         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushAnimationStateSet*,                         getAllAnimationStates,                              ,() );
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         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushTagPoint*,                                  attachObjectToBone,                                 ,(ParamString(L,2),ParamMovableObject(L,3),ParamQuaternion(L,4),ParamVector3(L,5))  );
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         // unknown syntax:typedef MapIterator<ChildObjectList> ChildObjectListIterator;
01470         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushChildObjectListIterator,                    getAttachedObjectIterator,                          ,() );
01471         // in parent: Real getBoundingRadius(void);
01472         // in parent: AxisAlignedBox getWorldBoundingBox(bool derive);
01473         // in parent: Sphere getWorldBoundingSphere(bool derive);
01474         // in parent: EdgeData* getEdgeList(void);
01475         // in parent: bool hasEdgeList(void);
01476         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushShadowRenderableListIterator,               getShadowVolumeRenderableIterator,                  ,(ParamShadowTechnique(L,2),ParamLight(L,3),ParamHardwareIndexBufferSharedPtr*(L,4),ParamBool(L,5),ParamNumber(L,6),ParamInt(L,7))  );
01477         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushMatrix4*,                                   _getBoneMatrices,                                   ,() );
01478         LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(              PushNumber,                                     _getNumBoneMatrices,                                ,() );
01479         LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(              PushBool,                                       hasSkeleton,                                        ,() );
01480         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushSkeletonInstance*,                          getSkeleton,                                        ,() );
01481         LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(              PushBool,                                       isHardwareAnimationEnabled,                         ,() );
01482         // in parent: void _notifyAttached(Node* parent,bool isTagPoint);
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         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          Pushinline bool,                                sharesSkeletonInstance,                             ,() );
01491         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          Pushinline EntitySet*,                          getSkeletonInstanceSharingSet,                      ,() );
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         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushTempBlendedBufferInfo*,                     _getSkelAnimTempBufferInfo,                         ,() );
01500         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushTempBlendedBufferInfo*,                     _getVertexAnimTempBufferInfo,                       ,() );
01501         // in parent: uint32 getTypeFlags(void);
01502         LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(              PushVertexData,                                 getVertexDataForBinding,                            ,() );
01503         // unknown syntax:enum VertexDataBindChoice;
01504         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushVertexDataBindChoice,                       chooseVertexDataForBinding,                         ,(ParamBool(L,2))   );
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         // in parent: void visitRenderables(Renderable::Visitor* visitor,bool debugRenderables);
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         // unknown syntax:class _OgreExport Listener;
01524         // unknown syntax:AnimationTrack(Animation* parent,short handle);
01525         // unknown syntax:~AnimationTrack();
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         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushNumber,                                     getKeyFramesAtTime,                                 ,(ParamTimeIndex(L,2),ParamKeyFrame**(L,3),ParamKeyFrame**(L,4),Paramshort*(L,5))   );
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         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         getInterpolatedKeyFrame,                            ,(ParamTimeIndex(L,2),ParamKeyFrame(L,3))   );
01534         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         apply,                                              ,(ParamTimeIndex(L,2),ParamNumber(L,3),ParamNumber(L,4))    );
01535         LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                             _keyFrameDataChanged,                               ,() );
01536         LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(              PushBool,                                       hasNonZeroKeyFrames,                                ,() );
01537         LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                             optimise,                                           ,() );
01538         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         _collectKeyFrameTimes,                              ,(Paramstd::vector<Real>(L,2))  );
01539         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         _buildKeyFrameIndexMap,                             ,(Paramstd::vector<Real>(L,2))  );
01540         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         setListener,                                        ,(ParamListener*(L,2))  );
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         // unknown syntax:NodeAnimationTrack(Animation* parent,short handle);
01552         // unknown syntax:NodeAnimationTrack(Animation* parent,short handle,Node* targetNode);
01553         // unknown syntax:~NodeAnimationTrack();
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         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         applyToNode,                                        ,(ParamNode(L,2),ParamTimeIndex(L,3),ParamNumber(L,4),ParamNumber(L,5)) );
01558         LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                             setUseShortestRotationPath,                         ,(ParamBool(L,2))   );
01559         LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(              PushBool,                                       getUseShortestRotationPath,                         ,() );
01560         // in parent: void getInterpolatedKeyFrame(TimeIndex timeIndex,KeyFrame* kf);
01561         // in parent: void apply(TimeIndex timeIndex,Real weight,Real scale);
01562         // in parent: void _keyFrameDataChanged(void);
01563         LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(              PushTransformKeyFrame,                          getNodeKeyFrame,                                    ,(ParamInt(L,2))    );
01564         // in parent: bool hasNonZeroKeyFrames(void);
01565         // in parent: void optimise(void);
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         // unknown syntax:typedef vector<float>::type BoneBlendMask;
01575         // unknown syntax:AnimationState(String animName,AnimationStateSet* parent,Real timePos,Real length,Real weight,bool enabled);
01576         // unknown syntax:AnimationState(AnimationStateSet* parent,AnimationState rhs);
01577         // unknown syntax:~AnimationState();
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         // unknown syntax:bool operator);
01590         // unknown syntax:bool operator!);
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         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushAnimationStateSet*,                         getParent,                                          ,() );
01595         LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                             createBlendMask,                                    ,(ParamInt(L,2),ParamNumber(L,3))   );
01596         LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                             destroyBlendMask,                                   ,() );
01597         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         _setBlendMaskData,                                  ,(Paramfloat*(L,2)) );
01598         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         _setBlendMask,                                      ,(ParamBoneBlendMask*(L,2)) );
01599         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushBoneBlendMask*,                             getBlendMask,                                       ,() );
01600         LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(              PushBool,                                       hasBlendMask,                                       ,() );
01601         LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                             setBlendMaskEntry,                                  ,(ParamInt(L,2),ParamNumber(L,3))   );
01602         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          Pushinline float,                               getBlendMaskEntry,                                  ,(ParamInt(L,2))    );
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         // unknown syntax:KeyFrame(AnimationTrack* parent,Real time);
01611         // unknown syntax:~KeyFrame();
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         // unknown syntax:NumericKeyFrame(AnimationTrack* parent,Real time);
01624         // unknown syntax:~NumericKeyFrame();
01625         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushAnyNumeric,                                 getValue,                                           ,() );
01626         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         setValue,                                           ,(ParamAnyNumeric(L,2)) );
01627         // in parent: KeyFrame* _clone(AnimationTrack* newParent);
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         // unknown syntax:TransformKeyFrame(AnimationTrack* parent,Real time);
01638         // unknown syntax:~TransformKeyFrame();
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         // in parent: KeyFrame* _clone(AnimationTrack* newParent);
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         // unknown syntax:VertexMorphKeyFrame(AnimationTrack* parent,Real time);
01656         // unknown syntax:~VertexMorphKeyFrame();
01657         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         setVertexBuffer,                                    ,(ParamHardwareVertexBufferSharedPtr(L,2))  );
01658         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushHardwareVertexBufferSharedPtr,              getVertexBuffer,                                    ,() );
01659         // in parent: KeyFrame* _clone(AnimationTrack* newParent);
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         // unknown syntax:VertexPoseKeyFrame(AnimationTrack* parent,Real time);
01670         // unknown syntax:~VertexPoseKeyFrame();
01671         // unknown syntax:struct PoseRef;
01672         // unknown syntax:typedef std::vector<PoseRef> PoseRefList;
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         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushPoseRefList,                                getPoseReferences,                                  ,() );
01678         // unknown syntax:typedef VectorIterator<PoseRefList> PoseRefIterator;
01679         // unknown syntax:typedef ConstVectorIterator<PoseRefList> ConstPoseRefIterator;
01680         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushPoseRefIterator,                            getPoseReferenceIterator,                           ,() );
01681         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushConstPoseRefIterator,                       getPoseReferenceIterator,2                          ,() );
01682         // in parent: KeyFrame* _clone(AnimationTrack* newParent);
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); // autoDelete pBuf32
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         // unknown syntax:typedef Box Box;
01738         // unknown syntax:typedef Rect Rect;
01739         // unknown syntax:Image();
01740         // unknown syntax:Image(Image img);
01741         // unknown syntax:~Image();
01742         // unknown syntax:Image operator);
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         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushCopyImage,                                  loadRawData,                                        ,(ParamDataStreamPtr(L,2),ParamInt(L,3),ParamInt(L,4),ParamInt(L,5),ParamPixelFormat(L,6),ParamInt(L,7),ParamInt(L,8))  );
01748         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushCopyImage,                                  loadRawData,2                                       ,(ParamDataStreamPtr(L,2),ParamInt(L,3),ParamInt(L,4),ParamPixelFormat(L,5))    );
01749         LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(              PushCopyImage,                                  load,                                               ,(ParamString(L,2),ParamStringDefault(L,3,Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME)) );
01750         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushCopyImage,                                  load,2                                              ,(ParamDataStreamPtr(L,2),ParamString(L,3)) );
01751         LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                             save,                                               ,(ParamString(L,2)) );
01752         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushDataStreamPtr,                              encode,                                             ,(ParamString(L,2)) );
01753         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          Pushuchar*,                                     getData,                                            ,() );
01754         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          Pushuchar*,                                     getData,2                                           ,() );
01755         LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(              PushNumber,                                     getSize,                                            ,() );
01756         LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(              PushNumber,                                     getNumMipmaps,                                      ,() );
01757         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushBool,                                       hasFlag,                                            ,(ParamImageFlags(L,2)) );
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         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushPixelBox,                                   getPixelBox,                                        ,(ParamInt(L,2),ParamInt(L,3))  );
01769         // unknown syntax:enum Filter;
01770         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         scale,                                              ,(ParamPixelBox(L,2),ParamPixelBox(L,3),ParamFilter(L,4))   );
01771         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         resize,                                             ,(ParamInt(L,2),ParamInt(L,3),ParamFilter(L,4)) );
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         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushString,                                     getFileExtFromMagic,                                ,(ParamDataStreamPtr(L,2))  );
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         // unknown syntax:Texture(ResourceManager* creator,String name,ResourceHandle handle,String group,bool isManual,ManualResourceLoader* loader);
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         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         copyToTexture,                                      ,(ParamTexturePtr(L,2)) );
01824         LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                             loadImage,                                          ,(ParamByRefImage(L,2)) );
01825         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         loadRawData,                                        ,(ParamDataStreamPtr(L,2),ParamInt(L,3),ParamInt(L,4),ParamPixelFormat(L,5))    );
01826         //~ LUABIND_DIRECTWRAP_RETURN_VOID_NAMEADD(                                                         _loadImages,                                        ,(ParamConstImagePtrList(L,2))  );
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         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushHardwarePixelBufferSharedPtr,               getBuffer,                                          ,(ParamInt(L,2),ParamInt(L,3))  );
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         //~ Ogre::RenderOperation
01865         LUABIND_PrefixConstant(Ogre::RenderOperation,OT_POINT_LIST)         //  A list of points, 1 vertex per point.
01866         LUABIND_PrefixConstant(Ogre::RenderOperation,OT_LINE_LIST)          //  A list of lines, 2 vertices per line.
01867         LUABIND_PrefixConstant(Ogre::RenderOperation,OT_LINE_STRIP)         //  A strip of connected lines, 1 vertex per line plus 1 start vertex.
01868         LUABIND_PrefixConstant(Ogre::RenderOperation,OT_TRIANGLE_LIST)      //  A list of triangles, 3 vertices per triangle.
01869         LUABIND_PrefixConstant(Ogre::RenderOperation,OT_TRIANGLE_STRIP)     //  A strip of triangles, 3 vertices for the first triangle, and 1 per triangle after that.
01870         LUABIND_PrefixConstant(Ogre::RenderOperation,OT_TRIANGLE_FAN)       //  A fan of triangles, 3 vertices for the first triangle, and 1 per triangle after that. 
01871         
01872         //~ Ogre::HardwareIndexBuffer
01873         LUABIND_PrefixConstant(Ogre::HardwareIndexBuffer,IT_16BIT)      
01874         LUABIND_PrefixConstant(Ogre::HardwareIndexBuffer,IT_32BIT)
01875         
01876         //~ Ogre::HardwareBuffer
01877         // Enums describing buffer usage; not mutually exclusive.   -> COMBO POSSIBLE !!!! (add)
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         // unknown syntax:typedef std::list<VertexElement> VertexElementList;
01895         //~ LUABIND_DIRECTWRAP_RETURN_ONE_NAMEADD(          PushBool,                                       vertexElementLess,                                  ,(ParamVertexElement(L,2),ParamVertexElement(L,3))  );
01896         // unknown syntax:VertexDeclaration();
01897         // unknown syntax:~VertexDeclaration();
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)                 // alias to more specific colour type - use the current rendersystem's colour packing
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)            //  D3D style compact colour.
01942         LUABIND_PrefixConstant(Ogre,VET_COLOUR_ABGR)            //  GL style compact colour. 
01943 
01944         LUABIND_PrefixConstant(Ogre,VES_POSITION)               //  Position, 3 reals per vertex.
01945         LUABIND_PrefixConstant(Ogre,VES_BLEND_WEIGHTS)          //  Blending weights.
01946         LUABIND_PrefixConstant(Ogre,VES_BLEND_INDICES)          //  Blending indices.
01947         LUABIND_PrefixConstant(Ogre,VES_NORMAL)                 //  Normal, 3 reals per vertex.
01948         LUABIND_PrefixConstant(Ogre,VES_DIFFUSE)                //  Diffuse colours.
01949         LUABIND_PrefixConstant(Ogre,VES_SPECULAR)               //  Specular colours.
01950         LUABIND_PrefixConstant(Ogre,VES_TEXTURE_COORDINATES)    //  Texture coordinates.
01951         LUABIND_PrefixConstant(Ogre,VES_BINORMAL)               //  Binormal (Y axis if normal is Z).
01952         LUABIND_PrefixConstant(Ogre,VES_TANGENT)                //  Tangent (X axis if normal is Z). 
01953     }
01954     
01955     virtual const char* GetLuaTypeName () { return "lugre.VertexDeclaration"; }
01956 };
01957 
01958 
01960 void    LuaRegister_LuaBinds_Ogre   (lua_State *L) { PROFILE
01961     // needed first as baseclasses
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 };

Generated on Wed Feb 8 06:00:13 2012 for cpp by  doxygen 1.5.6