Point geometry now stores it's position as PositionCoords object (that inherits from Position). Refactor Point so that it can store it's position also as super type Position. The getter position is refactored as Position get position (that always returns a stored position). Another getter would be added PositionCoords get coords that returns a stored position if it's PositionCoords, otherwise it would be created on the fly.
All geometry classes stores and returns bounding boxes as BoxCoords objects (inherits from Box). Refactor geometry classes to allow storing it's bounds also as as super type Box. Some other refactoring needed too.
Point
geometry now stores it's position asPositionCoords
object (that inherits fromPosition
). RefactorPoint
so that it can store it's position also as super typePosition
. The getterposition
is refactored asPosition get position
(that always returns a stored position). Another getter would be addedPositionCoords get coords
that returns a stored position if it'sPositionCoords
, otherwise it would be created on the fly.All geometry classes stores and returns bounding boxes as
BoxCoords
objects (inherits fromBox
). Refactor geometry classes to allow storing it's bounds also as as super typeBox
. Some other refactoring needed too.