package T3dawt; import T3dobject.T3DObject; import java.util.*; import java.awt.Graphics; public class T3ddraw { Vector ob; public T3ddraw (Vector ob){ this.ob = ob; } public void paint(Graphics g, int cx, int cy){ //quickSort(ob,0,ob.size()-1); for (int i = 0; i < ob.size(); i++){ ((T3DObject)ob.elementAt(i)).paint(g,cx,cy); //System.out.println( ((T3DObject)ob.elementAt(i)).getSortZ()); } //System.out.println(ob.size()); } public void sort(){ quickSort(ob,0,ob.size()-1); } void quickSort(Vector ob, int l, int r){ int i, j; double v; T3DObject t; if (r > l){ v = ((T3DObject)ob.elementAt(r)).getSortZ(); i = l-1; j = r; for (;;){ while(((T3DObject)ob.elementAt(++i)).getSortZ() < v); while(((T3DObject)ob.elementAt(--j)).getSortZ() > v && j > l); if (i >= j) break; t = (T3DObject)ob.elementAt(i); ob.setElementAt(ob.elementAt(j),i); ob.setElementAt(t,j); } t = (T3DObject)ob.elementAt(i); ob.setElementAt(ob.elementAt(r),i); ob.setElementAt(t,r); quickSort(ob, l, i-1); quickSort(ob, i+1, r); } } }