Commit Graph

889 Commits

Author SHA1 Message Date
Alistair McIntyre ab0d4634d6 Moved XML parsing to non static class to create objects. Changed the abstraction as using generics in maps lead to more headaches than anything. Still not quite completed. Needs documentation and validation for tags too.
#story[820]
2017-04-29 19:02:30 +12:00
Peter Galloway 1e1e482b79 Added a delay for reading packets from the packet buffer so packets that are recieved out of order have time to order by timestamp in the priority queue #story[820] 2017-04-29 18:56:41 +12:00
cir27 a0624cfef6 Merge branch 'wake_remake' into Mark_to_MarkGroup
# Conflicts:
#	src/main/java/seng302/controllers/CanvasController.java
#	src/main/java/seng302/models/BoatGroup.java
#	src/main/java/seng302/models/Wake.java
#	src/main/java/seng302/models/parsers/StreamParser.java
#	src/main/resources/views/RaceView.fxml
2017-04-29 14:29:12 +12:00
cir27 02a35b4c02 Reduced the cost of updating wakes. Improved the logic for controlling indices.
#implement #story[820]
2017-04-29 14:20:52 +12:00
cir27 80409c08a6 Removed a graphical object added for testing. 2017-04-29 02:17:55 +12:00
cir27 6149f7be60 Wakes no longer become out of sync with boats after extended periods of time. Added in
a limit to the length of boat trails.

#implement
2017-04-29 02:14:55 +12:00
Calum 474f0ee427 Further work on new wake system. Wakes turn correctly but need to scale with velocity and
eventually desync with the boats. Needs to reset to the boats position on straights.
2017-04-28 23:25:49 +12:00
Zhi You Tan f3ee618900 Fixed broken race timer and timer now using stream timer data.
#story[818]
2017-04-28 21:44:23 +12:00
Zhi You Tan b939086e10 Updated welcome screen to show if race is finished or starting
#story[572]
2017-04-28 21:28:34 +12:00
Zhi You Tan ffdfc24e65 Created a start screen with a timer which shows the race progress
#story[572]
2017-04-28 20:09:17 +12:00
Peter Galloway 07bbd7e06d Added reasonable testing for StreamReciever, further testing would probably need StreamReciever to be rewritten #story[817] 2017-04-28 18:29:35 +12:00
Calum 765f27f987 Starting new wake implementation. 2017-04-28 17:08:08 +12:00
Kusal Ekanayake d204bee55d Started documentation on the stream parser.
#story[820]
2017-04-28 17:01:28 +12:00
Kusal Ekanayake 0f4ad48de0 Fixed and enables the old wakes. Enabled the fps counter by implementing the team-27s fps counter from their code, fixed trails from starting at the start of the startline no matter at what point in the race the stream is connected to (this is means the map starts a lot cleaner). Added live tracked speeds which are taken from the boat location packet. Linked the speeds coming in to their specified boats and allowed the onscreen speed tracker to keep up with the speeds. Linked the current speeds to the wakes so the wakes are redrawn for each change in speed and size to match the speed. Also added the toggle functionality back to the fps counter so they can be toggled on an off.
#story[818]
2017-04-28 16:41:35 +12:00
Alistair McIntyre fe480d5cb6 Finished parsing the Race XML data. Began making some optimizations to hopefully make parsing the Boat Data a quicker and simpler task.
#story[820]
2017-04-28 15:41:12 +12:00
Haoming Yin 8a04a0e5b7 Added documents for Boat, RaceParser and Simulator classes.
#story[828]
2017-04-28 14:53:26 +12:00
Haoming Yin 705a0a2eaf Added document and unit tests for GeoUtility class.
- three methods in GeoUtility have been tested and passed.

#story[828]
2017-04-28 14:34:24 +12:00
Kusal Ekanayake d1289b0de1 Fixed boats moving in the correct heading as according to the stream and attempted to fix the wakes direction.
#story[818]
2017-04-27 18:52:37 +12:00
Alistair McIntyre e1de5e0989 Parsed more course data from XML messages
#story[820]
2017-04-27 18:31:13 +12:00
Alistair McIntyre f5b9160304 Started parsing the different types of XML messages to Map objects so that we can extract the relevant data for the visualizer.
#story[820]
2017-04-27 17:22:46 +12:00
Kusal Ekanayake 0a22812165 Got the live ac35 data working in paralell with the parse and the app. Boats move and the live data works correctly. We need to fix the markers now
#story[818]
2017-04-27 16:18:33 +12:00
Kusal Ekanayake 104fd86179 Got the live ac35 data working in paralell with the parse and the app.
#story[820]
2017-04-27 14:40:26 +12:00
Calum 67a702ffcd Wakes still broken. Implemented dashed lines that track the progress of individual boats.
#implement #story[483]
2017-04-27 13:57:19 +12:00
Calum 65c0e6f77d Fixed markergroup bugs. Improved wakes. Still WIP 2017-04-27 11:58:50 +12:00
cir27 245bd184b4 Mark drawing moved to MarkGroup class. RaceObject and it's sub classes now describe
all functionality required for a on screen object. Improved wakes. Branch currently
untested.

#story[812, 820] #refactor #implement.
2017-04-27 02:44:25 +12:00
Haoming Yin 8c8f253233 Created simulator to generate mock data.
- simulator runs as a background thread and sleep for a given time lapse.
- simulator extends observable, so it can notify all its observers when boats positions have been updated

