@Override
@CompoundRelatedGetValue(objRelation=Plant3D.URIs.hasParameter,objType=Plant3D.URIs.Parameter,valRelation=Plant3D.URIs.hasParameterValue)
- @CompoundGetPropertyValue(name="Parameters",tabId="Parameters",value="parameters")
public Map<String, Object> getParameterMap() {
return super.getParameterMap();
}
// TODO : how to filter parameters that are calculated by geometry provider?
Map<String,Object> map = new HashMap<String, Object>(getParameterMap());
map.remove("radius");
+ map.remove("radius2");
+ map.remove("offset");
return map;
}
@RelatedSetObj(Plant3D.URIs.HasNext)
public void setNext(PipelineComponent comp) {
if (next == comp)
- return;
+ return;
if (this.next != null)
- this.next._removeRef(this);
- this.next = comp;
- this.syncnext = false;
- if (DEBUG) System.out.println(this + " next " + comp);
- syncNext();
- firePropertyChanged(Plant3D.URIs.HasNext);
- if (comp != null)
- comp.sync();
-
+ this.next._removeRef(this);
+ _setNext(comp);
+ this.syncnext = false;
+ if (DEBUG) System.out.println(this + " next " + comp);
+ syncNext();
+ firePropertyChanged(Plant3D.URIs.HasNext);
+ if (comp != null)
+ comp.sync();
+ }
+
+ protected void _setNext(PipelineComponent comp) {
+ this.next = comp;
}
return;
if (this.previous != null)
this.previous._removeRef(this);
- this.previous = comp;
+ _setPrevious(comp);
this.syncprev = false;
if (DEBUG) System.out.println(this + " prev " + comp);
syncPrevious();
firePropertyChanged(Plant3D.URIs.HasPrevious);
if (comp != null)
comp.sync();
-
}
+
+ protected void _setPrevious(PipelineComponent comp) {
+ this.previous = comp;
+ }
+
private PipelineComponent branch0;
@RelatedGetObj(Plant3D.URIs.HasBranch0)
// Control point structure is left into illegal state.
private void _removeRef(PipelineComponent comp) {
if (next == comp) {
- next = null;
+ _setNext(null);
syncnext = false;
+ if (DEBUG) System.out.println(this + " remove next " + comp);
+ firePropertyChanged(Plant3D.URIs.HasNext);
syncNext();
} else if (previous == comp) {
- previous = null;
+ _setPrevious(null);
syncprev = false;
+ if (DEBUG) System.out.println(this + " remove prev " + comp);
+ firePropertyChanged(Plant3D.URIs.HasPrevious);
syncPrevious();
} else if (branch0 == comp) {
branch0 = null;
syncbr0 = false;
+ if (DEBUG) System.out.println(this + " remove br0 " + comp);
+ firePropertyChanged(Plant3D.URIs.HasBranch0);
syncBranch0();
}
}
super.setOrientation(orientation);
if (getControlPoint() != null) {
getControlPoint()._setWorldOrientation(getWorldOrientation());
- try {
- PipingRules.requestUpdate(getControlPoint());
- } catch (Exception e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
+ PipingRules.requestUpdate(getControlPoint());
}
}
super.setPosition(position);
if (getControlPoint() != null) {
getControlPoint()._setWorldPosition(getWorldPosition());
- try {
- PipingRules.requestUpdate(getControlPoint());
- } catch (Exception e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
+ PipingRules.requestUpdate(getControlPoint());
}
}
case END:
return null;
case TURN: {
- double r = getPipeRun().getTurnRadius();
+ double r = ((TurnComponent)this).getTurnRadius();
double a = pcp.getTurnAngle();
return a*r;
}
}
}
+ /**
+ * Returns diameter of the pipe
+ * @return
+ */
+ public Double getDiameter() {
+ return getPipeRun().getPipeDiameter();
+ }
+
+ /**
+ * Returns secondary diameter of the pipe for size change components
+ * @return
+ */
+ public Double getDiameter2() {
+ if (getAlternativePipeRun() == null)
+ return null;
+ return getAlternativePipeRun().getPipeDiameter();
+ }
+
public void getEnds(Tuple3d p1, Tuple3d p2) {
getControlPoint().getControlPointEnds(p1, p2);
}
case TURN: {
Vector3d loc = pcp.getRealPosition(PositionType.PREVIOUS);
- double r = getPipeRun().getTurnRadius();
+ double r = ((TurnComponent)this).getTurnRadius();
double a = pcp.getTurnAngle();
double pipeRadius = pcp.getPipeRun().getPipeDiameter() / 2;
double r2 = getAlternativePipeRun().getPipeDiameter() / 2;
return pcp.getLength() * Math.PI * (r1*r1 + r1*r2 + r2*r2) / 4;
case TURN: {
- double r = getPipeRun().getTurnRadius();
+ double r = ((TurnComponent)this).getTurnRadius();
double a = pcp.getTurnAngle();
return r * a * Math.PI * pipeRadius * pipeRadius;
}