[Bprocessor-commit] gl/src/net/sourceforge/bprocessor/gl/view AbstractView.java,1.62,1.63
Status: Pre-Alpha
Brought to you by:
henryml
|
From: Michael L. <he...@us...> - 2005-11-30 08:51:57
|
Update of /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/view In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19957/src/net/sourceforge/bprocessor/gl/view Modified Files: AbstractView.java Log Message: More catmull-clark stuff Index: AbstractView.java =================================================================== RCS file: /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/view/AbstractView.java,v retrieving revision 1.62 retrieving revision 1.63 diff -C2 -d -r1.62 -r1.63 *** AbstractView.java 29 Nov 2005 19:02:51 -0000 1.62 --- AbstractView.java 30 Nov 2005 08:51:49 -0000 1.63 *************** *** 25,28 **** --- 25,29 ---- import java.util.HashSet; import java.util.Iterator; + import java.util.LinkedList; import java.util.List; import java.util.Collection; *************** *** 719,724 **** gl.glDisable(GL.GL_CULL_FACE); - - drawSpaces(gld); gl.glDisable(GL.GL_POLYGON_OFFSET_FILL); gl.glDisable(GL.GL_LIGHTING); --- 720,723 ---- *************** *** 737,741 **** break; } ! } gl.glColor3fv(SELECTED_COLOR); --- 736,742 ---- break; } ! } ! ! drawSpaces(gld); gl.glColor3fv(SELECTED_COLOR); *************** *** 1129,1132 **** --- 1130,1157 ---- /** + * Collect edges from surface + * @param surface The surface + * @param result The result + */ + void collectEdges(Surface surface, Collection result) { + Iterator iter = surface.getEdges().iterator(); + while (iter.hasNext()) { + result.add(iter.next()); + } + } + + /** + * Collect edges from surfaces + * @param surfaces The surfaces + * @param result The result + */ + void collectEdges(List surfaces, Collection result) { + Iterator iter = surfaces.iterator(); + while (iter.hasNext()) { + collectEdges((Surface) iter.next(), result); + } + } + + /** * Draw the spaces by running the modellor * @param gld The GLDrawable *************** *** 1134,1137 **** --- 1159,1163 ---- private void drawSpaces(GLDrawable gld) { Set spaces = Project.getInstance().getDomains(); + Iterator spaceIter = spaces.iterator(); while (spaceIter.hasNext()) { *************** *** 1140,1148 **** List surfaces = space.getModellor().generate(); if (surfaces != null) { ! Iterator iter = surfaces.iterator(); ! while (iter.hasNext()) { ! Surface current = (Surface) iter.next(); ! drawSurface(current); ! } } } --- 1166,1188 ---- List surfaces = space.getModellor().generate(); if (surfaces != null) { ! LinkedList edges = new LinkedList(); ! HashSet mark = new HashSet(); ! collectEdges(surfaces, edges); ! gl.glDisable(GL.GL_DEPTH); ! gl.glLineWidth(1.0f); ! gl.glColor3fv(X_AXIS_COLOR); ! Iterator eit = edges.iterator(); ! while (eit.hasNext()) { ! Edge e = (Edge)eit.next(); ! if (!mark.contains(e)) { ! drawEdge(e); ! mark.add(e); ! } ! }; ! // Iterator iter = surfaces.iterator(); ! // while (iter.hasNext()) { ! // Surface current = (Surface) iter.next(); ! // drawSurface(current); ! // } } } |