[Bprocessor-commit] model/src/net/sourceforge/bprocessor/model Edge.java,1.9,1.10
Status: Pre-Alpha
Brought to you by:
henryml
From: rimestad <rim...@us...> - 2005-09-14 14:06:01
|
Update of /cvsroot/bprocessor/model/src/net/sourceforge/bprocessor/model In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25892 Modified Files: Edge.java Log Message: added set and get length Index: Edge.java =================================================================== RCS file: /cvsroot/bprocessor/model/src/net/sourceforge/bprocessor/model/Edge.java,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** Edge.java 8 Sep 2005 10:42:14 -0000 1.9 --- Edge.java 14 Sep 2005 14:05:45 -0000 1.10 *************** *** 277,279 **** --- 277,307 ---- return SurfaceFacade.getInstance().findByEdge(this); } + + /** + * returns the length of the edge + * @return The length + */ + public double getLength() { + double dx = to.getX() - from.getX(); + double dy = to.getY() - from.getY(); + double dz = to.getZ() - from.getZ(); + return Math.sqrt(dx * dx + dy * dy + dz * dz); + } + + /** + * sets the length of the edge to the given double + * @param d The length + */ + public void setLength(double d) { + double dx = to.getX() - from.getX(); + double dy = to.getY() - from.getY(); + double dz = to.getZ() - from.getZ(); + double length = d * d; + + double res = Math.sqrt(length / (dx * dx + dy * dy + dz * dz)); + + to.setX(dx * res + from.getX()); + to.setY(dy * res + from.getY()); + to.setZ(dz * res + from.getZ()); + } } |