Safe Haskell | None |
---|
- display :: Real b => Maybe ((Int, Int), (Int, Int)) -> String -> VisObject b -> IO ()
- animate :: Real b => Maybe ((Int, Int), (Int, Int)) -> String -> (Float -> VisObject b) -> IO ()
- simulate :: Real b => Maybe ((Int, Int), (Int, Int)) -> String -> Double -> world -> (world -> VisObject b) -> (Float -> world -> world) -> IO ()
- play :: Real b => Maybe ((Int, Int), (Int, Int)) -> String -> Double -> world -> (world -> (VisObject b, Maybe Cursor)) -> (Float -> world -> world) -> (world -> IO ()) -> Maybe (world -> Key -> KeyState -> Modifiers -> Position -> world) -> Maybe (world -> Position -> world) -> Maybe (world -> Position -> world) -> IO ()
- animateIO :: Real b => Maybe ((Int, Int), (Int, Int)) -> String -> (Float -> IO (VisObject b)) -> IO ()
- simulateIO :: Real b => Maybe ((Int, Int), (Int, Int)) -> String -> Double -> world -> (world -> IO (VisObject b)) -> (Float -> world -> IO world) -> IO ()
- playIO :: Real b => Maybe ((Int, Int), (Int, Int)) -> String -> Double -> world -> (world -> IO (VisObject b, Maybe Cursor)) -> (Float -> world -> IO world) -> (world -> IO ()) -> Maybe (world -> Key -> KeyState -> Modifiers -> Position -> world) -> Maybe (world -> Position -> world) -> Maybe (world -> Position -> world) -> IO ()
- data VisObject a
- = VisObjects [VisObject a]
- | Trans (Xyz a) (VisObject a)
- | RotQuat (Quat a) (VisObject a)
- | RotEulerRad (Euler a) (VisObject a)
- | RotEulerDeg (Euler a) (VisObject a)
- | Scale (a, a, a) (VisObject a)
- | Cylinder (a, a) Color
- | Box (a, a, a) Flavour Color
- | Cube a Flavour Color
- | Sphere a Flavour Color
- | Ellipsoid (a, a, a) Flavour Color
- | Line [Xyz a] Color
- | Line' [(Xyz a, Color)]
- | Arrow (a, a) (Xyz a) Color
- | Axes (a, a)
- | Plane (Xyz a) Color Color
- | Triangle (Xyz a) (Xyz a) (Xyz a) Color
- | Quad (Xyz a) (Xyz a) (Xyz a) (Xyz a) Color
- | Text3d String (Xyz a) BitmapFont Color
- | Text2d String (a, a) BitmapFont Color
- | Points [Xyz a] (Maybe GLfloat) Color
- | Custom (IO ())
- data SpecialKey
- data BitmapFont
- = Fixed8By13
- | Fixed9By15
- | TimesRoman10
- | TimesRoman24
- | Helvetica10
- | Helvetica12
- | Helvetica18
- data Flavour
- module Vis.GlossColor
Documentation
:: Real b | |
=> Maybe ((Int, Int), (Int, Int)) | optional (window size, window position) |
-> String | window name |
-> VisObject b | object to draw |
-> IO () |
draw a static image
:: Real b | |
=> Maybe ((Int, Int), (Int, Int)) | optional (window size, window position) |
-> String | window name |
-> 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
:: Real b | |
=> Maybe ((Int, Int), (Int, Int)) | optional (window size, window position) |
-> String | window name |
-> 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 () |
:: Real b | |
=> Maybe ((Int, Int), (Int, Int)) | optional (window size, window position) |
-> String | window name |
-> (Float -> IO (VisObject b)) | draw function |
-> IO () |
display an animation impurely
:: Real b | |
=> Maybe ((Int, Int), (Int, Int)) | optional (window size, window position) |
-> String | window name |
-> 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
:: Real b | |
=> Maybe ((Int, Int), (Int, Int)) | optional (window size, window position) |
-> String | window name |
-> 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 () |
VisObjects [VisObject a] | |
Trans (Xyz a) (VisObject a) | |
RotQuat (Quat a) (VisObject a) | |
RotEulerRad (Euler a) (VisObject a) | |
RotEulerDeg (Euler a) (VisObject a) | |
Scale (a, a, a) (VisObject a) | |
Cylinder (a, a) Color | |
Box (a, a, a) Flavour Color | |
Cube a Flavour Color | |
Sphere a Flavour Color | |
Ellipsoid (a, a, a) Flavour Color | |
Line [Xyz a] Color | |
Line' [(Xyz a, Color)] | |
Arrow (a, a) (Xyz a) Color | |
Axes (a, a) | |
Plane (Xyz a) Color Color | |
Triangle (Xyz a) (Xyz a) (Xyz a) Color | |
Quad (Xyz a) (Xyz a) (Xyz a) (Xyz a) Color | |
Text3d String (Xyz a) BitmapFont Color | |
Text2d String (a, a) BitmapFont Color | |
Points [Xyz a] (Maybe GLfloat) Color | |
Custom (IO ()) |
data SpecialKey
Special keys
data BitmapFont
The bitmap fonts available in GLUT. The exact bitmap to be used is defined by the standard X glyph bitmaps for the X font with the given name.
Fixed8By13 | A fixed width font with every character fitting in an 8
by 13 pixel rectangle.
( |
Fixed9By15 | A fixed width font with every character fitting in an 9
by 15 pixel rectangle.
( |
TimesRoman10 | A 10-point proportional spaced Times Roman font.
( |
TimesRoman24 | A 24-point proportional spaced Times Roman font.
( |
Helvetica10 | A 10-point proportional spaced Helvetica font.
( |
Helvetica12 | A 12-point proportional spaced Helvetica font.
( |
Helvetica18 | A 18-point proportional spaced Helvetica font.
( |
data Flavour
Flavour of object rendering
module Vis.GlossColor