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