Portability | GHC |
---|---|
Stability | highly unstable |
Maintainer | stephen.tetley@gmail.com |
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