diff --git a/doc/index.html b/doc/index.html index 8793301..3337963 100644 --- a/doc/index.html +++ b/doc/index.html @@ -21,7 +21,13 @@ The library functions are documented below.
ag.print(args...)
This function prints its arguments to the standard output. +It is mainly used for debugging when developing Lua scripts. On Windows, this output stream may be redirected to a file (stdout.txt). Example usage:
local x, y, z = my_obj:getPosition() @@ -212,15 +220,22 @@ Lua function was registered for event_name, it will be overwritten to call the new handler. event_name should be one of:
+When the Lua script is initially loaded, any functions found +that have names matching an event name with "_event" appended +(ex. "mouse_motion_event" for the "mouse_motion" event) +are registered automatically as handlers for their corresponding +events. +
+The following functions can be used to create "managed" objects. +These objects are "managed" by the Lua script (as opposed to having +all of their attributes defined in a model file). +The properties of managed objects, such as the color, texture, position, +and rotation, can be controlled by using the +object member functions. +
+obj = ag.createBox(width, depth, height)
++This function creates a managed object which is a box with +dimensions given by (width, depth, height). +
obj = ag.createBoxStatic(width, depth, height)
++Identical to ag.createBox() except that the created +object is static. +
obj = ag.createCapsule(radius, length)
++This function creates a capsule managed object. +A capsule is like a cylinder, but has a half-sphere "capping" +each end of the cylinder. +radius specifies the radius of the cylinder (and caps). +length specifies the length of the straight part of +the capsule (not including the caps). +The capsule is oriented with its axis along the Z axis and its +center point at the origin. +
obj = ag.createCapsuleStatic(radius, length)
++Identical to ag.createCapsule() except that the created +object is static. +
obj = ag.createCylinder(radius, length)
++This function creates a cylinder managed object. +radius specifies the radius of the cylinder. +length specifies the length of the cylinder. +The cylinder is oriented with its axis along the Z axis and its +center point at the origin. +
obj = ag.createCylinderStatic(radius, length)
++Identical to ag.createCylinder() except that the created +object is static. +
1) obj = ag.createPlane(a, b, c, d)
+2) obj = ag.createPlane(x, y, z, rot_x, rot_y, rot_z)
++The createPlane() function creates a managed plane object. +All planes are static and are not moved as a result of physics +collisions (other objects can still bounce off them). +In the four-argument form, the plane is created with equation +ax + by + cz = d. +(a, b, c) specifies the normal vector for the plane. +In the six-argument form, the plane is created by specifying a point +on the plane, with coordinates (x, y, z), and the Euler rotation +angles around the x, y, and z axis. +Specifying no rotation would use the default plane normal of (0, 0, 1). +If you would like to create a plane by specifying a point on +the surface and the surface normal, see the +std.createPlanePtNormal() function. +
obj = ag.createSphere(radius)
++This function creates a managed sphere object with the radius given. +
obj = ag.createSphereStatic(radius)
++Identical to ag.createSphere() except that the created +object is static. +
obj:addForce(xf, yf, zf)
++This function adds a one-time force to obj +with a force vector (xf, yf, zf). +
+ + +obj:addForceRel
++This function adds a one-time force to obj +with a force vector (xf, yf, zf) which is +relative to the local reference frame of obj. +
+ + +obj:addTorque(xr, yr, zr)
++This function adds torque (a rotational force) to obj. +The torque vector around global axes x, y, z is given by (xr, yr, zr). +
+ + +obj:addTorqueRel(xr, yr, zr)
++This function adds torque (a rotational force) to obj. +The torque vector around the local axes x, y, z of obj +is given by (xr, yr, zr). +
+ + +new_obj = obj:clone()
++This function makes a copy of the object in the engine. +This is more efficient then recreating the object in whatever +manner was used to create obj. +new_obj will have all of its own parameters - position, +rotation, color, texture, etc... +However, these parameters will be instantiated with the corresponding +values from obj at the time of cloning. +One should call +new_obj:setPosition() +in order to place new_obj somewhere where it is not +intersecting with other objects in order to pacify the physics engine. +
+ + +obj:destroy()
++This function destroys the object in the engine. +obj should not be used after this method is called. +
+ + +obj:draw()
++This function will draw obj to the screen. +It is called automatically by ag.drawObjects(), +so calling it is only required if the "AutoDrawObjects" mode +is disabled, and ag.drawObjects() is not called. +
+ + +mass = obj:getMass()
++This function returns the mass of obj. +
+ + +x, y, z = obj:getPosition()
++This function returns the coordinates (x, y, z) of the object. +Normally, the center-of-mass of the object is located at its +local origin. +The coordinates of the object's local origin are returned by +this call, so these coordinates will be the coordinates of the +object's center-of-mass. +
+ + +obj:setColor(r, g, b)
++This function sets the color of the object. +The parameters correspond to the red, green, and blue components +of the object color. +Each component should be between 0.0 and 1.0. +
+ + +obj:setMass(new_mass)
++This function sets the mass of obj to new_mass. +
-obj:setPosition(x, y, z)
++This function sets the coordinates for the object's +center-of-mass (local origin) to (x, y, z). +
+ + +obj:setRotation(xr, yr, zr)
++This function sets the object's rotation to that specified +by Euler angles (xr, yr, zr). +
+ + +obj:setTexture(tex)
++This function sets the texture of obj to tex. +tex is a Lua reference to a texture loaded with +ag.loadTexture(). +
+ + +obj:setVisible(visible_flag)
++This function sets the visibility of obj to visible_flag. +If visible_flag is true, then the object will be drawn. +
+ +