diff --git a/TULIP/src/lu/list/itis/dkd/tui/utility/Point.java b/TULIP/src/lu/list/itis/dkd/tui/utility/Point.java index 5f6d5c8f09920290b379887f9009522f625cd122..0af4997faf8d38604dacc1af46e9c343e66390e6 100644 --- a/TULIP/src/lu/list/itis/dkd/tui/utility/Point.java +++ b/TULIP/src/lu/list/itis/dkd/tui/utility/Point.java @@ -279,9 +279,23 @@ public class Point extends Float { * @pre point.state equal to state iff point != null */ public Point add(@Nullable Point point) { - if (point == null) + if (point == null) { return this; - Preconditions.checkArgument(point.getState().getClass().getName().equals(state.getClass().getName())); + } + switch (state.getClass().getSimpleName()) { + case "TableCoordinates": + point.toTableCoordinates(); + break; + case "ScreenCoordinates": + point.toScreenCoordinates(); + break; + case "CameraCoordinates": + point.toCameraCoordinates(); + break; + default: + System.err.println("This should never happen! State: " + state.toString()); + break; + } Point clone = clone(); clone.setLocation(clone.x + point.x, clone.y + point.y);