From 561d0f0155f4906d90eb7e73a3ff9cb28909126f Mon Sep 17 00:00:00 2001 From: Sébastien Dailly Date: Fri, 5 Feb 2021 09:08:39 +0100 Subject: Update project structure --- path/point.ml | 77 ----------------------------------------------------------- 1 file changed, 77 deletions(-) delete mode 100755 path/point.ml (limited to 'path/point.ml') diff --git a/path/point.ml b/path/point.ml deleted file mode 100755 index ec6f8ad..0000000 --- a/path/point.ml +++ /dev/null @@ -1,77 +0,0 @@ -let internal_id = ref 0 - -type t = - { p: Gg.v2 - ; size : float - ; angle: float - ; stamp : float - ; id : int - } - -let empty = - { p = Gg.V2.of_tuple (0., 0.) - ; size = 0. - ; angle = 0. - ; stamp = 0. - ; id = 0 - } - -let create ~angle ~width ~stamp ~x ~y = - - incr internal_id; - { p = Gg.V2.v x y - ; size = width - ; angle = Gg.Float.rad_of_deg (180. -. angle ) - ; stamp - ; id = !internal_id - } - -let copy point p = - { point with - p - } - -let set_angle p angle = - { p with angle = Gg.Float.rad_of_deg (180. -. angle) } - -let get_angle { angle; _} = 180. -. (Gg.Float.deg_of_rad angle) - -let set_width p size = - { p with size } - -let get_width { size; _} = size - -let (+) p1 p2 = - { p1 with p = Gg.V2.(+) p1.p p2 } - -let get_coord { p; _ } = p - -let get_stamp { stamp; _} = stamp - -let get_coord' - : t -> Gg.v2 - = fun t -> - let open Gg.V2 in - let trans = of_polar @@ v t.size t.angle in - t.p + trans - -let mix - : float -> Gg.v2 -> t -> t -> t - = fun f point p0 p1 -> - let angle0 = p0.angle - and angle1 = p1.angle - and width0 = get_width p0 - and width1 = get_width p1 - and stamp0 = get_stamp p0 - and stamp1 = get_stamp p1 in - let angle = angle0 +. f *. ( angle1 -. angle0 ) in - let width = width0 +. f *. ( width1 -. width0 ) in - let stamp = stamp0 +. f *. ( stamp1 -. stamp0 ) in - { p = point - ; size = width - ; angle - ; stamp - ; id = !internal_id - } - -let id { id; _} = id -- cgit v1.2.3