[Bprocessor-commit] model/src/net/sourceforge/bprocessor/model Command.java, 1.36, 1.37
Status: Pre-Alpha
Brought to you by:
henryml
From: Michael L. <he...@us...> - 2007-11-23 08:34:15
|
Update of /cvsroot/bprocessor/model/src/net/sourceforge/bprocessor/model In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv26289/src/net/sourceforge/bprocessor/model Modified Files: Command.java Log Message: Layer command started Index: Command.java =================================================================== RCS file: /cvsroot/bprocessor/model/src/net/sourceforge/bprocessor/model/Command.java,v retrieving revision 1.36 retrieving revision 1.37 diff -C2 -d -r1.36 -r1.37 *** Command.java 22 Nov 2007 15:36:43 -0000 1.36 --- Command.java 23 Nov 2007 08:34:05 -0000 1.37 *************** *** 1214,1216 **** --- 1214,1276 ---- } } + + /** + * Layer + */ + public static class Layer extends Command { + private Space net; + + /** + * Constructs a frame command + * @param net Space + */ + public Layer(Space net) { + this.net = net; + parameters.put("offset", 0.3); + parameters.put("interior", ""); + parameters.put("top", ""); + parameters.put("bottom", ""); + parameters.put("side", ""); + } + + private Space find(String name) { + for (Space element : net.getElements()) { + if (element.getName().equals(name)) { + return element; + } + } + return null; + } + + /** {@inheritDoc} */ + @Override + public void evaluate() { + Space interior = find((String) parameters.get("interior")); + Space roof = find((String) parameters.get("top")); + Space floor = find((String) parameters.get("bottom")); + Space exterior = find((String) parameters.get("side")); + + Surface top = null; + Surface bottom = null; + List<Surface> sides = new LinkedList(); + + for (Surface current : net.getSurfaces()) { + Space other; + if (current.getFrontDomain() == interior) { + other = current.getBackDomain(); + } else { + other = current.getFrontDomain(); + } + if (other == roof) { + top = current; + } else if (other == floor) { + bottom = current; + } else if (other == exterior) { + sides.add(current); + } + } + Selection.primary().set((List) sides); + } + + } } |