package org.mimezine.winnie; /** * Renderable data API suggestions for Winnie: * items in the trees and lists of data Winnie can render will implement this interface * to insure object creation, deletion and rendering. * @Author: arkasha * @Date: 20040921 * * mimezine fecit */ public interface RenderableCollection { //kicks of the GL list generation for entities in the collection public int buildEntities(GL globalGLContext); //proceses entities, calls the GL lists of the ones in view public void draw(GL globalGLContext, WinnieViewpoint vp); //nukes the entities in a collection public void trashEntities(GL globalGLContext); //adds, but does not build the GL lists for a renderable entity public Key addEntity(GeoLocated L); //adds and builds GL lists for a renderable entity public Key addAndBuildEntity(GeoLocated L); //removes and antity, unlinks it's id/list public boolean removeEntity(Key k); //retreives a reference to an entity by it's addition key public GeoLocated getEntity(Key k); }