[Bprocessor-commit] gl/src/net/sourceforge/bprocessor/gl/view View.java, 1.144, 1.145
Status: Pre-Alpha
Brought to you by:
henryml
From: Michael L. <he...@us...> - 2006-08-28 08:20:55
|
Update of /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/view In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv4804/src/net/sourceforge/bprocessor/gl/view Modified Files: View.java Log Message: More context for element-modelling Index: View.java =================================================================== RCS file: /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/view/View.java,v retrieving revision 1.144 retrieving revision 1.145 diff -C2 -d -r1.144 -r1.145 *** View.java 28 Aug 2006 07:27:15 -0000 1.144 --- View.java 28 Aug 2006 08:20:52 -0000 1.145 *************** *** 794,797 **** --- 794,837 ---- /** + * @param active Space + * @return Supporting edges + */ + public Collection collectSupportingEdges(Space active) { + if (active == Project.getInstance().world()) { + return new LinkedList(); + } else { + Space empty = active.getOwner().getEmpty(); + Collection envelope = active.getEnvelope(); + Set spaces = new HashSet(); + { + Iterator iter = envelope.iterator(); + while (iter.hasNext()) { + Surface current = (Surface) iter.next(); + Space other; + if (current.getFrontDomain() == active) { + other = current.getBackDomain(); + } else { + other = current.getFrontDomain(); + } + if (other != empty) { + spaces.add(other); + } + } + } + Set surfaces = new HashSet(); + surfaces.addAll(envelope); + { + Iterator iter = spaces.iterator(); + while (iter.hasNext()) { + Space current = (Space) iter.next(); + surfaces.addAll(current.getEnvelope()); + } + } + Collection edges = Surface.edges(surfaces); + return edges; + } + } + + /** * Draw the model normally * @param gld The GLDrawable *************** *** 1039,1047 **** 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); } --- 1079,1085 ---- private void drawEdges(GLDrawable gld) { drawGeneralEdges(gld, tempEdges); Space active = Project.getInstance().getActiveSpace(); if (active != Project.getInstance().world()) { ! Collection edges = collectSupportingEdges(active); drawConstructionEdges(gld, edges); } *************** *** 1781,1786 **** if (selectionMode != OBJECTS) { ! Collection envelope = space.getEnvelope(); ! Collection envelopeEdges = Surface.edges(envelope); edges.addAll(envelopeEdges); Collection envelopeVertices = Edge.vertices(envelopeEdges); --- 1819,1823 ---- if (selectionMode != OBJECTS) { ! Collection envelopeEdges = collectSupportingEdges(space); edges.addAll(envelopeEdges); Collection envelopeVertices = Edge.vertices(envelopeEdges); |