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.