mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-03 10:53:49 +00:00
Merge branch 'master' of ssh://195.227.10.246/home/trac/git
This commit is contained in:
commit
962e49ad6a
58 files changed
+1182
-278
No files matched your search
@@ -1,11 +1,7 @@
|
|||||||
Axel
|
Axel
|
||||||
====
|
====
|
||||||
|
|
||||||
- What about distance traveled in first leg? It seems to jump too high at the beginning.
|
- consolidate time point defaulting for servlet REST APIs
|
||||||
|
|
||||||
- Open test server firewall ports for UDP / Expedition wind integration
|
|
||||||
|
|
||||||
- test UDP ports
|
|
||||||
|
|
||||||
- Set up two Expedition machines with RF and UMTS transmission, test killing one
|
- Set up two Expedition machines with RF and UMTS transmission, test killing one
|
||||||
|
|
||||||
@@ -13,6 +9,8 @@ Axel
|
|||||||
|
|
||||||
- enable switching between our and TracTrac-provided leaderboard information
|
- enable switching between our and TracTrac-provided leaderboard information
|
||||||
|
|
||||||
|
- implement missing pieces of TracTrac Result API-based TrackedLegOfCompetitor
|
||||||
|
|
||||||
- Pass final production instance URL information to BeTomorrow for wind integration
|
- Pass final production instance URL information to BeTomorrow for wind integration
|
||||||
|
|
||||||
- Display gain/loss for next-best competitor (green/red arrow up/down) based on VMG comparison
|
- Display gain/loss for next-best competitor (green/red arrow up/down) based on VMG comparison
|
||||||
|
|||||||
+569
-1
@@ -40,6 +40,8 @@ Inbound Port Assignments
|
|||||||
80: apache
|
80: apache
|
||||||
5902: vnc
|
5902: vnc
|
||||||
8026: Python "dev" instance
|
8026: Python "dev" instance
|
||||||
|
....: Python "test" instance
|
||||||
|
....: Python "prod" instance
|
||||||
8886: servlet container of "dev" Java instance
|
8886: servlet container of "dev" Java instance
|
||||||
8887: servlet container of "test" Java instance
|
8887: servlet container of "test" Java instance
|
||||||
8888: servlet container of "prod1" Java instance
|
8888: servlet container of "prod1" Java instance
|
||||||
@@ -61,4 +63,570 @@ bundles that implement TracTrac connectivity, Expedition wind
|
|||||||
connectivity, sailing domain knowledge, race tracking capabilities as
|
connectivity, sailing domain knowledge, race tracking capabilities as
|
||||||
well as servlets with RESTful APIs for use by web clients.
|
well as servlets with RESTful APIs for use by web clients.
|
||||||
|
|
||||||
The
|
Most data is managed on the TracTrac servers. The only data currently
|
||||||
|
stored persistently by the Java component is the wind data received
|
||||||
|
through the supported channels. This helps in re-playing a race later
|
||||||
|
and understanding the wind conditions at the time which should support
|
||||||
|
fine-grained after-race analysis.
|
||||||
|
|
||||||
|
* Jetty
|
||||||
|
|
||||||
|
A Jetty servlet container runs embedded in Equinox. Servlets are
|
||||||
|
registered (currently in the com.sap.sailing.server bundle) using the
|
||||||
|
org.eclipse.equinox.http.registry.servlets extension point. See
|
||||||
|
com.sap.sailing.server/plugin.xml for the currently registered
|
||||||
|
servlets.
|
||||||
|
|
||||||
|
Static content to be provided by Jetty is also registered as an
|
||||||
|
"extension" for the org.eclipse.equinox.http.registry.resources
|
||||||
|
extension point. We have a few very simple forms registered that aid
|
||||||
|
in testing the web application provided by Jetty.
|
||||||
|
|
||||||
|
The port on which Jetty listens for incoming connections is configured
|
||||||
|
using the system / bundle property org.osgi.service.http.port.
|
||||||
|
|
||||||
|
* Binary Libraries
|
||||||
|
|
||||||
|
The Java component as of this writing has two bundles that wrap
|
||||||
|
binary libraries: com.tractrac.clientmodule and com.mongodb.driver.
|
||||||
|
|
||||||
|
* External Communications
|
||||||
|
|
||||||
|
The com.tractrac.clientmodule bundle is used to obtain data about
|
||||||
|
races / regattas and register for the corresponding live data
|
||||||
|
feeds. These feeds contain information about boat positions, race
|
||||||
|
course changes such as marks being moved, replaced or added, mark
|
||||||
|
positions, mark passings and race start/stop events.
|
||||||
|
|
||||||
|
To improve rankings and predictions, wind data is tracked by the Java
|
||||||
|
component. Wind can be fed through wind sources. Currently supported
|
||||||
|
are "WEB" and "EXPEDITION." The WEB wind source is a REST API by which
|
||||||
|
a single wind datum with optional position specification, time point,
|
||||||
|
wind bearing and speed can be provided. EXPEDITION uses a connector
|
||||||
|
bundle (com.sap.sailing.expeditionconnector) to receive wind data via
|
||||||
|
UDP from one or more Expedition instances.
|
||||||
|
|
||||||
|
The Expedition connector can listen on inbound UDP ports for messages
|
||||||
|
sent point-to-point or using UDP broadcast by the Expedition tool
|
||||||
|
which in turn receives its data from boat-mounted sensors and other
|
||||||
|
devices, such as the Nexus on-board system. Expedition enriches this
|
||||||
|
data and sends selected attributes over the network.
|
||||||
|
|
||||||
|
The connector understands the Expedition data feed format, supports
|
||||||
|
Expedition checksum verification and knows about the most important
|
||||||
|
attribute IDs such as true wind bearing, GPS time, latitude and
|
||||||
|
longitude.
|
||||||
|
|
||||||
|
* Storing Wind in MongoDB
|
||||||
|
|
||||||
|
The Java component piggy-backs on the MongoDB persistence solution
|
||||||
|
installed mainly for the Python server. Storing wind is helpful
|
||||||
|
particularly for post-race analysis and to support the case of a
|
||||||
|
re-start of the Java component(s) on the server, e.g., in case an
|
||||||
|
update or a quick-fix needs to be installed.
|
||||||
|
|
||||||
|
Since all other data can be reloaded from the TracTrac server, we
|
||||||
|
don't store that redundantly. But the wind information isn't retrieved
|
||||||
|
from TracTrac and hence needs to be stored on our server.
|
||||||
|
|
||||||
|
By default we use the database named "winddb". The MongoDB settings
|
||||||
|
can be configured using system / bundle properties:
|
||||||
|
|
||||||
|
mongo.port (default is 27017)
|
||||||
|
mongo.hostname (default is 127.0.0.1)
|
||||||
|
mongo.dbname (default is winddb)
|
||||||
|
|
||||||
|
* List of REST APIs and their parameters
|
||||||
|
|
||||||
|
The distribution of services across the /admin and /moderator servlet
|
||||||
|
is currently not well sorted out and requires some clean-up. The
|
||||||
|
general idea is to have administrative tasks accessible through the
|
||||||
|
/admin servlet whereas things that the moderator will see are accessed
|
||||||
|
through the /moderator servlet. We may want to consider merging both
|
||||||
|
into one in the future.
|
||||||
|
|
||||||
|
/admin
|
||||||
|
action=addevent
|
||||||
|
2014: wind input for "prod2" Java instance
|
||||||
|
|
||||||
|
Java
|
||||||
|
----
|
||||||
|
|
||||||
|
We use Equinox as an OSGi container into which we deploy a set of
|
||||||
|
bundles that implement TracTrac connectivity, Expedition wind
|
||||||
|
connectivity, sailing domain knowledge, race tracking capabilities as
|
||||||
|
well as servlets with RESTful APIs for use by web clients.
|
||||||
|
|
||||||
|
Most data is managed on the TracTrac servers. The only data currently
|
||||||
|
stored persistently by the Java component is the wind data received
|
||||||
|
through the supported channels. This helps in re-playing a race later
|
||||||
|
and understanding the wind conditions at the time which should support
|
||||||
|
fine-grained after-race analysis.
|
||||||
|
|
||||||
|
* Jetty
|
||||||
|
|
||||||
|
A Jetty servlet container runs embedded in Equinox. Servlets are
|
||||||
|
registered (currently in the com.sap.sailing.server bundle) using the
|
||||||
|
org.eclipse.equinox.http.registry.servlets extension point. See
|
||||||
|
com.sap.sailing.server/plugin.xml for the currently registered
|
||||||
|
servlets.
|
||||||
|
|
||||||
|
Static content to be provided by Jetty is also registered as an
|
||||||
|
"extension" for the org.eclipse.equinox.http.registry.resources
|
||||||
|
extension point. We have a few very simple forms registered that aid
|
||||||
|
in testing the web application provided by Jetty.
|
||||||
|
|
||||||
|
The port on which Jetty listens for incoming connections is configured
|
||||||
|
using the system / bundle property org.osgi.service.http.port.
|
||||||
|
|
||||||
|
* Binary Libraries
|
||||||
|
|
||||||
|
The Java component as of this writing has two bundles that wrap
|
||||||
|
binary libraries: com.tractrac.clientmodule and com.mongodb.driver.
|
||||||
|
|
||||||
|
* External Communications
|
||||||
|
|
||||||
|
The com.tractrac.clientmodule bundle is used to obtain data about
|
||||||
|
races / regattas and register for the corresponding live data
|
||||||
|
feeds. These feeds contain information about boat positions, race
|
||||||
|
course changes such as marks being moved, replaced or added, mark
|
||||||
|
positions, mark passings and race start/stop events.
|
||||||
|
|
||||||
|
To improve rankings and predictions, wind data is tracked by the Java
|
||||||
|
component. Wind can be fed through wind sources. Currently supported
|
||||||
|
are "WEB" and "EXPEDITION." The WEB wind source is a REST API by which
|
||||||
|
a single wind datum with optional position specification, time point,
|
||||||
|
wind bearing and speed can be provided. EXPEDITION uses a connector
|
||||||
|
bundle (com.sap.sailing.expeditionconnector) to receive wind data via
|
||||||
|
UDP from one or more Expedition instances.
|
||||||
|
|
||||||
|
The Expedition connector can listen on inbound UDP ports for messages
|
||||||
|
sent point-to-point or using UDP broadcast by the Expedition tool
|
||||||
|
which in turn receives its data from boat-mounted sensors and other
|
||||||
|
devices, such as the Nexus on-board system. Expedition enriches this
|
||||||
|
data and sends selected attributes over the network.
|
||||||
|
|
||||||
|
The connector understands the Expedition data feed format, supports
|
||||||
|
Expedition checksum verification and knows about the most important
|
||||||
|
attribute IDs such as true wind bearing, GPS time, latitude and
|
||||||
|
longitude.
|
||||||
|
|
||||||
|
For converting magnetic bearings to true bearings the
|
||||||
|
com.sap.sailing.declination bundle can talk to a web page at
|
||||||
|
http://www.ngdc.noaa.gov/geomagmodels/struts/calcDeclination. It is
|
||||||
|
possible to download and store declinations in a file shipped with the
|
||||||
|
bundle. The resources/ folder in the bundle's source holds files named
|
||||||
|
"declination-yyyy.txt" where "yyyy" represents the year of which the
|
||||||
|
file holds declination values. For 2011 there is a file that holds
|
||||||
|
declination values and annual change rates for a 1x1 degree grid. If
|
||||||
|
values of greater precision are requested, this may result in online
|
||||||
|
requests. After a timeout, interpolation/extrapolation based on the
|
||||||
|
known values and annual change rates is tried.
|
||||||
|
|
||||||
|
* Storing Wind in MongoDB
|
||||||
|
|
||||||
|
The Java component piggy-backs on the MongoDB persistence solution
|
||||||
|
installed mainly for the Python server. Storing wind is helpful
|
||||||
|
particularly for post-race analysis and to support the case of a
|
||||||
|
re-start of the Java component(s) on the server, e.g., in case an
|
||||||
|
update or a quick-fix needs to be installed.
|
||||||
|
|
||||||
|
Since all other data can be reloaded from the TracTrac server, we
|
||||||
|
don't store that redundantly. But the wind information isn't retrieved
|
||||||
|
from TracTrac and hence needs to be stored on our server.
|
||||||
|
|
||||||
|
By default we use the database named "winddb". The MongoDB settings
|
||||||
|
can be configured using system / bundle properties:
|
||||||
|
|
||||||
|
mongo.port (default is 27017)
|
||||||
|
mongo.hostname (default is 127.0.0.1)
|
||||||
|
mongo.dbname (default is winddb)
|
||||||
|
|
||||||
|
* List of REST APIs and their parameters
|
||||||
|
|
||||||
|
The distribution of services across the /admin and /moderator servlet
|
||||||
|
is currently not well sorted out and requires some clean-up. The
|
||||||
|
general idea is to have administrative tasks accessible through the
|
||||||
|
/admin servlet whereas things that the moderator will see are accessed
|
||||||
|
through the /moderator servlet. We may want to consider merging both
|
||||||
|
into one in the future.
|
||||||
|
|
||||||
|
/admin
|
||||||
|
action=addevent: starts tracking all races described in the document received
|
||||||
|
from the eventJSONURL to the server instance.
|
||||||
|
eventJSONURL: the URL from where metadata about the entire regatta
|
||||||
|
can be obtained; the resulting document includes the
|
||||||
|
parameter and simulation URLs for the individual
|
||||||
|
races that are part of the event/regatta.
|
||||||
|
liveURI: the live data URI for the TracTrac server
|
||||||
|
storedURI: the stored data URI for the TracTrac server; usually
|
||||||
|
the port number of this URI is that of liveURI + 1
|
||||||
|
action=stopevent: stops tracking of all races of the event; this
|
||||||
|
also stops all wind tracking for the races of the event
|
||||||
|
eventname: name of the event, as returned by the "listevents"
|
||||||
|
action on the /moderator servlet
|
||||||
|
action=addrace: starts tracking a single race; if other races of
|
||||||
|
the same event/regatta are already being tracked,
|
||||||
|
the race is added to the event
|
||||||
|
paramURL: the URL from where metadata about the race
|
||||||
|
can be obtained; the resulting document includes
|
||||||
|
UUIDs of waypoints, competitors, etc.
|
||||||
|
liveURI: the live data URI for the TracTrac server
|
||||||
|
storedURI: the stored data URI for the TracTrac server; usually
|
||||||
|
the port number of this URI is that of liveURI + 1
|
||||||
|
action=stoprace: stops tracking of a single race, also stopping the
|
||||||
|
wind trackers that were started for this race; other
|
||||||
|
races of the same event that were being tracked will
|
||||||
|
continue being tracked.
|
||||||
|
eventname: name of the event, as returned by the "listevents"
|
||||||
|
action on the /moderator servlet
|
||||||
|
racename: name of the race, as returned by the "listevents"
|
||||||
|
action on the /moderator servlet
|
||||||
|
action=receiveexpeditionwind: starts a wind tracker that receives
|
||||||
|
wind data through a UDP port from an Expedition
|
||||||
|
client; the wind is fed into a wind track for the
|
||||||
|
race specified by eventname/racename.
|
||||||
|
eventname: name of the event, as returned by the "listevents"
|
||||||
|
action on the /moderator servlet
|
||||||
|
racename: name of the race, as returned by the "listevents"
|
||||||
|
action on the /moderator servlet
|
||||||
|
port: the UDP port on which to listen for incoming
|
||||||
|
Expedition messages
|
||||||
|
correctexpeditionwindbearingbydeclination: optional; if "true",
|
||||||
|
the wind bearings received from Expedition will be
|
||||||
|
corrected by the magnetic declination for the
|
||||||
|
time and location specified by the Expedition
|
||||||
|
message.
|
||||||
|
action=stopreceivingexpeditionwind: stops an expedition wind tracker
|
||||||
|
for the race specified by eventname/racename
|
||||||
|
eventname: name of the event, as returned by the "listevents"
|
||||||
|
action on the /moderator servlet
|
||||||
|
racename: name of the race, as returned by the "listevents"
|
||||||
|
action on the /moderator servlet
|
||||||
|
action=listwindtrackers: lists all wind trackers currently
|
||||||
|
registered in the server instance. The output
|
||||||
|
structure is an array of {eventname,racename,port}
|
||||||
|
objects.
|
||||||
|
action=setwind: feeds a single wind measurement into the WEB
|
||||||
|
wind track of the race specified. If no time is
|
||||||
|
specified, the measurement is assumed to have been
|
||||||
|
taken at the current time.
|
||||||
|
eventname: name of the event, as returned by the "listevents"
|
||||||
|
action on the /moderator servlet
|
||||||
|
racename: name of the race, as returned by the "listevents"
|
||||||
|
action on the /moderator servlet
|
||||||
|
truebearingdegrees: as the name suggests; can have decimal places
|
||||||
|
knotspeed: optional; as the name suggests; can have decimal
|
||||||
|
places. If omitted, 1kn is used as a default
|
||||||
|
latdeg/lngdeg: optional; latitude and longitude in degrees,
|
||||||
|
optionally with decimal places
|
||||||
|
time: optional; time stamp for the wind measurement
|
||||||
|
in ISO format in arbitrary precision; takes
|
||||||
|
precedence over a "timeasmillis" parameter.
|
||||||
|
Example values:
|
||||||
|
2011-05-27T13:27:19.283
|
||||||
|
2010-06-30
|
||||||
|
2011-08-01T15:44:00
|
||||||
|
timeasmillis: optional; time stamp for the wind measurement
|
||||||
|
in milliseconds since 1970-01-01T00:00:00 UTC
|
||||||
|
action=removewind: removes a single wind measurement with the
|
||||||
|
millisecond-exact time stamp again from the
|
||||||
|
specified race's specified wind source. A time
|
||||||
|
should be provided, although the current time
|
||||||
|
will be used as the default. However, it's
|
||||||
|
unlikely that this will match the time point
|
||||||
|
of the wind to remove by the millisecond.
|
||||||
|
eventname: name of the event, as returned by the "listevents"
|
||||||
|
action on the /moderator servlet
|
||||||
|
racename: name of the race, as returned by the "listevents"
|
||||||
|
action on the /moderator servlet
|
||||||
|
sourcename: name of the wind source, such as WEB or EXPEDITION
|
||||||
|
time: time stamp for the wind measurement
|
||||||
|
in ISO format in arbitrary precision; takes
|
||||||
|
precedence over a "timeasmillis" parameter.
|
||||||
|
Example values:
|
||||||
|
2011-05-27T13:27:19.283
|
||||||
|
2010-06-30
|
||||||
|
2011-08-01T15:44:00
|
||||||
|
timeasmillis: time stamp for the wind measurement
|
||||||
|
in milliseconds since 1970-01-01T00:00:00 UTC
|
||||||
|
action=selectwindsource: selects the wind track to be used for
|
||||||
|
all computations for the race specified. This can
|
||||||
|
be used to switch, e.g., from EXPEDITION-provided
|
||||||
|
wind to manually or BeTomorrow-provided wind
|
||||||
|
information.
|
||||||
|
eventname: name of the event, as returned by the "listevents"
|
||||||
|
action on the /moderator servlet
|
||||||
|
racename: name of the race, as returned by the "listevents"
|
||||||
|
action on the /moderator servlet
|
||||||
|
sourcename: name of the wind source, such as WEB or EXPEDITION
|
||||||
|
action=showwind: shows the wind tracks that exist for the race
|
||||||
|
specified. The output is a JSON object with the
|
||||||
|
following structure:
|
||||||
|
{ "currentwindsource": WEB|EXPEDITION,
|
||||||
|
[ "WEB": { "truebearingdeg": ...,
|
||||||
|
"knotspeed": ...,
|
||||||
|
"meterspersecondspeed": ...,
|
||||||
|
"timepoint": ... (optional, if time point is known),
|
||||||
|
"dampenedtruebearingdeg": ... (optional),
|
||||||
|
"dampenedknotspeed": ... (optional),
|
||||||
|
"dampenedmeterspersecondspeed": ... (optional)
|
||||||
|
"latdeg": ... (optional, if position known),
|
||||||
|
"lngdeg": ... (optional, if position known)
|
||||||
|
}
|
||||||
|
"EXPEDITION": { ... }
|
||||||
|
}
|
||||||
|
eventname: name of the event, as returned by the "listevents"
|
||||||
|
action on the /moderator servlet
|
||||||
|
racename: name of the race, as returned by the "listevents"
|
||||||
|
action on the /moderator servlet
|
||||||
|
action=addwindtomarksforonehour: Can be used to translate one or
|
||||||
|
more positions in the direction and distance that
|
||||||
|
the wind blows at the position's location during
|
||||||
|
one hour. One use case is drawing the wind lines
|
||||||
|
through the mark positions. If no time point
|
||||||
|
is specified, the current time is used for the
|
||||||
|
wind lookup. The result is a JSON array with
|
||||||
|
objects of the following structure:
|
||||||
|
{ "markLatDeg": ..., // position provided
|
||||||
|
"markLngDeg": ..., // position provided
|
||||||
|
"windTrueBearingDeg": ..., // wind info
|
||||||
|
"windKnotSpeed": ..., // wind info
|
||||||
|
"toLatDeg": ..., // translated position
|
||||||
|
"toLngDeg" } // translated position
|
||||||
|
eventname: name of the event, as returned by the "listevents"
|
||||||
|
action on the /moderator servlet
|
||||||
|
racename: name of the race, as returned by the "listevents"
|
||||||
|
action on the /moderator servlet
|
||||||
|
time: optional; time stamp for the wind measurement
|
||||||
|
in ISO format in arbitrary precision; takes
|
||||||
|
precedence over a "timeasmillis" parameter.
|
||||||
|
Example values:
|
||||||
|
2011-05-27T13:27:19.283
|
||||||
|
2010-06-30
|
||||||
|
2011-08-01T15:44:00
|
||||||
|
timeasmillis: optional; time stamp for the wind measurement
|
||||||
|
in milliseconds since 1970-01-01T00:00:00 UTC
|
||||||
|
latdeg/lngdeg: can occur multiple times with an equal number of
|
||||||
|
latdeg and lngdeg parameter occurrences. Specifies
|
||||||
|
the positions to be translated.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/moderator
|
||||||
|
action=listevents: shows the events with their races that are
|
||||||
|
currently being tracked by this server instance. The
|
||||||
|
result is a JSON array with entries describing the
|
||||||
|
events like this:
|
||||||
|
{ "name": ..., // event name
|
||||||
|
"boatclass": ..., // optional; name of boat class
|
||||||
|
"competitors": [ // the event's competitors
|
||||||
|
{ "name", ..., // competitor's name
|
||||||
|
"nationality": ...,
|
||||||
|
"team": [ { // the sailors forming the team
|
||||||
|
"name": ...,
|
||||||
|
"description": ... } ... ] } ... ]
|
||||||
|
"races": [ // list of races in the event
|
||||||
|
"name": ...,
|
||||||
|
"boatclass": ...,
|
||||||
|
"start": ..., // race start time as millisecond
|
||||||
|
// timestamp, Integer.MAX_VALUE
|
||||||
|
// if not started yet
|
||||||
|
"finish": ..., // optional; if race finish time
|
||||||
|
// is known, this is the
|
||||||
|
// milliseconds timestamp of
|
||||||
|
// when the race finished
|
||||||
|
"legs": [ { // legs in the course's order
|
||||||
|
"start": ..., // name of the leg start mark
|
||||||
|
"end": ... } // name of the leg end mark
|
||||||
|
... ]
|
||||||
|
... ]
|
||||||
|
action=[ // list of races in the event
|
||||||
|
"name": ...,
|
||||||
|
"boatclass": ...,
|
||||||
|
"start": ..., // race start time as millisecond
|
||||||
|
// timestamp, Integer.MAX_VALUE
|
||||||
|
// if not started yet
|
||||||
|
"finish": ..., // optional; if race finish time
|
||||||
|
// is known, this is the
|
||||||
|
// milliseconds timestamp of
|
||||||
|
// when the race finished
|
||||||
|
"legs": [ { // legs in the course's order
|
||||||
|
"start": ..., // name of the leg start mark
|
||||||
|
"end": ... } // name of the leg end mark
|
||||||
|
... ]
|
||||||
|
... ]
|
||||||
|
action=showboatpositions: outputs a JSON object describing the boats
|
||||||
|
with their positions for the race specified. Output
|
||||||
|
format:
|
||||||
|
{ "name": ..., // race name
|
||||||
|
"competitors": [ {
|
||||||
|
"name": ...,
|
||||||
|
"track": [ {
|
||||||
|
"timepoint": ..., // millisecond timestamp
|
||||||
|
"latdeg": ..., // boat position
|
||||||
|
"lngdeg": ...,
|
||||||
|
"truebearingdeg": ..., // true boat bearing in degrees
|
||||||
|
"knotspeed": ... } ... ] // boat speed in knots
|
||||||
|
} ... ] }
|
||||||
|
eventname: name of the event, as returned by the "listevents"
|
||||||
|
action on the /moderator servlet
|
||||||
|
racename: name of the race, as returned by the "listevents"
|
||||||
|
action on the /moderator servlet
|
||||||
|
since/sinceasmillis: optional; ISO / milliseconds timestamp
|
||||||
|
describing the earliest time point for boat
|
||||||
|
positions to be returned; if not specified,
|
||||||
|
known boat positions are listed from the
|
||||||
|
"beginning of time"
|
||||||
|
to/toasmillis: optional; optional; ISO / milliseconds timestamp
|
||||||
|
describing the latest time point for boat
|
||||||
|
positions to be returned; if not specified,
|
||||||
|
known boat positions are listed until the
|
||||||
|
"end of time"
|
||||||
|
action=showwaypoints: shows the positions of a race's marks / buoys
|
||||||
|
at a specified point in time; if no time/timeasmillis
|
||||||
|
is provided, the race start time is used; if that is
|
||||||
|
not available, the start of tracking is used;
|
||||||
|
if that is not available either, the time point
|
||||||
|
of the newest event is used; if that is not
|
||||||
|
available, the current time is used. The output
|
||||||
|
is an array of JSON objects with following format each:
|
||||||
|
{ "name": ..., // waypoint name
|
||||||
|
"buoys": [ { // usually one or two buoys
|
||||||
|
"name": ..., // buoy name
|
||||||
|
"lat": ..., // optional; if buoy pos known
|
||||||
|
"lng": ... } ... ] } // optionsl; if buoy pos known
|
||||||
|
eventname: name of the event, as returned by the "listevents"
|
||||||
|
action on the /moderator servlet
|
||||||
|
racename: name of the race, as returned by the "listevents"
|
||||||
|
action on the /moderator servlet
|
||||||
|
time: optional; time stamp for the wind measurement
|
||||||
|
in ISO format in arbitrary precision; takes
|
||||||
|
precedence over a "timeasmillis" parameter.
|
||||||
|
Example values:
|
||||||
|
2011-05-27T13:27:19.283
|
||||||
|
2010-06-30
|
||||||
|
2011-08-01T15:44:00
|
||||||
|
timeasmillis: optional; time stamp for the wind measurement
|
||||||
|
in milliseconds since 1970-01-01T00:00:00 UTC
|
||||||
|
action=showrace: shows lots of tracking information about a
|
||||||
|
tracked race at a given point in time. If no
|
||||||
|
time point is provided (time / timeasmillis),
|
||||||
|
the time point of the event received last is
|
||||||
|
used. If no such time point exists, the current
|
||||||
|
time is used. The output has the following
|
||||||
|
structure:
|
||||||
|
{ "name": ..., // race name
|
||||||
|
"startoftracking": ..., // millisecond timestamp
|
||||||
|
"start": ..., // millisecond timestamp
|
||||||
|
"finish": ..., // millisecond timestamp
|
||||||
|
"timeofnewestevent": ...,// greatest millisecond timestamp
|
||||||
|
// of any event received so far
|
||||||
|
"timeoflastevent": ..., // millisecond timestamp
|
||||||
|
// of the event received last
|
||||||
|
"updatecount": ..., // integer number telling
|
||||||
|
// the number of events
|
||||||
|
// received so far; a bit
|
||||||
|
// like a "transaction time"
|
||||||
|
"wind": { // optional, if wind set
|
||||||
|
"truebearingdeg": ...,
|
||||||
|
"knotspeed": ...,
|
||||||
|
"meterspersecondspeed": ...,
|
||||||
|
"source": ... },
|
||||||
|
"legs": [ { // leg tracking info per leg
|
||||||
|
"from": ..., // name of from-waypoint
|
||||||
|
"fromwaypointid": ..., // a unique integer for the
|
||||||
|
// from-waypoint
|
||||||
|
"to": ..., // name of to-waypoint
|
||||||
|
"towaypointid": ..., // a unique integer for the
|
||||||
|
// from-waypoint
|
||||||
|
"upordownwindleg": ...,// true or false
|
||||||
|
"competitors": [ { // competitor list
|
||||||
|
"name": ...,
|
||||||
|
// current SOG is optional
|
||||||
|
"currentSpeedOverGroundInKnots": ...,
|
||||||
|
"currentSpeedOverGroundInMetersPerSecond": ...,
|
||||||
|
// average SOG is optionsl
|
||||||
|
"averageSpeedOverGroundInKnots": ...,
|
||||||
|
"averageSpeedOverGroundInMetersPerSecond": ...,
|
||||||
|
// distance traveled is optional
|
||||||
|
"distanceTraveledOverGroundInMeters": ...,
|
||||||
|
// VMG info is optional
|
||||||
|
"velocityMadeGoodInKnots": ...,
|
||||||
|
"velocityMadeGoodInMetersPerSecond": ...,
|
||||||
|
"averageVelocityMadeGoodInKnots": ...,
|
||||||
|
"averageVelocityMadeGoodInMetersPerSecond": ...,
|
||||||
|
"rank": ..., // competitor's rank in this leg
|
||||||
|
"gapToLeaderInSeconds": ..., // optional, only if wind is known
|
||||||
|
"estimatedTimeToNextMarkInSeconds": ..., // optional, only if wind is known
|
||||||
|
"windwardDistanceToGoInMeters": ..., // optional, only if wind is known
|
||||||
|
"started": ..., // true or false, tells if competitor has started leg
|
||||||
|
"finished": ... // true of false, tells if competitor has finished leg
|
||||||
|
} ... ] // competitor's rank in leg
|
||||||
|
} ... ],
|
||||||
|
"ranks": [ { // the overall total ranks, across legs
|
||||||
|
"competitor": ..., // name of competitor
|
||||||
|
"rank": ... } ... ] }
|
||||||
|
eventname: name of the event, as returned by the "listevents"
|
||||||
|
action on the /moderator servlet
|
||||||
|
racename: name of the race, as returned by the "listevents"
|
||||||
|
action on the /moderator servlet
|
||||||
|
time: optional; time stamp for the wind measurement
|
||||||
|
in ISO format in arbitrary precision; takes
|
||||||
|
precedence over a "timeasmillis" parameter.
|
||||||
|
Example values:
|
||||||
|
2011-05-27T13:27:19.283
|
||||||
|
2010-06-30
|
||||||
|
2011-08-01T15:44:00
|
||||||
|
timeasmillis: optional; time stamp for the wind measurement
|
||||||
|
in milliseconds since 1970-01-01T00:00:00 UTC
|
||||||
|
sinceupdate: optional; an integer number that if provided,
|
||||||
|
causes the call to block on the server
|
||||||
|
until the update count returned will be greater
|
||||||
|
than the value provided for sinceupdate.
|
||||||
|
|
||||||
|
* Server Directory Structures
|
||||||
|
|
||||||
|
git/:
|
||||||
|
This is our git "hub" directory with checked-out workspace.
|
||||||
|
We use it also as the directory to check out a specific branch
|
||||||
|
that we want to build using Maven.
|
||||||
|
|
||||||
|
servers/:
|
||||||
|
The four Java server instances dev, test, prod1 and prod2 have their
|
||||||
|
directories here.
|
||||||
|
[dev|test|prod1|prod2]/
|
||||||
|
configuration/
|
||||||
|
config.ini: contains the set of initial bundles to launch upon
|
||||||
|
server start as well as bundle properties such as the
|
||||||
|
HTTP port to listen to and the mongo.port property
|
||||||
|
start: the start script used to launch the respective server instance
|
||||||
|
update: used to copy the built artifacts from the corresponding
|
||||||
|
maven-repositories/ subdirectory to the plugins/ subdirectory
|
||||||
|
plugins/: contains the JAR files for the server instance
|
||||||
|
|
||||||
|
maven-repositories/
|
||||||
|
[dev|test|prod]/: the target repositories for the "mvn deploy" tasks
|
||||||
|
for the respective git branch (dev|test|prod)
|
||||||
|
|
||||||
|
* Maven Environment
|
||||||
|
|
||||||
|
Our Java OSGi bundles are built and tested using the Apache Maven build system together
|
||||||
|
with the Tycho plugin for Maven. The bundles carrying the JUnit tests (typically ending
|
||||||
|
with *.test in their bundle name) are built using eclipse-test-plugin as packaging
|
||||||
|
type. The regular OSGi bundles are built using eclipse-plugin as packaging type.
|
||||||
|
|
||||||
|
When invoking "mvn install" in the ~trac/git/java directory, all bundles for the Java
|
||||||
|
server will be built and the tests will start to run. A report is printed at the end. If
|
||||||
|
it decides for "SUCCESS" then all builds and tests finished successfully. However, this
|
||||||
|
hasn't had any effect on any of the running servers, not even the maven repository.
|
||||||
|
|
||||||
|
For that, see the respective instructions in the ADMIN file located next to this README
|
||||||
|
file (search for "mvn deploy").
|
||||||
|
|
||||||
|
|
||||||
|
Python
|
||||||
|
------
|
||||||
|
|
||||||
|
TODO Simon to write a few warm words here...
|
||||||
+1
-1
@@ -74,7 +74,7 @@ import difflib.PatchFailedException;
|
|||||||
public class DomainFactoryImpl implements DomainFactory {
|
public class DomainFactoryImpl implements DomainFactory {
|
||||||
private static final Logger logger = Logger.getLogger(DomainFactoryImpl.class.getName());
|
private static final Logger logger = Logger.getLogger(DomainFactoryImpl.class.getName());
|
||||||
|
|
||||||
private final long millisecondsOverWhichToAverageSpeed = 15000;
|
private final long millisecondsOverWhichToAverageSpeed = 40000; // makes for a 20s half-side interval
|
||||||
|
|
||||||
// TODO clarify how millisecondsOverWhichToAverageWind could be updated and propagated live
|
// TODO clarify how millisecondsOverWhichToAverageWind could be updated and propagated live
|
||||||
private final long millisecondsOverWhichToAverageWind = 30000;
|
private final long millisecondsOverWhichToAverageWind = 30000;
|
||||||
|
|||||||
+9
@@ -51,4 +51,13 @@ public class TracTracTrackedLegImpl implements TrackedLeg {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Map<Competitor, Integer> getRanks(TimePoint timePoint) {
|
||||||
|
Map<Competitor, Integer> result = new HashMap<Competitor, Integer>();
|
||||||
|
for (Competitor c : getTrackedRace().getRace().getCompetitors()) {
|
||||||
|
result.put(c, getTrackedLeg(c).getRank(timePoint));
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
+3
-2
@@ -9,6 +9,7 @@ import com.sap.sailing.domain.base.Position;
|
|||||||
import com.sap.sailing.domain.base.Speed;
|
import com.sap.sailing.domain.base.Speed;
|
||||||
import com.sap.sailing.domain.base.SpeedWithBearing;
|
import com.sap.sailing.domain.base.SpeedWithBearing;
|
||||||
import com.sap.sailing.domain.base.TimePoint;
|
import com.sap.sailing.domain.base.TimePoint;
|
||||||
|
import com.sap.sailing.domain.base.impl.DegreeBearingImpl;
|
||||||
import com.sap.sailing.domain.base.impl.KilometersPerHourSpeedImpl;
|
import com.sap.sailing.domain.base.impl.KilometersPerHourSpeedImpl;
|
||||||
import com.sap.sailing.domain.base.impl.KnotSpeedImpl;
|
import com.sap.sailing.domain.base.impl.KnotSpeedImpl;
|
||||||
import com.sap.sailing.domain.base.impl.KnotSpeedWithBearingImpl;
|
import com.sap.sailing.domain.base.impl.KnotSpeedWithBearingImpl;
|
||||||
@@ -126,8 +127,8 @@ public class TracTracTrackedLegOfCompetitor implements TrackedLegOfCompetitor {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Speed getVelocityMadeGood(TimePoint timePoint) throws NoWindException {
|
public Speed getVelocityMadeGood(TimePoint timePoint) throws NoWindException {
|
||||||
// TODO Auto-generated method stub; problem: live VMG is not delivered by new ResultAPI
|
return new KnotSpeedWithBearingImpl(getLiveResults(timePoint).getVmgAverage30s(),
|
||||||
return null;
|
new DegreeBearingImpl(getLiveResults(timePoint).getHeading()));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
package com.sap.sailing.domain.tracking;
|
package com.sap.sailing.domain.tracking;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
import com.sap.sailing.domain.base.Competitor;
|
import com.sap.sailing.domain.base.Competitor;
|
||||||
import com.sap.sailing.domain.base.Leg;
|
import com.sap.sailing.domain.base.Leg;
|
||||||
import com.sap.sailing.domain.base.TimePoint;
|
import com.sap.sailing.domain.base.TimePoint;
|
||||||
@@ -19,4 +21,15 @@ public interface TrackedLeg {
|
|||||||
*/
|
*/
|
||||||
boolean isUpOrDownwindLeg(TimePoint at) throws NoWindException;
|
boolean isUpOrDownwindLeg(TimePoint at) throws NoWindException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Computes the ranks of all competitors in this leg in one sweep. There are two advantages of this operation over
|
||||||
|
* the more fine-grained {@link TrackedLegOfCompetitor#getRank(TimePoint)}:
|
||||||
|
* <ol>
|
||||||
|
* <li>all ranks are available in one call</li>
|
||||||
|
* <li>no incoming events can influence ranks between separate calls to
|
||||||
|
* {@link TrackedLegOfCompetitor#getRank(TimePoint)}</li>
|
||||||
|
* </ol>
|
||||||
|
*/
|
||||||
|
Map<Competitor, Integer> getRanks(TimePoint timePoint);
|
||||||
|
|
||||||
}
|
}
|
||||||
+22
-6
@@ -1,7 +1,9 @@
|
|||||||
package com.sap.sailing.domain.tracking.impl;
|
package com.sap.sailing.domain.tracking.impl;
|
||||||
|
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.SortedSet;
|
||||||
import java.util.TreeSet;
|
import java.util.TreeSet;
|
||||||
|
|
||||||
import com.sap.sailing.domain.base.Bearing;
|
import com.sap.sailing.domain.base.Bearing;
|
||||||
@@ -25,7 +27,7 @@ public class TrackedLegImpl implements TrackedLeg, RaceChangeListener<Competitor
|
|||||||
private final Leg leg;
|
private final Leg leg;
|
||||||
private final Map<Competitor, TrackedLegOfCompetitor> trackedLegsOfCompetitors;
|
private final Map<Competitor, TrackedLegOfCompetitor> trackedLegsOfCompetitors;
|
||||||
private TrackedRaceImpl trackedRace;
|
private TrackedRaceImpl trackedRace;
|
||||||
private final Map<TimePoint, TreeSet<TrackedLegOfCompetitor>> competitorTracksOrderedByRank;
|
private final Map<TimePoint, SortedSet<TrackedLegOfCompetitor>> competitorTracksOrderedByRank;
|
||||||
|
|
||||||
public TrackedLegImpl(DynamicTrackedRaceImpl trackedRace, Leg leg, Iterable<Competitor> competitors) {
|
public TrackedLegImpl(DynamicTrackedRaceImpl trackedRace, Leg leg, Iterable<Competitor> competitors) {
|
||||||
super();
|
super();
|
||||||
@@ -36,7 +38,7 @@ public class TrackedLegImpl implements TrackedLeg, RaceChangeListener<Competitor
|
|||||||
trackedLegsOfCompetitors.put(competitor, new TrackedLegOfCompetitorImpl(this, competitor));
|
trackedLegsOfCompetitors.put(competitor, new TrackedLegOfCompetitorImpl(this, competitor));
|
||||||
}
|
}
|
||||||
trackedRace.addListener(this);
|
trackedRace.addListener(this);
|
||||||
competitorTracksOrderedByRank = new HashMap<TimePoint, TreeSet<TrackedLegOfCompetitor>>();
|
competitorTracksOrderedByRank = new HashMap<TimePoint, SortedSet<TrackedLegOfCompetitor>>();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -60,7 +62,7 @@ public class TrackedLegImpl implements TrackedLeg, RaceChangeListener<Competitor
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected Competitor getLeader(TimePoint timePoint) {
|
protected Competitor getLeader(TimePoint timePoint) {
|
||||||
TreeSet<TrackedLegOfCompetitor> byRank = getCompetitorTracksOrderedByRank(timePoint);
|
SortedSet<TrackedLegOfCompetitor> byRank = getCompetitorTracksOrderedByRank(timePoint);
|
||||||
return byRank.first().getCompetitor();
|
return byRank.first().getCompetitor();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -74,19 +76,29 @@ public class TrackedLegImpl implements TrackedLeg, RaceChangeListener<Competitor
|
|||||||
* Note that this does not reflect overall race standings. For that, the ordering would have to
|
* Note that this does not reflect overall race standings. For that, the ordering would have to
|
||||||
* consider the order of the boats not currently in this leg, too.
|
* consider the order of the boats not currently in this leg, too.
|
||||||
*/
|
*/
|
||||||
protected TreeSet<TrackedLegOfCompetitor> getCompetitorTracksOrderedByRank(TimePoint timePoint) {
|
protected SortedSet<TrackedLegOfCompetitor> getCompetitorTracksOrderedByRank(TimePoint timePoint) {
|
||||||
synchronized (competitorTracksOrderedByRank) {
|
synchronized (competitorTracksOrderedByRank) {
|
||||||
TreeSet<TrackedLegOfCompetitor> treeSet = competitorTracksOrderedByRank.get(timePoint);
|
SortedSet<TrackedLegOfCompetitor> treeSet = competitorTracksOrderedByRank.get(timePoint);
|
||||||
if (treeSet == null) {
|
if (treeSet == null) {
|
||||||
treeSet = new TreeSet<TrackedLegOfCompetitor>(new WindwardToGoComparator(this, timePoint));
|
treeSet = new TreeSet<TrackedLegOfCompetitor>(new WindwardToGoComparator(this, timePoint));
|
||||||
for (TrackedLegOfCompetitor competitorLeg : getTrackedLegsOfCompetitors()) {
|
for (TrackedLegOfCompetitor competitorLeg : getTrackedLegsOfCompetitors()) {
|
||||||
treeSet.add(competitorLeg);
|
treeSet.add(competitorLeg);
|
||||||
}
|
}
|
||||||
competitorTracksOrderedByRank.put(timePoint, treeSet);
|
competitorTracksOrderedByRank.put(timePoint, Collections.unmodifiableSortedSet(treeSet));
|
||||||
}
|
}
|
||||||
return treeSet;
|
return treeSet;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Map<Competitor, Integer> getRanks(TimePoint timePoint) {
|
||||||
|
SortedSet<TrackedLegOfCompetitor> orderedTrackedLegsOfCompetitors = getCompetitorTracksOrderedByRank(timePoint);
|
||||||
|
Map<Competitor, Integer> result = new HashMap<Competitor, Integer>();
|
||||||
|
for (TrackedLegOfCompetitor tloc : orderedTrackedLegsOfCompetitors) {
|
||||||
|
result.put(tloc.getCompetitor(), orderedTrackedLegsOfCompetitors.headSet(tloc).size()+1);
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isUpOrDownwindLeg(TimePoint at) throws NoWindException {
|
public boolean isUpOrDownwindLeg(TimePoint at) throws NoWindException {
|
||||||
@@ -116,6 +128,10 @@ public class TrackedLegImpl implements TrackedLeg, RaceChangeListener<Competitor
|
|||||||
getLeg().getFrom().getBuoys().iterator().next()).getEstimatedPosition(at, false);
|
getLeg().getFrom().getBuoys().iterator().next()).getEstimatedPosition(at, false);
|
||||||
Position approximateLegEndPosition = getTrackedRace().getTrack(
|
Position approximateLegEndPosition = getTrackedRace().getTrack(
|
||||||
getLeg().getTo().getBuoys().iterator().next()).getEstimatedPosition(at, false);
|
getLeg().getTo().getBuoys().iterator().next()).getEstimatedPosition(at, false);
|
||||||
|
if (approximateLegStartPosition == null || approximateLegEndPosition == null) {
|
||||||
|
throw new RuntimeException("No mark positions received yet for leg "+getLeg()+
|
||||||
|
". Can't determine wind direction since position is not known.");
|
||||||
|
}
|
||||||
Wind wind = getWind(
|
Wind wind = getWind(
|
||||||
approximateLegStartPosition.translateGreatCircle(approximateLegStartPosition.getBearingGreatCircle(approximateLegEndPosition),
|
approximateLegStartPosition.translateGreatCircle(approximateLegStartPosition.getBearingGreatCircle(approximateLegEndPosition),
|
||||||
approximateLegStartPosition.getDistance(approximateLegEndPosition).scale(0.5)), at);
|
approximateLegStartPosition.getDistance(approximateLegEndPosition).scale(0.5)), at);
|
||||||
|
|||||||
+2
-2
@@ -1,7 +1,7 @@
|
|||||||
package com.sap.sailing.domain.tracking.impl;
|
package com.sap.sailing.domain.tracking.impl;
|
||||||
|
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.TreeSet;
|
import java.util.SortedSet;
|
||||||
|
|
||||||
import com.sap.sailing.domain.base.Bearing;
|
import com.sap.sailing.domain.base.Bearing;
|
||||||
import com.sap.sailing.domain.base.Buoy;
|
import com.sap.sailing.domain.base.Buoy;
|
||||||
@@ -244,7 +244,7 @@ public class TrackedLegOfCompetitorImpl implements TrackedLegOfCompetitor {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getRank(TimePoint timePoint) {
|
public int getRank(TimePoint timePoint) {
|
||||||
TreeSet<TrackedLegOfCompetitor> competitorTracksByRank = getTrackedLeg().getCompetitorTracksOrderedByRank(timePoint);
|
SortedSet<TrackedLegOfCompetitor> competitorTracksByRank = getTrackedLeg().getCompetitorTracksOrderedByRank(timePoint);
|
||||||
return competitorTracksByRank.headSet(this).size()+1;
|
return competitorTracksByRank.headSet(this).size()+1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+7
-2
@@ -127,7 +127,7 @@ public class UDPExpeditionReceiver implements Runnable {
|
|||||||
// by subtracting the last diff from now
|
// by subtracting the last diff from now
|
||||||
defaultForMessageTimePoint = new MillisecondsTimePoint(now - diff);
|
defaultForMessageTimePoint = new MillisecondsTimePoint(now - diff);
|
||||||
} else {
|
} else {
|
||||||
defaultForMessageTimePoint = MillisecondsTimePoint.now();
|
defaultForMessageTimePoint = null;
|
||||||
}
|
}
|
||||||
for (int i = 0; i < variablesAndValuesInterleaved.length; i++) {
|
for (int i = 0; i < variablesAndValuesInterleaved.length; i++) {
|
||||||
int variableID = Integer.valueOf(variablesAndValuesInterleaved[i++]);
|
int variableID = Integer.valueOf(variablesAndValuesInterleaved[i++]);
|
||||||
@@ -136,7 +136,12 @@ public class UDPExpeditionReceiver implements Runnable {
|
|||||||
}
|
}
|
||||||
int checksum = Integer.valueOf(m.group(m.groupCount()), 16);
|
int checksum = Integer.valueOf(m.group(m.groupCount()), 16);
|
||||||
valid = valid && checksumOk(checksum, packetAsString);
|
valid = valid && checksumOk(checksum, packetAsString);
|
||||||
ExpeditionMessageImpl result = new ExpeditionMessageImpl(boatID, values, valid, defaultForMessageTimePoint);
|
ExpeditionMessageImpl result;
|
||||||
|
if (defaultForMessageTimePoint == null) {
|
||||||
|
result = new ExpeditionMessageImpl(boatID, values, valid);
|
||||||
|
} else {
|
||||||
|
result = new ExpeditionMessageImpl(boatID, values, valid, defaultForMessageTimePoint);
|
||||||
|
}
|
||||||
if (result.hasValue(ExpeditionMessage.ID_GPS_TIME)) {
|
if (result.hasValue(ExpeditionMessage.ID_GPS_TIME)) {
|
||||||
// an original GPS time stamp; then remember the difference between now and the time stamp
|
// an original GPS time stamp; then remember the difference between now and the time stamp
|
||||||
timeStampOfLastMessageReceived.put(boatID, now-result.getTimePoint().asMillis());
|
timeStampOfLastMessageReceived.put(boatID, now-result.getTimePoint().asMillis());
|
||||||
|
|||||||
@@ -21,9 +21,9 @@
|
|||||||
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Declipse.ignoreApp=true -Dosgi.noShutdown=true -Dorg.osgi.service.http.port=8888"/>
|
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Declipse.ignoreApp=true -Dosgi.noShutdown=true -Dorg.osgi.service.http.port=8888"/>
|
||||||
<stringAttribute key="pde.version" value="3.3"/>
|
<stringAttribute key="pde.version" value="3.3"/>
|
||||||
<booleanAttribute key="show_selected_only" value="false"/>
|
<booleanAttribute key="show_selected_only" value="false"/>
|
||||||
<stringAttribute key="target_bundles" value="org.eclipse.equinox.http.servlet@default:default,org.eclipse.equinox.common@2:true,org.apache.ant@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.util@default:default,org.eclipse.osgi.services@default:default,javax.servlet@default:default,org.eclipse.core.jobs@default:default,org.mortbay.jetty.util@default:default,org.apache.commons.logging@default:default,org.eclipse.equinox.http.registry@default:default,org.junit4@default:default,org.junit*4.8.1.v4_8_1_v20100427-1100@default:default,org.eclipse.equinox.http.jetty@default:default,org.mortbay.jetty.server@default:default,org.hamcrest.core@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.osgi.util@default:default,org.junit*3.8.2.v3_8_2_v20100427-1100@default:default,javax.servlet.jsp@default:default,org.apache.commons.el@default:default,org.eclipse.osgi@-1:true,org.apache.jasper@default:default"/>
|
<stringAttribute key="target_bundles" value="javax.servlet.jsp@default:default,javax.servlet@default:default,org.apache.ant@default:default,org.apache.commons.el@default:default,org.apache.commons.logging@default:default,org.apache.jasper@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.equinox.common@2:true,org.eclipse.equinox.http.jetty@default:default,org.eclipse.equinox.http.registry@default:default,org.eclipse.equinox.http.servlet@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.util@default:default,org.eclipse.osgi.services@default:default,org.eclipse.osgi.util@default:default,org.eclipse.osgi@-1:true,org.hamcrest.core@default:default,org.junit*3.8.2.v3_8_2_v20100427-1100@default:default,org.junit4@default:default,org.mortbay.jetty.server@default:default,org.mortbay.jetty.util@default:default"/>
|
||||||
<booleanAttribute key="tracing" value="false"/>
|
<booleanAttribute key="tracing" value="false"/>
|
||||||
<booleanAttribute key="useCustomFeatures" value="false"/>
|
<booleanAttribute key="useCustomFeatures" value="false"/>
|
||||||
<booleanAttribute key="useDefaultConfigArea" value="true"/>
|
<booleanAttribute key="useDefaultConfigArea" value="true"/>
|
||||||
<stringAttribute key="workspace_bundles" value="com.googlecode.java-diff-utils.test@default:default,com.sap.sailing.expeditionconnector.test@default:default,com.googlecode.java-diff-utils@default:default,com.mongodb.driver@default:default,com.sap.sailing.declination@default:default,com.sap.sailing.mongodb@default:default,com.sap.sailing.server@default:default,com.sap.sailing.declination.test@default:default,com.sap.sailing.domain.tractracadapter@default:default,com.sap.sailing.domain@default:default,com.sap.sailing.expeditionconnector@default:default,com.sap.sailing.domain.test@default:default,com.tractrac.resultapi@default:default,com.sap.sailing.mongodb.test@default:default,org.json.simple@default:default,com.tractrac.clientmodule@default:default"/>
|
<stringAttribute key="workspace_bundles" value="com.googlecode.java-diff-utils.test@default:default,com.googlecode.java-diff-utils@default:default,com.mongodb.driver@default:default,com.sap.sailing.declination.test@default:default,com.sap.sailing.declination@default:default,com.sap.sailing.domain.test@default:default,com.sap.sailing.domain.tractracadapter@default:default,com.sap.sailing.domain@default:default,com.sap.sailing.expeditionconnector.test@default:default,com.sap.sailing.expeditionconnector@default:default,com.sap.sailing.mongodb.test@default:default,com.sap.sailing.mongodb@default:default,com.sap.sailing.server.test@default:default,com.sap.sailing.server@default:default,com.tractrac.clientmodule@default:default,com.tractrac.resultapi@default:default,org.json.simple@default:default"/>
|
||||||
</launchConfiguration>
|
</launchConfiguration>
|
||||||
@@ -2,6 +2,7 @@ package com.sap.sailing.server;
|
|||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
import javax.servlet.ServletException;
|
import javax.servlet.ServletException;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
@@ -108,7 +109,7 @@ public class ModeratorApp extends Servlet {
|
|||||||
JSONObject jsonFix = new JSONObject();
|
JSONObject jsonFix = new JSONObject();
|
||||||
jsonFix.put("timepoint", fix.getTimePoint().asMillis());
|
jsonFix.put("timepoint", fix.getTimePoint().asMillis());
|
||||||
jsonFix.put("latdeg", fix.getPosition().getLatDeg());
|
jsonFix.put("latdeg", fix.getPosition().getLatDeg());
|
||||||
jsonFix.put("lngdev", fix.getPosition().getLngDeg());
|
jsonFix.put("lngdeg", fix.getPosition().getLngDeg());
|
||||||
jsonFix.put("truebearingdeg", fix.getSpeed().getBearing().getDegrees());
|
jsonFix.put("truebearingdeg", fix.getSpeed().getBearing().getDegrees());
|
||||||
jsonFix.put("knotspeed", fix.getSpeed().getKnots());
|
jsonFix.put("knotspeed", fix.getSpeed().getKnots());
|
||||||
jsonFixes.add(jsonFix);
|
jsonFixes.add(jsonFix);
|
||||||
@@ -232,6 +233,7 @@ public class ModeratorApp extends Servlet {
|
|||||||
jsonLeg.put("upordownwindleg", "false");
|
jsonLeg.put("upordownwindleg", "false");
|
||||||
}
|
}
|
||||||
JSONArray jsonCompetitors = new JSONArray();
|
JSONArray jsonCompetitors = new JSONArray();
|
||||||
|
Map<Competitor, Integer> ranks = leg.getRanks(timePoint);
|
||||||
for (Competitor competitor : event.getCompetitors()) {
|
for (Competitor competitor : event.getCompetitors()) {
|
||||||
JSONObject jsonCompetitorInLeg = new JSONObject();
|
JSONObject jsonCompetitorInLeg = new JSONObject();
|
||||||
TrackedLegOfCompetitor trackedLegOfCompetitor = leg.getTrackedLeg(competitor);
|
TrackedLegOfCompetitor trackedLegOfCompetitor = leg.getTrackedLeg(competitor);
|
||||||
@@ -278,7 +280,7 @@ public class ModeratorApp extends Servlet {
|
|||||||
// well, we don't know the wind direction... then no average VMG will be shown...
|
// well, we don't know the wind direction... then no average VMG will be shown...
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
jsonCompetitorInLeg.put("rank", trackedLegOfCompetitor.getRank(timePoint));
|
jsonCompetitorInLeg.put("rank", ranks.get(competitor));
|
||||||
} catch (RuntimeException re) {
|
} catch (RuntimeException re) {
|
||||||
if (re.getCause() != null && re.getCause() instanceof NoWindException) {
|
if (re.getCause() != null && re.getCause() instanceof NoWindException) {
|
||||||
// well, we don't know the wind direction, so we can't compute a ranking
|
// well, we don't know the wind direction, so we can't compute a ranking
|
||||||
@@ -362,8 +364,12 @@ public class ModeratorApp extends Servlet {
|
|||||||
JSONObject jsonRace = new JSONObject();
|
JSONObject jsonRace = new JSONObject();
|
||||||
jsonRace.put("name", race.getName());
|
jsonRace.put("name", race.getName());
|
||||||
jsonRace.put("boatclass", race.getBoatClass()==null?"":race.getBoatClass().getName());
|
jsonRace.put("boatclass", race.getBoatClass()==null?"":race.getBoatClass().getName());
|
||||||
TimePoint start = getService().getDomainFactory().getTrackedEvent(event).getTrackedRace(race).getStart();
|
TrackedRace trackedRace = getService().getDomainFactory().getOrCreateTrackedEvent(event).getTrackedRace(race);
|
||||||
|
TimePoint start = trackedRace.getStart();
|
||||||
jsonRace.put("start", start==null?Long.MAX_VALUE:start.asMillis());
|
jsonRace.put("start", start==null?Long.MAX_VALUE:start.asMillis());
|
||||||
|
if (trackedRace.getFinish() != null) {
|
||||||
|
jsonRace.put("finish", trackedRace.getFinish().asMillis());
|
||||||
|
}
|
||||||
JSONArray jsonLegs = new JSONArray();
|
JSONArray jsonLegs = new JSONArray();
|
||||||
for (Leg leg : race.getCourse().getLegs()) {
|
for (Leg leg : race.getCourse().getLegs()) {
|
||||||
JSONObject jsonLeg = new JSONObject();
|
JSONObject jsonLeg = new JSONObject();
|
||||||
@@ -371,13 +377,6 @@ public class ModeratorApp extends Servlet {
|
|||||||
jsonLeg.put("end", leg.getTo().getName());
|
jsonLeg.put("end", leg.getTo().getName());
|
||||||
jsonLegs.add(jsonLeg);
|
jsonLegs.add(jsonLeg);
|
||||||
}
|
}
|
||||||
TrackedRace trackedRace = getService().getDomainFactory().getOrCreateTrackedEvent(event).getTrackedRace(race);
|
|
||||||
if (trackedRace.getStart() != null) {
|
|
||||||
jsonRace.put("start", trackedRace.getStart().asMillis());
|
|
||||||
}
|
|
||||||
if (trackedRace.getFinish() != null) {
|
|
||||||
jsonRace.put("finish", trackedRace.getFinish().asMillis());
|
|
||||||
}
|
|
||||||
jsonRace.put("legs", jsonLegs);
|
jsonRace.put("legs", jsonLegs);
|
||||||
jsonRaces.add(jsonRace);
|
jsonRaces.add(jsonRace);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,11 @@
|
|||||||
<classpath>
|
<classpath>
|
||||||
<classpathentry exported="true" kind="lib" path="lib/TracClientLib.jar"/>
|
<classpathentry exported="true" kind="lib" path="lib/TracClientLib.jar"/>
|
||||||
<classpathentry exported="true" kind="lib" path="lib/TracClientSail.jar"/>
|
<classpathentry exported="true" kind="lib" path="lib/TracClientSail.jar"/>
|
||||||
<classpathentry exported="true" kind="lib" path="lib/TracResultAPI.jar"/>
|
<classpathentry exported="true" kind="lib" path="lib/TracResultAPI.jar">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="javadoc_location" value="file:/C:/data/SAP/sailing/workspace/java/com.tractrac.resultapi/javadoc/"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
|
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
|
||||||
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
|
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
|
||||||
<classpathentry kind="src" path="src"/>
|
<classpathentry kind="src" path="src"/>
|
||||||
|
|||||||
Regular → Executable
+2
-2
@@ -2,13 +2,13 @@
|
|||||||
<!--NewPage-->
|
<!--NewPage-->
|
||||||
<HTML>
|
<HTML>
|
||||||
<HEAD>
|
<HEAD>
|
||||||
<!-- Generated by javadoc (build 1.6.0_24) on Thu Jun 02 10:36:51 CEST 2011 -->
|
<!-- Generated by javadoc (build 1.6.0_24) on Wed Jun 15 11:41:57 CEST 2011 -->
|
||||||
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
<TITLE>
|
<TITLE>
|
||||||
All Classes (TracTrac Result API)
|
All Classes (TracTrac Result API)
|
||||||
</TITLE>
|
</TITLE>
|
||||||
|
|
||||||
<META NAME="date" CONTENT="2011-06-02">
|
<META NAME="date" CONTENT="2011-06-15">
|
||||||
|
|
||||||
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
|
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
|
||||||
|
|
||||||
|
|||||||
Regular → Executable
+2
-2
@@ -2,13 +2,13 @@
|
|||||||
<!--NewPage-->
|
<!--NewPage-->
|
||||||
<HTML>
|
<HTML>
|
||||||
<HEAD>
|
<HEAD>
|
||||||
<!-- Generated by javadoc (build 1.6.0_24) on Thu Jun 02 10:36:51 CEST 2011 -->
|
<!-- Generated by javadoc (build 1.6.0_24) on Wed Jun 15 11:41:57 CEST 2011 -->
|
||||||
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
<TITLE>
|
<TITLE>
|
||||||
All Classes (TracTrac Result API)
|
All Classes (TracTrac Result API)
|
||||||
</TITLE>
|
</TITLE>
|
||||||
|
|
||||||
<META NAME="date" CONTENT="2011-06-02">
|
<META NAME="date" CONTENT="2011-06-15">
|
||||||
|
|
||||||
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
|
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
|
||||||
|
|
||||||
|
|||||||
Regular → Executable
+2
-2
@@ -2,13 +2,13 @@
|
|||||||
<!--NewPage-->
|
<!--NewPage-->
|
||||||
<HTML>
|
<HTML>
|
||||||
<HEAD>
|
<HEAD>
|
||||||
<!-- Generated by javadoc (build 1.6.0_24) on Thu Jun 02 10:36:51 CEST 2011 -->
|
<!-- Generated by javadoc (build 1.6.0_24) on Wed Jun 15 11:41:57 CEST 2011 -->
|
||||||
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
<TITLE>
|
<TITLE>
|
||||||
LiveResult (TracTrac Result API)
|
LiveResult (TracTrac Result API)
|
||||||
</TITLE>
|
</TITLE>
|
||||||
|
|
||||||
<META NAME="date" CONTENT="2011-06-02">
|
<META NAME="date" CONTENT="2011-06-15">
|
||||||
|
|
||||||
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
|
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
|
||||||
|
|
||||||
|
|||||||
Regular → Executable
+88
-2
@@ -2,13 +2,13 @@
|
|||||||
<!--NewPage-->
|
<!--NewPage-->
|
||||||
<HTML>
|
<HTML>
|
||||||
<HEAD>
|
<HEAD>
|
||||||
<!-- Generated by javadoc (build 1.6.0_24) on Thu Jun 02 10:36:51 CEST 2011 -->
|
<!-- Generated by javadoc (build 1.6.0_24) on Wed Jun 15 11:41:57 CEST 2011 -->
|
||||||
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
<TITLE>
|
<TITLE>
|
||||||
LiveResultItem (TracTrac Result API)
|
LiveResultItem (TracTrac Result API)
|
||||||
</TITLE>
|
</TITLE>
|
||||||
|
|
||||||
<META NAME="date" CONTENT="2011-06-02">
|
<META NAME="date" CONTENT="2011-06-15">
|
||||||
|
|
||||||
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
|
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
|
||||||
|
|
||||||
@@ -264,6 +264,22 @@ Class representing a competitor at any given point in time, including informatio
|
|||||||
</TR>
|
</TR>
|
||||||
<TR BGCOLOR="white" CLASS="TableRowColor">
|
<TR BGCOLOR="white" CLASS="TableRowColor">
|
||||||
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
|
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
|
||||||
|
<CODE> double</CODE></FONT></TD>
|
||||||
|
<TD><CODE><B><A HREF="../../../com/tractrac/ResultAPI/LiveResultItem.html#getVmg()">getVmg</A></B>()</CODE>
|
||||||
|
|
||||||
|
<BR>
|
||||||
|
Get VMG in knots measured at a point</TD>
|
||||||
|
</TR>
|
||||||
|
<TR BGCOLOR="white" CLASS="TableRowColor">
|
||||||
|
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
|
||||||
|
<CODE> double</CODE></FONT></TD>
|
||||||
|
<TD><CODE><B><A HREF="../../../com/tractrac/ResultAPI/LiveResultItem.html#getVmgAverage30s()">getVmgAverage30s</A></B>()</CODE>
|
||||||
|
|
||||||
|
<BR>
|
||||||
|
Get the in knots VMG averaged over 30 seconds</TD>
|
||||||
|
</TR>
|
||||||
|
<TR BGCOLOR="white" CLASS="TableRowColor">
|
||||||
|
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
|
||||||
<CODE> boolean</CODE></FONT></TD>
|
<CODE> boolean</CODE></FONT></TD>
|
||||||
<TD><CODE><B><A HREF="../../../com/tractrac/ResultAPI/LiveResultItem.html#isHasFinished()">isHasFinished</A></B>()</CODE>
|
<TD><CODE><B><A HREF="../../../com/tractrac/ResultAPI/LiveResultItem.html#isHasFinished()">isHasFinished</A></B>()</CODE>
|
||||||
|
|
||||||
@@ -399,6 +415,22 @@ Class representing a competitor at any given point in time, including informatio
|
|||||||
<BR>
|
<BR>
|
||||||
Set the UUID of the competitor</TD>
|
Set the UUID of the competitor</TD>
|
||||||
</TR>
|
</TR>
|
||||||
|
<TR BGCOLOR="white" CLASS="TableRowColor">
|
||||||
|
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
|
||||||
|
<CODE> void</CODE></FONT></TD>
|
||||||
|
<TD><CODE><B><A HREF="../../../com/tractrac/ResultAPI/LiveResultItem.html#setVmg(double)">setVmg</A></B>(double vmg)</CODE>
|
||||||
|
|
||||||
|
<BR>
|
||||||
|
Set VMG in knots measured at a point</TD>
|
||||||
|
</TR>
|
||||||
|
<TR BGCOLOR="white" CLASS="TableRowColor">
|
||||||
|
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
|
||||||
|
<CODE> void</CODE></FONT></TD>
|
||||||
|
<TD><CODE><B><A HREF="../../../com/tractrac/ResultAPI/LiveResultItem.html#setVmgAverage30s(double)">setVmgAverage30s</A></B>(double vmgAverage30s)</CODE>
|
||||||
|
|
||||||
|
<BR>
|
||||||
|
Set the VMG in knots averaged over 30 seconds</TD>
|
||||||
|
</TR>
|
||||||
</TABLE>
|
</TABLE>
|
||||||
<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
|
<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
|
||||||
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
|
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
|
||||||
@@ -883,6 +915,60 @@ public void <B>setLongitude</B>(double longitude)</PRE>
|
|||||||
<DT><B>Parameters:</B><DD><CODE>longitude</CODE> - set the longitude of the competitor in (degrees).(decimal degrees)</DL>
|
<DT><B>Parameters:</B><DD><CODE>longitude</CODE> - set the longitude of the competitor in (degrees).(decimal degrees)</DL>
|
||||||
</DD>
|
</DD>
|
||||||
</DL>
|
</DL>
|
||||||
|
<HR>
|
||||||
|
|
||||||
|
<A NAME="getVmg()"><!-- --></A><H3>
|
||||||
|
getVmg</H3>
|
||||||
|
<PRE>
|
||||||
|
public double <B>getVmg</B>()</PRE>
|
||||||
|
<DL>
|
||||||
|
<DD>Get VMG in knots measured at a point
|
||||||
|
<P>
|
||||||
|
<DD><DL>
|
||||||
|
|
||||||
|
<DT><B>Returns:</B><DD>the vmg</DL>
|
||||||
|
</DD>
|
||||||
|
</DL>
|
||||||
|
<HR>
|
||||||
|
|
||||||
|
<A NAME="setVmg(double)"><!-- --></A><H3>
|
||||||
|
setVmg</H3>
|
||||||
|
<PRE>
|
||||||
|
public void <B>setVmg</B>(double vmg)</PRE>
|
||||||
|
<DL>
|
||||||
|
<DD>Set VMG in knots measured at a point
|
||||||
|
<P>
|
||||||
|
<DD><DL>
|
||||||
|
<DT><B>Parameters:</B><DD><CODE>vmg</CODE> - the vmg to set</DL>
|
||||||
|
</DD>
|
||||||
|
</DL>
|
||||||
|
<HR>
|
||||||
|
|
||||||
|
<A NAME="getVmgAverage30s()"><!-- --></A><H3>
|
||||||
|
getVmgAverage30s</H3>
|
||||||
|
<PRE>
|
||||||
|
public double <B>getVmgAverage30s</B>()</PRE>
|
||||||
|
<DL>
|
||||||
|
<DD>Get the in knots VMG averaged over 30 seconds
|
||||||
|
<P>
|
||||||
|
<DD><DL>
|
||||||
|
|
||||||
|
<DT><B>Returns:</B><DD>the vmgAverage30s</DL>
|
||||||
|
</DD>
|
||||||
|
</DL>
|
||||||
|
<HR>
|
||||||
|
|
||||||
|
<A NAME="setVmgAverage30s(double)"><!-- --></A><H3>
|
||||||
|
setVmgAverage30s</H3>
|
||||||
|
<PRE>
|
||||||
|
public void <B>setVmgAverage30s</B>(double vmgAverage30s)</PRE>
|
||||||
|
<DL>
|
||||||
|
<DD>Set the VMG in knots averaged over 30 seconds
|
||||||
|
<P>
|
||||||
|
<DD><DL>
|
||||||
|
<DT><B>Parameters:</B><DD><CODE>vmgAverage30s</CODE> - the vmgAverage30s to set</DL>
|
||||||
|
</DD>
|
||||||
|
</DL>
|
||||||
<!-- ========= END OF CLASS DATA ========= -->
|
<!-- ========= END OF CLASS DATA ========= -->
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
|
|||||||
Regular → Executable
+132
-10
@@ -2,13 +2,13 @@
|
|||||||
<!--NewPage-->
|
<!--NewPage-->
|
||||||
<HTML>
|
<HTML>
|
||||||
<HEAD>
|
<HEAD>
|
||||||
<!-- Generated by javadoc (build 1.6.0_24) on Thu Jun 02 10:36:51 CEST 2011 -->
|
<!-- Generated by javadoc (build 1.6.0_24) on Wed Jun 15 11:41:57 CEST 2011 -->
|
||||||
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
<TITLE>
|
<TITLE>
|
||||||
MarkResult (TracTrac Result API)
|
MarkResult (TracTrac Result API)
|
||||||
</TITLE>
|
</TITLE>
|
||||||
|
|
||||||
<META NAME="date" CONTENT="2011-06-02">
|
<META NAME="date" CONTENT="2011-06-15">
|
||||||
|
|
||||||
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
|
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
|
||||||
|
|
||||||
@@ -76,9 +76,9 @@ function windowTitle()
|
|||||||
</TR>
|
</TR>
|
||||||
<TR>
|
<TR>
|
||||||
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
|
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
|
||||||
SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
|
SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
|
||||||
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
|
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
|
||||||
DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
|
DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
|
||||||
</TR>
|
</TR>
|
||||||
</TABLE>
|
</TABLE>
|
||||||
<A NAME="skip-navbar_top"></A>
|
<A NAME="skip-navbar_top"></A>
|
||||||
@@ -108,7 +108,48 @@ The resultlist for a specific mark for a specific class.
|
|||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
|
<!-- =========== FIELD SUMMARY =========== -->
|
||||||
|
|
||||||
|
<A NAME="field_summary"><!-- --></A>
|
||||||
|
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
|
||||||
|
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
|
||||||
|
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
|
||||||
|
<B>Field Summary</B></FONT></TH>
|
||||||
|
</TR>
|
||||||
|
<TR BGCOLOR="white" CLASS="TableRowColor">
|
||||||
|
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
|
||||||
|
<CODE>static int</CODE></FONT></TD>
|
||||||
|
<TD><CODE><B><A HREF="../../../com/tractrac/ResultAPI/MarkResult.html#LEGTYPE_DOWNWIND">LEGTYPE_DOWNWIND</A></B></CODE>
|
||||||
|
|
||||||
|
<BR>
|
||||||
|
</TD>
|
||||||
|
</TR>
|
||||||
|
<TR BGCOLOR="white" CLASS="TableRowColor">
|
||||||
|
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
|
||||||
|
<CODE>static int</CODE></FONT></TD>
|
||||||
|
<TD><CODE><B><A HREF="../../../com/tractrac/ResultAPI/MarkResult.html#LEGTYPE_REACHING">LEGTYPE_REACHING</A></B></CODE>
|
||||||
|
|
||||||
|
<BR>
|
||||||
|
</TD>
|
||||||
|
</TR>
|
||||||
|
<TR BGCOLOR="white" CLASS="TableRowColor">
|
||||||
|
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
|
||||||
|
<CODE>static int</CODE></FONT></TD>
|
||||||
|
<TD><CODE><B><A HREF="../../../com/tractrac/ResultAPI/MarkResult.html#LEGTYPE_UNKNOWN">LEGTYPE_UNKNOWN</A></B></CODE>
|
||||||
|
|
||||||
|
<BR>
|
||||||
|
</TD>
|
||||||
|
</TR>
|
||||||
|
<TR BGCOLOR="white" CLASS="TableRowColor">
|
||||||
|
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
|
||||||
|
<CODE>static int</CODE></FONT></TD>
|
||||||
|
<TD><CODE><B><A HREF="../../../com/tractrac/ResultAPI/MarkResult.html#LEGTYPE_UPWIND">LEGTYPE_UPWIND</A></B></CODE>
|
||||||
|
|
||||||
|
<BR>
|
||||||
|
</TD>
|
||||||
|
</TR>
|
||||||
|
</TABLE>
|
||||||
|
|
||||||
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
|
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
|
||||||
|
|
||||||
<A NAME="constructor_summary"><!-- --></A>
|
<A NAME="constructor_summary"><!-- --></A>
|
||||||
@@ -118,10 +159,11 @@ The resultlist for a specific mark for a specific class.
|
|||||||
<B>Constructor Summary</B></FONT></TH>
|
<B>Constructor Summary</B></FONT></TH>
|
||||||
</TR>
|
</TR>
|
||||||
<TR BGCOLOR="white" CLASS="TableRowColor">
|
<TR BGCOLOR="white" CLASS="TableRowColor">
|
||||||
<TD><CODE><B><A HREF="../../../com/tractrac/ResultAPI/MarkResult.html#MarkResult(java.util.List, com.maptrack.client.data.EventClass, com.tractrac.ResultAPI.MarkResult, com.maptrack.client.data.ControlPoint)">MarkResult</A></B>(java.util.List<com.maptrack.client.data.CompetitorMarkPassInfo> markPassInfo,
|
<TD><CODE><B><A HREF="../../../com/tractrac/ResultAPI/MarkResult.html#MarkResult(java.util.List, com.maptrack.client.data.EventClass, com.tractrac.ResultAPI.MarkResult, com.maptrack.client.data.ControlPoint, double)">MarkResult</A></B>(java.util.List<com.maptrack.client.data.CompetitorMarkPassInfo> markPassInfo,
|
||||||
com.maptrack.client.data.EventClass eventClass,
|
com.maptrack.client.data.EventClass eventClass,
|
||||||
<A HREF="../../../com/tractrac/ResultAPI/MarkResult.html" title="class in com.tractrac.ResultAPI">MarkResult</A> previousMark,
|
<A HREF="../../../com/tractrac/ResultAPI/MarkResult.html" title="class in com.tractrac.ResultAPI">MarkResult</A> previousMark,
|
||||||
com.maptrack.client.data.ControlPoint cp)</CODE>
|
com.maptrack.client.data.ControlPoint cp,
|
||||||
|
double legDirection)</CODE>
|
||||||
|
|
||||||
<BR>
|
<BR>
|
||||||
Constructor for the MarkResult.</TD>
|
Constructor for the MarkResult.</TD>
|
||||||
@@ -162,6 +204,14 @@ The resultlist for a specific mark for a specific class.
|
|||||||
</TR>
|
</TR>
|
||||||
<TR BGCOLOR="white" CLASS="TableRowColor">
|
<TR BGCOLOR="white" CLASS="TableRowColor">
|
||||||
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
|
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
|
||||||
|
<CODE> int</CODE></FONT></TD>
|
||||||
|
<TD><CODE><B><A HREF="../../../com/tractrac/ResultAPI/MarkResult.html#getLegType()">getLegType</A></B>()</CODE>
|
||||||
|
|
||||||
|
<BR>
|
||||||
|
Get the type of leg: LEGTYPE_UPWIND, LEGTYPE_DOWNWIND, LEGTYPE_REACHING or LEGTYPE_UNKNOWN.</TD>
|
||||||
|
</TR>
|
||||||
|
<TR BGCOLOR="white" CLASS="TableRowColor">
|
||||||
|
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
|
||||||
<CODE> java.lang.String</CODE></FONT></TD>
|
<CODE> java.lang.String</CODE></FONT></TD>
|
||||||
<TD><CODE><B><A HREF="../../../com/tractrac/ResultAPI/MarkResult.html#getMarkName()">getMarkName</A></B>()</CODE>
|
<TD><CODE><B><A HREF="../../../com/tractrac/ResultAPI/MarkResult.html#getMarkName()">getMarkName</A></B>()</CODE>
|
||||||
|
|
||||||
@@ -205,6 +255,55 @@ The resultlist for a specific mark for a specific class.
|
|||||||
|
|
||||||
<P>
|
<P>
|
||||||
|
|
||||||
|
<!-- ============ FIELD DETAIL =========== -->
|
||||||
|
|
||||||
|
<A NAME="field_detail"><!-- --></A>
|
||||||
|
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
|
||||||
|
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
|
||||||
|
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
|
||||||
|
<B>Field Detail</B></FONT></TH>
|
||||||
|
</TR>
|
||||||
|
</TABLE>
|
||||||
|
|
||||||
|
<A NAME="LEGTYPE_UNKNOWN"><!-- --></A><H3>
|
||||||
|
LEGTYPE_UNKNOWN</H3>
|
||||||
|
<PRE>
|
||||||
|
public static final int <B>LEGTYPE_UNKNOWN</B></PRE>
|
||||||
|
<DL>
|
||||||
|
<DL>
|
||||||
|
<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#com.tractrac.ResultAPI.MarkResult.LEGTYPE_UNKNOWN">Constant Field Values</A></DL>
|
||||||
|
</DL>
|
||||||
|
<HR>
|
||||||
|
|
||||||
|
<A NAME="LEGTYPE_UPWIND"><!-- --></A><H3>
|
||||||
|
LEGTYPE_UPWIND</H3>
|
||||||
|
<PRE>
|
||||||
|
public static final int <B>LEGTYPE_UPWIND</B></PRE>
|
||||||
|
<DL>
|
||||||
|
<DL>
|
||||||
|
<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#com.tractrac.ResultAPI.MarkResult.LEGTYPE_UPWIND">Constant Field Values</A></DL>
|
||||||
|
</DL>
|
||||||
|
<HR>
|
||||||
|
|
||||||
|
<A NAME="LEGTYPE_DOWNWIND"><!-- --></A><H3>
|
||||||
|
LEGTYPE_DOWNWIND</H3>
|
||||||
|
<PRE>
|
||||||
|
public static final int <B>LEGTYPE_DOWNWIND</B></PRE>
|
||||||
|
<DL>
|
||||||
|
<DL>
|
||||||
|
<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#com.tractrac.ResultAPI.MarkResult.LEGTYPE_DOWNWIND">Constant Field Values</A></DL>
|
||||||
|
</DL>
|
||||||
|
<HR>
|
||||||
|
|
||||||
|
<A NAME="LEGTYPE_REACHING"><!-- --></A><H3>
|
||||||
|
LEGTYPE_REACHING</H3>
|
||||||
|
<PRE>
|
||||||
|
public static final int <B>LEGTYPE_REACHING</B></PRE>
|
||||||
|
<DL>
|
||||||
|
<DL>
|
||||||
|
<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#com.tractrac.ResultAPI.MarkResult.LEGTYPE_REACHING">Constant Field Values</A></DL>
|
||||||
|
</DL>
|
||||||
|
|
||||||
<!-- ========= CONSTRUCTOR DETAIL ======== -->
|
<!-- ========= CONSTRUCTOR DETAIL ======== -->
|
||||||
|
|
||||||
<A NAME="constructor_detail"><!-- --></A>
|
<A NAME="constructor_detail"><!-- --></A>
|
||||||
@@ -215,13 +314,14 @@ The resultlist for a specific mark for a specific class.
|
|||||||
</TR>
|
</TR>
|
||||||
</TABLE>
|
</TABLE>
|
||||||
|
|
||||||
<A NAME="MarkResult(java.util.List, com.maptrack.client.data.EventClass, com.tractrac.ResultAPI.MarkResult, com.maptrack.client.data.ControlPoint)"><!-- --></A><H3>
|
<A NAME="MarkResult(java.util.List, com.maptrack.client.data.EventClass, com.tractrac.ResultAPI.MarkResult, com.maptrack.client.data.ControlPoint, double)"><!-- --></A><H3>
|
||||||
MarkResult</H3>
|
MarkResult</H3>
|
||||||
<PRE>
|
<PRE>
|
||||||
public <B>MarkResult</B>(java.util.List<com.maptrack.client.data.CompetitorMarkPassInfo> markPassInfo,
|
public <B>MarkResult</B>(java.util.List<com.maptrack.client.data.CompetitorMarkPassInfo> markPassInfo,
|
||||||
com.maptrack.client.data.EventClass eventClass,
|
com.maptrack.client.data.EventClass eventClass,
|
||||||
<A HREF="../../../com/tractrac/ResultAPI/MarkResult.html" title="class in com.tractrac.ResultAPI">MarkResult</A> previousMark,
|
<A HREF="../../../com/tractrac/ResultAPI/MarkResult.html" title="class in com.tractrac.ResultAPI">MarkResult</A> previousMark,
|
||||||
com.maptrack.client.data.ControlPoint cp)</PRE>
|
com.maptrack.client.data.ControlPoint cp,
|
||||||
|
double legDirection)</PRE>
|
||||||
<DL>
|
<DL>
|
||||||
<DD>Constructor for the MarkResult.
|
<DD>Constructor for the MarkResult.
|
||||||
<br><br><b>NOTE: Constructor is normally not used by API customers.</b>
|
<br><br><b>NOTE: Constructor is normally not used by API customers.</b>
|
||||||
@@ -336,6 +436,28 @@ public java.lang.String <B>getMarkShortName</B>()</PRE>
|
|||||||
<DT><B>Returns:</B><DD>the short name of the mark the list is generated for</DL>
|
<DT><B>Returns:</B><DD>the short name of the mark the list is generated for</DL>
|
||||||
</DD>
|
</DD>
|
||||||
</DL>
|
</DL>
|
||||||
|
<HR>
|
||||||
|
|
||||||
|
<A NAME="getLegType()"><!-- --></A><H3>
|
||||||
|
getLegType</H3>
|
||||||
|
<PRE>
|
||||||
|
public int <B>getLegType</B>()</PRE>
|
||||||
|
<DL>
|
||||||
|
<DD>Get the type of leg: LEGTYPE_UPWIND, LEGTYPE_DOWNWIND, LEGTYPE_REACHING or LEGTYPE_UNKNOWN.
|
||||||
|
<p>
|
||||||
|
Note that legtype isn't entered as part of the course defination, but calculated using the following logic:
|
||||||
|
<ul>
|
||||||
|
<li>First leg is considered an upwind leg</li>
|
||||||
|
<li>Leg +/- 22.5 degrees compared to first leg are also considered upwind</li>
|
||||||
|
<li>Legs 180 +/- 22.5 degress compared to the first leg are considered downwind</li>
|
||||||
|
<li>All other legs are considered reaching</li>
|
||||||
|
</p>
|
||||||
|
<P>
|
||||||
|
<DD><DL>
|
||||||
|
|
||||||
|
<DT><B>Returns:</B><DD>the legType as an int</DL>
|
||||||
|
</DD>
|
||||||
|
</DL>
|
||||||
<!-- ========= END OF CLASS DATA ========= -->
|
<!-- ========= END OF CLASS DATA ========= -->
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
@@ -387,9 +509,9 @@ public java.lang.String <B>getMarkShortName</B>()</PRE>
|
|||||||
</TR>
|
</TR>
|
||||||
<TR>
|
<TR>
|
||||||
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
|
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
|
||||||
SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
|
SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
|
||||||
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
|
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
|
||||||
DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
|
DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
|
||||||
</TR>
|
</TR>
|
||||||
</TABLE>
|
</TABLE>
|
||||||
<A NAME="skip-navbar_bottom"></A>
|
<A NAME="skip-navbar_bottom"></A>
|
||||||
|
|||||||
Regular → Executable
+5
-5
@@ -2,13 +2,13 @@
|
|||||||
<!--NewPage-->
|
<!--NewPage-->
|
||||||
<HTML>
|
<HTML>
|
||||||
<HEAD>
|
<HEAD>
|
||||||
<!-- Generated by javadoc (build 1.6.0_24) on Thu Jun 02 10:36:51 CEST 2011 -->
|
<!-- Generated by javadoc (build 1.6.0_24) on Wed Jun 15 11:41:57 CEST 2011 -->
|
||||||
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
<TITLE>
|
<TITLE>
|
||||||
MarkResultItem (TracTrac Result API)
|
MarkResultItem (TracTrac Result API)
|
||||||
</TITLE>
|
</TITLE>
|
||||||
|
|
||||||
<META NAME="date" CONTENT="2011-06-02">
|
<META NAME="date" CONTENT="2011-06-15">
|
||||||
|
|
||||||
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
|
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
|
||||||
|
|
||||||
@@ -720,7 +720,7 @@ public double <B>getSOG</B>()</PRE>
|
|||||||
<P>
|
<P>
|
||||||
<DD><DL>
|
<DD><DL>
|
||||||
|
|
||||||
<DT><B>Returns:</B><DD>the speed over ground (SOG) as measured by distance / time. NaN is returned for the start mark.</DL>
|
<DT><B>Returns:</B><DD>the speed over ground (SOG) in knots as measured by distance / time. NaN is returned for the start mark.</DL>
|
||||||
</DD>
|
</DD>
|
||||||
</DL>
|
</DL>
|
||||||
<HR>
|
<HR>
|
||||||
@@ -747,7 +747,7 @@ public double <B>getVMG</B>()</PRE>
|
|||||||
<P>
|
<P>
|
||||||
<DD><DL>
|
<DD><DL>
|
||||||
|
|
||||||
<DT><B>Returns:</B><DD>the VMG (velocity made good) measured as distance between marks / time used on leg. NaN is returned for the start mark.</DL>
|
<DT><B>Returns:</B><DD>the VMG (velocity made good) in knots measured as distance between marks / time used on leg. NaN is returned for the start mark.</DL>
|
||||||
</DD>
|
</DD>
|
||||||
</DL>
|
</DL>
|
||||||
<HR>
|
<HR>
|
||||||
@@ -774,7 +774,7 @@ public double <B>getTopspeed</B>()</PRE>
|
|||||||
<P>
|
<P>
|
||||||
<DD><DL>
|
<DD><DL>
|
||||||
|
|
||||||
<DT><B>Returns:</B><DD>the topspeed measured over 10 seconds. NaN is returned for the start mark.</DL>
|
<DT><B>Returns:</B><DD>the topspeed measured over 10 seconds in km/h. NaN is returned for the start mark.</DL>
|
||||||
</DD>
|
</DD>
|
||||||
</DL>
|
</DL>
|
||||||
<HR>
|
<HR>
|
||||||
|
|||||||
Regular → Executable
+8
-6
@@ -2,13 +2,13 @@
|
|||||||
<!--NewPage-->
|
<!--NewPage-->
|
||||||
<HTML>
|
<HTML>
|
||||||
<HEAD>
|
<HEAD>
|
||||||
<!-- Generated by javadoc (build 1.6.0_24) on Thu Jun 02 10:36:51 CEST 2011 -->
|
<!-- Generated by javadoc (build 1.6.0_24) on Wed Jun 15 11:41:57 CEST 2011 -->
|
||||||
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
<TITLE>
|
<TITLE>
|
||||||
PerLegResult (TracTrac Result API)
|
PerLegResult (TracTrac Result API)
|
||||||
</TITLE>
|
</TITLE>
|
||||||
|
|
||||||
<META NAME="date" CONTENT="2011-06-02">
|
<META NAME="date" CONTENT="2011-06-15">
|
||||||
|
|
||||||
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
|
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
|
||||||
|
|
||||||
@@ -118,9 +118,10 @@ A result for one class for all marks
|
|||||||
<B>Constructor Summary</B></FONT></TH>
|
<B>Constructor Summary</B></FONT></TH>
|
||||||
</TR>
|
</TR>
|
||||||
<TR BGCOLOR="white" CLASS="TableRowColor">
|
<TR BGCOLOR="white" CLASS="TableRowColor">
|
||||||
<TD><CODE><B><A HREF="../../../com/tractrac/ResultAPI/PerLegResult.html#PerLegResult(com.maptrack.client.gui.IProgressDataGetter, com.maptrack.client.data.ClientEventRaceData, com.maptrack.client.data.EventClass)">PerLegResult</A></B>(com.maptrack.client.gui.IProgressDataGetter pdg,
|
<TD><CODE><B><A HREF="../../../com/tractrac/ResultAPI/PerLegResult.html#PerLegResult(com.maptrack.client.gui.IProgressDataGetter, com.maptrack.client.data.ClientEventRaceData, com.maptrack.client.data.EventClass, com.maptrack.clientsail.data.BoatRaceData)">PerLegResult</A></B>(com.maptrack.client.gui.IProgressDataGetter pdg,
|
||||||
com.maptrack.client.data.ClientEventRaceData erd,
|
com.maptrack.client.data.ClientEventRaceData erd,
|
||||||
com.maptrack.client.data.EventClass eventClass)</CODE>
|
com.maptrack.client.data.EventClass eventClass,
|
||||||
|
com.maptrack.clientsail.data.BoatRaceData brd)</CODE>
|
||||||
|
|
||||||
<BR>
|
<BR>
|
||||||
The constructer for the PerLegResult.</TD>
|
The constructer for the PerLegResult.</TD>
|
||||||
@@ -198,12 +199,13 @@ A result for one class for all marks
|
|||||||
</TR>
|
</TR>
|
||||||
</TABLE>
|
</TABLE>
|
||||||
|
|
||||||
<A NAME="PerLegResult(com.maptrack.client.gui.IProgressDataGetter, com.maptrack.client.data.ClientEventRaceData, com.maptrack.client.data.EventClass)"><!-- --></A><H3>
|
<A NAME="PerLegResult(com.maptrack.client.gui.IProgressDataGetter, com.maptrack.client.data.ClientEventRaceData, com.maptrack.client.data.EventClass, com.maptrack.clientsail.data.BoatRaceData)"><!-- --></A><H3>
|
||||||
PerLegResult</H3>
|
PerLegResult</H3>
|
||||||
<PRE>
|
<PRE>
|
||||||
public <B>PerLegResult</B>(com.maptrack.client.gui.IProgressDataGetter pdg,
|
public <B>PerLegResult</B>(com.maptrack.client.gui.IProgressDataGetter pdg,
|
||||||
com.maptrack.client.data.ClientEventRaceData erd,
|
com.maptrack.client.data.ClientEventRaceData erd,
|
||||||
com.maptrack.client.data.EventClass eventClass)</PRE>
|
com.maptrack.client.data.EventClass eventClass,
|
||||||
|
com.maptrack.clientsail.data.BoatRaceData brd)</PRE>
|
||||||
<DL>
|
<DL>
|
||||||
<DD>The constructer for the PerLegResult.
|
<DD>The constructer for the PerLegResult.
|
||||||
<br><b>Note: Normally not called by API users</b>
|
<br><b>Note: Normally not called by API users</b>
|
||||||
|
|||||||
Regular → Executable
+3
-3
@@ -2,13 +2,13 @@
|
|||||||
<!--NewPage-->
|
<!--NewPage-->
|
||||||
<HTML>
|
<HTML>
|
||||||
<HEAD>
|
<HEAD>
|
||||||
<!-- Generated by javadoc (build 1.6.0_24) on Thu Jun 02 10:36:51 CEST 2011 -->
|
<!-- Generated by javadoc (build 1.6.0_24) on Wed Jun 15 11:41:57 CEST 2011 -->
|
||||||
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
<TITLE>
|
<TITLE>
|
||||||
ResultGenerator (TracTrac Result API)
|
ResultGenerator (TracTrac Result API)
|
||||||
</TITLE>
|
</TITLE>
|
||||||
|
|
||||||
<META NAME="date" CONTENT="2011-06-02">
|
<META NAME="date" CONTENT="2011-06-15">
|
||||||
|
|
||||||
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
|
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
|
||||||
|
|
||||||
@@ -286,7 +286,7 @@ public void <B>recalcuateWithWind</B>(long timems,
|
|||||||
</ul>
|
</ul>
|
||||||
<P>
|
<P>
|
||||||
<DD><DL>
|
<DD><DL>
|
||||||
<DT><B>Parameters:</B><DD><CODE>timems</CODE> - Time in milliseconds to calculate results for<DD><CODE>windDirectionDegrees</CODE> - The wind direction in degrees from 0 to 359</DL>
|
<DT><B>Parameters:</B><DD><CODE>timems</CODE> - Time in milliseconds to calculate results for<DD><CODE>windDirectionDegrees</CODE> - The wind direction (where the wind is coming from) in degrees from 0 to 359.</DL>
|
||||||
</DD>
|
</DD>
|
||||||
</DL>
|
</DL>
|
||||||
<!-- ========= END OF CLASS DATA ========= -->
|
<!-- ========= END OF CLASS DATA ========= -->
|
||||||
|
|||||||
Regular → Executable
+2
-2
@@ -2,13 +2,13 @@
|
|||||||
<!--NewPage-->
|
<!--NewPage-->
|
||||||
<HTML>
|
<HTML>
|
||||||
<HEAD>
|
<HEAD>
|
||||||
<!-- Generated by javadoc (build 1.6.0_24) on Thu Jun 02 10:36:51 CEST 2011 -->
|
<!-- Generated by javadoc (build 1.6.0_24) on Wed Jun 15 11:41:57 CEST 2011 -->
|
||||||
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
<TITLE>
|
<TITLE>
|
||||||
Uses of Class com.tractrac.ResultAPI.LiveResult (TracTrac Result API)
|
Uses of Class com.tractrac.ResultAPI.LiveResult (TracTrac Result API)
|
||||||
</TITLE>
|
</TITLE>
|
||||||
|
|
||||||
<META NAME="date" CONTENT="2011-06-02">
|
<META NAME="date" CONTENT="2011-06-15">
|
||||||
|
|
||||||
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
|
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
|
||||||
|
|
||||||
|
|||||||
Regular → Executable
+2
-2
@@ -2,13 +2,13 @@
|
|||||||
<!--NewPage-->
|
<!--NewPage-->
|
||||||
<HTML>
|
<HTML>
|
||||||
<HEAD>
|
<HEAD>
|
||||||
<!-- Generated by javadoc (build 1.6.0_24) on Thu Jun 02 10:36:51 CEST 2011 -->
|
<!-- Generated by javadoc (build 1.6.0_24) on Wed Jun 15 11:41:57 CEST 2011 -->
|
||||||
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
<TITLE>
|
<TITLE>
|
||||||
Uses of Class com.tractrac.ResultAPI.LiveResultItem (TracTrac Result API)
|
Uses of Class com.tractrac.ResultAPI.LiveResultItem (TracTrac Result API)
|
||||||
</TITLE>
|
</TITLE>
|
||||||
|
|
||||||
<META NAME="date" CONTENT="2011-06-02">
|
<META NAME="date" CONTENT="2011-06-15">
|
||||||
|
|
||||||
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
|
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
|
||||||
|
|
||||||
|
|||||||
Regular → Executable
+5
-4
@@ -2,13 +2,13 @@
|
|||||||
<!--NewPage-->
|
<!--NewPage-->
|
||||||
<HTML>
|
<HTML>
|
||||||
<HEAD>
|
<HEAD>
|
||||||
<!-- Generated by javadoc (build 1.6.0_24) on Thu Jun 02 10:36:51 CEST 2011 -->
|
<!-- Generated by javadoc (build 1.6.0_24) on Wed Jun 15 11:41:57 CEST 2011 -->
|
||||||
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
<TITLE>
|
<TITLE>
|
||||||
Uses of Class com.tractrac.ResultAPI.MarkResult (TracTrac Result API)
|
Uses of Class com.tractrac.ResultAPI.MarkResult (TracTrac Result API)
|
||||||
</TITLE>
|
</TITLE>
|
||||||
|
|
||||||
<META NAME="date" CONTENT="2011-06-02">
|
<META NAME="date" CONTENT="2011-06-15">
|
||||||
|
|
||||||
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
|
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
|
||||||
|
|
||||||
@@ -130,10 +130,11 @@ Uses of <A HREF="../../../../com/tractrac/ResultAPI/MarkResult.html" title="clas
|
|||||||
<TH ALIGN="left" COLSPAN="2">Constructors in <A HREF="../../../../com/tractrac/ResultAPI/package-summary.html">com.tractrac.ResultAPI</A> with parameters of type <A HREF="../../../../com/tractrac/ResultAPI/MarkResult.html" title="class in com.tractrac.ResultAPI">MarkResult</A></FONT></TH>
|
<TH ALIGN="left" COLSPAN="2">Constructors in <A HREF="../../../../com/tractrac/ResultAPI/package-summary.html">com.tractrac.ResultAPI</A> with parameters of type <A HREF="../../../../com/tractrac/ResultAPI/MarkResult.html" title="class in com.tractrac.ResultAPI">MarkResult</A></FONT></TH>
|
||||||
</TR>
|
</TR>
|
||||||
<TR BGCOLOR="white" CLASS="TableRowColor">
|
<TR BGCOLOR="white" CLASS="TableRowColor">
|
||||||
<TD><CODE><B><A HREF="../../../../com/tractrac/ResultAPI/MarkResult.html#MarkResult(java.util.List, com.maptrack.client.data.EventClass, com.tractrac.ResultAPI.MarkResult, com.maptrack.client.data.ControlPoint)">MarkResult</A></B>(java.util.List<com.maptrack.client.data.CompetitorMarkPassInfo> markPassInfo,
|
<TD><CODE><B><A HREF="../../../../com/tractrac/ResultAPI/MarkResult.html#MarkResult(java.util.List, com.maptrack.client.data.EventClass, com.tractrac.ResultAPI.MarkResult, com.maptrack.client.data.ControlPoint, double)">MarkResult</A></B>(java.util.List<com.maptrack.client.data.CompetitorMarkPassInfo> markPassInfo,
|
||||||
com.maptrack.client.data.EventClass eventClass,
|
com.maptrack.client.data.EventClass eventClass,
|
||||||
<A HREF="../../../../com/tractrac/ResultAPI/MarkResult.html" title="class in com.tractrac.ResultAPI">MarkResult</A> previousMark,
|
<A HREF="../../../../com/tractrac/ResultAPI/MarkResult.html" title="class in com.tractrac.ResultAPI">MarkResult</A> previousMark,
|
||||||
com.maptrack.client.data.ControlPoint cp)</CODE>
|
com.maptrack.client.data.ControlPoint cp,
|
||||||
|
double legDirection)</CODE>
|
||||||
|
|
||||||
<BR>
|
<BR>
|
||||||
Constructor for the MarkResult.</TD>
|
Constructor for the MarkResult.</TD>
|
||||||
|
|||||||
Regular → Executable
+2
-2
@@ -2,13 +2,13 @@
|
|||||||
<!--NewPage-->
|
<!--NewPage-->
|
||||||
<HTML>
|
<HTML>
|
||||||
<HEAD>
|
<HEAD>
|
||||||
<!-- Generated by javadoc (build 1.6.0_24) on Thu Jun 02 10:36:51 CEST 2011 -->
|
<!-- Generated by javadoc (build 1.6.0_24) on Wed Jun 15 11:41:57 CEST 2011 -->
|
||||||
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
<TITLE>
|
<TITLE>
|
||||||
Uses of Class com.tractrac.ResultAPI.MarkResultItem (TracTrac Result API)
|
Uses of Class com.tractrac.ResultAPI.MarkResultItem (TracTrac Result API)
|
||||||
</TITLE>
|
</TITLE>
|
||||||
|
|
||||||
<META NAME="date" CONTENT="2011-06-02">
|
<META NAME="date" CONTENT="2011-06-15">
|
||||||
|
|
||||||
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
|
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
|
||||||
|
|
||||||
|
|||||||
Regular → Executable
+2
-2
@@ -2,13 +2,13 @@
|
|||||||
<!--NewPage-->
|
<!--NewPage-->
|
||||||
<HTML>
|
<HTML>
|
||||||
<HEAD>
|
<HEAD>
|
||||||
<!-- Generated by javadoc (build 1.6.0_24) on Thu Jun 02 10:36:51 CEST 2011 -->
|
<!-- Generated by javadoc (build 1.6.0_24) on Wed Jun 15 11:41:57 CEST 2011 -->
|
||||||
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
<TITLE>
|
<TITLE>
|
||||||
Uses of Class com.tractrac.ResultAPI.PerLegResult (TracTrac Result API)
|
Uses of Class com.tractrac.ResultAPI.PerLegResult (TracTrac Result API)
|
||||||
</TITLE>
|
</TITLE>
|
||||||
|
|
||||||
<META NAME="date" CONTENT="2011-06-02">
|
<META NAME="date" CONTENT="2011-06-15">
|
||||||
|
|
||||||
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
|
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
|
||||||
|
|
||||||
|
|||||||
Regular → Executable
+2
-2
@@ -2,13 +2,13 @@
|
|||||||
<!--NewPage-->
|
<!--NewPage-->
|
||||||
<HTML>
|
<HTML>
|
||||||
<HEAD>
|
<HEAD>
|
||||||
<!-- Generated by javadoc (build 1.6.0_24) on Thu Jun 02 10:36:51 CEST 2011 -->
|
<!-- Generated by javadoc (build 1.6.0_24) on Wed Jun 15 11:41:57 CEST 2011 -->
|
||||||
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
<TITLE>
|
<TITLE>
|
||||||
Uses of Class com.tractrac.ResultAPI.ResultGenerator (TracTrac Result API)
|
Uses of Class com.tractrac.ResultAPI.ResultGenerator (TracTrac Result API)
|
||||||
</TITLE>
|
</TITLE>
|
||||||
|
|
||||||
<META NAME="date" CONTENT="2011-06-02">
|
<META NAME="date" CONTENT="2011-06-15">
|
||||||
|
|
||||||
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
|
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
|
||||||
|
|
||||||
|
|||||||
Regular → Executable
+2
-2
@@ -2,13 +2,13 @@
|
|||||||
<!--NewPage-->
|
<!--NewPage-->
|
||||||
<HTML>
|
<HTML>
|
||||||
<HEAD>
|
<HEAD>
|
||||||
<!-- Generated by javadoc (build 1.6.0_24) on Thu Jun 02 10:36:51 CEST 2011 -->
|
<!-- Generated by javadoc (build 1.6.0_24) on Wed Jun 15 11:41:57 CEST 2011 -->
|
||||||
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
<TITLE>
|
<TITLE>
|
||||||
com.tractrac.ResultAPI (TracTrac Result API)
|
com.tractrac.ResultAPI (TracTrac Result API)
|
||||||
</TITLE>
|
</TITLE>
|
||||||
|
|
||||||
<META NAME="date" CONTENT="2011-06-02">
|
<META NAME="date" CONTENT="2011-06-15">
|
||||||
|
|
||||||
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
|
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
|
||||||
|
|
||||||
|
|||||||
Regular → Executable
+2
-2
@@ -2,13 +2,13 @@
|
|||||||
<!--NewPage-->
|
<!--NewPage-->
|
||||||
<HTML>
|
<HTML>
|
||||||
<HEAD>
|
<HEAD>
|
||||||
<!-- Generated by javadoc (build 1.6.0_24) on Thu Jun 02 10:36:51 CEST 2011 -->
|
<!-- Generated by javadoc (build 1.6.0_24) on Wed Jun 15 11:41:57 CEST 2011 -->
|
||||||
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
<TITLE>
|
<TITLE>
|
||||||
com.tractrac.ResultAPI (TracTrac Result API)
|
com.tractrac.ResultAPI (TracTrac Result API)
|
||||||
</TITLE>
|
</TITLE>
|
||||||
|
|
||||||
<META NAME="date" CONTENT="2011-06-02">
|
<META NAME="date" CONTENT="2011-06-15">
|
||||||
|
|
||||||
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
|
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
|
||||||
|
|
||||||
|
|||||||
Regular → Executable
+2
-2
@@ -2,13 +2,13 @@
|
|||||||
<!--NewPage-->
|
<!--NewPage-->
|
||||||
<HTML>
|
<HTML>
|
||||||
<HEAD>
|
<HEAD>
|
||||||
<!-- Generated by javadoc (build 1.6.0_24) on Thu Jun 02 10:36:51 CEST 2011 -->
|
<!-- Generated by javadoc (build 1.6.0_24) on Wed Jun 15 11:41:57 CEST 2011 -->
|
||||||
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
<TITLE>
|
<TITLE>
|
||||||
com.tractrac.ResultAPI Class Hierarchy (TracTrac Result API)
|
com.tractrac.ResultAPI Class Hierarchy (TracTrac Result API)
|
||||||
</TITLE>
|
</TITLE>
|
||||||
|
|
||||||
<META NAME="date" CONTENT="2011-06-02">
|
<META NAME="date" CONTENT="2011-06-15">
|
||||||
|
|
||||||
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
|
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
|
||||||
|
|
||||||
|
|||||||
Regular → Executable
+2
-2
@@ -2,13 +2,13 @@
|
|||||||
<!--NewPage-->
|
<!--NewPage-->
|
||||||
<HTML>
|
<HTML>
|
||||||
<HEAD>
|
<HEAD>
|
||||||
<!-- Generated by javadoc (build 1.6.0_24) on Thu Jun 02 10:36:51 CEST 2011 -->
|
<!-- Generated by javadoc (build 1.6.0_24) on Wed Jun 15 11:41:57 CEST 2011 -->
|
||||||
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
<TITLE>
|
<TITLE>
|
||||||
Uses of Package com.tractrac.ResultAPI (TracTrac Result API)
|
Uses of Package com.tractrac.ResultAPI (TracTrac Result API)
|
||||||
</TITLE>
|
</TITLE>
|
||||||
|
|
||||||
<META NAME="date" CONTENT="2011-06-02">
|
<META NAME="date" CONTENT="2011-06-15">
|
||||||
|
|
||||||
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
|
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
|
||||||
|
|
||||||
|
|||||||
Regular → Executable
+48
-2
@@ -2,13 +2,13 @@
|
|||||||
<!--NewPage-->
|
<!--NewPage-->
|
||||||
<HTML>
|
<HTML>
|
||||||
<HEAD>
|
<HEAD>
|
||||||
<!-- Generated by javadoc (build 1.6.0_24) on Thu Jun 02 10:36:51 CEST 2011 -->
|
<!-- Generated by javadoc (build 1.6.0_24) on Wed Jun 15 11:41:57 CEST 2011 -->
|
||||||
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
<TITLE>
|
<TITLE>
|
||||||
Constant Field Values (TracTrac Result API)
|
Constant Field Values (TracTrac Result API)
|
||||||
</TITLE>
|
</TITLE>
|
||||||
|
|
||||||
<META NAME="date" CONTENT="2011-06-02">
|
<META NAME="date" CONTENT="2011-06-15">
|
||||||
|
|
||||||
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
|
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
|
||||||
|
|
||||||
@@ -85,8 +85,54 @@ Constant Field Values</H1>
|
|||||||
</CENTER>
|
</CENTER>
|
||||||
<HR SIZE="4" NOSHADE>
|
<HR SIZE="4" NOSHADE>
|
||||||
<B>Contents</B><UL>
|
<B>Contents</B><UL>
|
||||||
|
<LI><A HREF="#com.tractrac">com.tractrac.*</A>
|
||||||
</UL>
|
</UL>
|
||||||
|
|
||||||
|
<A NAME="com.tractrac"><!-- --></A>
|
||||||
|
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
|
||||||
|
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
|
||||||
|
<TH ALIGN="left"><FONT SIZE="+2">
|
||||||
|
com.tractrac.*</FONT></TH>
|
||||||
|
</TR>
|
||||||
|
</TABLE>
|
||||||
|
|
||||||
|
<P>
|
||||||
|
|
||||||
|
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
|
||||||
|
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
|
||||||
|
<TH ALIGN="left" COLSPAN="3">com.tractrac.ResultAPI.<A HREF="com/tractrac/ResultAPI/MarkResult.html" title="class in com.tractrac.ResultAPI">MarkResult</A></TH>
|
||||||
|
</TR>
|
||||||
|
<TR BGCOLOR="white" CLASS="TableRowColor">
|
||||||
|
<A NAME="com.tractrac.ResultAPI.MarkResult.LEGTYPE_DOWNWIND"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
|
||||||
|
<CODE>public static final int</CODE></FONT></TD>
|
||||||
|
<TD ALIGN="left"><CODE><A HREF="com/tractrac/ResultAPI/MarkResult.html#LEGTYPE_DOWNWIND">LEGTYPE_DOWNWIND</A></CODE></TD>
|
||||||
|
<TD ALIGN="right"><CODE>2</CODE></TD>
|
||||||
|
</TR>
|
||||||
|
<TR BGCOLOR="white" CLASS="TableRowColor">
|
||||||
|
<A NAME="com.tractrac.ResultAPI.MarkResult.LEGTYPE_REACHING"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
|
||||||
|
<CODE>public static final int</CODE></FONT></TD>
|
||||||
|
<TD ALIGN="left"><CODE><A HREF="com/tractrac/ResultAPI/MarkResult.html#LEGTYPE_REACHING">LEGTYPE_REACHING</A></CODE></TD>
|
||||||
|
<TD ALIGN="right"><CODE>3</CODE></TD>
|
||||||
|
</TR>
|
||||||
|
<TR BGCOLOR="white" CLASS="TableRowColor">
|
||||||
|
<A NAME="com.tractrac.ResultAPI.MarkResult.LEGTYPE_UNKNOWN"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
|
||||||
|
<CODE>public static final int</CODE></FONT></TD>
|
||||||
|
<TD ALIGN="left"><CODE><A HREF="com/tractrac/ResultAPI/MarkResult.html#LEGTYPE_UNKNOWN">LEGTYPE_UNKNOWN</A></CODE></TD>
|
||||||
|
<TD ALIGN="right"><CODE>0</CODE></TD>
|
||||||
|
</TR>
|
||||||
|
<TR BGCOLOR="white" CLASS="TableRowColor">
|
||||||
|
<A NAME="com.tractrac.ResultAPI.MarkResult.LEGTYPE_UPWIND"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
|
||||||
|
<CODE>public static final int</CODE></FONT></TD>
|
||||||
|
<TD ALIGN="left"><CODE><A HREF="com/tractrac/ResultAPI/MarkResult.html#LEGTYPE_UPWIND">LEGTYPE_UPWIND</A></CODE></TD>
|
||||||
|
<TD ALIGN="right"><CODE>1</CODE></TD>
|
||||||
|
</TR>
|
||||||
|
</FONT></TD>
|
||||||
|
</TR>
|
||||||
|
</TABLE>
|
||||||
|
|
||||||
|
<P>
|
||||||
|
|
||||||
|
<P>
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Regular → Executable
+2
-2
@@ -2,13 +2,13 @@
|
|||||||
<!--NewPage-->
|
<!--NewPage-->
|
||||||
<HTML>
|
<HTML>
|
||||||
<HEAD>
|
<HEAD>
|
||||||
<!-- Generated by javadoc (build 1.6.0_24) on Thu Jun 02 10:36:51 CEST 2011 -->
|
<!-- Generated by javadoc (build 1.6.0_24) on Wed Jun 15 11:41:57 CEST 2011 -->
|
||||||
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
<TITLE>
|
<TITLE>
|
||||||
Deprecated List (TracTrac Result API)
|
Deprecated List (TracTrac Result API)
|
||||||
</TITLE>
|
</TITLE>
|
||||||
|
|
||||||
<META NAME="date" CONTENT="2011-06-02">
|
<META NAME="date" CONTENT="2011-06-15">
|
||||||
|
|
||||||
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
|
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
|
||||||
|
|
||||||
|
|||||||
Regular → Executable
+2
-2
@@ -2,13 +2,13 @@
|
|||||||
<!--NewPage-->
|
<!--NewPage-->
|
||||||
<HTML>
|
<HTML>
|
||||||
<HEAD>
|
<HEAD>
|
||||||
<!-- Generated by javadoc (build 1.6.0_24) on Thu Jun 02 10:36:51 CEST 2011 -->
|
<!-- Generated by javadoc (build 1.6.0_24) on Wed Jun 15 11:41:57 CEST 2011 -->
|
||||||
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
<TITLE>
|
<TITLE>
|
||||||
API Help (TracTrac Result API)
|
API Help (TracTrac Result API)
|
||||||
</TITLE>
|
</TITLE>
|
||||||
|
|
||||||
<META NAME="date" CONTENT="2011-06-02">
|
<META NAME="date" CONTENT="2011-06-15">
|
||||||
|
|
||||||
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
|
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
|
||||||
|
|
||||||
|
|||||||
Regular → Executable
+2
-2
@@ -2,13 +2,13 @@
|
|||||||
<!--NewPage-->
|
<!--NewPage-->
|
||||||
<HTML>
|
<HTML>
|
||||||
<HEAD>
|
<HEAD>
|
||||||
<!-- Generated by javadoc (build 1.6.0_24) on Thu Jun 02 10:36:51 CEST 2011 -->
|
<!-- Generated by javadoc (build 1.6.0_24) on Wed Jun 15 11:41:57 CEST 2011 -->
|
||||||
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
<TITLE>
|
<TITLE>
|
||||||
C-Index (TracTrac Result API)
|
C-Index (TracTrac Result API)
|
||||||
</TITLE>
|
</TITLE>
|
||||||
|
|
||||||
<META NAME="date" CONTENT="2011-06-02">
|
<META NAME="date" CONTENT="2011-06-15">
|
||||||
|
|
||||||
<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style">
|
<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style">
|
||||||
|
|
||||||
|
|||||||
Regular → Executable
+11
-2
@@ -2,13 +2,13 @@
|
|||||||
<!--NewPage-->
|
<!--NewPage-->
|
||||||
<HTML>
|
<HTML>
|
||||||
<HEAD>
|
<HEAD>
|
||||||
<!-- Generated by javadoc (build 1.6.0_24) on Thu Jun 02 10:36:51 CEST 2011 -->
|
<!-- Generated by javadoc (build 1.6.0_24) on Wed Jun 15 11:41:57 CEST 2011 -->
|
||||||
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
<TITLE>
|
<TITLE>
|
||||||
G-Index (TracTrac Result API)
|
G-Index (TracTrac Result API)
|
||||||
</TITLE>
|
</TITLE>
|
||||||
|
|
||||||
<META NAME="date" CONTENT="2011-06-02">
|
<META NAME="date" CONTENT="2011-06-15">
|
||||||
|
|
||||||
<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style">
|
<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style">
|
||||||
|
|
||||||
@@ -151,6 +151,9 @@ Method in class com.tractrac.ResultAPI.<A HREF="../com/tractrac/ResultAPI/MarkRe
|
|||||||
<DT><A HREF="../com/tractrac/ResultAPI/MarkResultItem.html#getLegtime()"><B>getLegtime()</B></A> -
|
<DT><A HREF="../com/tractrac/ResultAPI/MarkResultItem.html#getLegtime()"><B>getLegtime()</B></A> -
|
||||||
Method in class com.tractrac.ResultAPI.<A HREF="../com/tractrac/ResultAPI/MarkResultItem.html" title="class in com.tractrac.ResultAPI">MarkResultItem</A>
|
Method in class com.tractrac.ResultAPI.<A HREF="../com/tractrac/ResultAPI/MarkResultItem.html" title="class in com.tractrac.ResultAPI">MarkResultItem</A>
|
||||||
<DD>Get the time used on last leg
|
<DD>Get the time used on last leg
|
||||||
|
<DT><A HREF="../com/tractrac/ResultAPI/MarkResult.html#getLegType()"><B>getLegType()</B></A> -
|
||||||
|
Method in class com.tractrac.ResultAPI.<A HREF="../com/tractrac/ResultAPI/MarkResult.html" title="class in com.tractrac.ResultAPI">MarkResult</A>
|
||||||
|
<DD>Get the type of leg: LEGTYPE_UPWIND, LEGTYPE_DOWNWIND, LEGTYPE_REACHING or LEGTYPE_UNKNOWN.
|
||||||
<DT><A HREF="../com/tractrac/ResultAPI/ResultGenerator.html#getLiveResults()"><B>getLiveResults()</B></A> -
|
<DT><A HREF="../com/tractrac/ResultAPI/ResultGenerator.html#getLiveResults()"><B>getLiveResults()</B></A> -
|
||||||
Method in class com.tractrac.ResultAPI.<A HREF="../com/tractrac/ResultAPI/ResultGenerator.html" title="class in com.tractrac.ResultAPI">ResultGenerator</A>
|
Method in class com.tractrac.ResultAPI.<A HREF="../com/tractrac/ResultAPI/ResultGenerator.html" title="class in com.tractrac.ResultAPI">ResultGenerator</A>
|
||||||
<DD>Generates a live result list for the last time recalculate was run.
|
<DD>Generates a live result list for the last time recalculate was run.
|
||||||
@@ -223,9 +226,15 @@ Method in class com.tractrac.ResultAPI.<A HREF="../com/tractrac/ResultAPI/LiveRe
|
|||||||
<DT><A HREF="../com/tractrac/ResultAPI/MarkResultItem.html#getUuid()"><B>getUuid()</B></A> -
|
<DT><A HREF="../com/tractrac/ResultAPI/MarkResultItem.html#getUuid()"><B>getUuid()</B></A> -
|
||||||
Method in class com.tractrac.ResultAPI.<A HREF="../com/tractrac/ResultAPI/MarkResultItem.html" title="class in com.tractrac.ResultAPI">MarkResultItem</A>
|
Method in class com.tractrac.ResultAPI.<A HREF="../com/tractrac/ResultAPI/MarkResultItem.html" title="class in com.tractrac.ResultAPI">MarkResultItem</A>
|
||||||
<DD>Get the UUID of the competitor
|
<DD>Get the UUID of the competitor
|
||||||
|
<DT><A HREF="../com/tractrac/ResultAPI/LiveResultItem.html#getVmg()"><B>getVmg()</B></A> -
|
||||||
|
Method in class com.tractrac.ResultAPI.<A HREF="../com/tractrac/ResultAPI/LiveResultItem.html" title="class in com.tractrac.ResultAPI">LiveResultItem</A>
|
||||||
|
<DD>Get VMG in knots measured at a point
|
||||||
<DT><A HREF="../com/tractrac/ResultAPI/MarkResultItem.html#getVMG()"><B>getVMG()</B></A> -
|
<DT><A HREF="../com/tractrac/ResultAPI/MarkResultItem.html#getVMG()"><B>getVMG()</B></A> -
|
||||||
Method in class com.tractrac.ResultAPI.<A HREF="../com/tractrac/ResultAPI/MarkResultItem.html" title="class in com.tractrac.ResultAPI">MarkResultItem</A>
|
Method in class com.tractrac.ResultAPI.<A HREF="../com/tractrac/ResultAPI/MarkResultItem.html" title="class in com.tractrac.ResultAPI">MarkResultItem</A>
|
||||||
<DD>Get the VMG for the last leg
|
<DD>Get the VMG for the last leg
|
||||||
|
<DT><A HREF="../com/tractrac/ResultAPI/LiveResultItem.html#getVmgAverage30s()"><B>getVmgAverage30s()</B></A> -
|
||||||
|
Method in class com.tractrac.ResultAPI.<A HREF="../com/tractrac/ResultAPI/LiveResultItem.html" title="class in com.tractrac.ResultAPI">LiveResultItem</A>
|
||||||
|
<DD>Get the in knots VMG averaged over 30 seconds
|
||||||
</DL>
|
</DL>
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
|
|||||||
Regular → Executable
+2
-2
@@ -2,13 +2,13 @@
|
|||||||
<!--NewPage-->
|
<!--NewPage-->
|
||||||
<HTML>
|
<HTML>
|
||||||
<HEAD>
|
<HEAD>
|
||||||
<!-- Generated by javadoc (build 1.6.0_24) on Thu Jun 02 10:36:51 CEST 2011 -->
|
<!-- Generated by javadoc (build 1.6.0_24) on Wed Jun 15 11:41:57 CEST 2011 -->
|
||||||
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
<TITLE>
|
<TITLE>
|
||||||
I-Index (TracTrac Result API)
|
I-Index (TracTrac Result API)
|
||||||
</TITLE>
|
</TITLE>
|
||||||
|
|
||||||
<META NAME="date" CONTENT="2011-06-02">
|
<META NAME="date" CONTENT="2011-06-15">
|
||||||
|
|
||||||
<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style">
|
<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style">
|
||||||
|
|
||||||
|
|||||||
Regular → Executable
+14
-2
@@ -2,13 +2,13 @@
|
|||||||
<!--NewPage-->
|
<!--NewPage-->
|
||||||
<HTML>
|
<HTML>
|
||||||
<HEAD>
|
<HEAD>
|
||||||
<!-- Generated by javadoc (build 1.6.0_24) on Thu Jun 02 10:36:51 CEST 2011 -->
|
<!-- Generated by javadoc (build 1.6.0_24) on Wed Jun 15 11:41:57 CEST 2011 -->
|
||||||
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
<TITLE>
|
<TITLE>
|
||||||
L-Index (TracTrac Result API)
|
L-Index (TracTrac Result API)
|
||||||
</TITLE>
|
</TITLE>
|
||||||
|
|
||||||
<META NAME="date" CONTENT="2011-06-02">
|
<META NAME="date" CONTENT="2011-06-15">
|
||||||
|
|
||||||
<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style">
|
<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style">
|
||||||
|
|
||||||
@@ -82,6 +82,18 @@ function windowTitle()
|
|||||||
<A NAME="_L_"><!-- --></A><H2>
|
<A NAME="_L_"><!-- --></A><H2>
|
||||||
<B>L</B></H2>
|
<B>L</B></H2>
|
||||||
<DL>
|
<DL>
|
||||||
|
<DT><A HREF="../com/tractrac/ResultAPI/MarkResult.html#LEGTYPE_DOWNWIND"><B>LEGTYPE_DOWNWIND</B></A> -
|
||||||
|
Static variable in class com.tractrac.ResultAPI.<A HREF="../com/tractrac/ResultAPI/MarkResult.html" title="class in com.tractrac.ResultAPI">MarkResult</A>
|
||||||
|
<DD>
|
||||||
|
<DT><A HREF="../com/tractrac/ResultAPI/MarkResult.html#LEGTYPE_REACHING"><B>LEGTYPE_REACHING</B></A> -
|
||||||
|
Static variable in class com.tractrac.ResultAPI.<A HREF="../com/tractrac/ResultAPI/MarkResult.html" title="class in com.tractrac.ResultAPI">MarkResult</A>
|
||||||
|
<DD>
|
||||||
|
<DT><A HREF="../com/tractrac/ResultAPI/MarkResult.html#LEGTYPE_UNKNOWN"><B>LEGTYPE_UNKNOWN</B></A> -
|
||||||
|
Static variable in class com.tractrac.ResultAPI.<A HREF="../com/tractrac/ResultAPI/MarkResult.html" title="class in com.tractrac.ResultAPI">MarkResult</A>
|
||||||
|
<DD>
|
||||||
|
<DT><A HREF="../com/tractrac/ResultAPI/MarkResult.html#LEGTYPE_UPWIND"><B>LEGTYPE_UPWIND</B></A> -
|
||||||
|
Static variable in class com.tractrac.ResultAPI.<A HREF="../com/tractrac/ResultAPI/MarkResult.html" title="class in com.tractrac.ResultAPI">MarkResult</A>
|
||||||
|
<DD>
|
||||||
<DT><A HREF="../com/tractrac/ResultAPI/LiveResult.html" title="class in com.tractrac.ResultAPI"><B>LiveResult</B></A> - Class in <A HREF="../com/tractrac/ResultAPI/package-summary.html">com.tractrac.ResultAPI</A><DD>A class representing a live result for sailing
|
<DT><A HREF="../com/tractrac/ResultAPI/LiveResult.html" title="class in com.tractrac.ResultAPI"><B>LiveResult</B></A> - Class in <A HREF="../com/tractrac/ResultAPI/package-summary.html">com.tractrac.ResultAPI</A><DD>A class representing a live result for sailing
|
||||||
|
|
||||||
The result compares boats on all legs.<DT><A HREF="../com/tractrac/ResultAPI/LiveResult.html#LiveResult(com.maptrack.clientsail.data.ResultListBoat, com.maptrack.client.data.EventClass)"><B>LiveResult(ResultListBoat, EventClass)</B></A> -
|
The result compares boats on all legs.<DT><A HREF="../com/tractrac/ResultAPI/LiveResult.html#LiveResult(com.maptrack.clientsail.data.ResultListBoat, com.maptrack.client.data.EventClass)"><B>LiveResult(ResultListBoat, EventClass)</B></A> -
|
||||||
|
|||||||
Regular → Executable
+3
-3
@@ -2,13 +2,13 @@
|
|||||||
<!--NewPage-->
|
<!--NewPage-->
|
||||||
<HTML>
|
<HTML>
|
||||||
<HEAD>
|
<HEAD>
|
||||||
<!-- Generated by javadoc (build 1.6.0_24) on Thu Jun 02 10:36:51 CEST 2011 -->
|
<!-- Generated by javadoc (build 1.6.0_24) on Wed Jun 15 11:41:57 CEST 2011 -->
|
||||||
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
<TITLE>
|
<TITLE>
|
||||||
M-Index (TracTrac Result API)
|
M-Index (TracTrac Result API)
|
||||||
</TITLE>
|
</TITLE>
|
||||||
|
|
||||||
<META NAME="date" CONTENT="2011-06-02">
|
<META NAME="date" CONTENT="2011-06-15">
|
||||||
|
|
||||||
<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style">
|
<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style">
|
||||||
|
|
||||||
@@ -82,7 +82,7 @@ function windowTitle()
|
|||||||
<A NAME="_M_"><!-- --></A><H2>
|
<A NAME="_M_"><!-- --></A><H2>
|
||||||
<B>M</B></H2>
|
<B>M</B></H2>
|
||||||
<DL>
|
<DL>
|
||||||
<DT><A HREF="../com/tractrac/ResultAPI/MarkResult.html" title="class in com.tractrac.ResultAPI"><B>MarkResult</B></A> - Class in <A HREF="../com/tractrac/ResultAPI/package-summary.html">com.tractrac.ResultAPI</A><DD>The resultlist for a specific mark for a specific class.<DT><A HREF="../com/tractrac/ResultAPI/MarkResult.html#MarkResult(java.util.List, com.maptrack.client.data.EventClass, com.tractrac.ResultAPI.MarkResult, com.maptrack.client.data.ControlPoint)"><B>MarkResult(List<CompetitorMarkPassInfo>, EventClass, MarkResult, ControlPoint)</B></A> -
|
<DT><A HREF="../com/tractrac/ResultAPI/MarkResult.html" title="class in com.tractrac.ResultAPI"><B>MarkResult</B></A> - Class in <A HREF="../com/tractrac/ResultAPI/package-summary.html">com.tractrac.ResultAPI</A><DD>The resultlist for a specific mark for a specific class.<DT><A HREF="../com/tractrac/ResultAPI/MarkResult.html#MarkResult(java.util.List, com.maptrack.client.data.EventClass, com.tractrac.ResultAPI.MarkResult, com.maptrack.client.data.ControlPoint, double)"><B>MarkResult(List<CompetitorMarkPassInfo>, EventClass, MarkResult, ControlPoint, double)</B></A> -
|
||||||
Constructor for class com.tractrac.ResultAPI.<A HREF="../com/tractrac/ResultAPI/MarkResult.html" title="class in com.tractrac.ResultAPI">MarkResult</A>
|
Constructor for class com.tractrac.ResultAPI.<A HREF="../com/tractrac/ResultAPI/MarkResult.html" title="class in com.tractrac.ResultAPI">MarkResult</A>
|
||||||
<DD>Constructor for the MarkResult.
|
<DD>Constructor for the MarkResult.
|
||||||
<DT><A HREF="../com/tractrac/ResultAPI/MarkResultItem.html" title="class in com.tractrac.ResultAPI"><B>MarkResultItem</B></A> - Class in <A HREF="../com/tractrac/ResultAPI/package-summary.html">com.tractrac.ResultAPI</A><DD>Contains all information about a mark-rounding per competitor per mark.<DT><A HREF="../com/tractrac/ResultAPI/MarkResultItem.html#MarkResultItem()"><B>MarkResultItem()</B></A> -
|
<DT><A HREF="../com/tractrac/ResultAPI/MarkResultItem.html" title="class in com.tractrac.ResultAPI"><B>MarkResultItem</B></A> - Class in <A HREF="../com/tractrac/ResultAPI/package-summary.html">com.tractrac.ResultAPI</A><DD>Contains all information about a mark-rounding per competitor per mark.<DT><A HREF="../com/tractrac/ResultAPI/MarkResultItem.html#MarkResultItem()"><B>MarkResultItem()</B></A> -
|
||||||
|
|||||||
Regular → Executable
+3
-3
@@ -2,13 +2,13 @@
|
|||||||
<!--NewPage-->
|
<!--NewPage-->
|
||||||
<HTML>
|
<HTML>
|
||||||
<HEAD>
|
<HEAD>
|
||||||
<!-- Generated by javadoc (build 1.6.0_24) on Thu Jun 02 10:36:51 CEST 2011 -->
|
<!-- Generated by javadoc (build 1.6.0_24) on Wed Jun 15 11:41:57 CEST 2011 -->
|
||||||
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
<TITLE>
|
<TITLE>
|
||||||
P-Index (TracTrac Result API)
|
P-Index (TracTrac Result API)
|
||||||
</TITLE>
|
</TITLE>
|
||||||
|
|
||||||
<META NAME="date" CONTENT="2011-06-02">
|
<META NAME="date" CONTENT="2011-06-15">
|
||||||
|
|
||||||
<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style">
|
<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style">
|
||||||
|
|
||||||
@@ -82,7 +82,7 @@ function windowTitle()
|
|||||||
<A NAME="_P_"><!-- --></A><H2>
|
<A NAME="_P_"><!-- --></A><H2>
|
||||||
<B>P</B></H2>
|
<B>P</B></H2>
|
||||||
<DL>
|
<DL>
|
||||||
<DT><A HREF="../com/tractrac/ResultAPI/PerLegResult.html" title="class in com.tractrac.ResultAPI"><B>PerLegResult</B></A> - Class in <A HREF="../com/tractrac/ResultAPI/package-summary.html">com.tractrac.ResultAPI</A><DD>A result for one class for all marks<DT><A HREF="../com/tractrac/ResultAPI/PerLegResult.html#PerLegResult(com.maptrack.client.gui.IProgressDataGetter, com.maptrack.client.data.ClientEventRaceData, com.maptrack.client.data.EventClass)"><B>PerLegResult(IProgressDataGetter, ClientEventRaceData, EventClass)</B></A> -
|
<DT><A HREF="../com/tractrac/ResultAPI/PerLegResult.html" title="class in com.tractrac.ResultAPI"><B>PerLegResult</B></A> - Class in <A HREF="../com/tractrac/ResultAPI/package-summary.html">com.tractrac.ResultAPI</A><DD>A result for one class for all marks<DT><A HREF="../com/tractrac/ResultAPI/PerLegResult.html#PerLegResult(com.maptrack.client.gui.IProgressDataGetter, com.maptrack.client.data.ClientEventRaceData, com.maptrack.client.data.EventClass, com.maptrack.clientsail.data.BoatRaceData)"><B>PerLegResult(IProgressDataGetter, ClientEventRaceData, EventClass, BoatRaceData)</B></A> -
|
||||||
Constructor for class com.tractrac.ResultAPI.<A HREF="../com/tractrac/ResultAPI/PerLegResult.html" title="class in com.tractrac.ResultAPI">PerLegResult</A>
|
Constructor for class com.tractrac.ResultAPI.<A HREF="../com/tractrac/ResultAPI/PerLegResult.html" title="class in com.tractrac.ResultAPI">PerLegResult</A>
|
||||||
<DD>The constructer for the PerLegResult.
|
<DD>The constructer for the PerLegResult.
|
||||||
</DL>
|
</DL>
|
||||||
|
|||||||
Regular → Executable
+2
-2
@@ -2,13 +2,13 @@
|
|||||||
<!--NewPage-->
|
<!--NewPage-->
|
||||||
<HTML>
|
<HTML>
|
||||||
<HEAD>
|
<HEAD>
|
||||||
<!-- Generated by javadoc (build 1.6.0_24) on Thu Jun 02 10:36:51 CEST 2011 -->
|
<!-- Generated by javadoc (build 1.6.0_24) on Wed Jun 15 11:41:57 CEST 2011 -->
|
||||||
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
<TITLE>
|
<TITLE>
|
||||||
R-Index (TracTrac Result API)
|
R-Index (TracTrac Result API)
|
||||||
</TITLE>
|
</TITLE>
|
||||||
|
|
||||||
<META NAME="date" CONTENT="2011-06-02">
|
<META NAME="date" CONTENT="2011-06-15">
|
||||||
|
|
||||||
<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style">
|
<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style">
|
||||||
|
|
||||||
|
|||||||
Regular → Executable
+8
-2
@@ -2,13 +2,13 @@
|
|||||||
<!--NewPage-->
|
<!--NewPage-->
|
||||||
<HTML>
|
<HTML>
|
||||||
<HEAD>
|
<HEAD>
|
||||||
<!-- Generated by javadoc (build 1.6.0_24) on Thu Jun 02 10:36:51 CEST 2011 -->
|
<!-- Generated by javadoc (build 1.6.0_24) on Wed Jun 15 11:41:57 CEST 2011 -->
|
||||||
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
<TITLE>
|
<TITLE>
|
||||||
S-Index (TracTrac Result API)
|
S-Index (TracTrac Result API)
|
||||||
</TITLE>
|
</TITLE>
|
||||||
|
|
||||||
<META NAME="date" CONTENT="2011-06-02">
|
<META NAME="date" CONTENT="2011-06-15">
|
||||||
|
|
||||||
<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style">
|
<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style">
|
||||||
|
|
||||||
@@ -173,9 +173,15 @@ Method in class com.tractrac.ResultAPI.<A HREF="../com/tractrac/ResultAPI/LiveRe
|
|||||||
<DT><A HREF="../com/tractrac/ResultAPI/MarkResultItem.html#setUuid(java.util.UUID)"><B>setUuid(UUID)</B></A> -
|
<DT><A HREF="../com/tractrac/ResultAPI/MarkResultItem.html#setUuid(java.util.UUID)"><B>setUuid(UUID)</B></A> -
|
||||||
Method in class com.tractrac.ResultAPI.<A HREF="../com/tractrac/ResultAPI/MarkResultItem.html" title="class in com.tractrac.ResultAPI">MarkResultItem</A>
|
Method in class com.tractrac.ResultAPI.<A HREF="../com/tractrac/ResultAPI/MarkResultItem.html" title="class in com.tractrac.ResultAPI">MarkResultItem</A>
|
||||||
<DD>Set the UUID of the competitor
|
<DD>Set the UUID of the competitor
|
||||||
|
<DT><A HREF="../com/tractrac/ResultAPI/LiveResultItem.html#setVmg(double)"><B>setVmg(double)</B></A> -
|
||||||
|
Method in class com.tractrac.ResultAPI.<A HREF="../com/tractrac/ResultAPI/LiveResultItem.html" title="class in com.tractrac.ResultAPI">LiveResultItem</A>
|
||||||
|
<DD>Set VMG in knots measured at a point
|
||||||
<DT><A HREF="../com/tractrac/ResultAPI/MarkResultItem.html#setVMG(double)"><B>setVMG(double)</B></A> -
|
<DT><A HREF="../com/tractrac/ResultAPI/MarkResultItem.html#setVMG(double)"><B>setVMG(double)</B></A> -
|
||||||
Method in class com.tractrac.ResultAPI.<A HREF="../com/tractrac/ResultAPI/MarkResultItem.html" title="class in com.tractrac.ResultAPI">MarkResultItem</A>
|
Method in class com.tractrac.ResultAPI.<A HREF="../com/tractrac/ResultAPI/MarkResultItem.html" title="class in com.tractrac.ResultAPI">MarkResultItem</A>
|
||||||
<DD>Set the VMG of the last leg
|
<DD>Set the VMG of the last leg
|
||||||
|
<DT><A HREF="../com/tractrac/ResultAPI/LiveResultItem.html#setVmgAverage30s(double)"><B>setVmgAverage30s(double)</B></A> -
|
||||||
|
Method in class com.tractrac.ResultAPI.<A HREF="../com/tractrac/ResultAPI/LiveResultItem.html" title="class in com.tractrac.ResultAPI">LiveResultItem</A>
|
||||||
|
<DD>Set the VMG in knots averaged over 30 seconds
|
||||||
</DL>
|
</DL>
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
|
|||||||
Regular → Executable
+2
-2
@@ -2,13 +2,13 @@
|
|||||||
<!--NewPage-->
|
<!--NewPage-->
|
||||||
<HTML>
|
<HTML>
|
||||||
<HEAD>
|
<HEAD>
|
||||||
<!-- Generated by javadoc (build 1.6.0_24) on Thu Jun 02 10:36:51 CEST 2011 -->
|
<!-- Generated by javadoc (build 1.6.0_24) on Wed Jun 15 11:41:57 CEST 2011 -->
|
||||||
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
<TITLE>
|
<TITLE>
|
||||||
V-Index (TracTrac Result API)
|
V-Index (TracTrac Result API)
|
||||||
</TITLE>
|
</TITLE>
|
||||||
|
|
||||||
<META NAME="date" CONTENT="2011-06-02">
|
<META NAME="date" CONTENT="2011-06-15">
|
||||||
|
|
||||||
<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style">
|
<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style">
|
||||||
|
|
||||||
|
|||||||
Regular → Executable
+1
-1
@@ -2,7 +2,7 @@
|
|||||||
<!--NewPage-->
|
<!--NewPage-->
|
||||||
<HTML>
|
<HTML>
|
||||||
<HEAD>
|
<HEAD>
|
||||||
<!-- Generated by javadoc on Thu Jun 02 10:36:51 CEST 2011-->
|
<!-- Generated by javadoc on Wed Jun 15 11:41:57 CEST 2011-->
|
||||||
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
<TITLE>
|
<TITLE>
|
||||||
TracTrac Result API
|
TracTrac Result API
|
||||||
|
|||||||
Regular → Executable
+2
-2
@@ -2,13 +2,13 @@
|
|||||||
<!--NewPage-->
|
<!--NewPage-->
|
||||||
<HTML>
|
<HTML>
|
||||||
<HEAD>
|
<HEAD>
|
||||||
<!-- Generated by javadoc (build 1.6.0_24) on Thu Jun 02 10:36:51 CEST 2011 -->
|
<!-- Generated by javadoc (build 1.6.0_24) on Wed Jun 15 11:41:57 CEST 2011 -->
|
||||||
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
<TITLE>
|
<TITLE>
|
||||||
Class Hierarchy (TracTrac Result API)
|
Class Hierarchy (TracTrac Result API)
|
||||||
</TITLE>
|
</TITLE>
|
||||||
|
|
||||||
<META NAME="date" CONTENT="2011-06-02">
|
<META NAME="date" CONTENT="2011-06-15">
|
||||||
|
|
||||||
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
|
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
|
||||||
|
|
||||||
|
|||||||
Regular → Executable
File mode changed.
Regular → Executable
File mode changed.
|
Before Width: | Height: | Size: 57 B After Width: | Height: | Size: 57 B |
Regular → Executable
File mode changed.
Regular → Executable
BIN
Binary file not shown.
Regular → Executable
BIN
Binary file not shown.
Regular → Executable
BIN
Binary file not shown.
Regular → Executable
BIN
Binary file not shown.
Regular → Executable
BIN
Binary file not shown.
Regular → Executable
BIN
Binary file not shown.
Regular → Executable
BIN
Binary file not shown.
Regular → Executable
+9
-1
@@ -44,7 +44,7 @@ public class ResultAPITester {
|
|||||||
Calendar cal = new GregorianCalendar(111, 3, 01, 00, 20, 00);
|
Calendar cal = new GregorianCalendar(111, 3, 01, 00, 20, 00);
|
||||||
long StartTimeRace = cal.getTimeInMillis();
|
long StartTimeRace = cal.getTimeInMillis();
|
||||||
// Set the speed up of the demonstration
|
// Set the speed up of the demonstration
|
||||||
int speedup = 10;
|
int speedup = 40;
|
||||||
|
|
||||||
// Instance the resultgenerator using a URL for a specific race
|
// Instance the resultgenerator using a URL for a specific race
|
||||||
ResultGenerator generator = new ResultGenerator(new URL("http://germanmaster.traclive.dk/events/event_20110308_SAPWorldCh/clientparams.php?event=event_20110308_SAPWorldCh&race=5ffe619e-4962-11e0-8236-406186cbf87c&ci=&minimize=&LiveDelaySecs="));
|
ResultGenerator generator = new ResultGenerator(new URL("http://germanmaster.traclive.dk/events/event_20110308_SAPWorldCh/clientparams.php?event=event_20110308_SAPWorldCh&race=5ffe619e-4962-11e0-8236-406186cbf87c&ci=&minimize=&LiveDelaySecs="));
|
||||||
@@ -112,6 +112,8 @@ public class ResultAPITester {
|
|||||||
System.out.println("\t\t\tLatitude: " + item.getLatitude());
|
System.out.println("\t\t\tLatitude: " + item.getLatitude());
|
||||||
System.out.println("\t\t\tLongitude: " + item.getLongitude());
|
System.out.println("\t\t\tLongitude: " + item.getLongitude());
|
||||||
System.out.println("\t\t\tSpeed: " + item.getSpeed());
|
System.out.println("\t\t\tSpeed: " + item.getSpeed());
|
||||||
|
System.out.println("\t\t\tVMG: " + item.getVmg());
|
||||||
|
System.out.println("\t\t\tVMG, averaged: " + item.getVmgAverage30s());
|
||||||
System.out.println("\t\t\tFinished: " + item.isHasFinished());
|
System.out.println("\t\t\tFinished: " + item.isHasFinished());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -126,6 +128,12 @@ public class ResultAPITester {
|
|||||||
// Get a result list per mark
|
// Get a result list per mark
|
||||||
for (MarkResult markResult : plr.values()) {
|
for (MarkResult markResult : plr.values()) {
|
||||||
System.out.println("\tMark: " + markResult.getMarkName() + " - " + (m+1) + "/" + plr.getMarkCount());
|
System.out.println("\tMark: " + markResult.getMarkName() + " - " + (m+1) + "/" + plr.getMarkCount());
|
||||||
|
System.out.print("\tLegtype: ");
|
||||||
|
if (markResult.getLegType() == MarkResult.LEGTYPE_UPWIND) System.out.println("Upwind");
|
||||||
|
if (markResult.getLegType() == MarkResult.LEGTYPE_DOWNWIND) System.out.println("Downwind");
|
||||||
|
if (markResult.getLegType() == MarkResult.LEGTYPE_REACHING) System.out.println("Reaching");
|
||||||
|
if (markResult.getLegType() == MarkResult.LEGTYPE_UNKNOWN) System.out.println("Unknown");
|
||||||
|
|
||||||
m++;
|
m++;
|
||||||
// Get a result item per competitor
|
// Get a result item per competitor
|
||||||
for (MarkResultItem item : markResult.values()) {
|
for (MarkResultItem item : markResult.values()) {
|
||||||
|
|||||||
Regular → Executable
+158
-159
@@ -1,159 +1,158 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<project
|
<project
|
||||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
|
||||||
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
<groupId>com.sap.sailing</groupId>
|
<groupId>com.sap.sailing</groupId>
|
||||||
<artifactId>root</artifactId>
|
<artifactId>root</artifactId>
|
||||||
<version>0.0.1-SNAPSHOT</version>
|
<version>0.0.1-SNAPSHOT</version>
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
|
|
||||||
<modules>
|
<modules>
|
||||||
<module>com.sap.sailing.domain</module>
|
<module>com.sap.sailing.domain</module>
|
||||||
<module>com.sap.sailing.domain.test</module>
|
<module>com.sap.sailing.domain.test</module>
|
||||||
<module>com.sap.sailing.domain.tractracadapter</module>
|
<module>com.sap.sailing.domain.tractracadapter</module>
|
||||||
<module>com.sap.sailing.declination</module>
|
<module>com.sap.sailing.declination</module>
|
||||||
<module>com.sap.sailing.declination.test</module>
|
<module>com.sap.sailing.declination.test</module>
|
||||||
<module>com.sap.sailing.expeditionconnector</module>
|
<module>com.sap.sailing.expeditionconnector</module>
|
||||||
<module>com.sap.sailing.expeditionconnector.test</module>
|
<module>com.sap.sailing.expeditionconnector.test</module>
|
||||||
<module>com.sap.sailing.server</module>
|
<module>com.sap.sailing.server</module>
|
||||||
<module>com.sap.sailing.server.test</module>
|
<module>com.sap.sailing.mongodb</module>
|
||||||
<module>com.sap.sailing.mongodb</module>
|
<module>com.sap.sailing.mongodb.test</module>
|
||||||
<module>com.sap.sailing.mongodb.test</module>
|
<module>com.tractrac.clientmodule</module>
|
||||||
<module>com.tractrac.clientmodule</module>
|
<module>com.tractrac.resultapi</module>
|
||||||
<module>com.tractrac.resultapi</module>
|
<module>org.json.simple</module>
|
||||||
<module>org.json.simple</module>
|
<module>com.mongodb.driver</module>
|
||||||
<module>com.mongodb.driver</module>
|
<module>com.googlecode.java-diff-utils</module>
|
||||||
<module>com.googlecode.java-diff-utils</module>
|
<module>com.googlecode.java-diff-utils.test</module>
|
||||||
<module>com.googlecode.java-diff-utils.test</module>
|
</modules>
|
||||||
</modules>
|
|
||||||
|
<properties>
|
||||||
<properties>
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
||||||
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
</properties>
|
||||||
</properties>
|
|
||||||
|
<build>
|
||||||
<build>
|
<directory>bin</directory>
|
||||||
<directory>bin</directory>
|
<outputDirectory>bin</outputDirectory>
|
||||||
<outputDirectory>bin</outputDirectory>
|
<testOutputDirectory>bin</testOutputDirectory>
|
||||||
<testOutputDirectory>bin</testOutputDirectory>
|
|
||||||
|
<pluginManagement>
|
||||||
<pluginManagement>
|
<plugins>
|
||||||
<plugins>
|
<plugin>
|
||||||
<plugin>
|
<inherited>true</inherited>
|
||||||
<inherited>true</inherited>
|
<groupId>org.sonatype.tycho</groupId>
|
||||||
<groupId>org.sonatype.tycho</groupId>
|
<artifactId>maven-osgi-test-plugin</artifactId>
|
||||||
<artifactId>maven-osgi-test-plugin</artifactId>
|
<version>0.10.0</version>
|
||||||
<version>0.10.0</version>
|
</plugin>
|
||||||
</plugin>
|
<plugin>
|
||||||
<plugin>
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
<artifactId>maven-surefire-plugin</artifactId>
|
||||||
<artifactId>maven-surefire-plugin</artifactId>
|
<version>2.6</version>
|
||||||
<version>2.6</version>
|
</plugin>
|
||||||
</plugin>
|
</plugins>
|
||||||
</plugins>
|
</pluginManagement>
|
||||||
</pluginManagement>
|
|
||||||
|
<plugins>
|
||||||
<plugins>
|
<plugin>
|
||||||
<plugin>
|
<groupId>org.sonatype.tycho</groupId>
|
||||||
<groupId>org.sonatype.tycho</groupId>
|
<artifactId>tycho-maven-plugin</artifactId>
|
||||||
<artifactId>tycho-maven-plugin</artifactId>
|
<version>0.10.0</version>
|
||||||
<version>0.10.0</version>
|
<extensions>true</extensions>
|
||||||
<extensions>true</extensions>
|
</plugin>
|
||||||
</plugin>
|
<plugin>
|
||||||
<plugin>
|
<groupId>org.sonatype.tycho</groupId>
|
||||||
<groupId>org.sonatype.tycho</groupId>
|
<artifactId>target-platform-configuration</artifactId>
|
||||||
<artifactId>target-platform-configuration</artifactId>
|
<version>0.10.0</version>
|
||||||
<version>0.10.0</version>
|
<configuration>
|
||||||
<configuration>
|
<resolver>p2</resolver>
|
||||||
<resolver>p2</resolver>
|
<environments>
|
||||||
<environments>
|
<environment>
|
||||||
<environment>
|
<os>linux</os>
|
||||||
<os>linux</os>
|
<ws>gtk</ws>
|
||||||
<ws>gtk</ws>
|
<arch>x86</arch>
|
||||||
<arch>x86</arch>
|
</environment>
|
||||||
</environment>
|
<environment>
|
||||||
<environment>
|
<os>linux</os>
|
||||||
<os>linux</os>
|
<ws>gtk</ws>
|
||||||
<ws>gtk</ws>
|
<arch>x86_64</arch>
|
||||||
<arch>x86_64</arch>
|
</environment>
|
||||||
</environment>
|
<environment>
|
||||||
<environment>
|
<os>win32</os>
|
||||||
<os>win32</os>
|
<ws>win32</ws>
|
||||||
<ws>win32</ws>
|
<arch>x86</arch>
|
||||||
<arch>x86</arch>
|
</environment>
|
||||||
</environment>
|
<environment>
|
||||||
<environment>
|
<os>win32</os>
|
||||||
<os>win32</os>
|
<ws>win32</ws>
|
||||||
<ws>win32</ws>
|
<arch>x86_64</arch>
|
||||||
<arch>x86_64</arch>
|
</environment>
|
||||||
</environment>
|
<environment>
|
||||||
<environment>
|
<os>macosx</os>
|
||||||
<os>macosx</os>
|
<ws>cocoa</ws>
|
||||||
<ws>cocoa</ws>
|
<arch>x86_64</arch>
|
||||||
<arch>x86_64</arch>
|
</environment>
|
||||||
</environment>
|
</environments>
|
||||||
</environments>
|
</configuration>
|
||||||
</configuration>
|
</plugin>
|
||||||
</plugin>
|
<plugin>
|
||||||
<plugin>
|
<groupId>org.sonatype.tycho</groupId>
|
||||||
<groupId>org.sonatype.tycho</groupId>
|
<artifactId>maven-osgi-test-plugin</artifactId>
|
||||||
<artifactId>maven-osgi-test-plugin</artifactId>
|
<configuration>
|
||||||
<configuration>
|
<!-- non-debug -->
|
||||||
<!-- non-debug -->
|
<!-- proxy
|
||||||
<!-- proxy
|
<argLine>-Dhttp.proxyHost=proxy -Dhttp.proxyPort=8080 -Xmx1024m -XX:PermSize=256m -XX:-UseGCOverheadLimit -XX:+UseParallelGC</argLine>
|
||||||
<argLine>-Dhttp.proxyHost=proxy -Dhttp.proxyPort=8080 -Xmx1024m -XX:PermSize=256m -XX:-UseGCOverheadLimit -XX:+UseParallelGC</argLine>
|
-->
|
||||||
-->
|
<!-- no proxy -->
|
||||||
<!-- no proxy -->
|
<argLine>-Dmongo.port=10200 -Xmx1024m -XX:PermSize=256m -XX:-UseGCOverheadLimit -XX:+UseParallelGC</argLine>
|
||||||
<argLine>-Dmongo.port=10200 -Xmx1024m -XX:PermSize=256m -XX:-UseGCOverheadLimit -XX:+UseParallelGC</argLine>
|
<!-- -->
|
||||||
<!-- -->
|
<!-- -->
|
||||||
<!-- -->
|
<!-- debug
|
||||||
<!-- debug
|
<argLine>-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=y -Dhttp.proxyHost=proxy -Dhttp.proxyPort=8080 -Xmx1024m -XX:PermSize=256m -XX:-UseGCOverheadLimit -XX:+UseParallelGC</argLine>
|
||||||
<argLine>-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=y -Dhttp.proxyHost=proxy -Dhttp.proxyPort=8080 -Xmx1024m -XX:PermSize=256m -XX:-UseGCOverheadLimit -XX:+UseParallelGC</argLine>
|
-->
|
||||||
-->
|
<testFailureIgnore>true</testFailureIgnore>
|
||||||
<testFailureIgnore>true</testFailureIgnore>
|
<excludes>
|
||||||
<excludes>
|
<exclude>**/*$*</exclude> <!-- Exclude inner classes -->
|
||||||
<exclude>**/*$*</exclude> <!-- Exclude inner classes -->
|
</excludes>
|
||||||
</excludes>
|
</configuration>
|
||||||
</configuration>
|
</plugin>
|
||||||
</plugin>
|
<plugin>
|
||||||
<plugin>
|
<groupId>org.sonatype.tycho</groupId>
|
||||||
<groupId>org.sonatype.tycho</groupId>
|
<artifactId>maven-osgi-compiler-plugin</artifactId>
|
||||||
<artifactId>maven-osgi-compiler-plugin</artifactId>
|
<version>0.10.0</version>
|
||||||
<version>0.10.0</version>
|
<configuration>
|
||||||
<configuration>
|
<source>1.6</source>
|
||||||
<source>1.6</source>
|
<target>1.6</target>
|
||||||
<target>1.6</target>
|
</configuration>
|
||||||
</configuration>
|
</plugin>
|
||||||
</plugin>
|
</plugins>
|
||||||
</plugins>
|
|
||||||
|
<extensions>
|
||||||
<extensions>
|
<!-- Enabling the use of FTP -->
|
||||||
<!-- Enabling the use of FTP -->
|
<extension>
|
||||||
<extension>
|
<groupId>org.apache.maven.wagon</groupId>
|
||||||
<groupId>org.apache.maven.wagon</groupId>
|
<artifactId>wagon-ssh-external</artifactId>
|
||||||
<artifactId>wagon-ssh-external</artifactId>
|
<version>1.0-beta-6</version>
|
||||||
<version>1.0-beta-6</version>
|
</extension>
|
||||||
</extension>
|
</extensions>
|
||||||
</extensions>
|
|
||||||
|
</build>
|
||||||
</build>
|
|
||||||
|
<distributionManagement>
|
||||||
<distributionManagement>
|
<repository>
|
||||||
<repository>
|
<id>ssh-repository</id>
|
||||||
<id>ssh-repository</id>
|
<url>scpexe://trac@localhost:12347/home/trac/maven-repositories/test</url>
|
||||||
<url>scpexe://trac@localhost:12347/home/trac/maven-repositories/dev</url>
|
</repository>
|
||||||
</repository>
|
</distributionManagement>
|
||||||
</distributionManagement>
|
|
||||||
|
|
||||||
|
<repositories>
|
||||||
<repositories>
|
<repository>
|
||||||
<repository>
|
<layout>p2</layout>
|
||||||
<layout>p2</layout>
|
<id>eclipse</id>
|
||||||
<id>eclipse</id>
|
<url>http://download.eclipse.org/releases/indigo/</url>
|
||||||
<url>http://download.eclipse.org/releases/indigo/</url>
|
</repository>
|
||||||
</repository>
|
</repositories>
|
||||||
</repositories>
|
|
||||||
|
</project>
|
||||||
</project>
|
|
||||||
@@ -61,7 +61,7 @@
|
|||||||
$('#wind-bearing').html(data.truebearingdeg);
|
$('#wind-bearing').html(data.truebearingdeg);
|
||||||
$('#wind-speed').html(data.knotspeed);
|
$('#wind-speed').html(data.knotspeed);
|
||||||
$('#wind-lat').html(data.latdeg);
|
$('#wind-lat').html(data.latdeg);
|
||||||
$('#wind-lng').html(data.lngdev);
|
$('#wind-lng').html(data.lngdeg);
|
||||||
});
|
});
|
||||||
|
|
||||||
// also show wind directions
|
// also show wind directions
|
||||||
@@ -125,7 +125,7 @@
|
|||||||
obj = data[d];
|
obj = data[d];
|
||||||
|
|
||||||
if (obj.latdeg != undefined) {
|
if (obj.latdeg != undefined) {
|
||||||
map.addMarker(obj.latdeg, obj.lngdev, obj.name, _base_url() + 'static/images/boat16.png');
|
map.addMarker(obj.latdeg, obj.lngdeg, obj.name, _base_url() + 'static/images/boat16.png');
|
||||||
} else {
|
} else {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
{"name":"Race 12 (Gold)","competitors":[{"name":"BELTRI","track":[{"timepoint":1247317161000,"latdeg":43.506012,"lngdev":-3.754038,"truebearingdeg":185.0,"knotspeed":8.639308855291576},{"timepoint":1247317164000,"latdeg":43.505887,"lngdev":-3.75407,"truebearingdeg":192.0,"knotspeed":8.639308855291576},{"timepoint":1247317167000,"latdeg":43.505762999999995,"lngdev":-3.754098,"truebearingdeg":187.0,"knotspeed":8.099352051835853},{"timepoint":1247317170000,"latdeg":43.505641999999995,"lngdev":-3.7541249999999997,"truebearingdeg":188.0,"knotspeed":8.639308855291576},{"timepoint":1247317173000,"latdeg":43.50552,"lngdev":-3.754158,"truebearingdeg":189.0,"knotspeed":8.639308855291576},{"timepoint":1247317176000,"latdeg":43.505393,"lngdev":-3.7541879999999996,"truebearingdeg":188.0,"knotspeed":8.639308855291576},{"timepoint":1247317179000,"latdeg":43.505286999999996,"lngdev":-3.7542069999999996,"truebearingdeg":178.0,"knotspeed":6.479481641468682},{"timepoint":1247317182000,"latdeg":43.505187899999996,"lngdev":-3.75421,"truebearingdeg":184.0,"knotspeed":7.559395248380129},{"timepoint":1247317185000,"latdeg":43.505081999999994,"lngdev":-3.754237,"truebearingdeg":192.0,"knotspeed":8.099352051835853},{"timepoint":1247317188000,"latdeg":43.50497,"lngdev":-3.7542679999999997,"truebearingdeg":196.0,"knotspeed":8.099352051835853},{"timepoint":1247317191000,"latdeg":43.50486,"lngdev":-3.7543349999999998,"truebearingdeg":205.0,"knotspeed":8.639308855291576},{"timepoint":1247317194000,"latdeg":43.504745,"lngdev":-3.7544049999999998,"truebearingdeg":199.0,"knotspeed":8.639308855291576},{"timepoint":1247317197000,"latdeg":43.504632,"lngdev":-3.754463,"truebearingdeg":196.0,"knotspeed":8.639308855291576},{"timepoint":1247317203000,"latdeg":43.504397999999995,"lngdev":-3.754555,"truebearingdeg":195.0,"knotspeed":7.559395248380129},{"timepoint":1247317207000,"latdeg":43.504264899999995,"lngdev":-3.7546049999999997,"truebearingdeg":196.0,"knotspeed":7.559395248380129},{"timepoint":1247317209000,"latdeg":43.504197,"lngdev":-3.7546399999999998,"truebearingdeg":199.0,"knotspeed":7.559395248380129},{"timepoint":1247317213000,"latdeg":43.504031999999995,"lngdev":-3.7547099999999998,"truebearingdeg":196.0,"knotspeed":10.259179265658748},{"timepoint":1247317219000,"latdeg":43.503792,"lngdev":-3.75478,"truebearingdeg":189.0,"knotspeed":7.019438444924406},{"timepoint":1247317222000,"latdeg":43.503685,"lngdev":-3.754807,"truebearingdeg":182.0,"knotspeed":7.559395248380129},{"timepoint":1247317225000,"latdeg":43.503575,"lngdev":-3.7548179999999998,"truebearingdeg":184.0,"knotspeed":8.099352051835853},{"timepoint":1247317228000,"latdeg":43.503451999999996,"lngdev":-3.7548529999999998,"truebearingdeg":189.0,"knotspeed":8.099352051835853},{"timepoint":1247317231000,"latdeg":43.503338,"lngdev":-3.754883,"truebearingdeg":192.0,"knotspeed":8.099352051835853},{"timepoint":1247317234000,"latdeg":43.503215,"lngdev":-3.75493,"truebearingdeg":196.0,"knotspeed":9.1792656587473},{"timepoint":1247317236000,"latdeg":43.503132,"lngdev":-3.754968,"truebearingdeg":192.0,"knotspeed":9.1792656587473},{"timepoint":1247317239000,"latdeg":43.502998,"lngdev":-3.754997,"truebearingdeg":187.0,"knotspeed":9.719222462203025},{"timepoint":1247317242000,"latdeg":43.502862,"lngdev":-3.755022,"truebearingdeg":185.0,"knotspeed":8.639308855291576},{"timepoint":1247317245000,"latdeg":43.50275,"lngdev":-3.755035,"truebearingdeg":185.0,"knotspeed":7.559395248380129},{"timepoint":1247317248000,"latdeg":43.502637,"lngdev":-3.755055,"truebearingdeg":182.0,"knotspeed":8.099352051835853},{"timepoint":1247317251000,"latdeg":43.502525,"lngdev":-3.755048,"truebearingdeg":177.0,"knotspeed":7.559395248380129},{"timepoint":1247317254000,"latdeg":43.502421999999996,"lngdev":-3.755038,"truebearingdeg":177.0,"knotspeed":7.559395248380129},{"timepoint":1247317257000,"latdeg":43.502308,"lngdev":-3.7550329999999996,"truebearingdeg":184.0,"knotspeed":8.099352051835853},{"timepoint":1247317260000,"latdeg":43.502193,"lngdev":-3.755047,"truebearingdeg":184.0,"knotspeed":8.099352051835853},{"timepoint":1247317263000,"latdeg":43.502075,"lngdev":-3.75508,"truebearingdeg":194.0,"knotspeed":8.639308855291576},{"timepoint":1247317266000,"latdeg":43.501959899999996,"lngdev":-3.755125,"truebearingdeg":194.0,"knotspeed":7.559395248380129},{"timepoint":1247317269000,"latdeg":43.50185,"lngdev":-3.755172,"truebearingdeg":196.0,"knotspeed":9.1792656587473},{"timepoint":1247317272000,"latdeg":43.501725,"lngdev":-3.755225,"truebearingdeg":194.0,"knotspeed":9.719222462203025},{"timepoint":1247317275000,"latdeg":43.50159,"lngdev":-3.7552779999999997,"truebearingdeg":196.0,"knotspeed":9.1792656587473},{"timepoint":1247317278000,"latdeg":43.501472,"lngdev":-3.7553419999999997,"truebearingdeg":199.0,"knotspeed":8.099352051835853},{"timepoint":1247317281000,"latdeg":43.501362,"lngdev":-3.755403,"truebearingdeg":196.0,"knotspeed":8.099352051835853},{"timepoint":1247317284000,"latdeg":43.501255,"lngdev":-3.7554529999999Line truncated
|
{"name":"Race 12 (Gold)","competitors":[{"name":"BELTRI","track":[{"timepoint":1247317161000,"latdeg":43.506012,"lngdeg":-3.754038,"truebearingdeg":185.0,"knotspeed":8.639308855291576},{"timepoint":1247317164000,"latdeg":43.505887,"lngdeg":-3.75407,"truebearingdeg":192.0,"knotspeed":8.639308855291576},{"timepoint":1247317167000,"latdeg":43.505762999999995,"lngdeg":-3.754098,"truebearingdeg":187.0,"knotspeed":8.099352051835853},{"timepoint":1247317170000,"latdeg":43.505641999999995,"lngdeg":-3.7541249999999997,"truebearingdeg":188.0,"knotspeed":8.639308855291576},{"timepoint":1247317173000,"latdeg":43.50552,"lngdeg":-3.754158,"truebearingdeg":189.0,"knotspeed":8.639308855291576},{"timepoint":1247317176000,"latdeg":43.505393,"lngdeg":-3.7541879999999996,"truebearingdeg":188.0,"knotspeed":8.639308855291576},{"timepoint":1247317179000,"latdeg":43.505286999999996,"lngdeg":-3.7542069999999996,"truebearingdeg":178.0,"knotspeed":6.479481641468682},{"timepoint":1247317182000,"latdeg":43.505187899999996,"lngdeg":-3.75421,"truebearingdeg":184.0,"knotspeed":7.559395248380129},{"timepoint":1247317185000,"latdeg":43.505081999999994,"lngdeg":-3.754237,"truebearingdeg":192.0,"knotspeed":8.099352051835853},{"timepoint":1247317188000,"latdeg":43.50497,"lngdeg":-3.7542679999999997,"truebearingdeg":196.0,"knotspeed":8.099352051835853},{"timepoint":1247317191000,"latdeg":43.50486,"lngdeg":-3.7543349999999998,"truebearingdeg":205.0,"knotspeed":8.639308855291576},{"timepoint":1247317194000,"latdeg":43.504745,"lngdeg":-3.7544049999999998,"truebearingdeg":199.0,"knotspeed":8.639308855291576},{"timepoint":1247317197000,"latdeg":43.504632,"lngdeg":-3.754463,"truebearingdeg":196.0,"knotspeed":8.639308855291576},{"timepoint":1247317203000,"latdeg":43.504397999999995,"lngdeg":-3.754555,"truebearingdeg":195.0,"knotspeed":7.559395248380129},{"timepoint":1247317207000,"latdeg":43.504264899999995,"lngdeg":-3.7546049999999997,"truebearingdeg":196.0,"knotspeed":7.559395248380129},{"timepoint":1247317209000,"latdeg":43.504197,"lngdeg":-3.7546399999999998,"truebearingdeg":199.0,"knotspeed":7.559395248380129},{"timepoint":1247317213000,"latdeg":43.504031999999995,"lngdeg":-3.7547099999999998,"truebearingdeg":196.0,"knotspeed":10.259179265658748},{"timepoint":1247317219000,"latdeg":43.503792,"lngdeg":-3.75478,"truebearingdeg":189.0,"knotspeed":7.019438444924406},{"timepoint":1247317222000,"latdeg":43.503685,"lngdeg":-3.754807,"truebearingdeg":182.0,"knotspeed":7.559395248380129},{"timepoint":1247317225000,"latdeg":43.503575,"lngdeg":-3.7548179999999998,"truebearingdeg":184.0,"knotspeed":8.099352051835853},{"timepoint":1247317228000,"latdeg":43.503451999999996,"lngdeg":-3.7548529999999998,"truebearingdeg":189.0,"knotspeed":8.099352051835853},{"timepoint":1247317231000,"latdeg":43.503338,"lngdeg":-3.754883,"truebearingdeg":192.0,"knotspeed":8.099352051835853},{"timepoint":1247317234000,"latdeg":43.503215,"lngdeg":-3.75493,"truebearingdeg":196.0,"knotspeed":9.1792656587473},{"timepoint":1247317236000,"latdeg":43.503132,"lngdeg":-3.754968,"truebearingdeg":192.0,"knotspeed":9.1792656587473},{"timepoint":1247317239000,"latdeg":43.502998,"lngdeg":-3.754997,"truebearingdeg":187.0,"knotspeed":9.719222462203025},{"timepoint":1247317242000,"latdeg":43.502862,"lngdeg":-3.755022,"truebearingdeg":185.0,"knotspeed":8.639308855291576},{"timepoint":1247317245000,"latdeg":43.50275,"lngdeg":-3.755035,"truebearingdeg":185.0,"knotspeed":7.559395248380129},{"timepoint":1247317248000,"latdeg":43.502637,"lngdeg":-3.755055,"truebearingdeg":182.0,"knotspeed":8.099352051835853},{"timepoint":1247317251000,"latdeg":43.502525,"lngdeg":-3.755048,"truebearingdeg":177.0,"knotspeed":7.559395248380129},{"timepoint":1247317254000,"latdeg":43.502421999999996,"lngdeg":-3.755038,"truebearingdeg":177.0,"knotspeed":7.559395248380129},{"timepoint":1247317257000,"latdeg":43.502308,"lngdeg":-3.7550329999999996,"truebearingdeg":184.0,"knotspeed":8.099352051835853},{"timepoint":1247317260000,"latdeg":43.502193,"lngdeg":-3.755047,"truebearingdeg":184.0,"knotspeed":8.099352051835853},{"timepoint":1247317263000,"latdeg":43.502075,"lngdeg":-3.75508,"truebearingdeg":194.0,"knotspeed":8.639308855291576},{"timepoint":1247317266000,"latdeg":43.501959899999996,"lngdeg":-3.755125,"truebearingdeg":194.0,"knotspeed":7.559395248380129},{"timepoint":1247317269000,"latdeg":43.50185,"lngdeg":-3.755172,"truebearingdeg":196.0,"knotspeed":9.1792656587473},{"timepoint":1247317272000,"latdeg":43.501725,"lngdeg":-3.755225,"truebearingdeg":194.0,"knotspeed":9.719222462203025},{"timepoint":1247317275000,"latdeg":43.50159,"lngdeg":-3.7552779999999997,"truebearingdeg":196.0,"knotspeed":9.1792656587473},{"timepoint":1247317278000,"latdeg":43.501472,"lngdeg":-3.7553419999999997,"truebearingdeg":199.0,"knotspeed":8.099352051835853},{"timepoint":1247317281000,"latdeg":43.501362,"lngdeg":-3.755403,"truebearingdeg":196.0,"knotspeed":8.099352051835853},{"timepoint":1247317284000,"latdeg":43.501255,"lngdeg":-3.7554529999999Line truncated
|
||||||
Reference in new issue
Block a user