9 enum RunMode {RMcalc,RMcalcRestricted,RMcalcClimb,RMcalcClimbRestricted,RMload,RMsave};
137 int N, *Nout, calcstopped;
157 #endif // STRONGCALC_H
void calc(FibunacciHeap< T > **f)
core function of the algorithm
Track *** trck
intermediate results of iterations
void extract_neighbourlist(STRONG *s, STRONG *e, Neighbour ***nl, long int *nc)
reconstructs link between start STRONG and end STRONG
void STRONG_to_trck(int i)
FibunacciHeap< STRONGClimbfib > ** fclimb
FibunacciHeap element to store STRONG data with climb restrictions.
void refresh_progress(int step)
emitted if iteration step has finished
char filename[999]
for save and load
STRONGsetting * hs
major settings of the calculation
container struct to hold data of a coordinate
int extract_STRONGPlus_restriciton(Neighbour *n)
checks if STRONG can expand concerning restrictions
FibunacciHeap element to store STRONG data.
routing container struct, connects cross via Way with each other
STRONGcalc(OSM *o, KOO *s, KOO *e, char max, char min, STRONGsetting *hs, Track ***trck, int *N, bool Hmonly)
STRONG calculation.
label algorithm to solve multicriteria shortes path problem
int extract_STRONGClimb_restriciton(Neighbour *n)
checks if STRONG can expand concerning restrictions
void init_AreaStrongClimb(KOO *k)
void load_STRONG()
executes the loading of a STRONG network from file filename
FibunacciHeap element to store STRONG data with climb analysis.
void init_AreaStrongPlus(KOO *k)
RunMode runmode
type of STRONGcalc to be executed
void load_crossdata(FILE *f)
low level load routine of load_STRONG
official representation of Track in BTP3
FibunacciHeap< STRONGfib > ** f
void save_STRONG()
executes the save of a STRONG network to file filename
void finished(int succesful)
returns succes if a track was extracted from the STRONG network
char min
restrictions on Neighbour Way type
void init_AreaStrong(KOO *k)
void stop_calculations()
sets STRONGcalc::calcstopped and stops algorithm in next iteration
STRONG ** mindSTRONG
end point array of shortest track at specific strong index
short traceback(STRONG *s, Neighbour *n)
reconstructs track and checks if Neighbour n was already used
int index_STRONG(STRONGfib *t, Neighbour *n)
FibunacciHeap< STRONGPlusfib > ** fplus
BTP3 database, created from OpenStreetMap data.
void store_STRONG(STRONGfib *t, Neighbour *n, int si, int i)
OSM * o
dataset to operate on
short foundSTRONG
if 1 return succes when finished
float radius
data ellipse radius calculated from STRONGsetting and start/ end point
void save_crossdata(KOO *k, FILE *f)
low level save routine of save_STRONG
main struct for routing purpose