[Bprocessor-commit] gl/src/net/sourceforge/bprocessor/gl/view View.java, 1.167, 1.168
Status: Pre-Alpha
Brought to you by:
henryml
From: Michael L. <he...@us...> - 2006-12-19 11:22:59
|
Update of /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/view In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv9743/src/net/sourceforge/bprocessor/gl/view Modified Files: View.java Log Message: Started work on new mechanism for space-drawing Index: View.java =================================================================== RCS file: /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/view/View.java,v retrieving revision 1.167 retrieving revision 1.168 diff -C2 -d -r1.167 -r1.168 *** View.java 18 Dec 2006 14:48:04 -0000 1.167 --- View.java 19 Dec 2006 11:22:49 -0000 1.168 *************** *** 107,110 **** --- 107,113 ---- /** the std line color*/ public static final float[] STD_LINE_COLOR = new float[] {0.1f, 0.1f, 0.1f}; + + /** the std line color*/ + public static final float[] GREY_LINE_COLOR = new float[] {0.7f, 0.7f, 0.7f}; /** Used for the actual drawing line */ *************** *** 357,360 **** --- 360,366 ---- private int maxClippingPlanes; + /** */ + private static final boolean DRAW_ALL = true; + static { setTransparency(100); *************** *** 892,900 **** Collection selection = Selection.primary(); gl.glEnable(GL.GL_DEPTH_TEST); - // draw selection gl.glColor3fv(SELECTED_COLOR, 0); invisibles = new HashSet(); highligts = new HashSet(); - { Iterator iter = selection.iterator(); --- 898,904 ---- *************** *** 926,931 **** } ! Space active = Project.getInstance().getActiveSpace(); ! drawSpace(active, gld); //Draw edges --- 930,940 ---- } ! if (DRAW_ALL) { ! drawSpace(Project.getInstance().world(), gld, true); ! } else { ! Space active = Project.getInstance().getActiveSpace(); ! drawSpace(active, gld, false); ! Object o; ! } //Draw edges *************** *** 1096,1101 **** * @param gld GLDrawable * @param space The Space */ ! private void drawSpace(Space space, GLAutoDrawable gld) { gl.glPushMatrix(); transform(space.getTransformations()); --- 1105,1114 ---- * @param gld GLDrawable * @param space The Space + * @param dodge dodge the colors */ ! private void drawSpace(Space space, GLAutoDrawable gld, boolean dodge) { ! if (space == Project.getInstance().getActiveSpace()) { ! dodge = false; ! } gl.glPushMatrix(); transform(space.getTransformations()); *************** *** 1109,1118 **** gl.glCullFace(GL.GL_BACK); ! gl.glColor3fv(Defaults.getFrontColor(), 0); ! drawSurfaces(gld, surfaces, FRONT); gl.glCullFace(GL.GL_FRONT); ! gl.glColor3fv(Defaults.getBackColor(), 0); ! drawSurfaces(gld, surfaces, BACK); gl.glDisable(GL.GL_CULL_FACE); --- 1122,1129 ---- gl.glCullFace(GL.GL_BACK); ! drawSurfaces(gld, surfaces, FRONT, dodge); gl.glCullFace(GL.GL_FRONT); ! drawSurfaces(gld, surfaces, BACK, dodge); gl.glDisable(GL.GL_CULL_FACE); *************** *** 1129,1133 **** gl.glPolygonOffset(1.0f, 1.0f); gl.glColor3fv(SURFACE_COLOR, 0); ! drawSurfaces(gld, surfaces, BOTH); gl.glDisable(GL.GL_POLYGON_OFFSET_FILL); break; --- 1140,1144 ---- gl.glPolygonOffset(1.0f, 1.0f); gl.glColor3fv(SURFACE_COLOR, 0); ! drawSurfaces(gld, surfaces, BOTH, dodge); gl.glDisable(GL.GL_POLYGON_OFFSET_FILL); break; *************** *** 1135,1139 **** } if (doDrawEdges) { ! drawGeneralEdges(gld, space.getEdges()); } Collection elements = space.getElements(); --- 1146,1150 ---- } if (doDrawEdges) { ! drawGeneralEdges(gld, space.getEdges(), dodge); } Collection elements = space.getElements(); *************** *** 1141,1145 **** while (iter.hasNext()) { Space current = (Space) iter.next(); ! drawSpace(current, gld); } gl.glPopMatrix(); --- 1152,1156 ---- while (iter.hasNext()) { Space current = (Space) iter.next(); ! drawSpace(current, gld, dodge); } gl.glPopMatrix(); *************** *** 1211,1220 **** private void drawEdges(GLAutoDrawable gld) { disableClipplanes(); ! drawGeneralEdges(gld, tempEdges); enableClipplanes(); ! Space active = Project.getInstance().getActiveSpace(); ! if (active != Project.getInstance().world()) { ! Collection edges = collectSupportingEdges(active); ! drawConstructionEdges(gld, edges); } } --- 1222,1234 ---- private void drawEdges(GLAutoDrawable gld) { disableClipplanes(); ! drawGeneralEdges(gld, tempEdges, false); enableClipplanes(); ! ! if (!DRAW_ALL) { ! Space active = Project.getInstance().getActiveSpace(); ! if (active != Project.getInstance().world()) { ! Collection edges = collectSupportingEdges(active); ! drawConstructionEdges(gld, edges); ! } } } *************** *** 1539,1544 **** * @param gld The GLDrawable * @param edges The edges */ ! public void drawGeneralEdges(GLAutoDrawable gld, Collection edges) { gl.glLineWidth(1.0f); gl.glColor3fv(lineColor, 0); --- 1553,1559 ---- * @param gld The GLDrawable * @param edges The edges + * @param dodge dodge colors */ ! public void drawGeneralEdges(GLAutoDrawable gld, Collection edges, boolean dodge) { gl.glLineWidth(1.0f); gl.glColor3fv(lineColor, 0); *************** *** 1561,1566 **** --- 1576,1587 ---- gl.glColor3fv(lineColor, 0); } else { + if (dodge) { + gl.glColor3fv(GREY_LINE_COLOR, 0); + } drawEdge(current); } + if (dodge) { + gl.glColor3fv(lineColor, 0); + } } } *************** *** 1582,1595 **** } - - /** - * @param gld The GLDrawable - * @param space The space - * @param side The side - */ - public void drawSpaceSurfaces(GLAutoDrawable gld, Space space, int side) { - drawSurfaces(gld, space.getSurfaces(), side); - } - /** * --- 1603,1606 ---- *************** *** 1606,1617 **** * @param surfaces The surfaces to draw * @param side The side of the Surface to draw */ ! private void drawSurfaces(GLAutoDrawable gld, Collection surfaces, int side) { GL gl = gld.getGL(); Iterator it = surfaces.iterator(); while (it.hasNext()) { Surface s = (Surface)it.next(); ! if (!hide(s)) { boolean visible = isVisible(s); if (side == BOTH) { if (visible) { --- 1617,1630 ---- * @param surfaces The surfaces to draw * @param side The side of the Surface to draw + * @param dodge dodge colors */ ! private void drawSurfaces(GLAutoDrawable gld, Collection surfaces, int side, boolean dodge) { GL gl = gld.getGL(); Iterator it = surfaces.iterator(); while (it.hasNext()) { Surface s = (Surface)it.next(); ! if (!hide(s) && !dodge) { boolean visible = isVisible(s); + if (side == BOTH) { if (visible) { |