Module Csg

type 'a boundary = {
  1. t : float;
  2. leaf : 'a;
  3. flipped : bool;
}
type 'a interval = 'a boundary * 'a boundary
type op =
  1. | Union
  2. | Inter
  3. | Diff
val combine : op -> 'a interval list -> 'a interval list -> 'a interval list
val inside : 'a interval list -> float -> bool