| Portability | GHC |
|---|---|
| Stability | highly unstable |
| Maintainer | stephen.tetley@gmail.com |
Wumpus.Basic.Kernel.Objects.Displacement
Contents
Description
Displacing points - often start points.
- type PointDisplace u = Point2 u -> Point2 u
- type ThetaDisplace = Radian -> Radian
- type ThetaPointDisplace u = Radian -> PointDisplace u
- moveStart :: PointDisplace u -> LocCF u a -> LocCF u a
- moveStartTheta :: ThetaPointDisplace u -> LocThetaCF u a -> LocThetaCF u a
- moveStartThetaPoint :: PointDisplace u -> LocThetaCF u a -> LocThetaCF u a
- moveStartThetaAngle :: ThetaDisplace -> LocThetaCF u a -> LocThetaCF u a
- displace :: Num u => u -> u -> PointDisplace u
- displaceVec :: Num u => Vec2 u -> PointDisplace u
- displaceH :: Num u => u -> PointDisplace u
- displaceV :: Num u => u -> PointDisplace u
- northwards :: Num u => u -> PointDisplace u
- southwards :: Num u => u -> PointDisplace u
- eastwards :: Num u => u -> PointDisplace u
- westwards :: Num u => u -> PointDisplace u
- northeastwards :: Floating u => u -> PointDisplace u
- northwestwards :: Floating u => u -> PointDisplace u
- southeastwards :: Floating u => u -> PointDisplace u
- southwestwards :: Floating u => u -> PointDisplace u
- displaceParallel :: Floating u => u -> ThetaPointDisplace u
- displacePerpendicular :: Floating u => u -> ThetaPointDisplace u
- displaceOrtho :: Floating u => Vec2 u -> ThetaPointDisplace u
- thetaNorthwards :: Floating u => u -> ThetaPointDisplace u
- thetaSouthwards :: Floating u => u -> ThetaPointDisplace u
- thetaEastwards :: Floating u => u -> ThetaPointDisplace u
- thetaWestwards :: Floating u => u -> ThetaPointDisplace u
- thetaNortheastwards :: Floating u => u -> ThetaPointDisplace u
- thetaNorthwestwards :: Floating u => u -> ThetaPointDisplace u
- thetaSoutheastwards :: Floating u => u -> ThetaPointDisplace u
- thetaSouthwestwards :: Floating u => u -> ThetaPointDisplace u
Moving points and angles
type PointDisplace u = Point2 u -> Point2 uSource
PointDisplace is a type representing functions
from Point to Point.
It is especially useful for building composite graphics where one part of the graphic is drawn from a different start point to the other part.
type ThetaDisplace = Radian -> RadianSource
ThetaDisplace is a type representing functions
from Radian to Radian.
It is especially useful for building composite graphics where one part of the graphic is drawn from a different start point to the other part.
type ThetaPointDisplace u = Radian -> PointDisplace uSource
ThetaPointDisplace is a type representing functions
from Radian * Point to Point.
It is useful for building arrowheads which are constructed with an implicit angle representing the direction of the line at the arrow tip.
moveStart :: PointDisplace u -> LocCF u a -> LocCF u aSource
Move the start-point of a LocCF with the supplied
displacement function.
moveStartTheta :: ThetaPointDisplace u -> LocThetaCF u a -> LocThetaCF u aSource
Move the start-point of a LocThetaCF with the supplied
displacement function.
moveStartThetaPoint :: PointDisplace u -> LocThetaCF u a -> LocThetaCF u aSource
Move the start-point of a LocThetaCF with the supplied
displacement function.
moveStartThetaAngle :: ThetaDisplace -> LocThetaCF u a -> LocThetaCF u aSource
Change the inclination of a LocThetaCF with the supplied
displacement function.
displace :: Num u => u -> u -> PointDisplace uSource
displace : x -> y -> PointDisplace
Build a combinator to move Points by the supplied x and
y distances.
displaceVec :: Num u => Vec2 u -> PointDisplace uSource
displaceH :: Num u => u -> PointDisplace uSource
displaceH : x -> PointDisplace
Build a combinator to move Points by horizontally the
supplied x distance.
displaceV :: Num u => u -> PointDisplace uSource
displaceV : y -> PointDisplace
Build a combinator to move Points vertically by the supplied
y distance.
northwards :: Num u => u -> PointDisplace uSource
southwards :: Num u => u -> PointDisplace uSource
eastwards :: Num u => u -> PointDisplace uSource
westwards :: Num u => u -> PointDisplace uSource
northeastwards :: Floating u => u -> PointDisplace uSource
northwestwards :: Floating u => u -> PointDisplace uSource
southeastwards :: Floating u => u -> PointDisplace uSource
southwestwards :: Floating u => u -> PointDisplace uSource
displaceParallel :: Floating u => u -> ThetaPointDisplace uSource
displaceParallel : dist -> ThetaPointDisplace
Build a combinator to move Points in parallel to the
direction of the implicit angle by the supplied distance
dist.
displacePerpendicular :: Floating u => u -> ThetaPointDisplace uSource
displaceParallel : dist -> ThetaPointDisplace
Build a combinator to move Points perpendicular to the
inclnation of the implicit angle by the supplied distance
dist.
displaceOrtho :: Floating u => Vec2 u -> ThetaPointDisplace uSource
displaceOrtho : vec -> ThetaPointDisplace
This is a combination of displaceParallel and
displacePerpendicular, with the x component of the vector
displaced in parallel and the y component displaced
perpendicular.
thetaNorthwards :: Floating u => u -> ThetaPointDisplace uSource
thetaSouthwards :: Floating u => u -> ThetaPointDisplace uSource
thetaEastwards :: Floating u => u -> ThetaPointDisplace uSource
thetaWestwards :: Floating u => u -> ThetaPointDisplace uSource
thetaNortheastwards :: Floating u => u -> ThetaPointDisplace uSource
thetaNorthwestwards :: Floating u => u -> ThetaPointDisplace uSource
thetaSoutheastwards :: Floating u => u -> ThetaPointDisplace uSource
thetaSouthwestwards :: Floating u => u -> ThetaPointDisplace uSource