Module Renderer.Settings

Global settings for the renderer

type shape =
  1. | Circle
  2. | Square
  3. | Triangle
  4. | Point
  5. | Cross
  6. | H

Body shapes

type body = {
  1. shape : shape;
    (*

    What shape the body will show as

    *)
  2. filled : bool;
    (*

    Whether the shape will be filled

    *)
  3. size : int;
    (*

    Radius, side length, side length, N/A, width depending on shape

    *)
  4. color : Graphics.color;
    (*

    Color of body

    *)
  5. table : Ephemeral.Vector_table.vtable option;
    (*

    Corresponding vector table

    *)
}

Screen-space body

val reference_body : body Stdlib.ref

System's reference body

val targets : body list Stdlib.ref

Target bodies in system

val min_x : float Stdlib.ref

Bounds on the plane in terms of system coordinates

val max_x : float Stdlib.ref

Bounds on the plane in terms of system coordinates

val min_y : float Stdlib.ref

Bounds on the plane in terms of system coordinates

val max_y : float Stdlib.ref

Bounds on the plane in terms of system coordinates

type speed =
  1. | Slow of int
    (*

    Advance 1 entry every n frames

    *)
  2. | Fast of int
    (*

    Advance n entries every frame

    *)

Frame advancement speeds

val speeds : speed array

Pre-selected speeds

val find_index : ('a -> bool) -> 'a array -> int option
val default_speed_idx : int Stdlib.ref

Index of initial speed setting

val title_text : string option Stdlib.ref

Title text to be drawn at the top of the screen

val dynamic_scale : bool Stdlib.ref

Whether to use per-frame dynamic scaling

val view_theta : float Stdlib.ref

Azimuth

val view_phi : float Stdlib.ref

Elevation