Module PathVisual.PathFinding


module PathFinding: sig .. end


Pathfinding functions.
type pos = int * int 
type path = pos list 
type hash_from_pos_to_int = int PathVisual.IntPairHash.t 
type heap_of_pos_cost_dist = PathVisual.MutBinHeap.t 
type distance_function = pos -> pos -> float 
val dist_simple : pos -> pos -> float
val dist_euclid : pos -> pos -> float
val string_of_path : path -> string
val path : pos ->
pos ->
hash_from_pos_to_int -> path
val lineofsight : pos ->
pos -> (pos -> bool) -> bool
val path_opt'' : PathVisual.Cave.t ->
path * path *
path * pos list ->
(path ->
path ->
pos list ->
pos ->
pos ->
path * path *
path * pos list) ->
path * path *
path * pos list
val path_opt' : 'a -> 'b list -> 'c list * 'b list * 'b list * 'd list
val path_opt : PathVisual.Cave.t ->
path ->
(path ->
path ->
pos list ->
pos ->
pos ->
path * path *
path * pos list) ->
path
val path_opt_good_foundf : (int * int) list ->
'a ->
(int * int) list ->
int * int ->
int * int -> (int * int) list * (int * int) list * (int * int) list * 'b list
val path_opt_good : PathVisual.Cave.t ->
path -> path
val path_opt_fast_foundf : (int * int) list ->
'a ->
'b list ->
int * int -> int * int -> (int * int) list * 'b list * 'b list * 'c list
val path_opt_fast : PathVisual.Cave.t ->
path -> path
exception Exception_intpairhash of int PathVisual.IntPairHash.t
val pathfindingloop : 'a ->
pos ->
pos ->
('a -> pos -> pos -> 'b * 'c) ->
('a -> pos -> 'b -> 'c -> 'd -> 'b * 'c) ->
'd -> path
val astar'' : PathVisual.Cave.t ->
PathVisual.MutBinHeap.pos ->
hash_from_pos_to_int ->
heap_of_pos_cost_dist ->
distance_function ->
hash_from_pos_to_int *
heap_of_pos_cost_dist
val astar' : 'a ->
PathVisual.MutBinHeap.pos ->
'b -> 'c PathVisual.IntPairHash.t * PathVisual.MutBinHeap.t
val astar : PathVisual.Cave.t ->
pos ->
pos ->
distance_function -> path
val dijkstra'' : PathVisual.Cave.t ->
PathVisual.MutBinHeap.pos ->
hash_from_pos_to_int ->
heap_of_pos_cost_dist ->
distance_function ->
hash_from_pos_to_int *
heap_of_pos_cost_dist
val dijkstra' : 'a ->
PathVisual.MutBinHeap.pos ->
'b -> 'c PathVisual.IntPairHash.t * PathVisual.MutBinHeap.t
val dijkstra : PathVisual.Cave.t ->
pos ->
pos ->
distance_function -> path
val greedy_astar'' : PathVisual.Cave.t ->
PathVisual.MutBinHeap.pos ->
hash_from_pos_to_int ->
heap_of_pos_cost_dist ->
distance_function ->
hash_from_pos_to_int *
heap_of_pos_cost_dist
val greedy_astar' : 'a ->
PathVisual.MutBinHeap.pos ->
'b -> 'c PathVisual.IntPairHash.t * PathVisual.MutBinHeap.t
val greedy_astar : PathVisual.Cave.t ->
pos ->
pos ->
distance_function -> path