Thread: [Bprocessor-commit] gl/src/net/sourceforge/bprocessor/gl/view View.java, 1.141, 1.142
Status: Pre-Alpha
Brought to you by:
henryml
From: Michael L. <he...@us...> - 2006-08-24 11:51:13
|
Update of /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/view In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv5967/src/net/sourceforge/bprocessor/gl/view Modified Files: View.java Log Message: Improved hit-detection in element-editing mode Index: View.java =================================================================== RCS file: /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/view/View.java,v retrieving revision 1.141 retrieving revision 1.142 diff -C2 -d -r1.141 -r1.142 *** View.java 23 Aug 2006 13:43:15 -0000 1.141 --- View.java 24 Aug 2006 11:51:05 -0000 1.142 *************** *** 830,838 **** Space active = Project.getInstance().getActiveSpace(); ! if (active != null) { ! drawSpace(active, gld); ! } else { ! drawSpace(Project.getInstance().world(), gld); ! } //Draw edges --- 830,834 ---- Space active = Project.getInstance().getActiveSpace(); ! drawSpace(active, gld); //Draw edges *************** *** 1038,1063 **** private void drawEdges(GLDrawable gld) { drawGeneralEdges(gld, tempEdges); - Collection all = Project.getInstance().getEdges(); Space active = Project.getInstance().getActiveSpace(); if (active != Project.getInstance().world()) { ! Set edges = new HashSet(); ! { ! Iterator iter = all.iterator(); ! while (iter.hasNext()) { ! Edge current = (Edge) iter.next(); ! if (current.getStrippled()) { ! edges.add(current); ! } ! } ! } ! { ! Collection envelope = active.getEnvelope(); ! Iterator iter = envelope.iterator(); ! while (iter.hasNext()) { ! Surface current = (Surface) iter.next(); ! edges.addAll(current.getEdges()); ! } ! } drawConstructionEdges(gld, edges); } --- 1034,1042 ---- private void drawEdges(GLDrawable gld) { drawGeneralEdges(gld, tempEdges); Space active = Project.getInstance().getActiveSpace(); if (active != Project.getInstance().world()) { ! Collection envelope = active.getEnvelope(); ! Collection edges = Surface.edges(envelope); drawConstructionEdges(gld, edges); } *************** *** 1787,1810 **** */ private void drawSelectionMode(GLDrawable gld) { - Collection surfaces = Project.getInstance().getSurfaces(); - Collection edges = Project.getInstance().getEdges(); - Collection vertices = Project.getInstance().getVertices(); - Space space = Project.getInstance().getActiveSpace(); gl = gld.getGL(); initNames(gl); if (selectMode == VERTICES || selectMode == ALL) { ! Iterator it = vertices.iterator(); ! gl.glColor3fv(lineColor); ! while (it.hasNext()) { ! Vertex v = (Vertex)it.next(); ! pushName(gl, v); ! drawVertexHit(v); ! popName(gl); ! } ! Iterator tempVerticesIt = tempVertices.iterator(); ! while (tempVerticesIt.hasNext()) { ! Vertex v = (Vertex)tempVerticesIt.next(); pushName(gl, v); drawVertexHit(v); --- 1766,1794 ---- */ private void drawSelectionMode(GLDrawable gld) { Space space = Project.getInstance().getActiveSpace(); + Collection surfaces = space.getSurfaces(); + Collection edges = new LinkedList(); + edges.addAll(space.getEdges()); + edges.addAll(tempEdges); + Collection vertices = new LinkedList(); + vertices.addAll(space.getVertices()); + vertices.addAll(tempVertices); + + if (selectionMode != OBJECTS) { + Collection envelope = space.getEnvelope(); + Collection envelopeEdges = Surface.edges(envelope); + edges.addAll(envelopeEdges); + Collection envelopeVertices = Edge.vertices(envelopeEdges); + vertices.addAll(envelopeVertices); + } + + gl = gld.getGL(); initNames(gl); if (selectMode == VERTICES || selectMode == ALL) { ! Iterator iter = vertices.iterator(); ! while (iter.hasNext()) { ! Vertex v = (Vertex)iter.next(); pushName(gl, v); drawVertexHit(v); *************** *** 1813,1859 **** } if (selectMode == EDGES || selectMode == ALL) { ! if (space != null) { ! Set es = new HashSet(); ! { ! Set surfs = space.getEnvelope(); ! Iterator surfsIt = surfs.iterator(); ! while (surfsIt.hasNext()) { ! Surface current = (Surface) surfsIt.next(); ! es.addAll(current.getEdges()); ! } ! } ! ! // Collection surfs = space.getSurfaces(); ! // Iterator surfsIt = surfs.iterator(); ! // while (surfsIt.hasNext()) { ! // Surface current = (Surface) surfsIt.next(); ! // es.addAll(current.getEdges()); ! // } ! ! es.addAll(space.getEdges()); ! ! Iterator it = es.iterator(); ! gl.glColor3fv(lineColor); ! while (it.hasNext()) { ! Edge e = (Edge)it.next(); ! pushName(gl, e); ! drawEdge(e); ! popName(gl); ! } ! } else { ! Iterator it = edges.iterator(); ! gl.glColor3fv(lineColor); ! while (it.hasNext()) { ! Edge e = (Edge)it.next(); ! pushName(gl, e); ! drawEdge(e); ! popName(gl); ! } ! } ! ! ! Iterator tempEdgeIt = tempEdges.iterator(); ! while (tempEdgeIt.hasNext()) { ! Edge e = (Edge)tempEdgeIt.next(); pushName(gl, e); drawEdge(e); --- 1797,1803 ---- } if (selectMode == EDGES || selectMode == ALL) { ! Iterator iter = edges.iterator(); ! while (iter.hasNext()) { ! Edge e = (Edge)iter.next(); pushName(gl, e); drawEdge(e); *************** *** 1862,1868 **** } if (selectMode == SURFACES || selectMode == ALL) { - - gl.glColor3fv(SURFACE_COLOR); - if (space != null) { Set ss = new HashSet(); --- 1806,1809 ---- |