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;
+ }
/**
|