| Copyright | (c) 2013-2015 diagrams-lib team (see LICENSE) | 
|---|---|
| License | BSD-style (see LICENSE) | 
| Maintainer | diagrams-discuss@googlegroups.com | 
| Safe Haskell | None | 
| Language | Haskell2010 | 
Diagrams.Located
Description
"Located" things, i.e. things with a concrete location:
 intuitively, Located a ~ (a, Point).  Wrapping a translationally
 invariant thing (e.g. a Segment or Trail) in Located pins
 it down to a particular location and makes it no longer
 translationally invariant.
Documentation
"Located" things, i.e. things with a concrete location:
   intuitively, Located a ~ (Point, a).  Wrapping a translationally
   invariant thing (e.g. a Segment or Trail) in Located pins
   it down to a particular location and makes it no longer
   translationally invariant.
Located is intentionally abstract.  To construct Located
   values, use at.  To destruct, use viewLoc, unLoc, or loc.
   To map, use mapLoc.
Much of the utility of having a concrete type for the Located
   concept lies in the type class instances we can give it.  The
   HasOrigin, Transformable, Enveloped, Traced, and
   TrailLike instances are particularly useful; see the documented
   instances below for more information.
Constructors
| Loc | |
Instances
| (Eq (V a (N a)), Eq a) => Eq (Located a) Source # | |
| (Ord (V a (N a)), Ord a) => Ord (Located a) Source # | |
| (Read (V a (N a)), Read a) => Read (Located a) Source # | |
| (Show (V a (N a)), Show a) => Show (Located a) Source # | |
| Generic (Located a) Source # | |
| (Serialize a, Serialize (V a (N a))) => Serialize (Located a) Source # | |
| Enveloped a => Juxtaposable (Located a) Source # | |
| Enveloped a => Enveloped (Located a) Source # | The envelope of a  | 
| (Traced a, Num (N a)) => Traced (Located a) Source # | The trace of a  | 
| Qualifiable a => Qualifiable (Located a) Source # | |
| (Additive (V a), Num (N a), Transformable a) => Transformable (Located a) Source # | Applying a transformation  | 
| (Num (N a), Additive (V a)) => HasOrigin (Located a) Source # | 
 | 
| (Metric v, OrderedField n) => Reversing (Located (Trail v n)) # | Same as  | 
| (Metric v, OrderedField n) => Reversing (Located (Trail' l v n)) # | Same as  | 
| (InSpace v n a, Fractional n, HasArcLength a, (~) (* -> *) (Codomain a) v) => HasArcLength (Located a) Source # | |
| (InSpace v n a, Fractional n, Parametric a, Sectionable a, (~) (* -> *) (Codomain a) v) => Sectionable (Located a) Source # | |
| (InSpace v n a, EndValues a, (~) (* -> *) (Codomain a) v) => EndValues (Located a) Source # | |
| (DomainBounds t, EndValues (Tangent t)) => EndValues (Tangent (Located t)) Source # | |
| DomainBounds a => DomainBounds (Located a) Source # | |
| (InSpace v n a, Parametric a, (~) (* -> *) (Codomain a) v) => Parametric (Located a) Source # | |
| Parametric (Tangent t) => Parametric (Tangent (Located t)) Source # | |
| Alignable a => Alignable (Located a) Source # | |
| TrailLike t => TrailLike (Located t) Source # | 
 | 
| ToPath (Located [Segment Closed v n]) Source # | |
| ToPath (Located (Segment Closed v n)) Source # | |
| ToPath (Located (Trail v n)) Source # | |
| ToPath (Located (Trail' l v n)) Source # | |
| (Metric v, Metric u, OrderedField n, (~) * r (Located (Trail u n))) => Deformable (Located (Trail v n)) r Source # | |
| (LinearMappable a b, (~) * (N a) (N b), (~) * r (Located b)) => AffineMappable (Located a) r Source # | |
| (LinearMappable a b, (~) * r (Located b)) => LinearMappable (Located a) r Source # | |
| Cons (Path v n) (Path v' n') (Located (Trail v n)) (Located (Trail v' n')) # | |
| Snoc (Path v n) (Path v' n') (Located (Trail v n)) (Located (Trail v' n')) # | |
| Each (Path v n) (Path v' n') (Located (Trail v n)) (Located (Trail v' n')) # | |
| type Rep (Located a) Source # | |
| type V (Located a) Source # | |
| type N (Located a) Source # | |
| type Codomain (Located a) Source # | |
at :: a -> Point (V a) (N a) -> Located a infix 5 Source #
Construct a Located a from a value of type a and a location.
   at is intended to be used infix, like x `at` origin.
viewLoc :: Located a -> (Point (V a) (N a), a) Source #
Deconstruct a Located a into a location and a value of type
   a.  viewLoc can be especially useful in conjunction with the
   ViewPatterns extension.
mapLoc :: SameSpace a b => (a -> b) -> Located a -> Located b Source #
Located is not a Functor, since changing the type could
   change the type of the associated vector space, in which case the
   associated location would no longer have the right type. mapLoc
   has an extra constraint specifying that the vector space must
   stay the same.
(Technically, one can say that for every vector space v,
   Located is a little-f (endo)functor on the category of types
   with associated vector space v; but that is not covered by the
   standard Functor class.)