This is the current definition (update if out of date):

class SceneObject {
  abstract bool inside(vec where);
  abstract void grabMem(ref int);
  abstract void init(void* threadp);
  // returns a delegate that produces hits.
  abstract void delegate(ref Hit) setup(ref Ray ray, void* threadp);
  abstract SceneObject dup();
  void iterate(void delegate(ref SceneObject) dg) { } // Traverse the scenegraph
  this() { }
}