FieldTrip-0.2: Functional 3DSource codeContentsIndex
Graphics.FieldTrip.ParamSurf
Stabilityexperimental
Maintainerconal@conal.net
Description
Parametric surfaces with automatic normals
Synopsis
type HeightField s = Two s -> One s
type Surf s = Two s -> Three s
type USurf = forall s. Floating s => Surf s
type Curve2 s = One s -> Two s
type Curve3 s = One s -> Three s
type Warp1 s = One s -> One s
type Warp2 s = Two s -> Two s
type Warp3 s = Three s -> Three s
mul2pi :: Floating s => s -> s
sinU :: Floating s => s -> s
hfSurf :: HeightField s -> Surf s
fcurve :: Warp1 s -> Curve2 s
circle :: Floating s => Curve2 s
semiCircle :: Floating s => Curve2 s
torus :: (Floating s, VectorSpace s s) => s -> s -> Surf s
revolveG :: Floating s => (s -> Curve2 s) -> Surf s
revolve :: Floating s => Curve2 s -> Surf s
sphere1 :: Floating s => Surf s
profile :: Num s => Curve2 s -> Curve2 s -> Surf s
sphere3 :: Floating s => Surf s
frustrum :: (Floating s, VectorSpace s s) => s -> s -> s -> Surf s
ucylinder :: (Floating s, VectorSpace s s) => Surf s
cartF :: (a -> b -> c) -> (u -> a) -> (v -> b) -> (u, v) -> c
sweep :: VectorSpace s s' => Curve3 s -> Curve3 s -> Surf s
eggcrateH :: Floating s => HeightField s
revolveH :: (Floating s, InnerSpace s s) => Warp1 s -> HeightField s
rippleH :: (Floating s, InnerSpace s s) => HeightField s
ripple :: Floating s => Surf s
displaceV :: (InnerSpace v s, Floating s, HasNormal v) => v -> s -> v
displace :: (InnerSpace v s, Floating s, HasNormal v, Applicative f) => f v -> f s -> f v
rotate :: Floating s => s -> Warp2 s
addY :: Num s => (a -> Two s) -> a -> Three s
addXZ :: Num s => (a -> One s) -> a -> Three s
onY :: Warp1 s -> Warp3 s
onYZ :: Warp2 s -> Warp3 s
onY' :: Warp1 s -> (a -> Three s) -> a -> Three s
onXZ' :: Warp2 s -> (a -> Three s) -> a -> Three s
Documentation
type HeightField s = Two s -> One sSource
type Surf s = Two s -> Three sSource
type USurf = forall s. Floating s => Surf sSource
type Curve2 s = One s -> Two sSource
type Curve3 s = One s -> Three sSource
type Warp1 s = One s -> One sSource
type Warp2 s = Two s -> Two sSource
type Warp3 s = Three s -> Three sSource
mul2pi :: Floating s => s -> sSource
sinU :: Floating s => s -> sSource
Trig functions with unit period ([-12,12])
hfSurf :: HeightField s -> Surf sSource
Turn a height field into a surface
fcurve :: Warp1 s -> Curve2 sSource
Like hfSurf but for curve construction
circle :: Floating s => Curve2 sSource
Unit circle.
semiCircle :: Floating s => Curve2 sSource
Half semi circle, with theta in [-pi2,pi2]
torus :: (Floating s, VectorSpace s s) => s -> s -> Surf sSource
Torus, given radius of sweep circle and cross section
revolveG :: Floating s => (s -> Curve2 s) -> Surf sSource
revolve :: Floating s => Curve2 s -> Surf sSource
sphere1 :: Floating s => Surf sSource
profile :: Num s => Curve2 s -> Curve2 s -> Surf sSource
Profile product.
sphere3 :: Floating s => Surf sSource
frustrum :: (Floating s, VectorSpace s s) => s -> s -> s -> Surf sSource
Frustrum, given base & cap radii and height.
ucylinder :: (Floating s, VectorSpace s s) => Surf sSource
Unit cylinder. Unit height and radii
cartF :: (a -> b -> c) -> (u -> a) -> (v -> b) -> (u, v) -> cSource
Given a combining op and two curves, make a surface. A sort of Cartesian product with combination.
sweep :: VectorSpace s s' => Curve3 s -> Curve3 s -> Surf sSource
eggcrateH :: Floating s => HeightField sSource
One period, unit height eggcrate
revolveH :: (Floating s, InnerSpace s s) => Warp1 s -> HeightField sSource
rippleH :: (Floating s, InnerSpace s s) => HeightField sSource
ripple :: Floating s => Surf sSource
Simple ripply pond shape
displaceV :: (InnerSpace v s, Floating s, HasNormal v) => v -> s -> vSource
Apply a displacement map at a value
displace :: (InnerSpace v s, Floating s, HasNormal v, Applicative f) => f v -> f s -> f vSource
Apply a displacement map to a function (e.g., Curve2 or Surf) or other container.
rotate :: Floating s => s -> Warp2 sSource
addY :: Num s => (a -> Two s) -> a -> Three sSource
addXZ :: Num s => (a -> One s) -> a -> Three sSource
onY :: Warp1 s -> Warp3 sSource
onYZ :: Warp2 s -> Warp3 sSource
onY' :: Warp1 s -> (a -> Three s) -> a -> Three sSource
onXZ' :: Warp2 s -> (a -> Three s) -> a -> Three sSource
Produced by Haddock version 2.3.0