| Copyright | (c) 2014 diagrams-lib team (see LICENSE) | 
|---|---|
| License | BSD-style (see LICENSE) | 
| Maintainer | diagrams-discuss@googlegroups.com | 
| Safe Haskell | None | 
| Language | Haskell2010 | 
Diagrams.Direction
Description
Type for representing directions, polymorphic in vector space
- data Direction v n
 - _Dir :: Iso' (Direction v n) (v n)
 - direction :: v n -> Direction v n
 - dir :: v n -> Direction v n
 - fromDirection :: (Metric v, Floating n) => Direction v n -> v n
 - fromDir :: (Metric v, Floating n) => Direction v n -> v n
 - angleBetweenDirs :: (Metric v, Floating n) => Direction v n -> Direction v n -> Angle n
 - dirBetween :: (Additive v, Num n) => Point v n -> Point v n -> Direction v n
 
Documentation
A vector is described by a Direction and a magnitude.  So we
 can think of a Direction as a vector that has forgotten its
 magnitude.  Directions can be used with fromDirection and the
 lenses provided by its instances.
Instances
| Functor v => Functor (Direction v) Source | |
| HasPhi v => HasPhi (Direction v) Source | |
| HasTheta v => HasTheta (Direction v) Source | |
| Eq (v n) => Eq (Direction v n) Source | |
| Ord (v n) => Ord (Direction v n) Source | |
| Read (v n) => Read (Direction v n) Source | |
| Show (v n) => Show (Direction v n) Source | |
| ((~) (* -> *) (V (v n)) v, (~) * (N (v n)) n, Transformable (v n)) => Transformable (Direction v n) Source | |
| type V (Direction v n) = v Source | |
| type N (Direction v n) = n Source | 
_Dir :: Iso' (Direction v n) (v n) Source
_Dir is provided to allow efficient implementations of functions in particular vector-spaces, but should be used with care as it exposes too much information.
direction :: v n -> Direction v n Source
direction v is the direction in which v points.  Returns an
   unspecified value when given the zero vector as input.
fromDirection :: (Metric v, Floating n) => Direction v n -> v n Source
fromDirection d is the unit vector in the direction d.