X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=org.simantics.plant3d%2Fsrc%2Forg%2Fsimantics%2Fplant3d%2Fscenegraph%2FPipelineComponent.java;h=b052bae435d2a25d8061e29881717b007656f237;hb=1ca09aa9bae3ea1e3382ceff0a2a09427f173286;hp=37dd50124b220c8a9848bf008eafd2df97782288;hpb=b6cccb572f043f3247274c52b353577ba3f1dcb1;p=simantics%2F3d.git diff --git a/org.simantics.plant3d/src/org/simantics/plant3d/scenegraph/PipelineComponent.java b/org.simantics.plant3d/src/org/simantics/plant3d/scenegraph/PipelineComponent.java index 37dd5012..b052bae4 100644 --- a/org.simantics.plant3d/src/org/simantics/plant3d/scenegraph/PipelineComponent.java +++ b/org.simantics.plant3d/src/org/simantics/plant3d/scenegraph/PipelineComponent.java @@ -78,9 +78,16 @@ public abstract class PipelineComponent extends GeometryNode { return; this.alternativePipeRun = pipeRun; if (getControlPoint().isDualInline()) { - PipeControlPoint sub = getControlPoint().getSubPoint().get(0); - if (sub.getParent() != this.alternativePipeRun) - this.alternativePipeRun.addChild(sub); + PipeControlPoint sub = getControlPoint().getDualSub(); + if (sub.getParent() != this.alternativePipeRun) { + if (this.alternativePipeRun != null) { + this.alternativePipeRun.addChild(sub); + } else if (sub.getPipeRun() != null) { + // FIXME : how to handle child point without proper run? + sub.getPipeRun().remChild(sub); + } + } + } firePropertyChanged(Plant3D.URIs.HasAlternativePipeRun); } @@ -221,8 +228,8 @@ public abstract class PipelineComponent extends GeometryNode { private PipeControlPoint getBranchPoint() { PipeControlPoint branchPoint; - if (getControlPoint().getSubPoint().size() > 0) { - branchPoint = getControlPoint().getSubPoint().get(0); + if (getControlPoint().getChildPoints().size() > 0) { + branchPoint = getControlPoint().getChildPoints().get(0); } else { if (branch0.getPipeRun() == null) return null; @@ -243,27 +250,27 @@ public abstract class PipelineComponent extends GeometryNode { if (pcp.getNext() != nextPCP) { pcp.setNext(nextPCP); } - if (pcp.isDualInline()) { - PipeControlPoint sub = pcp.getSubPoint().get(0); - if (sub.getNext() != nextPCP) - sub.setNext(nextPCP); - } +// if (pcp.isDualInline()) { +// PipeControlPoint sub = pcp.getChildPoints().get(0); +// if (sub.getNext() != nextPCP) +// sub.setNext(nextPCP); +// } return true; } private boolean _connectPrev(PipeControlPoint pcp, PipeControlPoint prevPCP) { if (prevPCP == null) return false; - if (prevPCP.isDualInline()) - prevPCP = prevPCP.getSubPoint().get(0); +// if (prevPCP.isDualInline()) +// prevPCP = prevPCP.getChildPoints().get(0); if (pcp.getPrevious() != prevPCP) { pcp.setPrevious(prevPCP); } - if (pcp.isDualInline()) { - PipeControlPoint sub = pcp.getSubPoint().get(0); - if (sub.getPrevious() != prevPCP) - sub.setPrevious(prevPCP); - } +// if (pcp.isDualInline()) { +// PipeControlPoint sub = pcp.getChildPoints().get(0); +// if (sub.getPrevious() != prevPCP) +// sub.setPrevious(prevPCP); +// } return true; } @@ -401,7 +408,7 @@ public abstract class PipelineComponent extends GeometryNode { return false; } - } else if (getControlPoint().getSubPoint().size() > 0) { // TODO : this may cause problems? (Removes branch point, before branch has been set?) + } else if (getControlPoint().getChildPoints().size() > 0) { // TODO : this may cause problems? (Removes branch point, before branch has been set?) //getControlPoint().getSubPoint().get(0).remove(); //getControlPoint().children.clear(); return true;