[Bprocessor-commit] gl/src/net/sourceforge/bprocessor/gl/view Display.java, 1.21, 1.22
Status: Pre-Alpha
Brought to you by:
henryml
From: Michael L. <he...@us...> - 2007-10-08 12:57:41
|
Update of /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/view In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv3965/src/net/sourceforge/bprocessor/gl/view Modified Files: Display.java Log Message: refactored edge drawing Index: Display.java =================================================================== RCS file: /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/view/Display.java,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** Display.java 8 Oct 2007 12:11:54 -0000 1.21 --- Display.java 8 Oct 2007 12:57:36 -0000 1.22 *************** *** 272,275 **** --- 272,323 ---- } + private static void draw(Edge edge) { + Vertex to = edge.getTo(); + Vertex from = edge.getFrom(); + gl.glBegin(GL.GL_LINE_STRIP); + gl.glVertex3d(to.getX(), to.getY(), to.getZ()); + gl.glVertex3d(from.getX(), from.getY(), from.getZ()); + gl.glEnd(); + } + private static void paint(Edge edge, float[] color, float size) { + gl.glColor3fv(color, 0); + gl.glLineWidth(size); + draw(edge); + } + private static void paintEdges(Collection<Edge> edges, float[] color, float size) { + gl.glColor3fv(color, 0); + gl.glLineWidth(size); + for (Edge current : edges) { + draw(current); + } + } + private static void paintStippled(Collection<Edge> edges, float[] color, float size) { + if (!edges.isEmpty()) { + gl.glEnable(GL.GL_LINE_STIPPLE); + paintEdges(edges, color, size); + gl.glDisable(GL.GL_LINE_STIPPLE); + } + } + + private static void selectEdges(Collection<Edge> edges) { + for (Edge current : edges) { + push(current); + draw(current); + pop(); + } + } + + private static void split(Collection<Edge> edges, + Collection<Edge> normal, + Collection<Edge> stippled) { + for (Edge current : edges) { + if (current.getStrippled()) { + stippled.add(current); + } else { + normal.add(current); + } + } + } + private static void selectSurfaces(Collection<Surface> surfaces) { *************** *** 348,397 **** } - private static void drawEdges(Collection<Edge> edges, boolean active) { - Collection<Edge> stippled = new LinkedList(); - if (active) { - gl.glColor3fv(black, 0); - } else { - gl.glColor3fv(grey, 0); - } - gl.glLineWidth(1.0f); - for (Edge current : edges) { - if (current.getStrippled()) { - stippled.add(current); - } else { - draw(current); - } - } - if (!stippled.isEmpty()) { - gl.glColor3fv(middleblue, 0); - gl.glEnable(GL.GL_LINE_STIPPLE); - for (Edge current : stippled) { - draw(current); - } - gl.glDisable(GL.GL_LINE_STIPPLE); - } - } - private static void selectEdges(Collection<Edge> edges) { - for (Edge current : edges) { - push(current); - draw(current); - pop(); - } - } - - private static void draw(Edge edge) { - Vertex to = edge.getTo(); - Vertex from = edge.getFrom(); - gl.glBegin(GL.GL_LINE_STRIP); - gl.glVertex3d(to.getX(), to.getY(), to.getZ()); - gl.glVertex3d(from.getX(), from.getY(), from.getZ()); - gl.glEnd(); - } - - - - - - private static void paintConstructors(Collection<Constructor> constructors) { for (Constructor current : constructors) { --- 396,399 ---- *************** *** 674,678 **** gl.glDepthMask(true); } ! drawEdges(edges, active); } --- 676,698 ---- gl.glDepthMask(true); } ! Collection<Edge> stippled = new LinkedList(); ! Collection<Edge> normal = new LinkedList(); ! split(edges, normal, stippled); ! ! float size; ! float[] color; ! ! if (space instanceof Net) { ! size = 2.0f; ! } else { ! size = 1.0f; ! } ! if (active) { ! color = black; ! } else { ! color = grey; ! } ! paintEdges(normal, color, size); ! paintStippled(stippled, middleblue, size); } *************** *** 793,797 **** selectEdges(edges); } else { ! drawEdges(edges, true); } if (selecting()) { --- 813,821 ---- selectEdges(edges); } else { ! Collection<Edge> stippled = new LinkedList(); ! Collection<Edge> normal = new LinkedList(); ! split(edges, normal, stippled); ! paintEdges(normal, black, 1.0f); ! paintStippled(stippled, middleblue, 1.0f); } if (selecting()) { |