@RelatedElementsAdd(Plant3D.URIs.HasNozzle)
public void addChild(Nozzle node) {
- Collection<Nozzle> children = getChild();
- if (numberOfFixedNozzles() > 0 && children.size() >= numberOfFixedNozzles())
- throw new RuntimeException("Equipment has already all fixed nozzles");
-
+ Collection<Nozzle> children = getChild();
+ if (numberOfFixedNozzles() > 0 && children.size() >= numberOfFixedNozzles())
+ throw new RuntimeException("Equipment has already all fixed nozzles");
+
Set<Integer> ids = new HashSet<Integer>();
for (Nozzle n : children) {
ids.add(n.getNozzleId());
addNode(Plant3D.URIs.HasNozzle,node);
node.setNozzleId(newId);
if (fnp != null)
- syncNozzles();
+ syncNozzles();
}
@RelatedElementsGet(Plant3D.URIs.HasNozzle)
@CompoundSetPropertyValue(value="parameters")
public void setParameterMap(Map<String, Object> parameters) {
super.setParameterMap(parameters);
+ syncNozzles();
}
@Override
public void setGeometry(GeometryProvider provider) {
- super.setGeometry(provider);
- if (provider instanceof FixedNozzleProvider) {
- fnp = (FixedNozzleProvider)provider;
- syncNozzles();
- }
+ super.setGeometry(provider);
+ if (provider instanceof FixedNozzleProvider) {
+ fnp = (FixedNozzleProvider)provider;
+ syncNozzles();
+ }
}
public int numberOfFixedNozzles() {
- if (fnp == null)
- return 0;
- return fnp.numberOfNozzles();
+ if (fnp == null)
+ return 0;
+ return fnp.numberOfNozzles();
}
/**
* Note: this method does not create nozzles, just sets their positions and names.
*/
public void syncNozzles() {
- if (fnp == null)
- return;
-
- int count = fnp.numberOfNozzles();
- List<Nozzle> currentNozzles = getNodes();
- for (int i = 0; i < count; i++) {
- if (i < currentNozzles.size()) {
- Nozzle nozzle = currentNozzles.get(i);
- nozzle.setName(fnp.getNozzleName(i));
- fnp.updateNozzlePosition(i, nozzle);
- nozzle.setFixed(true);
- }
- }
+ if (fnp == null)
+ return;
+ updateParameters();
+ int count = fnp.numberOfNozzles();
+ List<Nozzle> currentNozzles = getNodes();
+ for (int i = 0; i < count; i++) {
+ if (i < currentNozzles.size()) {
+ Nozzle nozzle = currentNozzles.get(i);
+ nozzle.setName(fnp.getNozzleName(i));
+ fnp.updateNozzlePosition(i, nozzle);
+ nozzle.setFixed(true);
+ }
+ }
}
@Override