[Bprocessor-commit] gl/src/net/sourceforge/bprocessor/gl/tool AbstractTool.java,1.49,1.50 MoveTool.j
Status: Pre-Alpha
Brought to you by:
henryml
From: Michael L. <he...@us...> - 2006-01-18 11:46:58
|
Update of /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/tool In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2714/src/net/sourceforge/bprocessor/gl/tool Modified Files: AbstractTool.java MoveTool.java Log Message: Index: MoveTool.java =================================================================== RCS file: /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/tool/MoveTool.java,v retrieving revision 1.25 retrieving revision 1.26 diff -C2 -d -r1.25 -r1.26 *** MoveTool.java 18 Jan 2006 11:41:14 -0000 1.25 --- MoveTool.java 18 Jan 2006 11:46:50 -0000 1.26 *************** *** 87,118 **** /** - * Collect vertices from object - * @param o The object - * @param vertices The vertices - */ - private void collect(Object o, Set vertices) { - if (o instanceof Vertex) { - vertices.add(o); - } else if (o instanceof Edge) { - Edge edge = (Edge) o; - vertices.add(edge.getFrom()); - vertices.add(edge.getTo()); - } else if (o instanceof Surface) { - Surface surface = (Surface) o; - vertices.addAll(surface.getVertices()); - if (surface.getHoles() != null) { - Iterator iter = surface.getHoles().iterator(); - while (iter.hasNext()) { - Surface current = (Surface) iter.next(); - collect(current, vertices); - } - } - } else if (o instanceof ClippingPlane) { - ClippingPlane plane = (ClippingPlane) o; - vertices.add(plane.origin()); - } - } - - /** * Update selection * --- 87,90 ---- *************** *** 148,160 **** vertices = new HashSet(); ! Iterator iter = selection.iterator(); ! while (iter.hasNext()) { ! collect(iter.next(), vertices); ! } ! // There is a delay before selection has been updated with target ! // because asynch notifications are being used to update selection. ! // TODO fix it ! // Meanwhile just collect points from target. ! collect(target, vertices); } } --- 120,124 ---- vertices = new HashSet(); ! collect(selection, vertices); } } Index: AbstractTool.java =================================================================== RCS file: /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/tool/AbstractTool.java,v retrieving revision 1.49 retrieving revision 1.50 diff -C2 -d -r1.49 -r1.50 *** AbstractTool.java 13 Jan 2006 15:57:32 -0000 1.49 --- AbstractTool.java 18 Jan 2006 11:46:50 -0000 1.50 *************** *** 14,17 **** --- 14,18 ---- import net.sourceforge.bprocessor.model.Surface; import net.sourceforge.bprocessor.model.Vertex; + import net.sourceforge.bprocessor.gl.model.ClippingPlane; import net.sourceforge.bprocessor.gl.view.View; import net.sourceforge.bprocessor.gl.GLView; *************** *** 747,749 **** --- 748,791 ---- return; } + + /** + * Collect all vertices from a collection of objects + * @param objects Collection of objects + * @param vertices Set of vertices + */ + protected void collect(Collection objects, Set vertices) { + Iterator iter = objects.iterator(); + while (iter.hasNext()) { + Object current = iter.next(); + collect(current, vertices); + } + } + + /** + * Collect vertices from object + * @param o The object + * @param vertices The vertices + */ + private void collect(Object o, Set vertices) { + if (o instanceof Vertex) { + vertices.add(o); + } else if (o instanceof Edge) { + Edge edge = (Edge) o; + vertices.add(edge.getFrom()); + vertices.add(edge.getTo()); + } else if (o instanceof Surface) { + Surface surface = (Surface) o; + vertices.addAll(surface.getVertices()); + if (surface.getHoles() != null) { + Iterator iter = surface.getHoles().iterator(); + while (iter.hasNext()) { + Surface current = (Surface) iter.next(); + collect(current, vertices); + } + } + } else if (o instanceof ClippingPlane) { + ClippingPlane plane = (ClippingPlane) o; + vertices.add(plane.origin()); + } + } } |