[Bprocessor-commit] gl/src/net/sourceforge/bprocessor/gl/view Display.java, 1.6, 1.7
Status: Pre-Alpha
Brought to you by:
henryml
From: Michael L. <he...@us...> - 2007-09-24 14:20:09
|
Update of /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/view In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv20884/src/net/sourceforge/bprocessor/gl/view Modified Files: Display.java Log Message: refactored new display code Index: Display.java =================================================================== RCS file: /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/view/Display.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** Display.java 24 Sep 2007 13:02:18 -0000 1.6 --- Display.java 24 Sep 2007 14:20:07 -0000 1.7 *************** *** 234,237 **** --- 234,256 ---- } + private static void drawVertices(Collection<Vertex> vertices) { + gl.glColor3fv(black, 0); + gl.glPointSize(9.0f); + for (Vertex current : vertices) { + if (current != target) { + draw(current); + } + } + } + + private static void selectVertices(Collection<Vertex> vertices) { + gl.glPointSize(9.0f); + for (Vertex current : vertices) { + push(current); + draw(current); + pop(); + } + } + private static void draw(Vertex vertex) { gl.glBegin(GL.GL_POINTS); *************** *** 341,386 **** gl.glEnable(GL.GL_DEPTH_TEST); if (selecting()) { selectSurfaces(surfaces); } else { drawSurfaces(surfaces); ! gl.glEnable(GL.GL_POLYGON_STIPPLE); ! gl.glPolygonStipple(highlight, 0); ! gl.glColor3fv(redish, 0); ! for (Geometric current : Selection.primary()) { ! if (current != target) { ! if (current.getOwner() == space) { ! if (current instanceof Surface) { ! draw((Surface) current, false); ! } ! } ! } ! } ! if (target instanceof Surface) { ! draw((Surface) target, false); ! } ! gl.glDisable(GL.GL_POLYGON_STIPPLE); } if (selecting()) { ! selectEdges(edges); } else { ! gl.glColor3fv(redish, 0); ! gl.glLineWidth(3.0f); ! for (Geometric current : Selection.primary()) { ! if (current != target) { ! if (current.getOwner() == space) { ! if (current instanceof Edge) { ! draw((Edge) current); ! } ! } ! } ! } ! if (target instanceof Edge) { ! if (target.getOwner() == space) { ! draw((Edge) target); ! } ! } ! drawEdges(edges); } --- 360,378 ---- gl.glEnable(GL.GL_DEPTH_TEST); + if (selecting()) { selectSurfaces(surfaces); + selectEdges(edges); } else { drawSurfaces(surfaces); ! drawEdges(edges); } + gl.glDisable(GL.GL_DEPTH_TEST); + if (selecting()) { ! selectVertices(vertices); } else { ! drawVertices(loners); } *************** *** 388,427 **** draw(current); } gl.glDisable(GL.GL_DEPTH_TEST); ! if (!selecting()) { ! if (target instanceof Vertex) { ! if (target.getOwner() == space) { gl.glColor3fv(redish, 0); gl.glPointSize(9.0f); - draw((Vertex) target); } else { gl.glColor3fv(blueish, 0); gl.glPointSize(6.0f); - draw((Vertex) target); - } - } - gl.glColor3fv(black, 0); - gl.glPointSize(9.0f); - for (Vertex current : loners) { - if (current != target) { - draw(current); - } - } - gl.glColor3fv(redish, 0); - for (Geometric current : Selection.primary()) { - if (current != target) { - if (current instanceof Vertex) { - if (current.getOwner() == space) { - draw((Vertex) current); - } - } } ! } ! } else { ! gl.glPointSize(9.0f); ! for (Vertex current : vertices) { ! push(current); ! draw(current); ! pop(); } } --- 380,417 ---- draw(current); } + } + + private static void hilite(Collection<Geometric> geometrics) { + gl.glEnable(GL.GL_DEPTH_TEST); + gl.glColor3fv(redish, 0); + gl.glLineWidth(3.0f); + gl.glEnable(GL.GL_POLYGON_STIPPLE); + gl.glPolygonStipple(highlight, 0); + + for (Geometric current : geometrics) { + if (current instanceof Edge) { + draw((Edge) current); + } + } + + for (Geometric current : geometrics) { + if (current instanceof Surface) { + draw((Surface) current, false); + } + } + + gl.glDisable(GL.GL_POLYGON_STIPPLE); gl.glDisable(GL.GL_DEPTH_TEST); ! ! for (Geometric current : geometrics) { ! if (current instanceof Vertex) { ! if (current.getOwner() != null) { gl.glColor3fv(redish, 0); gl.glPointSize(9.0f); } else { gl.glColor3fv(blueish, 0); gl.glPointSize(6.0f); } ! draw((Vertex) current); } } *************** *** 437,440 **** --- 427,439 ---- Space world = Project.getInstance().world(); draw(world); + + if (!selecting()) { + Collection<Geometric> geometrics = new HashSet(); + geometrics.addAll(Selection.primary()); + if (target != null) { + geometrics.add(target); + } + hilite(geometrics); + } } } |