Added Progress Tracker to signature for OSMapLoader readFile though this not implemented yet. Additionally switched to loading and disposoing a new ImageReader per file.
Made ProgressTracker have 1000 points of increment per loaded map
Fixed wo bugs with the tracker firstly, an increment of 0 now does nothing as it returns straight away and secondly if null is passed in as the message the message now remains unchanged.
Moved int check for 0 increment from incrementSubsection to increment to fix a bug which was leading to negative increments dur to unexpected behaviour. Additionally added a couple of unit tests and getMaximum() and getValue() methods to allow testing
Implemented basic feedback on feedback for loading individual images
Implemented basic feedback on feedback for loading individual images
FIxed the negative bug, the percentage completion is delivered as a percentage and was expected as a decimal in the range 0 to 1
Made the creation of Sea images faster by only getting an image of the ultimate target size
Minor bug OSMapLoadImpl was passing too large an incrementChunk through to buildImage if the file was not found
Changed bounded area selection panel changed event to fire on all selection changes rather than just changes of the master type so when you chnage wards, for example, it will zoom in on the ward so selected
As I don't have access to the internet I can't look up what is the Java version of a cancellation token so I have had to implement my own version. This is a first stab at trying to change the map roughly as fast as the overlays. The cancellation token will later need to be added to the download of files aswell. Currently it only works on the read and it calls the imageReaders abort method.
Forgot to initiate the cancellationTokenSync object
In a complete and total epic fail the cancellation token was constructed in a cancelled state.
Added a method to Rectangle Extensions to get the surrounding Rectangles from multiple Rectangles rather than just one and additionally for these to not overlap
Switched from MapImageImpl keeping a copy a reference to the geo location of the top left corner to it holidng a Rectangle representing the geo coverage. Added the notion of clean rectangles.i.e. after each Map is drawn on this map the a clean rectangle is added to the Map Image so that on the next drawing rather than assuming that drawing of maps had been completed (which was the previous situation and clearly erroneous) the clean areas can be known and on ly the dirty areas redrawn.
Created a first draft of the RectangleCollection object which implement Rectangle Collection but adds and removes aditional rectangles to those added and removed from it to ensure that there is no overlap. Additionally the contained method will return true if the provided rectangle is contained over multiple of the rectangles in the list behind the collection.
Written tests for the collection and fixed a bug with the add method
Incorporated the methods for only marking the actually clean parts of the previous image as clean rather than the whole of the previous image as was previously, erroniously, was the case.
Added a method to ImageAndGeoPointTranslator to get a the AffineTransform of the ImageToGeo translation and renamed get GeoTransform to getGeoToImageTransform. Additionally foxed these in there implementations and added unit tests as they were not working. It would be nice to change everything so it can just use the Affine Transforms rather than changing each point individually maybe.
Implemented multiple non contiguous areas for boundary line features. This will break the loading of old files and will require a fix to address this which shouldn't be too hard. Devon now loads nicely with a seperate blob for the isle of Lundy