X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=org.simantics.plant3d%2Fsrc%2Forg%2Fsimantics%2Fplant3d%2Fscenegraph%2FPipelineComponent.java;h=61e48585336fb7749ba30c021fd42f549f40a027;hb=8792531e8f0967aee36cdd405ec0cd3a34f9ab06;hp=37dd50124b220c8a9848bf008eafd2df97782288;hpb=ebfe6b0245b5cf9231cecedf0aaacd891eb5d344;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..61e48585 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); } @@ -122,6 +129,12 @@ public abstract class PipelineComponent extends GeometryNode { } setParameterMap(parameters); } + + public void setParameter(String name, Object value) { + Map parameters = new HashMap<>(getParameterMap()); + parameters.put(name, value); + setParameterMap(parameters); + } public abstract void setType(String typeURI) throws Exception; @@ -221,8 +234,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 +256,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 +414,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;