Maintainer | diagrams-discuss@googlegroups.com |
---|---|
Safe Haskell | Safe-Infered |
Alignable class
Class of things which can be aligned.
alignBy :: V a -> Scalar (V a) -> a -> aSource
alignBy v d a
moves the origin of a
along the vector
v
. If d = 1
, the origin is moved to the edge of the
envelope in the direction of v
; if d = -1
, it moves to the
edge of the envelope in the direction of the negation of v
.
Other values of d
interpolate linearly (so for example, d =
0
centers the origin along the direction of v
).
(Enveloped b, HasOrigin b) => Alignable [b] | |
Alignable a => Alignable (Active a) | |
(Enveloped b, HasOrigin b, Ord b) => Alignable (Set b) | |
(InnerSpace v, OrderedField (Scalar v)) => Alignable (Envelope v) | |
(InnerSpace v, OrderedField (Scalar v)) => Alignable (Path v) | |
(Enveloped b, HasOrigin b) => Alignable (Map k b) | |
(HasLinearMap v, InnerSpace v, OrderedField (Scalar v), Monoid' m) => Alignable (QDiagram b v m) |
alignByDefault :: (HasOrigin a, Enveloped a, Num (Scalar (V a))) => V a -> Scalar (V a) -> a -> aSource
General alignment functions
align :: (Alignable a, Num (Scalar (V a))) => V a -> a -> aSource
align v
aligns an enveloped object along the edge in the
direction of v
. That is, it moves the local origin in the
direction of v
until it is on the edge of the envelope. (Note
that if the local origin is outside the envelope to begin with,
it may have to move "backwards".)