diff --git a/org.simantics.plant3d/src/org/simantics/plant3d/scenegraph/controlpoint/PipeControlPoint.java b/org.simantics.plant3d/src/org/simantics/plant3d/scenegraph/controlpoint/PipeControlPoint.java index 0ad1f021aa22522530a22f6cf0bc7bf10452fc61..25adccbec5c168b251c9640285a2e3a20174a82c 100644 --- a/org.simantics.plant3d/src/org/simantics/plant3d/scenegraph/controlpoint/PipeControlPoint.java +++ b/org.simantics.plant3d/src/org/simantics/plant3d/scenegraph/controlpoint/PipeControlPoint.java @@ -502,11 +502,13 @@ public class PipeControlPoint extends G3DNode implements IP3DNode { } public Vector3d getSizeChangeOffsetVector() { - Quat4d q; - if (rotationAngle == null) - q = getControlPointOrientationQuat(0.0); - else - q = getControlPointOrientationQuat(rotationAngle); +// Note : recalculating orientation from offset component without path leg vector did not work at all. +// Quat4d q; +// if (rotationAngle == null) +// q = getControlPointOrientationQuat(0.0); +// else +// q = getControlPointOrientationQuat(rotationAngle); + Quat4d q = getOrientation(); Vector3d v = new Vector3d(0.0,-offset,0.0); Vector3d offset = new Vector3d(); MathTools.rotate(q, v, offset); @@ -549,6 +551,7 @@ public class PipeControlPoint extends G3DNode implements IP3DNode { } } + @Deprecated //calculating orientation from offset component without path leg vector did not work at all. public Quat4d getControlPointOrientationQuat(double angle) { Vector3d dir = getPathLegDirection(); if (turnAxis == null) { @@ -657,7 +660,7 @@ public class PipeControlPoint extends G3DNode implements IP3DNode { //q1.set(m); MathTools contains more stable conversion MathTools.getQuat(m, q1); - // if (DEBUG) System.out.println("PipingTools.getPipeComponentOrientationQuat() " + dir+ " " + up + " " + right); + //if (DEBUG) System.out.println("PipingTools.getPipeComponentOrientationQuat() " + dir+ " " + up + " " + right + " " + q1); Quat4d q2 = new Quat4d(); q2.set(new AxisAngle4d(front, angle));