|Copyright||(c) 2011 diagrams-core team (see LICENSE)|
|License||BSD-style (see LICENSE)|
A type for points (as distinct from vectors).
newtype Point v :: * -> *
Point is a newtype wrapper around vectors used to represent
points, so we don't get them mixed up. The distinction between
vectors and points is important: translations affect points, but
leave vectors unchanged. Points are instances of the
AffineSpace class from Data.AffineSpace.
|Eq v => Eq (Point v)|
|Data v => Data (Point v)|
|Ord v => Ord (Point v)|
|Read v => Read (Point v)|
|Show v => Show (Point v)|
|AdditiveGroup v => AffineSpace (Point v)|
|VectorSpace v => HasOrigin (Point v)|
|HasLinearMap v => Transformable (Point v)|
|(Ord (Scalar v), VectorSpace v) => Traced (Point v)|
The trace of a single point is the empty trace, i.e. the one which returns no intersection points for every query. Arguably it should return a single finite distance for vectors aimed directly at the given point, but due to floating-point inaccuracy this is problematic. Note that the envelope for a single point is not the empty envelope (see Diagrams.Core.Envelope).
|(OrderedField (Scalar v), InnerSpace v) => Enveloped (Point v)|
|Typeable (* -> *) Point|
|type Diff (Point v) = v|
|type V (Point v) = v|