Classes
The beginClass
/endClass
functions can be used to expose classes to Lua. The class type must be provided as a template argument to the beginClass
function. You can call beingClass
/endClass
multiple times for the same class, and on each call, new methods and variables can be added. Suppose that a class named Vec3 exists, to represent a 3D vector. It can be exposed to Lua using Lua Bridge, as follows:
class Vec3 { }; getGlobalNamespace(L) .beginNamespace("Math") .beginClass<Vec3>("Vec3") .endClass() .endNamespace()
To create a new object, just call the name of the class as a function. For example, the preceding code can create a new Vec3
with the following code:
local vector = Math.Vec3()
Constructor
Lua Bridge only supports a single constructor. Overloaded constructors are not possible to declare with Lua Bridge. A constructor can be added with the addConstructor
function. The function signature of the constructor must be specified as a template argument,...