]> gerrit.simantics Code Review - simantics/3d.git/blobdiff - org.simantics.plant3d/src/org/simantics/plant3d/scenegraph/PipelineComponent.java
Use inside diameter for eccentric reducer offset calculation
[simantics/3d.git] / org.simantics.plant3d / src / org / simantics / plant3d / scenegraph / PipelineComponent.java
index d3ded1efe7b0fe1217fd706844555ea219b4a8ea..6afa937d60f18c8cdbd38234ecfae6d3fbce360c 100644 (file)
@@ -4,6 +4,7 @@ import java.util.Collections;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Map.Entry;
+import java.util.Objects;
 
 import javax.vecmath.Quat4d;
 import javax.vecmath.Tuple3d;
@@ -615,8 +616,8 @@ public abstract class PipelineComponent extends GeometryNode {
                        }
                        
                        // Calculate center of mass for the frustum
-                       double r1 = getPipeRun().getPipeDiameter();
-                       double r2 = getAlternativePipeRun().getPipeDiameter();
+                       double r1 = getPipeRun().getInsideDiameter();
+                       double r2 = getAlternativePipeRun().getInsideDiameter();
                        
                        Vector3d p1 = new Vector3d(), p2 = new Vector3d();
                        pcp.getInlineControlPointEnds(p1, p2);
@@ -645,7 +646,7 @@ public abstract class PipelineComponent extends GeometryNode {
                        
                        double r = ((TurnComponent)this).getTurnRadius();
                        double a = pcp.getTurnAngle();
-                       double pipeRadius = pcp.getPipeRun().getPipeDiameter() / 2;
+                       double pipeRadius = pcp.getPipeRun().getInsideDiameter() / 2;
                        
                        // Unit vector in inlet flow direction
                        Vector3d inletDir = pcp.getPathLegDirection(Direction.PREVIOUS);
@@ -685,7 +686,7 @@ public abstract class PipelineComponent extends GeometryNode {
                if (pcp == null)
                        throw new IllegalStateException("No centroid defined");
                
-               double pipeRadius = getPipeRun().getPipeDiameter() / 2;
+               double pipeRadius = getPipeRun().getInsideDiameter() / 2;
                
                switch (pcp.getType()) {
                case INLINE:
@@ -697,7 +698,7 @@ public abstract class PipelineComponent extends GeometryNode {
                        
                        // Calculate center of mass for the frustum
                        double r1 = pipeRadius;
-                       double r2 = getAlternativePipeRun().getPipeDiameter() / 2;
+                       double r2 = getAlternativePipeRun().getInsideDiameter() / 2;
                        return pcp.getLength() * Math.PI * (r1*r1 + r1*r2 + r2*r2) / 4;
                case TURN: {
                        double r = ((TurnComponent)this).getTurnRadius();
@@ -728,12 +729,9 @@ public abstract class PipelineComponent extends GeometryNode {
         * @param error
         */
        public void setError(String error) {
-           if (this.error == null) {
-               if (error == null)
-                   return;
-           } else if (this.error.equals(error))
+           if (Objects.equals(this.error,  error))
                return;
-           this.error = error;         
+           this.error = error;
            firePropertyChanged("error");
        }
 }