not-gloss-0.7.1.1: Painless 3D graphics, no affiliation with gloss

Safe HaskellNone
LanguageHaskell98

Vis.Interface

Synopsis

Documentation

display Source

Arguments

:: Real b 
=> Options

user options

-> VisObject b

object to draw

-> IO () 

draw a static image

animate Source

Arguments

:: Real b 
=> Options

user options

-> (Float -> VisObject b)

draw function

-> IO () 

animateIO Source

Arguments

:: Real b 
=> Options

user options

-> (Float -> IO (VisObject b))

draw function

-> IO () 

display an animation impurely

simulate Source

Arguments

:: Real b 
=> Options

user options

-> Double

sample rate

-> world

initial state

-> (world -> VisObject b)

draw function

-> (Float -> world -> world)

state propogation function (takes current time and state as inputs)

-> IO () 

run a simulation

simulateIO Source

Arguments

:: Real b 
=> Options

user options

-> Double

sample rate

-> world

initial state

-> (world -> IO (VisObject b))

draw function

-> (Float -> world -> IO world)

state propogation function (takes current time and state as inputs)

-> IO () 

run a simulation impurely

play Source

Arguments

:: Real b 
=> Options

user options

-> Double

sample time

-> world

initial state

-> (world -> (VisObject b, Maybe Cursor))

draw function, can give a different cursor

-> (Float -> world -> world)

state propogation function (takes current time and state as inputs)

-> (world -> IO ())

set where camera looks

-> Maybe (world -> Key -> KeyState -> Modifiers -> Position -> world)

keyboard/mouse press callback

-> Maybe (world -> Position -> world)

mouse drag callback

-> Maybe (world -> Position -> world)

mouse move callback

-> IO () 

playIO Source

Arguments

:: Real b 
=> Options

user options

-> Double

sample time

-> world

initial state

-> (world -> IO (VisObject b, Maybe Cursor))

draw function, can give a different cursor

-> (Float -> world -> IO world)

state propogation function (takes current time and state as inputs)

-> (world -> IO ())

set where camera looks

-> Maybe (world -> Key -> KeyState -> Modifiers -> Position -> world)

keyboard/mouse press callback

-> Maybe (world -> Position -> world)

mouse drag callback

-> Maybe (world -> Position -> world)

mouse move callback

-> IO ()