Mesh: float* self._array this is an array of floats which contain the following data three times for each triangle: vertexX vertexY vertexZ normalX normalY normalZ texcoordX texcoordY texcoordZ void self._render() this is a "pure C" (no python code allowed) function which is called each frame to have the class render (issue GL calls) itself. Before doing so this class will need to calculate the positions of verticies and normals in the "vertex array". each bone has a position and quaternion accessible using ode.dBodyGetPosition and ode.dBodyGetQuaternion (see http://ode.sf.net/wiki/index.php/Manual_%28Rigid_Body_Functions%29 ) which you'll need to convert from "World" values to relative based on the mesh's ode body. ode has helper functions for this. int self._nbone # the number of bone objects Bone* self._bones an array of Bone objects Bone: (instance of soy.bodies.Body) self._mesh = the mesh it's part of self._scene = self._mesh._scene # just so the ODE stuff still works int self._nvert # the number of verticies it effects int* self._verts # index#'s of verticies it effects float* self._weights # the amount, usually 0.0-1.0, that it effects each vertex void self._render() # leave it alone - the default Body._render() does nothing, this should too.
