X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=org.simantics.plant3d%2Fsrc%2Forg%2Fsimantics%2Fplant3d%2Fscenegraph%2FPipelineComponent.java;h=e200af6b2c852419ffbae9f3334ce2744cbf256b;hb=refs%2Fchanges%2F10%2F3110%2F1;hp=36c6dde1b77e0667b50b1f7a6be4cb7f4f395c6f;hpb=9fcc0bba531cd91842769f293b155c99cc5c5937;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 36c6dde1..e200af6b 100644 --- a/org.simantics.plant3d/src/org/simantics/plant3d/scenegraph/PipelineComponent.java +++ b/org.simantics.plant3d/src/org/simantics/plant3d/scenegraph/PipelineComponent.java @@ -31,6 +31,10 @@ public abstract class PipelineComponent extends GeometryNode { private PipelineComponent next; private PipelineComponent previous; + public PipeRun getPipeRun() { + return pipeRun; + } + /** * Sets the pipe run. * @@ -88,8 +92,8 @@ public abstract class PipelineComponent extends GeometryNode { public void setNext(PipelineComponent comp) { if (next == comp) return; - if (comp == null) - this.next._removeRef(this); + if (this.next != null) + this.next._removeRef(this); this.next = comp; this.syncnext = false; syncNext(); @@ -109,7 +113,7 @@ public abstract class PipelineComponent extends GeometryNode { public void setPrevious(PipelineComponent comp) { if (previous == comp) return; - if (comp == null) + if (this.previous != null) this.previous._removeRef(this); this.previous = comp; this.syncprev = false; @@ -130,8 +134,8 @@ public abstract class PipelineComponent extends GeometryNode { public void setBranch0(PipelineComponent comp) { if (branch0 == comp) return; - if (comp == null) - this.branch0._removeRef(this); + if (this.branch0 != null) + this.branch0._removeRef(this); this.branch0 = comp; this.syncbr0 = false; syncBranch0(); @@ -322,6 +326,8 @@ public abstract class PipelineComponent extends GeometryNode { if (branch0 != null) { if (branch0.getControlPoint() != null) { PipeControlPoint branchPoint = getBranchPoint(); + if (branchPoint == null) + return false; PipeControlPoint pcp = branch0.getControlPoint(); // TODO, relying that the other direction is connected. boolean next = branch0.getPrevious() == this; // this --> branch0 @@ -368,10 +374,6 @@ public abstract class PipelineComponent extends GeometryNode { return Collections.EMPTY_MAP; } - public PipeRun getPipeRun() { - return pipeRun; - } - public abstract String getType(); public abstract PipeControlPoint getControlPoint(); @@ -461,14 +463,8 @@ public abstract class PipelineComponent extends GeometryNode { } } - public void getControlPointEnds(Tuple3d p1, Tuple3d p2) { + public void getEnds(Tuple3d p1, Tuple3d p2) { getControlPoint().getControlPointEnds(p1, p2); } - public Vector3d getNormal() { - Vector3d v = new Vector3d(); - MathTools.rotate(getWorldOrientation(), MathTools.Z_AXIS, v); - return v; - } - }