[Bprocessor-commit] model/src/net/sourceforge/bprocessor/model ParameterBlock.java, 1.19, 1.20 Comm
Status: Pre-Alpha
Brought to you by:
henryml
From: Michael L. <he...@us...> - 2010-07-13 09:32:51
|
Update of /cvsroot/bprocessor/model/src/net/sourceforge/bprocessor/model In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv12833/src/net/sourceforge/bprocessor/model Modified Files: ParameterBlock.java Command.java Item.java Log Message: Index: Item.java =================================================================== RCS file: /cvsroot/bprocessor/model/src/net/sourceforge/bprocessor/model/Item.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** Item.java 20 May 2010 10:58:46 -0000 1.7 --- Item.java 13 Jul 2010 09:32:43 -0000 1.8 *************** *** 612,615 **** --- 612,622 ---- res.add(new Attribute("Modellor", getModellor())); } + res.add(new Attribute("Edit " + getKindName(), new Operation() { + @Override + public void perform() { + Space self = (Space) Item.this; + self.edit(); + } + })); return res; } Index: Command.java =================================================================== RCS file: /cvsroot/bprocessor/model/src/net/sourceforge/bprocessor/model/Command.java,v retrieving revision 1.92 retrieving revision 1.93 diff -C2 -d -r1.92 -r1.93 *** Command.java 21 May 2010 13:15:42 -0000 1.92 --- Command.java 13 Jul 2010 09:32:43 -0000 1.93 *************** *** 172,176 **** */ public static class OffsetNormal extends Command { - private Surface surface; /** * --- 172,175 ---- *************** *** 178,183 **** */ public OffsetNormal(Surface surface) { ! this.surface = surface; ! parameters.put("surface", surface); parameters.put("distance", 1.0); parameters.put("direction", ""); --- 177,183 ---- */ public OffsetNormal(Surface surface) { ! Space owner = surface.getOwner(); ! Reference reference = new Reference(surface, new LinkedList(owner.getSurfaces())); ! parameters.put("surface", reference); parameters.put("distance", 1.0); parameters.put("direction", ""); *************** *** 273,282 **** @Override public void evaluate() { ! Object value = parameters.get("surface"); ! System.out.println("value : " + value); Space owner = surface.getOwner(); ! double distance = parameters.getDouble("distance"); ! Space space = (Space) owner.find((String)parameters.get("direction")); boolean front = true; if (space != null) { --- 273,283 ---- @Override public void evaluate() { ! HashMap<String, Object> env = parameters.evaluate(new HashMap()); ! ! Surface surface = (Surface) env.get("surface"); Space owner = surface.getOwner(); ! double distance = (Double) env.get("distance"); ! Space space = (Space) owner.find((String)env.get("direction")); boolean front = true; if (space != null) { *************** *** 289,294 **** } ! boolean controlled = parameters.getBoolean("controlled"); ! boolean holes = parameters.getBoolean("holes"); System.out.println("offset " + distance + " in direction of " + space); --- 290,295 ---- } ! boolean controlled = (Boolean) env.get("controlled"); ! boolean holes = (Boolean) env.get("holes"); System.out.println("offset " + distance + " in direction of " + space); *************** *** 297,301 **** if (controlled) { - copy = offset(surface, space, distance); if (holes) { --- 298,301 ---- Index: ParameterBlock.java =================================================================== RCS file: /cvsroot/bprocessor/model/src/net/sourceforge/bprocessor/model/ParameterBlock.java,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -d -r1.19 -r1.20 *** ParameterBlock.java 12 Feb 2010 11:44:28 -0000 1.19 --- ParameterBlock.java 13 Jul 2010 09:32:43 -0000 1.20 *************** *** 170,173 **** --- 170,192 ---- return env; } + + /** + * Evaluate this ParamterBlock + * @param env the environment for the evaluation + * @return A HashMap + */ + public HashMap<String, Object> evaluate(HashMap<String, Object> env) { + HashMap<String, Object> result = new HashMap(env); + for (Attribute current : parameters) { + String key = current.getName(); + Object value = current.getValue(); + if (value instanceof Parameter) { + Parameter parameter = (Parameter) value; + value = parameter.evaluate(env); + } + result.put(key, value); + } + return result; + } /** |