+
+ submodelPin.addPinMovedListener(p ->
+ {
+ double newRelX = p.getRelX() * submodelScale;
+ double newRelY = p.getRelY() * submodelScale;
+ if (supermodelPin.getRelX() != newRelX || supermodelPin.getRelY() != newRelY)
+ supermodelPin.setRelPos(newRelX, newRelY);
+ });
+ supermodelPin.addPinMovedListener(p ->
+ {
+ double newRelX = p.getRelX() / submodelScale;
+ double newRelY = p.getRelY() / submodelScale;
+ if (submodelPin.getRelX() != newRelX || submodelPin.getRelY() != newRelY)
+ submodelPin.setRelPos(newRelX, newRelY);
+ });
+
+ submodelInterface.addPin(submodelPin);