The Location class contains coordinates which are expected to be used by the GUI. Looking at Reveaal it looks like the verification engine does not consider coordinates, but when parsing, a DummyLocation is used with constant coordinates. I think our Location class should not contain the coordinates for the GUI. As our protobuf specification states that the complete XML or JSON is transferred. We should not change the values of the locations when doing verification. We should instead ignore the coordinates and utilize save-component to allow the GUI to save the new coordinates of the locations. When creating a composed location (e.g. when doing conjunction) we should not calculate the new coordinates as the average, but instead tackle this issue when we need to display the result of a conjunction. For these reasons I think we should completely remove the coordinates from the Location. If we choose to have the coordinates in Location then I think a new class such as Position or Vector (A vector is often used to represent the position of an object) should be used to encapsulate the coordinates.
The Location class contains coordinates which are expected to be used by the GUI. Looking at Reveaal it looks like the verification engine does not consider coordinates, but when parsing, a
DummyLocation
is used with constant coordinates. I think ourLocation
class should not contain the coordinates for the GUI. As our protobuf specification states that the complete XML or JSON is transferred. We should not change the values of the locations when doing verification. We should instead ignore the coordinates and utilize save-component to allow the GUI to save the new coordinates of the locations. When creating a composed location (e.g. when doing conjunction) we should not calculate the new coordinates as the average, but instead tackle this issue when we need to display the result of a conjunction. For these reasons I think we should completely remove the coordinates from theLocation
. If we choose to have the coordinates inLocation
then I think a new class such asPosition
orVector
(A vector is often used to represent the position of an object) should be used to encapsulate the coordinates.