# Module GluQuadric

    module GluQuadric: sig .. end

    type t

    val create : unit -> t

    val cylinder : base:float ->
           top:float ->
           height:float ->
           slices:int -> stacks:int -> ?quad:t -> unit -> unit

    val disk : inner:float ->
           outer:float -> slices:int -> loops:int -> ?quad:t -> unit -> unit

    val partial_disk : inner:float ->
           outer:float ->
           slices:int ->
           loops:int -> start:float -> sweep:float -> ?quad:t -> unit -> unit

    val sphere : radius:float ->
           slices:int -> stacks:int -> ?quad:t -> unit -> unit

    val draw_style : t -> [ `fill | `line | `point | `silhouette ] -> unit

    val normals : t -> [ `flat | `none | `smooth ] -> unit

    val orientation : t -> [ `inside | `outside ] -> unit

    val texture : t -> bool -> unit