[Bprocessor-commit] gl/src/net/sourceforge/bprocessor/gl/view Display.java, 1.112, 1.113
Status: Pre-Alpha
Brought to you by:
henryml
From: Michael L. <he...@us...> - 2012-04-16 10:56:57
|
Update of /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/view In directory vz-cvs-4.sog:/tmp/cvs-serv32657/src/net/sourceforge/bprocessor/gl/view Modified Files: Display.java Log Message: Coloring of edges and vertices Index: Display.java =================================================================== RCS file: /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/view/Display.java,v retrieving revision 1.112 retrieving revision 1.113 diff -C2 -d -r1.112 -r1.113 *** Display.java 15 Jun 2011 13:23:11 -0000 1.112 --- Display.java 16 Apr 2012 10:56:54 -0000 1.113 *************** *** 40,43 **** --- 40,44 ---- import net.sourceforge.bprocessor.model.Instance; import net.sourceforge.bprocessor.model.Line; + import net.sourceforge.bprocessor.model.ParameterBlock; import net.sourceforge.bprocessor.model.Project; import net.sourceforge.bprocessor.model.Selection; *************** *** 426,436 **** draw(vertex); } ! private static void paintVertices(Collection<Vertex> vertices, float[] color, float size) { ! gl.glColor3fv(color, 0); ! gl.glPointSize(size); ! for (Vertex current : vertices) { ! draw(current); ! } ! } private static void selectVertices(Collection<Vertex> vertices) { for (Vertex current : vertices) { --- 427,431 ---- draw(vertex); } ! private static void selectVertices(Collection<Vertex> vertices) { for (Vertex current : vertices) { *************** *** 454,461 **** --- 449,515 ---- draw(edge); } + private static void paintVertices(Collection<Vertex> vertices, float[] color, float size) { + gl.glColor3fv(color, 0); + gl.glPointSize(size); + boolean changed = false; + for (Vertex current : vertices) { + if (changed) { + gl.glColor3fv(color, 0); + changed = false; + } + ParameterBlock parameters = current.getParameters(); + if (parameters != null) { + String paint = parameters.getString("paint"); + if (paint.length() > 0) { + char first = paint.charAt(0); + if (first == '#') { + String reds = paint.substring(1, 3); + String greens = paint.substring(3, 5); + String blues = paint.substring(5, 7); + float red = Integer.parseInt(reds, 16); + float green = Integer.parseInt(greens, 16); + float blue = Integer.parseInt(blues, 16); + float r = red / 255.0f; + float g = green / 255.0f; + float b = blue / 255.0f; + float[] c = new float[]{r, g, b}; + gl.glColor3fv(c, 0); + changed = true; + } + } + } + draw(current); + } + } private static void paintEdges(Collection<Edge> edges, float[] color, float size) { gl.glColor3fv(color, 0); gl.glLineWidth(size); + boolean changed = false; for (Edge current : edges) { + if (changed) { + gl.glColor3fv(color, 0); + changed = false; + } + ParameterBlock parameters = current.getParameters(); + if (parameters != null) { + String paint = parameters.getString("paint"); + if (paint.length() > 0) { + char first = paint.charAt(0); + if (first == '#') { + String reds = paint.substring(1, 3); + String greens = paint.substring(3, 5); + String blues = paint.substring(5, 7); + float red = Integer.parseInt(reds, 16); + float green = Integer.parseInt(greens, 16); + float blue = Integer.parseInt(blues, 16); + float r = red / 255.0f; + float g = green / 255.0f; + float b = blue / 255.0f; + float[] c = new float[]{r, g, b}; + gl.glColor3fv(c, 0); + changed = true; + } + } + } draw(current); } |