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

Safe HaskellNone
LanguageHaskell98

Vis.Vis

Synopsis

Documentation

data Options Source

Constructors

Options 

Fields

optBackgroundColor :: Maybe Color

optional background color

optWindowSize :: Maybe (Int, Int)

optional (x,y) window size in pixels

optWindowPosition :: Maybe (Int, Int)

optional (x,y) window origin in pixels

optWindowName :: String

window name

optInitialCamera :: Maybe Camera0

initial camera position

optAntialiasing :: Antialiasing

which antialiasing strategy to use

Instances

vis Source

Arguments

:: Real b 
=> Options

user options

-> Double

sample time

-> a

initial state

-> (FullState a -> IO a)

sim function

-> (FullState a -> IO (VisObject b, Maybe Cursor))

draw function, can give a different cursor

-> (a -> IO ())

set camera function

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

keyboard/mouse callback

-> Maybe (a -> Position -> a)

motion callback

-> Maybe (a -> Position -> a)

passive motion callback

-> IO () 

visMovie Source

Arguments

:: Real b 
=> Options

user options

-> (Int -> FilePath)

where to write the bitmaps

-> Double

sample time

-> [VisObject b]

movie to draw

-> Maybe Cursor

optional cursor

-> IO () 

Make a series of images, one from each VisObject. When visMovie is executed a window pops up and loops the animation until you are happy with the camera angle. Hit spacebar and the images will be created and saved to disk.

visMovieImmediately Source

Arguments

:: Real b 
=> Options

user options

-> (Int -> FilePath)

where to write the bitmaps

-> Double

sample time

-> [VisObject b]

movie to draw

-> Maybe Cursor

optional cursor

-> IO () 

Make a series of images, one from each VisObject. When visMovieImmediately is executed a window is opened and without waiting the images are created and saved to disk.

type FullState a = (a, Float) Source

user state and internal states