Added interfaces for interaction with world models. Consider draft for now as they have not been reviewed by anyone.
Removed old world model classes as these are soon to be replaced by new ones implementing the proposed interfaces.
The PixelWorld and RealWorld now identifies objects each in the way I expect would be more convenient - by color & position or by team affiliation. It would the be up to the world model to keep track of which color and which side of the pitch each team is on.
Added a few samples of how I envision the whole thing coming together. It's rather abstract but may serve well as a starting point for any discussion.
Modified constants to values that are more helpful when implementing the world model.
Updated MobilePixelObject handle also orientation.
Extended the Vector class to include also time.
Added a subtract method to the Frame class.
Removed the ability to get values from different points in time.
Formatted code
Added another constructor and a couple of getters.
Implemented static and dynamic scalar multiplication methods.
Added a simple but naive class to implement MobileRealObject and MobilePixelObject. Does nothing fancy.
Added a simple but naive class that implements StationaryRealObject and StationaryPixelObject.
Removed interface world since it had become obsolete. Added class world that implements PixelWorld and RealWorld.
Formatted and added comments.
Updated MobilePixelObject with an overloaded constructor taking a Point2D_I32 instead of a vector.
Fixed a spelling type.
BluetoothRobot no longer depends on Robot, a class that has been deleted.
Updated simple viewer to keep a world model updated and to implement runnable to allow for smoother thread spawning.