[Bprocessor-commit] gl/src/net/sourceforge/bprocessor/gl/tool SpaceTool.java,1.4,1.5
Status: Pre-Alpha
Brought to you by:
henryml
From: Michael L. <he...@us...> - 2006-01-11 14:42:49
|
Update of /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/tool In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16256/src/net/sourceforge/bprocessor/gl/tool Modified Files: SpaceTool.java Log Message: OffsetConstraint implemented Index: SpaceTool.java =================================================================== RCS file: /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/tool/SpaceTool.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** SpaceTool.java 11 Jan 2006 13:50:10 -0000 1.4 --- SpaceTool.java 11 Jan 2006 14:42:38 -0000 1.5 *************** *** 15,18 **** --- 15,19 ---- import java.util.HashSet; import java.util.Iterator; + import java.util.List; import java.util.Set; *************** *** 26,32 **** --- 27,35 ---- import net.sourceforge.bprocessor.model.Constraint; import net.sourceforge.bprocessor.model.Constraints; + import net.sourceforge.bprocessor.model.CoordinateSystem; import net.sourceforge.bprocessor.model.Project; import net.sourceforge.bprocessor.model.Space; import net.sourceforge.bprocessor.model.Surface; + import net.sourceforge.bprocessor.model.Vertex; /** *************** *** 101,104 **** --- 104,110 ---- */ public class OffsetConstraint extends Constraint { + /** The offset */ + private double offset; + /** * Constructor for OffsetConstraint *************** *** 108,112 **** public OffsetConstraint(Surface master, Surface slave) { super(master, slave); ! log.info("initialize offset " + master + " -> " + slave); } --- 114,158 ---- public OffsetConstraint(Surface master, Surface slave) { super(master, slave); ! updateOffset(); ! } ! ! /** ! * Update offset ! */ ! protected void updateOffset() { ! Surface master = (Surface) getMaster(); ! Surface slave = (Surface) getSlave(); ! CoordinateSystem system = master.coordinateSystem(); ! Vertex origin = system.origin(); ! Vertex n = system.getN(); ! n.scale(1 / n.length()); ! Vertex v = slave.getFirstVertex(); ! Vertex u = v.minus(origin); ! double distance = n.dot(u); ! this.offset = distance; ! } ! ! /** ! * Maintain offset ! */ ! protected void maintainOffset() { ! Surface master = (Surface) getMaster(); ! Surface slave = (Surface) getSlave(); ! CoordinateSystem system = master.coordinateSystem(); ! Vertex origin = system.origin(); ! Vertex n = system.getN(); ! n.scale(1 / n.length()); ! List vertices = slave.getVertices(); ! vertices.remove(0); ! Iterator iter = vertices.iterator(); ! while (iter.hasNext()) { ! Vertex current = (Vertex) iter.next(); ! Vertex p = system.translate(current); ! p.setZ(offset); ! p = system.unTranslate(p); ! current.setX(p.getX()); ! current.setY(p.getY()); ! current.setZ(p.getZ()); ! } } *************** *** 116,120 **** */ public void update(Object entity) { ! log.info("maintain offset " + entity); } } --- 162,170 ---- */ public void update(Object entity) { ! if (entity == getSlave()) { ! updateOffset(); ! } else { ! maintainOffset(); ! } } } |