X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=org.simantics.plant3d%2Fsrc%2Forg%2Fsimantics%2Fplant3d%2Fscenegraph%2FPipelineComponent.java;h=631894b485d0f86bcf10024f0823b228dcddf19d;hb=8a1598adc0f361a00573a0042fdee3f73583dfcd;hp=36c6dde1b77e0667b50b1f7a6be4cb7f4f395c6f;hpb=b8221b6f5e0b6ced872c0b760d796a4c205476af;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..631894b4 100644 --- a/org.simantics.plant3d/src/org/simantics/plant3d/scenegraph/PipelineComponent.java +++ b/org.simantics.plant3d/src/org/simantics/plant3d/scenegraph/PipelineComponent.java @@ -14,7 +14,7 @@ import org.simantics.objmap.graph.annotations.RelatedGetObj; import org.simantics.objmap.graph.annotations.RelatedSetObj; import org.simantics.plant3d.ontology.Plant3D; import org.simantics.plant3d.scenegraph.controlpoint.PipeControlPoint; -import org.simantics.plant3d.scenegraph.controlpoint.PipeControlPoint.Type; +import org.simantics.plant3d.scenegraph.controlpoint.PipeControlPoint.PointType; import org.simantics.plant3d.scenegraph.controlpoint.PipingRules; /** @@ -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(); @@ -173,7 +177,7 @@ public abstract class PipelineComponent extends GeometryNode { return null; branchPoint = new PipeControlPoint(this,branch0.getPipeRun()); branchPoint.setFixed(false); - branchPoint.setType(Type.END); + branchPoint.setType(PointType.END); branchPoint.parent = getControlPoint(); getControlPoint().children.add(branchPoint); branchPoint.setWorldOrientation(getControlPoint().getWorldOrientation()); @@ -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; - } - }