[Bprocessor-commit] model/src/net/sourceforge/bprocessor/model Command.java, 1.5, 1.6
Status: Pre-Alpha
Brought to you by:
henryml
From: Michael L. <he...@us...> - 2007-10-20 15:20:53
|
Update of /cvsroot/bprocessor/model/src/net/sourceforge/bprocessor/model In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv23336/src/net/sourceforge/bprocessor/model Modified Files: Command.java Log Message: edge menu added Index: Command.java =================================================================== RCS file: /cvsroot/bprocessor/model/src/net/sourceforge/bprocessor/model/Command.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** Command.java 19 Oct 2007 12:11:34 -0000 1.5 --- Command.java 20 Oct 2007 15:20:49 -0000 1.6 *************** *** 23,29 **** public Command() { parameters = new ParameterBlock(); - parameters.add(new Attribute("width", 1.0)); - parameters.add(new Attribute("height", 1.0)); - parameters.add(new Attribute("depth", 1.0)); } --- 23,26 ---- *************** *** 42,46 **** /** {@inheritDoc} */ public String getGeneralName() { ! return "Create Cube"; } --- 39,43 ---- /** {@inheritDoc} */ public String getGeneralName() { ! return "Command"; } *************** *** 49,53 **** } ! private List list(Object ...objects) { List result = new LinkedList(); for (Object object : objects) { --- 46,50 ---- } ! protected List list(Object ...objects) { List result = new LinkedList(); for (Object object : objects) { *************** *** 61,90 **** */ public void evaluate() { - double w = parameters.getDouble("width"); - double h = parameters.getDouble("height"); - double d = parameters.getDouble("depth"); - double x = -w / 2; - double y = -h / 2; - double z = -d / 2; - Vertex v0 = new Vertex(x, y, z); - Vertex v1 = new Vertex(x + w, y, z); - Vertex v2 = new Vertex(x + w, y + h, z); - Vertex v3 = new Vertex(x, y + h, z); - - Edge e0 = new Edge(v0, v1); - Edge e1 = new Edge(v1, v2); - Edge e2 = new Edge(v2, v3); - Edge e3 = new Edge(v3, v0); - - Surface s0 = new Surface(list(e0, e1, e2, e3)); - Collection<Surface> sides = new LinkedList(); - Surface top = s0.extrusion(d, sides); - Space world = Project.getInstance().world(); - world.insert(s0); - for (Surface current : sides) { - world.insert(current); - } - world.insert(top); - Project.getInstance().changed(world); } --- 58,61 ---- *************** *** 95,97 **** --- 66,140 ---- } + + /** + * + * + */ + public static class Split extends Command { + /** + * Edge to split + * @param edge Edge to split + */ + public Split(Edge edge) { + parameters.put(new Attribute("edge", edge)); + parameters.put("n", 2); + } + /** + * {@inheritDoc} + */ + public String getGeneralName() { + return "Split Edge"; + } + } + + /** + * + * + */ + public static class Cube extends Command { + /** + * + */ + public Cube() { + parameters.add(new Attribute("width", 1.0)); + parameters.add(new Attribute("height", 1.0)); + parameters.add(new Attribute("depth", 1.0)); + } + /** {@inheritDoc} */ + public String getGeneralName() { + return "Create Cube"; + } + /** + * {@inheritDoc} + */ + @Override + public void evaluate() { + double w = parameters.getDouble("width"); + double h = parameters.getDouble("height"); + double d = parameters.getDouble("depth"); + double x = -w / 2; + double y = -h / 2; + double z = -d / 2; + Vertex v0 = new Vertex(x, y, z); + Vertex v1 = new Vertex(x + w, y, z); + Vertex v2 = new Vertex(x + w, y + h, z); + Vertex v3 = new Vertex(x, y + h, z); + + Edge e0 = new Edge(v0, v1); + Edge e1 = new Edge(v1, v2); + Edge e2 = new Edge(v2, v3); + Edge e3 = new Edge(v3, v0); + + Surface s0 = new Surface(list(e0, e1, e2, e3)); + Collection<Surface> sides = new LinkedList(); + Surface top = s0.extrusion(d, sides); + Space world = Project.getInstance().world(); + world.insert(s0); + for (Surface current : sides) { + world.insert(current); + } + world.insert(top); + Project.getInstance().changed(world); + } + } } |