RCube
Rcube Rest Server calculates sail routes based on Grib files and sailing boat polar files
Loading...
Searching...
No Matches
r3util.h
Go to the documentation of this file.
1
2extern Zone zone; // wind
3extern Zone currentZone; // current
4
7
10
12extern struct MeteoElmt meteoTab [N_METEO_ADMIN];
13
14/* sail attributes */
15extern const size_t sailNameSize;
16extern const char *sailName [];
17extern const char *colorStr [];
18
20extern PolMat polMat;
21extern PolMat sailPolMat;
22extern PolMat wavePolMat;
23
25extern Par par;
26
27extern char *tIsSea; // array of byte. 0 if earth, 1 if sea
28
31
33extern char *epochToStr (time_t t, bool seconds, char *str, size_t len);
34extern struct tm gribDateToTm (long intDate, double nHours);
35extern bool isDayLight (struct tm *tm0, double t, double lat, double lon);
36extern char *fSailName (int val, char *str, size_t maxLen);
37extern char *newFileNameSuffix (const char *fileName, const char *suffix, char *newFileName, size_t maxLen);
38extern double offsetLocalUTC (void);
39extern char *formatThousandSep (char *buffer, size_t maxLen, int value);
40extern char *buildRootName (const char *fileName, char *rootName, size_t maxLen);
41extern bool isNumber (const char *name);
42extern double getCoord (const char *str, double min, double max);
43extern char *latToStr (double lat, int type, char* str, size_t maxLen);
44extern char *lonToStr (double lon, int type, char* str, size_t maxLen);
45extern char *durationToStr (double duration, char *res, size_t maxLen);
46extern time_t gribDateTimeToEpoch (long date, long time);
47extern double getDepartureTimeInHour (struct tm *startUtc);
48extern char *gribDateTimeToStr (long date, long time, char *str, size_t len);
49extern char *newDate (long intDate, double myTime, char *res, size_t maxLen);
50extern char *newDateWeekDay (long intDate, double myTime, char *res, size_t maxLen);
51extern char *newDateWeekDayVerbose (long intDate, double myTime, char *res, size_t maxLen);
52extern bool readParam (const char *fileName, bool initDisp);
53extern bool writeParam (const char *fileName, bool header, bool password, bool yaml);
54extern bool readIsSea (const char *fileName);
55extern void updateIsSeaWithForbiddenAreas (void);
56extern bool hasSlash (const char *name);
57extern bool mostRecentFile (const char *directory, const char *pattern0, const char *pattern1, char *name, size_t maxLen);
58extern double fPenalty (int shipIndex, int type, double tws, double energy, double *cStamina);
59extern double fPointLoss (int shipIndex, int type, double tws, bool fullPack);
60extern double fTimeToRecupOnePoint (double tws);
61extern char *paramToStrJson (Par *par, char *buffer, size_t maxLen);
62extern int nearestPort (double lat, double lon, const char *fileName, char *str, size_t maxLen);
63extern double monotonic (void);
64extern char *readTextFile (const char *fileName, char *errMessage, size_t maxLen);
65extern bool readMarkCSVToJson (const char *fileName, char *out, size_t maxLen);
66extern void normalizeSpaces (char *s);
#define MAX_N_FORBID_ZONE
Definition r3types.h:68
#define N_METEO_ADMIN
Definition r3types.h:69
char name[MAX_SIZE_NAME]
Definition r3util.c:22
bool writeParam(const char *fileName, bool header, bool password, bool yaml)
write parameter file from struct par header or not, password or not yaml style or not
Definition r3util.c:826
WayPointList wayPoints
list of wayPoint
Definition r3util.c:43
char * lonToStr(double lon, int type, char *str, size_t maxLen)
convert lon to str according to type
Definition r3util.c:462
bool readParam(const char *fileName, bool initDisp)
read parameter file and build par struct
Definition r3util.c:573
void updateIsSeaWithForbiddenAreas(void)
complement according to forbidden areas
Definition r3util.c:534
Zone currentZone
Definition r3util.c:65
char * durationToStr(double duration, char *res, size_t maxLen)
convert hours in string with days, hours, minutes
Definition r3util.c:429
char * newDateWeekDay(long intDate, double myTime, char *res, size_t maxLen)
return date and time using week day after adding myTime (hours) to the Date
Definition r3util.c:394
double offsetLocalUTC(void)
return offset Local UTC in seconds
Definition r3util.c:263
bool readMarkCSVToJson(const char *fileName, char *out, size_t maxLen)
read CSV file marks (Virtual Regatta) if check then polarCheck
Definition r3util.c:1144
double monotonic(void)
return seconds with decimals
Definition r3util.c:1099
char * newDate(long intDate, double myTime, char *res, size_t maxLen)
return date and time using ISO notation after adding myTime (hours) to the Date
Definition r3util.c:386
double fPointLoss(int shipIndex, int type, double tws, bool fullPack)
for virtual Regatta.
Definition r3util.c:1002
time_t gribDateTimeToEpoch(long date, long time)
convert long date/time from GRIB to time_t (UTC, via timegm)
Definition r3util.c:408
bool isNumber(const char *name)
true if name contains a number
Definition r3util.c:174
PolMat wavePolMat
polar matrix for waves
Definition r3util.c:55
const size_t sailNameSize
sail attributes
Definition r3util.c:38
MyPolygon forbidZones[MAX_N_FORBID_ZONE]
forbid zones
Definition r3util.c:32
double getCoord(const char *str, double min, double max)
translate str in double for latitude longitude
Definition r3util.c:179
bool hasSlash(const char *name)
true if name terminates with slash
Definition r3util.c:130
char * buildRootName(const char *fileName, char *rootName, size_t maxLen)
Build root name if not already a root name.
Definition r3util.c:230
bool isDayLight(struct tm *tm0, double t, double lat, double lon)
char * paramToStrJson(Par *par, char *buffer, size_t maxLen)
Return JSON formatted subset of parameters into 'out'.
Definition r3util.c:1023
char * tIsSea
table describing if sea or earth
Definition r3util.c:61
PolMat polMat
polar description
Definition r3util.c:49
int nearestPort(double lat, double lon, const char *fileName, char *str, size_t maxLen)
return id and name of nearest port found in file fileName from lat, lon.
Definition r3util.c:1063
bool mostRecentFile(const char *directory, const char *pattern0, const char *pattern1, char *name, size_t maxLen)
select most recent file in "directory" that contains "pattern0" and "pattern1" in name return true if...
Definition r3util.c:138
struct tm gribDateToTm(long intDate, double nHours)
return tm struct equivalent to date hours found in grib (UTC time) struct tm gribDateToTm (long intDa...
Definition r3util.c:299
bool readIsSea(const char *fileName)
read issea file and fill table tIsSea
Definition r3util.c:484
double getDepartureTimeInHour(struct tm *startUtc)
calculate difference in hours between departure time in UTC and time 0
Definition r3util.c:420
PolMat sailPolMat
polar matrix for sails
Definition r3util.c:52
char * readTextFile(const char *fileName, char *errMessage, size_t maxLen)
read all text file in buffer.
Definition r3util.c:1106
Par par
parameters desciption
Definition r3util.c:58
char * fSailName(int val, char *str, size_t maxLen)
return the name of the sail
Definition r3util.c:68
Zone zone
Zone description.
Definition r3util.c:64
CompetitorsList competitors
for competitors
Definition r3util.c:46
char * gribDateTimeToStr(long date, long time, char *str, size_t len)
return str representing grib date
Definition r3util.c:276
char * formatThousandSep(char *buffer, size_t maxLen, int value)
struct MeteoElmt meteoTab[N_METEO_ADMIN]
Meteo service.
Definition r3util.c:35
char * epochToStr(time_t t, bool seconds, char *str, size_t len)
functions defined in r3util.c
Definition r3util.c:247
const char * sailName[]
Definition r3util.c:39
double fPenalty(int shipIndex, int type, double tws, double energy, double *cStamina)
char * newDateWeekDayVerbose(long intDate, double myTime, char *res, size_t maxLen)
return date and time using week day after adding myTime (hours) to the Date
Definition r3util.c:401
char * latToStr(double lat, int type, char *str, size_t maxLen)
convert lat to str according to type
Definition r3util.c:440
char * newFileNameSuffix(const char *fileName, const char *suffix, char *newFileName, size_t maxLen)
replace former suffix (after last dot) by suffix example : "pol/bibi.toto.csv" with suffix "sailpol" ...
Definition r3util.c:78
double fTimeToRecupOnePoint(double tws)
for virtual Regatta.
Definition r3util.c:1014
const char * colorStr[]
Definition r3util.c:40
void normalizeSpaces(char *s)
replace multiple spaces by just one
Definition r3util.c:1196
Structure for polygon.
Definition r3types.h:94
Parameters.
Definition r3types.h:318
polar Matrix description
Definition r3types.h:201
zone description
Definition r3types.h:140