X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=org.simantics.plant3d%2Fsrc%2Forg%2Fsimantics%2Fplant3d%2Fscenegraph%2FInlineComponent.java;h=aa51073a5a0f9665748d887b05a928118b061bce;hb=e96447c877fd9c3a4664c2593cfbae768d0c44d7;hp=3ec6b3547c317c5022a5bac7804e4288eef7e096;hpb=34c84195e058b46afe68590eaf751b12bc74c1fe;p=simantics%2F3d.git diff --git a/org.simantics.plant3d/src/org/simantics/plant3d/scenegraph/InlineComponent.java b/org.simantics.plant3d/src/org/simantics/plant3d/scenegraph/InlineComponent.java index 3ec6b354..aa51073a 100644 --- a/org.simantics.plant3d/src/org/simantics/plant3d/scenegraph/InlineComponent.java +++ b/org.simantics.plant3d/src/org/simantics/plant3d/scenegraph/InlineComponent.java @@ -54,6 +54,10 @@ public class InlineComponent extends PipelineComponent { return !controlPoint.isFixed(); } + public boolean isModifialble() { + return controlPoint.isMod(); + } + public boolean isSizeChange() { return controlPoint.isSizeChange(); } @@ -120,16 +124,21 @@ public class InlineComponent extends PipelineComponent { public void updateParameters() { super.updateParameters(); if (!isVariableLength()) { - Map calculated = getTotalParameters(); - if (calculated.containsKey("length")) { - controlPoint.setLength((Double)calculated.get("length")); - } + Map calculated = getCalculatedParameters(); + if (calculated.containsKey("offset")) { controlPoint.setOffset((Double)calculated.get("offset")); componentCalculatedOffset = true; } else { componentCalculatedOffset = false; } + + Map total = getTotalParameters(); + + if (total.containsKey("length")) { + controlPoint.setLength((Double)total.get("length")); + } + PipingRules.requestUpdate(getControlPoint()); } } @@ -165,7 +174,7 @@ public class InlineComponent extends PipelineComponent { if (!Double.isNaN(controlPoint.getLength()) && controlPoint.isVariableLength()) map.put("length", controlPoint.getLength()); if (controlPoint.isDualInline()) { - PipeControlPoint sub = controlPoint.getSubPoint().get(0); + PipeControlPoint sub = controlPoint.getDualSub(); PipeRun pipeRun2 = sub.getPipeRun(); if (pipeRun2 != null) { map.put("radius2", pipeRun2.getPipeDiameter() * 0.5);