#story[828]
2017-04-26 22:58:13 +12:00
Haoming Yin 8b8422de3a Renamed course parser to race parser
- because in AC35 spec. race xml file contain course set up and all other general race settings

#story[828]
2017-04-26 22:52:18 +12:00
Haoming Yin 7bf2d4c40e Added Position class to better use GeoUtility.
- mark now inherit from Position

#story[828]
2017-04-26 22:52:18 +12:00
Haoming Yin 2a67f04d15 Create GeoUtility to process all geo calculations.
- calculate distance between two geo positions
- calculate the bearing from one geo position to another
- calculate the new geo position by passing original position, bearing and
distance

#story[828]
2017-04-26 22:52:18 +12:00
Haoming Yin b2ea8196d5 Fixed a bug of getCourse method as it didn't parse xml correctly.
- a typo 'CompoundmarkID'(should be 'CompoundMarkID') which caused parser failed to parse file.
- add typeOf method in RoundingType to convert strings to types

#story[828]
2017-04-26 22:52:18 +12:00
Haoming Yin 7f38191d03 Rewrote course parser to parse race xml file specified in AC35 spec.
#story[828]
2017-04-26 22:52:18 +12:00
Haoming Yin f6b7a3042f Rewrote all kind of marks to fit marks specified in AC35 spec.
- added compound mark
- added corner
- rewrote mark as a single mark
- added rounding type enum

#story[828]
2017-04-26 22:52:18 +12:00
Haoming Yin 3bdc6ce5cc Created a new course parser to parse race xml file specified in AC35 spec.
#story[828]
2017-04-26 22:52:18 +12:00
Michael Rausch bc31987f96 Added Boat location messages to the mock streaming data interface
- Added static methods to convert between binary packed lat/longs and floating point numbers

Tags: #story[829]
2017-04-26 22:38:39 +12:00
cir27 eaff4c5aac Added abstract class for all javafx object that a displayed during race. Began refactoring of mark implementation to be a subclass of the aforementioned abstract class. 2017-04-26 21:16:22 +12:00
Calum 95bafdc0d1 Fixed bug which caused boats to all travel to the same position. 2017-04-26 19:19:03 +12:00
Kusal Ekanayake c776d22941 Linking up course stream with visualiser. Boats moving, and course drawing. Boats however are not moving as intended. Needs to be fixed/looked into.
#story[820] #pair[kre39,cir27]
2017-04-26 18:45:58 +12:00
Calum 749c6b7fef Fixed bugs caused by horizontally scaling maps 2017-04-26 17:18:33 +12:00
Kusal Ekanayake 912c081606 Added marks with the test data coords to the xml
#story[820]
2017-04-26 15:55:51 +12:00
Kusal Ekanayake c73bf7dd3e Started merging received packets from the sample stream and reading lats and lons to move boats from them.
#story[820]
2017-04-26 15:51:15 +12:00
Kusal Ekanayake a3ae015be8 Merge remote-tracking branch 'origin/30b/30c_boat_animation' into StreamReceiverMergeWithVisualiser 2017-04-26 15:06:55 +12:00
Michael Rausch 1f8f1f0f86 Added boat location, and race start messages to the mock data interface
- Added proper support for signed and unsigned types. This includes automatic conversion to the correct data type (long to int, short, or byte).

- Moved code related to adding values into the byte buffer into the abstract Message class

Tags: #story[29]
2017-04-25 21:49:51 +12:00
Kusal Ekanayake 5eebab2748 Completed data extractors for: heartbeat, racestatus, display text msg, race start status, yacht event code, yacht action acode, chatter text, boat location, mark rounding, course wind and average wind. Some of the methods need to be validated but others have been tested. Will now need to link the parses with the model.
#story[820]
2017-04-25 17:57:22 +12:00
Alistair McIntyre 8cbd1cc4aa Added support to import XML packet to XML Document object.
#story[820]
2017-04-25 17:38:26 +12:00
Kusal Ekanayake 00c1a89f58 Fixed error in the switch (missing breaks)
#story[820]
2017-04-25 15:39:28 +12:00
Kusal Ekanayake d51825ffb7 Created separate streams for each different data type to be parsed into so the exact needed data would be able to be extracted.
#story[820]
2017-04-25 15:32:04 +12:00
cir27 42569e6ad7 Changed BoatPolygon is now a group instead of a polygon and is called BoatGroup.
BoatPolygon's functionality was more maintainable and scalable by having it extend Group.

 #story30c
2017-04-25 04:30:44 +12:00
cir27 ef874b4245 Added a transition time to rotational movement.
The aim is to make animations smoother when the boat turns. Unsure if current
 implementation will look good without testing on a datastream.

 #story30c
2017-04-25 03:12:30 +12:00
Calum 46037b5aea Refactored Boat class to better fit the MVC model by moving all GUI parts to BoatPolygon. Changed the way animation works so that it will work with a constantly updated set of lats and lons.
TODO - Change Mark class to no longer store XY pixel data.
TODO - Add in a timer force updates boat position if a packet has not been recieved for a while.

#story30b #story30c #implement #refactor
2017-04-24 23:06:30 +12:00
Michael Rausch 6874f288ee Added Race Status messages to the mock streaming data interface
Tags: #story[29]
2017-04-24 21:53:42 +12:00