[Bprocessor-commit] model/src/net/sourceforge/bprocessor/model Command.java, 1.41, 1.42
Status: Pre-Alpha
Brought to you by:
henryml
From: Michael L. <he...@us...> - 2007-11-28 18:12:19
|
Update of /cvsroot/bprocessor/model/src/net/sourceforge/bprocessor/model In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv22009/src/net/sourceforge/bprocessor/model Modified Files: Command.java Log Message: a normal offset operation on surfaces Index: Command.java =================================================================== RCS file: /cvsroot/bprocessor/model/src/net/sourceforge/bprocessor/model/Command.java,v retrieving revision 1.41 retrieving revision 1.42 diff -C2 -d -r1.41 -r1.42 *** Command.java 26 Nov 2007 13:29:59 -0000 1.41 --- Command.java 28 Nov 2007 18:11:04 -0000 1.42 *************** *** 131,134 **** --- 131,172 ---- /** * + */ + public static class OffsetNormal extends Command { + private Surface surface; + + /** + * + * @param surface Surface + */ + public OffsetNormal(Surface surface) { + this.surface = surface; + parameters.put("distance", 1.0); + } + + /** + * {@inheritDoc} + */ + public String getGeneralName() { + return "Offset Normal"; + } + + /** {@inheritDoc} */ + @Override + public void evaluate() { + double distance = parameters.getDouble("distance"); + Space owner = surface.getOwner(); + HashMap map = new HashMap(); + Surface copy = (Surface) surface.copy(map); + Vertex normal = surface.normal(); + Vertex direction = normal.scale(distance); + for (Vertex current : copy.getVertices()) { + current.set(current.add(direction)); + } + Geometry.insertEdges(copy.getEdges()); + } + } + + /** + * * */ |