Module Road

type section = {
  1. enter : int;
  2. hold : int;
  3. leave : int;
  4. curve : Playground.number;
  5. hill : Playground.number;
}
val straight : int -> section
val curve : int -> Playground.number -> section
val hill : int -> Playground.number -> section
val curve_hill : int -> Playground.number -> Playground.number -> section
val coast : section list
type segment = {
  1. index : int;
  2. y1 : Playground.number;
  3. y2 : Playground.number;
  4. curve : Playground.number;
}
type t = {
  1. segment_length : Playground.number;
  2. segments : segment array;
}
val build : Playground.number -> section list -> t
val length : t -> Playground.number
val segment_at : t -> Playground.number -> segment
val centerline : Playground.number -> t -> point array