- SubmodelParameters params = new SubmodelParameters();
- params.innerScale = getSubmodelScale();
-
- Map<String, GUIComponent> components = new HashMap<>(submodel.getComponentsByName());
- components.remove(SUBMODEL_INTERFACE_NAME);
- InnerComponentParams[] comps = new InnerComponentParams[components.size()];
- int i = 0;
- for (GUIComponent component : components.values())
- {
- InnerComponentParams inner = new InnerComponentParams();
- comps[i] = inner;
- inner.pos = new Point(component.getPosX(), component.getPosY());
- inner.id = getIdentifier.apply(component);
- inner.params = component.getParams();
- inner.name = component.name;
- i++;
- }
- params.subComps = comps;
-
- List<GUIWire> wireList = submodel.getWires();
- InnerWireParams wires[] = new InnerWireParams[wireList.size()];
- i = 0;
- for (GUIWire wire : wireList)
- {
- InnerWireParams inner = new InnerWireParams();
- wires[i] = inner;
- InnerPinParams pin1Params = new InnerPinParams(), pin2Params = new InnerPinParams();
-
- pin1Params.pinName = wire.getPin1().name;
- pin1Params.compName = wire.getPin1().component.name;
- pin2Params.pinName = wire.getPin2().name;
- pin2Params.compName = wire.getPin2().component.name;
- inner.pin1 = pin1Params;
- inner.pin2 = pin2Params;
- inner.path = wire.getPath();
- i++;
- }
- params.innerWires = wires;
- return params;