RCube
Rcube Rest Server calculates sail routes based on Grib files and sailing boat polar files
Loading...
Searching...
No Matches
r3types.h
Go to the documentation of this file.
1/* this file includes in other file provides
2. Constant definition with #define and enum
3. Type definitions with typedef
4*/
5
6#define STAMINA_SHIP 0 // Virtual Regatta shop index
7#define STAMINA_SAIL 2 // Virtual Regatta index for sail change
8#define STAMINA_TACK 0 // Virtual Regatta intex for tack or Gybe
9#define STAMINA_FULL_PACK 1 // Virtual regatta full pack
10#define N_MAX_NMEA_PORTS 3
11#define CSV_SEP_POLAR ";\t" // for polar no comma because decimal separator may be comma
12#define WORKING_DIR "" //ATT // Default Working Dir if nothing specified in routing.par file
13//#define WORKING_DIR "/home/rr/routing/"
14#define PARAMETERS_FILE WORKING_DIR"par/routing.par" // default parameter file
15#define TEMP_FILE_NAME "routing.tmp" // temporary file
16#define MIN_LAT (-80.0) // Minimum latitude for getCoord
17#define MAX_LAT 80.0 // Maximum latitude for getCoord
18#define MIN_LON (-180.0) // Minimum longitude for getCoord
19#define MAX_LON 360.0 // Maximum longitude for getCoord
20#define MIN_SPEED_FOR_TARGET 5 // knots. Difficult to explain. See engine.c, optimize()..
21#define MISSING (0.001) // for grib file missing values
22//#define MISSING (-999999) // for grib file missing values
23#define MS_TO_KN (3600.0/1852.0) // conversion meter/second to knots
24#define KN_TO_MS (1852.0/3600.0) // conversion knots to meter/second
25#define NM_TO_M 1852.0 // convert Nautical Mile to meter
26#define EARTH_RADIUS 3440.065 // Earth's radius in nautical miles
27#define RAD_TO_DEG (180.0/G_PI) // conversion radius to degree
28#define DEG_TO_RAD (G_PI/180.0) // conversion degree to radius
29#define SIZE_T_IS_SEA (3601 * 1801) // size of size is sea
30#define MAX_N_WAY_POINT 10 // Max number of Way Points
31#define PROG_NAME "RCube"
32#define PROG_VERSION "0.1"
33#define PROG_AUTHOR "René Rigault"
34#define DESCRIPTION "Routing calculates best route from pOr (Origin) to pDest (Destination) \
35 taking into account grib files and boat polars"
36
37#define MILLION 1000000 // Million !
38#define NIL (-100000) // for routing return when unreacheable
39#define MAX_SIZE_ISOC 100000 // Max number of point in an isochrone
40#define MAX_N_ISOC (384 + 1) * 4 // Max Hours in 16 days * 4 times per hours Max (tSep = 15 mn) required for STATIC way
41#define MAX_N_POL_MAT_COLS 128 // Max number of column in polar
42#define MAX_N_POL_MAT_LINES 128 // Max number of lines in polar
43#define MAX_SIZE_JSON_HEADER 10000 // Max size json header when reading polar json
44
45#define MAX_SIZE_LINE 256 // Max size of pLine in text files
46#define MAX_SIZE_STD 1024 // Max size of lines standard
47#define MAX_SIZE_LINE_BASE64 1024 // Max size of line in base64 mail file
48#define MAX_SIZE_TEXT 2048 // Max size of text
49#define MAX_SIZE_TEXT_FILE 50000 // Max size of text file
50#define MAX_SIZE_MESSAGE 2048 // Max size of a mail message
51#define MAX_SIZE_URL 1024 // Max size of a URL
52#define MAX_SIZE_DATE 32 // Max size of a string with date inside
53#define MAX_SIZE_BUFFER 1000000 // big buffer for malloc
54#define MAX_N_TIME_STAMPS 512 // Max number of time stamps in Grib file
55#define MAX_N_DATA_DATE 4 // Max number of date in grib file. 1 in practise
56#define MAX_N_DATA_TIME 4 // Max number of time date in egrib file. 1 in practise
57#define MAX_N_SHORT_NAME 64 // Max number of short name in grib file
58#define MAX_N_GRIB_LAT 1024 // Max umber of latitudes in grib file
59#define MAX_N_GRIB_LON 2048 // Max number of longitudes in grib file
60#define MAX_SIZE_SHORT_NAME 16 // Max size of string representing very short name
61#define MAX_SIZE_NAME 64 // Max size of string representing a name
62#define MAX_SIZE_NUMBER 64 // Max size of string representing a number
63#define MAX_SIZE_FILE_NAME 128 // Max size of pLine in text files
64#define MAX_SIZE_DIR_NAME 192 // Max size of directory name
65#define MAX_N_SHP_FILES 4 // Max number of shape file
66#define SMALL_SIZE 5 // for short string
67#define MAX_SIZE_FORBID_ZONE 100 // Max size per forbidden zone
68#define MAX_N_FORBID_ZONE 32 // Max number of forbidden zones
69#define N_METEO_ADMIN 4 // administration: Weather Service US, DWD, etc
70
71#define MAX_N_COMPETITORS 10 // Number Max of competitors
72#define MAX_N_SAIL 32 // Max number of sails in PolMat object
73#define MAX_N_SECTORS 3600 // Max number of sectors for optimization of sectors
74#define LIMIT_SOG 100 // for SOG error detection
75#define MAX_SIZE_INFO 512 // for checkArrival
76
77enum {WIND, CURRENT}; // for grib information, either WIND or CURRENT
78enum {WIND_POLAR, WAVE_POLAR, SAIL_POLAR}; // for polar information, either WIND or WAVE or SAIL
79enum {BASIC, DD, DM, DMS}; // degre, degre decimal, degre minutes, degre minutes seconds
80enum {TRIBORD, BABORD}; // amure TRIBORD = STARBOARD, BABORD = PORT
81enum {RUNNING, STOPPED, NO_SOLUTION, EXIST_SOLUTION}; // for chooseDeparture.ret values and allCompetitors check
82enum {ROUTING_STOPPED = -2, ROUTING_ERROR = -1, ROUTING_RUNNING = 0}; // for routingLaunch
83struct MeteoElmt {
84 int id;
86};
88typedef struct {
89 double lat;
90 double lon;
91} Point;
92
94typedef struct {
95 int n;
97} MyPolygon;
98
99/* Structure for best departure time choice */
100typedef struct {
101 int ret;
102 int count;
105 int tEnd;
106 double tInterval; // time interval in decimal hours betwen tries
107 int tStop;
111 double bestTime; // best time in decimal hours after grib time
113
126
128typedef struct {
129 float lat; // latitude
130 float lon; // longitude
131 float u; // east west component of wind or current in meter/s
132 float v; // north south component of wind or current in meter/s
133 float w; // waves height WW3 model
134 float g; // wind speed gust un meter/s
135 //float msl; // mean sea level pressure
136 //float prate; // precipitation rate
137} FlowP; // either wind or current
138
140typedef struct {
141 bool anteMeridian; // set at true if zone crosses meridian 180
149 double latMin;
150 double latMax;
151 double lonLeft;
152 double lonRight;
153 double latStep;
154 double lonStep;
155 long nbLat;
156 long nbLon;
158 size_t nDataDate;
159 size_t nDataTime;
160 //double time0Grib; // time of the first forecast in grib in hours
163 long timeStamp [MAX_N_TIME_STAMPS];
164 long dataDate [MAX_N_DATA_DATE];
165 long dataTime [MAX_N_DATA_TIME];
169} Zone;
170
172typedef struct {
173 int id; // unique point Id
174 int father; // the id of the father of this poiint
175 int amure; // amure (TRIBORD, BABORD)
176 int sail; // sail used
177 bool motor; // true if used motor
178 //int sector;
179 int toIndexWp; // index of Targeted Waypoint (-1 if par.pOr.pDest)
180 double lat; // latitude in decimal degrees
181 double lon; // longitude ...
182 double dd; // distance to pDest
183 double vmc; // velocity made on course
184 double orthoVmc; // distance to the middle direction
185} Pp;
186
188typedef struct {
189 int toIndexWp; // index of waypoint targetted
190 // double distance; // best distance from Isoc to pDest
191 double bestVmc; // best VMC (distance)
192 double biggestOrthoVmc; // biggest distance to middle direction
193 int closest; // index in Iso of closest point to pDest
194 int first; // index of first point, useful for drawAllIsochrones
195 int size; // size of isochrone
196 double focalLat; // focal point Lat
197 double focalLon; // focal point Lon
198} IsoDesc;
199
201typedef struct {
202 char jsonHeader [MAX_SIZE_JSON_HEADER]; // json header if polr info read from json file
203 double t [MAX_N_POL_MAT_LINES][MAX_N_POL_MAT_COLS]; // the table
204 double maxAll; // max speed in all polar
205 int nLine; // number of raws includine line 0 (tws)
206 int nCol; // number of colmumn includoing col 0 (twa)
207 bool fromJson; // true id polar information collected from json file
208 size_t nSail; // number of sail in polar. 0 is no information
209 struct {
210 int id; // sail ID
211 char name [MAX_SIZE_NAME]; // sail Name
212 double max; // max speed with this sail
213 } tSail [MAX_N_SAIL]; // table of sails
214} PolMat;
215
217typedef struct {
218 double lat; // latitude
219 double lon; // longitude
220 double od; // orthodomic distance
221 double oCap; // orthodomic cap
222 double ld; // loxodromic distance
223 double lCap; // loxodromic cap
224} WayPoint;
225
227typedef struct {
228 double stamina; // for virtual Regatta stamina management
229 double lat;
230 double lon;
231 int id;
233 int amure;
235 int sail;
236 bool motor;
237 double time; // time in hours after start
238 double oCap; // orthodromic cap
239 double od; // orthodromic distance
240 double lCap; // loxodromic cap
241 double ld; // loxodromic distance
242 double sog; // speed over ground
243 double u; // east west wind or current in meter/s
244 double v; // north south component of wind or current in meter/s
245 double w; // waves height WW3 model
246 double g; // wind speed gust
247 double twd; // wind direction
248 double tws; // wind speed in Knots
249} SailPoint;
250
251/* Way point route description */
252typedef struct {
253 int n;
258
260typedef struct {
261 int colorIndex; // index used to select color
262 double lat;
263 double lon;
264 double dist; // Orthodromic distance to destination
265 double duration; // in hours, duration of the trip.
266 char strETA [MAX_SIZE_DATE]; // estimated Time of Arrival
268} Competitor;
269
270/* list of competitors */
271typedef struct {
272 int n; // number of competitors
273 int runIndex; // index of last competitor running. -1 if all run !
274 int ret; // return of allCompetitors running function
277
279typedef struct {
280 char polarFileName [MAX_SIZE_FILE_NAME]; // save the polar name
281 long dataDate; // save Grib date
282 long dataTime; // save Grib time
283 int nIsoc; // number of Isochrones
284 double isocTimeStep; // isoc time step for this route in hours
285 int n; // number of steps
286 double calculationTime; // compute time to calculate the route
287 double lastStepDuration; // in hours, last step (to destination)
288 double lastStepWpDuration [MAX_N_WAY_POINT]; // in hours, to waypoints
289 int nWayPoints; // number of WayPoints (0 if only destination)
290 double duration; // total time in hours of the route
291 double totDist; // total distance in NM
292 double motorDist; // distance using motor in NM
293 double tribordDist; // distance sail tribord in NM
294 double babordDist; // distance sail babord in NM
295 int ret; // return value of routing
296 bool destinationReached; // true if destination reaches
297 double avrTws; // average wind speed of the route
298 double avrGust; // average gust of the route
299 double avrWave; // average wave of the route
300 double avrSog; // average Speed Over Ground
301 double maxTws; // max wind speed of the route
302 double maxGust; // max gust of the route
303 double maxWave; // max wave of the route
304 int competitorIndex; // index of competitor. See CompetitorsList.
305 int nSailChange; // stat: number of sail chage
306 int nAmureChange; // stat: number of amure change
307 char lastPointInfo [MAX_SIZE_INFO]; // for checkArrival
308 SailPoint *t; // array of points (maxNIsoc + 0), dynamic allocation
309} SailRoute;
310
312typedef struct {
313 int n;
316
318typedef struct {
319 int authent; // 1 if Authentication is enabled
320 int allwaysSea; // if 1 (true) then isSea is allways true. No earth avoidance !
321 int dashboardUTC; // true if VR Dashboard provide time in UTC. false if local time.
322 int maxPoiVisible; // poi visible if <= maxPoiVisible
323 int opt; // 0 if no optimization, else number of opt algorithm
324 double tStep; // hours, for isochrones
325 int cogStep; // step of cog in degrees
326 int rangeCog; // range of cog from x - RANGE_GOG, x + RAGE_COG+1
327 int special; // special purpose
328 double constWindTws; // if not equal 0, constant wind used in place of grib file
329 double constWindTwd; // the direction of constant wind if used
330 double constWave; // constant wave height if used
331 double constCurrentS; // if not equal 0, contant current speed Knots
332 double constCurrentD; // the direction of constant current if used
333 int jFactor; // factor for target point distance used in sectorOptimize
334 int kFactor; // factor for target point distance used in sectorOptimize
335 int nSectors; // number of sector for optimization by sector
336 char workingDir [MAX_SIZE_FILE_NAME]; // working directory
337 char gribFileName [MAX_SIZE_FILE_NAME]; // name of grib file
338 int mostRecentGrib; // true if most recent grib in grib directory to be selected
339 double gribResolution; // grib lat step for mail request
340 int gribTimeStep; // grib time step for mail request
341 int gribTimeMax; // grib time max fir mail request
342 char web [MAX_SIZE_DIR_NAME]; // name of web directory
343 char currentGribFileName [MAX_SIZE_FILE_NAME]; // name of current grib file
344 char polarFileName [MAX_SIZE_FILE_NAME]; // name of polar file
345 char wavePolFileName [MAX_SIZE_FILE_NAME];// name of Wave polar file
346 char dumpIFileName [MAX_SIZE_FILE_NAME]; // name of file where to dump isochrones
347 char dumpRFileName [MAX_SIZE_FILE_NAME]; // name of file where to dump isochrones
348 char helpFileName [MAX_SIZE_FILE_NAME]; // name of html help file
349 char shpFileName [MAX_N_SHP_FILES][MAX_SIZE_FILE_NAME]; // name of SHP file for geo map
350 char isSeaFileName [MAX_SIZE_FILE_NAME]; // name of file defining sea on earth
351 char cliHelpFileName [MAX_SIZE_FILE_NAME];// text help for cli mode
352 char poiFileName [MAX_SIZE_FILE_NAME]; // list of point of interest
353 char portFileName [MAX_SIZE_FILE_NAME]; // list of ports
354 char parInfoFileName [MAX_SIZE_FILE_NAME];// parameter info
355 char traceFileName [MAX_SIZE_FILE_NAME]; // trace is a list of point/time
356 char midFileName [MAX_SIZE_FILE_NAME]; // list of mid country related to mmsi and AIS
357 char tidesFileName [MAX_SIZE_FILE_NAME]; // list of ports witht lat, lon fo tides
358 char feedbackFileName [MAX_SIZE_FILE_NAME];//for user feedback
359 char logFileName [MAX_SIZE_FILE_NAME]; // log the runs
360 char wpGpxFileName [MAX_SIZE_FILE_NAME]; // To tpre Way Points in GPX format
361 char dashboardVR [MAX_SIZE_FILE_NAME]; // Virtual Regatta dashboard thanks to plugin
362 char marksFileName [MAX_SIZE_FILE_NAME]; // Virtual Regatta marks
363 double staminaVR; // Init stamina
364 int nShpFiles; // number of Shp files
365 double startTimeInHours; // time of beginning of routing after time0Grib
366 Pp pOr; // point of origine
367 Pp pDest; // point of destination
368 char pOrName [MAX_SIZE_NAME]; // Name of pOr if exist
369 char pDestName [MAX_SIZE_NAME]; // Name of pDest if exist
370 int style; // style of isochrones
371 int showColors; // colors for wind speed
372 char description [MAX_SIZE_LINE]; // script used to send request for grib files
373 char smtpScript [MAX_SIZE_LINE]; // script used to send request for grib files
374 char imapToSeen [MAX_SIZE_LINE]; // script used to flag all messages to seen
375 char imapScript [MAX_SIZE_LINE]; // script used to receive grib files
376 int dispDms; // display degre, degre minutes, degre minutes sec
377 int windDisp; // display wind nothing or barbule or arrow
378 int currentDisp; // display current
379 int waveDisp; // display wave height
380 int indicatorDisp; // indicator to display : wind, gist, waves, rain, pressure
381 int gridDisp; // display meridian and parallels
382 int closestDisp; // display closest point to pDest in isochrones
383 int focalDisp; // display focal point
384 int infoDisp; // display digest information
385 int speedDisp; // Speed of Display
386 int aisDisp; // AIS display
387 int shpPointsDisp; // display points only for SHP files
388 int stepIsocDisp; // display one isochrone over stepIsocDisp
389 int penalty0; // penalty in seconds for tack
390 int penalty1; // penalty in seconds fot Gybe
391 int penalty2; // penalty in seconds for sail change
392 double motorSpeed; // motor speed if used
393 double threshold; // threshold for motor use
394 double nightEfficiency; // efficiency of team at night
395 double dayEfficiency; // efficiency of team at day
396 double xWind; // multiply factor for wind
397 double maxWind; // max Wind supported
398 char webkit [MAX_SIZE_NAME]; // name of webkit application
399 char windyApiKey [MAX_SIZE_TEXT]; // windy API Key (web)
400 char googleApiKey [MAX_SIZE_TEXT]; // google API Key for google map (web)
401 int curlSys; // true if curl wuth system
402 int python; // true if python script used for mail grib request
403 char smtpServer [MAX_SIZE_NAME]; // SMTP server name
404 char smtpUserName [MAX_SIZE_NAME]; // SMTP user name
405 char smtpTo [MAX_SIZE_NAME]; // SMTP destination for r3server
406 char imapServer [MAX_SIZE_NAME]; // IMAP server name
407 char imapUserName [MAX_SIZE_NAME]; // IMAP user name
408 char imapMailBox [MAX_SIZE_NAME]; // IMAP mail box
409 char mailPw [MAX_SIZE_NAME]; // password for smtp and imap
410 bool storeMailPw; // store Mail PW
411 int nForbidZone; // number of forbidden zones
412 //char forbidZone [MAX_N_FORBID_ZONE][MAX_SIZE_LINE]; // array of forbid zones
413 int techno; // additionnal info display for tech experts
414 struct { // list of NEMEA ports with for each item, portName and speed
415 char portName [MAX_SIZE_NAME];
416 int speed;
417 bool open;
419 int nNmea; // number of ports activated
420 int withWaves; // true if waves are considered
421 int withCurrent; // true if current is considered
422} Par;
#define MAX_N_COMPETITORS
Definition r3types.h:71
@ RUNNING
Definition r3types.h:81
@ NO_SOLUTION
Definition r3types.h:81
@ STOPPED
Definition r3types.h:81
@ EXIST_SOLUTION
Definition r3types.h:81
#define MAX_N_SAIL
Definition r3types.h:72
#define N_MAX_NMEA_PORTS
Definition r3types.h:10
#define MAX_N_TIME_STAMPS
Definition r3types.h:54
#define MAX_N_WAY_POINT
Definition r3types.h:30
#define MAX_N_DATA_DATE
Definition r3types.h:55
@ BASIC
Definition r3types.h:79
@ DM
Definition r3types.h:79
@ DMS
Definition r3types.h:79
@ DD
Definition r3types.h:79
#define MAX_SIZE_DIR_NAME
Definition r3types.h:64
#define MAX_N_DATA_TIME
Definition r3types.h:56
@ TRIBORD
Definition r3types.h:80
@ BABORD
Definition r3types.h:80
#define MAX_SIZE_SHORT_NAME
Definition r3types.h:60
#define MAX_N_SHORT_NAME
Definition r3types.h:57
#define MAX_N_POL_MAT_COLS
Definition r3types.h:41
#define MAX_SIZE_NAME
Definition r3types.h:61
#define MAX_N_POL_MAT_LINES
Definition r3types.h:42
#define MAX_SIZE_FILE_NAME
Definition r3types.h:63
#define MAX_N_SHP_FILES
Definition r3types.h:65
#define MAX_SIZE_DATE
Definition r3types.h:52
#define MAX_SIZE_LINE
Definition r3types.h:45
#define MAX_SIZE_INFO
Definition r3types.h:75
@ WIND
Definition r3types.h:77
@ CURRENT
Definition r3types.h:77
#define MAX_SIZE_JSON_HEADER
Definition r3types.h:43
@ ROUTING_STOPPED
Definition r3types.h:82
@ ROUTING_ERROR
Definition r3types.h:82
@ ROUTING_RUNNING
Definition r3types.h:82
@ WAVE_POLAR
Definition r3types.h:78
@ WIND_POLAR
Definition r3types.h:78
@ SAIL_POLAR
Definition r3types.h:78
#define MAX_SIZE_TEXT
Definition r3types.h:48
char name[MAX_SIZE_NAME]
Definition r3util.c:22
Check grib structure.
Definition r3types.h:115
int wStrange
Definition r3types.h:123
int uMissing
Definition r3types.h:116
int wMissing
Definition r3types.h:119
int vMissing
Definition r3types.h:117
int uStrange
Definition r3types.h:120
int gMissing
Definition r3types.h:118
int gStrange
Definition r3types.h:122
int vStrange
Definition r3types.h:121
int outZone
Definition r3types.h:124
double minDuration
Definition r3types.h:109
double tInterval
Definition r3types.h:106
double bestTime
Definition r3types.h:111
double maxDuration
Definition r3types.h:110
Point for competitor.
Definition r3types.h:260
double duration
Definition r3types.h:265
int colorIndex
Definition r3types.h:261
double lon
Definition r3types.h:263
double lat
Definition r3types.h:262
double dist
Definition r3types.h:264
Wind point.
Definition r3types.h:128
float u
Definition r3types.h:131
float g
Definition r3types.h:134
float lat
Definition r3types.h:129
float w
Definition r3types.h:133
float v
Definition r3types.h:132
float lon
Definition r3types.h:130
History Route description
Definition r3types.h:312
SailRoute * r
Definition r3types.h:314
isochrone meta data
Definition r3types.h:188
int size
Definition r3types.h:195
int closest
Definition r3types.h:193
double biggestOrthoVmc
Definition r3types.h:192
double focalLon
Definition r3types.h:197
int toIndexWp
Definition r3types.h:189
double focalLat
Definition r3types.h:196
int first
Definition r3types.h:194
double bestVmc
Definition r3types.h:191
int id
Definition r3types.h:84
char name[MAX_SIZE_NAME]
Definition r3types.h:85
Structure for polygon.
Definition r3types.h:94
int n
Definition r3types.h:95
Point * points
Definition r3types.h:96
Parameters.
Definition r3types.h:318
double nightEfficiency
Definition r3types.h:394
int nForbidZone
Definition r3types.h:411
int nNmea
Definition r3types.h:419
int speedDisp
Definition r3types.h:385
int jFactor
Definition r3types.h:333
double gribResolution
Definition r3types.h:339
int penalty1
Definition r3types.h:390
int withCurrent
Definition r3types.h:421
int special
Definition r3types.h:327
int penalty0
Definition r3types.h:389
int showColors
Definition r3types.h:371
Pp pDest
Definition r3types.h:367
double maxWind
Definition r3types.h:397
int gridDisp
Definition r3types.h:381
int focalDisp
Definition r3types.h:383
int kFactor
Definition r3types.h:334
double constWindTws
Definition r3types.h:328
int withWaves
Definition r3types.h:420
int indicatorDisp
Definition r3types.h:380
int maxPoiVisible
Definition r3types.h:322
int techno
Definition r3types.h:413
int authent
Definition r3types.h:319
bool storeMailPw
Definition r3types.h:410
int closestDisp
Definition r3types.h:382
int curlSys
Definition r3types.h:401
int nShpFiles
Definition r3types.h:364
double constCurrentD
Definition r3types.h:332
double tStep
Definition r3types.h:324
double constWindTwd
Definition r3types.h:329
int style
Definition r3types.h:370
int waveDisp
Definition r3types.h:379
double dayEfficiency
Definition r3types.h:395
double threshold
Definition r3types.h:393
double motorSpeed
Definition r3types.h:392
int nSectors
Definition r3types.h:335
double constWave
Definition r3types.h:330
int dashboardUTC
Definition r3types.h:321
int allwaysSea
Definition r3types.h:320
int opt
Definition r3types.h:323
int penalty2
Definition r3types.h:391
Pp pOr
Definition r3types.h:366
int speed
Definition r3types.h:416
int stepIsocDisp
Definition r3types.h:388
int python
Definition r3types.h:402
int aisDisp
Definition r3types.h:386
double xWind
Definition r3types.h:396
int gribTimeMax
Definition r3types.h:341
int gribTimeStep
Definition r3types.h:340
double staminaVR
Definition r3types.h:363
int rangeCog
Definition r3types.h:326
double constCurrentS
Definition r3types.h:331
int currentDisp
Definition r3types.h:378
bool open
Definition r3types.h:417
double startTimeInHours
Definition r3types.h:365
int mostRecentGrib
Definition r3types.h:338
int dispDms
Definition r3types.h:376
int shpPointsDisp
Definition r3types.h:387
int windDisp
Definition r3types.h:377
int infoDisp
Definition r3types.h:384
int cogStep
Definition r3types.h:325
Structure for SHP and forbid zones.
Definition r3types.h:88
double lat
Definition r3types.h:89
double lon
Definition r3types.h:90
polar Matrix description
Definition r3types.h:201
bool fromJson
Definition r3types.h:207
double maxAll
Definition r3types.h:204
double max
Definition r3types.h:212
int nLine
Definition r3types.h:205
size_t nSail
Definition r3types.h:208
int id
Definition r3types.h:210
int nCol
Definition r3types.h:206
Point in isochrone.
Definition r3types.h:172
bool motor
Definition r3types.h:177
int id
Definition r3types.h:173
int toIndexWp
Definition r3types.h:179
double vmc
Definition r3types.h:183
int father
Definition r3types.h:174
int sail
Definition r3types.h:176
double dd
Definition r3types.h:182
double lat
Definition r3types.h:180
double lon
Definition r3types.h:181
int amure
Definition r3types.h:175
double orthoVmc
Definition r3types.h:184
Point for Sail Route
Definition r3types.h:227
int sail
Definition r3types.h:235
double w
Definition r3types.h:245
double twd
Definition r3types.h:247
int amure
Definition r3types.h:233
int toIndexWp
Definition r3types.h:234
int father
Definition r3types.h:232
double tws
Definition r3types.h:248
double oCap
Definition r3types.h:238
double v
Definition r3types.h:244
double time
Definition r3types.h:237
double ld
Definition r3types.h:241
double g
Definition r3types.h:246
double od
Definition r3types.h:239
double stamina
Definition r3types.h:228
double sog
Definition r3types.h:242
double lon
Definition r3types.h:230
double lat
Definition r3types.h:229
double lCap
Definition r3types.h:240
bool motor
Definition r3types.h:236
double u
Definition r3types.h:243
Route description
Definition r3types.h:279
double babordDist
Definition r3types.h:294
int nWayPoints
Definition r3types.h:289
double avrGust
Definition r3types.h:298
double maxWave
Definition r3types.h:303
double avrSog
Definition r3types.h:300
double isocTimeStep
Definition r3types.h:284
int nSailChange
Definition r3types.h:305
bool destinationReached
Definition r3types.h:296
double avrWave
Definition r3types.h:299
double totDist
Definition r3types.h:291
double lastStepDuration
Definition r3types.h:287
int nAmureChange
Definition r3types.h:306
long dataTime
Definition r3types.h:282
double duration
Definition r3types.h:290
double tribordDist
Definition r3types.h:293
double avrTws
Definition r3types.h:297
double motorDist
Definition r3types.h:292
double calculationTime
Definition r3types.h:286
double maxGust
Definition r3types.h:302
long dataDate
Definition r3types.h:281
int competitorIndex
Definition r3types.h:304
int ret
Definition r3types.h:295
SailPoint * t
Definition r3types.h:308
int nIsoc
Definition r3types.h:283
double maxTws
Definition r3types.h:301
double totLoxoDist
Definition r3types.h:255
double totOrthoDist
Definition r3types.h:254
Point for way point route.
Definition r3types.h:217
double od
Definition r3types.h:220
double ld
Definition r3types.h:222
double lCap
Definition r3types.h:223
double lon
Definition r3types.h:219
double oCap
Definition r3types.h:221
double lat
Definition r3types.h:218
zone description
Definition r3types.h:140
double latMin
Definition r3types.h:149
double lonRight
Definition r3types.h:152
bool anteMeridian
Definition r3types.h:141
long intervalEnd
Definition r3types.h:167
bool wellDefined
Definition r3types.h:143
long centreId
Definition r3types.h:144
long intervalBegin
Definition r3types.h:166
long numberOfValues
Definition r3types.h:147
size_t nTimeStamp
Definition r3types.h:157
long nbLon
Definition r3types.h:156
long stepUnits
Definition r3types.h:148
long editionNumber
Definition r3types.h:146
size_t nDataDate
Definition r3types.h:158
double lonStep
Definition r3types.h:154
long nbLat
Definition r3types.h:155
double latMax
Definition r3types.h:150
double lonLeft
Definition r3types.h:151
int nMessage
Definition r3types.h:145
size_t intervalLimit
Definition r3types.h:168
double latStep
Definition r3types.h:153
size_t nShortName
Definition r3types.h:161
bool allTimeStepOK
Definition r3types.h:142
size_t nDataTime
Definition r3types.h:159