X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=org.simantics.plant3d%2Fsrc%2Forg%2Fsimantics%2Fplant3d%2Fscenegraph%2Fcontrolpoint%2FPipeControlPoint.java;h=cd4f407b22b6f65e3e80a91c2bc4cc5fae2df9a6;hb=85bbf68087838bf65da8c7998a3b781ed5fb9fbd;hp=fdb413ee39316b1cbc0652a4e2360c0ceb105b39;hpb=5303ddc439764f9263054f519deab7f9f350d561;p=simantics%2F3d.git 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 fdb413ee..cd4f407b 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 @@ -750,9 +750,6 @@ public class PipeControlPoint extends G3DNode implements IP3DNode { if (pcp.isDualSub()) { pcp.getParentPoint().setNext(this); } - if (isDualInline()) { - getDualSub().setPrevious(this); - } } else { // if direction is previous, user must have given sizechange if (pcp.isDualSub()) @@ -791,9 +788,15 @@ public class PipeControlPoint extends G3DNode implements IP3DNode { } /** - * Returns direction vector. + * Returns direction vector pointing towards an adjacent component for + * directed control points or turn control points with one open end. + * + * Always returns an outwards pointing vector. + * + * For any other type of component, the return value is null. * - * For directed control points, always returns outwards pointing vector. + * For turn components this only return a non-null value for the unconnected + * end of the component. * * @param direction * @return normalized vector, or null @@ -837,6 +840,7 @@ public class PipeControlPoint extends G3DNode implements IP3DNode { Vector3d offset = new Vector3d(); MathTools.rotate(q2, v, offset); MathTools.rotate(q, offset, dir); + dir.negate(); dir.normalize(); return dir; }