sig
type pos = { mutable x : float; mutable y : float; mutable d : float; }
type color = { r : float; g : float; b : float; a : float; }
type orders = Forward | Forward' | Turn | Save | Restore | Color
val orders : (string * (Glilis.orders * int)) list
type 'a turtle = {
get_pos : unit -> Glilis.pos;
get_color : unit -> Glilis.color;
turn : float -> unit;
move : ?trace:bool -> float -> unit;
save_position : unit -> unit;
restore_position : unit -> unit;
color : Glilis.color -> unit;
handle_lsys : (unit -> unit) -> 'a;
}
val turtle : unit -> unit Glilis.turtle
val transform_rhs :
'a Glilis.turtle -> string -> ('c -> float) array -> 'c -> unit
val transform_lsys :
'a Glilis.turtle ->
(string * 'b) Lilis.lsystem ->
(('c -> float) array -> 'c -> unit) Lilis.lsystem
end