[Bprocessor-commit] gl/src/net/sourceforge/bprocessor/gl/view AbstractView.java,1.35,1.36
Status: Pre-Alpha
Brought to you by:
henryml
From: Michael L. <he...@us...> - 2005-09-26 13:17:49
|
Update of /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/view In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1484/src/net/sourceforge/bprocessor/gl/view Modified Files: AbstractView.java Log Message: Puts space names on surfaces Index: AbstractView.java =================================================================== RCS file: /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/view/AbstractView.java,v retrieving revision 1.35 retrieving revision 1.36 diff -C2 -d -r1.35 -r1.36 *** AbstractView.java 23 Sep 2005 07:09:50 -0000 1.35 --- AbstractView.java 26 Sep 2005 13:17:38 -0000 1.36 *************** *** 14,17 **** --- 14,18 ---- import net.sourceforge.bprocessor.model.Edge; import net.sourceforge.bprocessor.model.EdgeFacade; + import net.sourceforge.bprocessor.model.Space; import net.sourceforge.bprocessor.model.Vertex; import net.sourceforge.bprocessor.model.VertexFacade; *************** *** 259,274 **** drawAll(gld); - //gl.glMatrixMode(GL.GL_PROJECTION); - //gl.glLoadIdentity(); - //glu.gluOrtho2D(0, width, 0, height); - //gl.glMatrixMode(GL.GL_MODELVIEW); - //gl.glLoadIdentity(); - //drawTextBox(200, 200, "Space 1"); if (glv.getTool() instanceof SelectTool) { //gl.glDisable(GL.GL_DEPTH_TEST); //gl.glDisable(GL.GL_LIGHTING); ! //decorateSelection(); } gl.glGetIntegerv(GL.GL_RENDER_MODE, mode); --- 260,280 ---- drawAll(gld); if (glv.getTool() instanceof SelectTool) { //gl.glDisable(GL.GL_DEPTH_TEST); //gl.glDisable(GL.GL_LIGHTING); ! decorateSelection(); ! } ! ! if (glv.getTool() instanceof SelectTool) { ! gl.glMatrixMode(GL.GL_PROJECTION); ! gl.glLoadIdentity(); ! glu.gluOrtho2D(0, width, 0, height); ! gl.glMatrixMode(GL.GL_MODELVIEW); ! gl.glLoadIdentity(); ! labelSelection(); } + //drawTextBox(200, 200, "Space 1"); + gl.glGetIntegerv(GL.GL_RENDER_MODE, mode); *************** *** 367,375 **** void decorateSelection() { Collection selection = glv.getTool().getSelection(); ! Iterator iter = selection.iterator(); ! while (iter.hasNext()) { ! Object current = iter.next(); ! if (current instanceof Surface) { ! decorateSurface((Surface) current); } } --- 373,469 ---- void decorateSelection() { Collection selection = glv.getTool().getSelection(); ! if (selection.size() == 1) { ! Iterator iter = selection.iterator(); ! while (iter.hasNext()) { ! Object current = iter.next(); ! if (current instanceof Surface) { ! decorateSurface((Surface) current); ! } ! } ! } ! } ! ! ! /** ! * Put labels on a Surface ! * @param surface The Surface ! */ ! void labelSurface(Surface surface) { ! Vertex from = surface.center(); ! CoordinateSystem system = surface.coordinateSystem(); ! Vertex n = system.getN(); ! Vertex spot = from.add(n); ! Transformation transformation = transformation(); ! Space frontSpace = (Space) surface.getFrontDomain(); ! Space backSpace = (Space) surface.getBackDomain(); ! String frontName; ! String backName; ! ! if (frontSpace != null) { ! frontName = frontSpace.getName(); ! } else { ! frontName = "None"; ! } ! ! if (backSpace != null) { ! backName = backSpace.getName(); ! } else { ! backName = "None"; ! } ! ! int frontWidth = glut.glutBitmapLength(GLUT.BITMAP_HELVETICA_18, frontName); ! int backWidth = glut.glutBitmapLength(GLUT.BITMAP_HELVETICA_18, backName); ! ! Vertex front = transformation.project(from.add(n)); ! Vertex back = transformation.project(from.minus(n)); ! Vertex frontAnchor; ! Vertex backAnchor; ! Vertex frontTextAnchor; ! Vertex backTextAnchor; ! ! ! if (front.getX() > back.getX()) { ! frontAnchor = new Vertex("", front.getX() + 40, front.getY() + 10, front.getZ()); ! frontTextAnchor = frontAnchor; ! backAnchor = new Vertex("", back.getX() - 40, back.getY() + 10, back.getZ()); ! backTextAnchor = new Vertex("", backAnchor.getX() - backWidth, ! backAnchor.getY(), backAnchor.getZ()); ! } else { ! frontAnchor = new Vertex("", front.getX() - 40, front.getY() + 10, front.getZ()); ! frontTextAnchor = new Vertex("", frontAnchor.getX() - frontWidth, ! frontAnchor.getY(), frontAnchor.getZ()); ! backAnchor = new Vertex("", back.getX() + 40, back.getY() + 10, back.getZ()); ! backTextAnchor = backAnchor; ! } ! ! gl.glLineWidth(1.0f); ! gl.glColor3d(0.4, 0.4, 0.4); ! gl.glBegin(GL.GL_LINES); ! gl.glVertex3d(front.getX(), front.getY(), front.getZ()); ! gl.glVertex3d(frontAnchor.getX(), frontAnchor.getY(), frontAnchor.getZ()); ! gl.glEnd(); ! gl.glColor3d(0.2, 0.2, 0.2); ! drawString(frontTextAnchor.getX(), frontTextAnchor.getY(), frontName); ! gl.glColor3d(0.4, 0.4, 0.4); ! gl.glBegin(GL.GL_LINES); ! gl.glVertex3d(back.getX(), back.getY(), back.getZ()); ! gl.glVertex3d(backAnchor.getX(), backAnchor.getY(), backAnchor.getZ()); ! gl.glEnd(); ! gl.glColor3d(0.2, 0.2, 0.2); ! drawString(backTextAnchor.getX(), backTextAnchor.getY(), backName); ! } ! ! /** ! * Put labels on the selection ! */ ! void labelSelection() { ! Collection selection = glv.getTool().getSelection(); ! if (selection.size() == 1) { ! Iterator iter = selection.iterator(); ! while (iter.hasNext()) { ! Object current = iter.next(); ! if (current instanceof Surface) { ! labelSurface((Surface) current); ! } } } |