public class cLinker extends Composite { static final long serialVersionUID = 2676790134285089534L; cLinker() { super("Linker"); count = 4; height = 1; depth = 0; } Object3D deepCopy() { cLinker t = new cLinker(); deepCopySelf(t); return t; } void createEditWindow(GroupEditor callee, boolean newWindow) { if (newWindow) objectUI = new LinkerEditor(this, deepCopy(), callee); else objectUI = new LinkerEditor(this, callee); editWindow = objectUI.GetEditor(); } void draw(iCameraPane display, Object3D /*Composite*/ root, boolean selected, boolean blocked) { //if(count <= 0) // return; if(display.DrawMode() == display.SELECTION || display.IsDebugSelection()) { super.draw(display, root, selected, blocked); return; } //System.out.println("cLinker = " + this); //new Exception().printStackTrace(); stack.push(cStatic.getVector()); // new cVector()); if(stack.size() > 1) { cStatic.point7.set(stack.peek()); /**/ //javax.media.opengl.GL gl = display.GetGL(); //gl.glBegin(gl.GL_LINES); //gl.glVertex3d(stack.peek().x, stack.peek().y, stack.peek().z); //System.out.println("line = " + stack.peek()); cVector keep = stack.pop(); //System.out.println("to = " + stack.peek()); cStatic.point7.sub(stack.peek()); //gl.glVertex3d(stack.peek().x, stack.peek().y, stack.peek().z); //gl.glEnd(); /**/ stack.push(keep); cStatic.point8.set(0,-1,0); int size = 12; if(cStatic.cone == null) { cStatic.box = new Box(); cStatic.cone = new Cone[size]; cStatic.sphere = new Sphere[size]; for (int i=0; i