hgeometry-point
Copyright(C) Frank Staals
Licensesee the LICENSE file
MaintainerFrank Staals
Safe HaskellNone
LanguageGHC2024

HGeometry.Point.PointF

Description

Implements a point by wrapping some Vector type

Synopsis

Documentation

newtype PointF v Source #

A Point wraps a vector

Constructors

Point 

Fields

Instances

Instances details
Unbox v => Vector Vector (PointF v) Source # 
Instance details

Defined in HGeometry.Point.PointF

Unbox v => MVector MVector (PointF v) Source # 
Instance details

Defined in HGeometry.Point.PointF

FromJSON v => FromJSON (PointF v) Source # 
Instance details

Defined in HGeometry.Point.PointF

ToJSON v => ToJSON (PointF v) Source # 
Instance details

Defined in HGeometry.Point.PointF

NFData v => NFData (PointF v) Source # 
Instance details

Defined in HGeometry.Point.PointF

Methods

rnf :: PointF v -> () Source #

Bounded v => Bounded (PointF v) Source # 
Instance details

Defined in HGeometry.Point.PointF

Enum v => Enum (PointF v) Source # 
Instance details

Defined in HGeometry.Point.PointF

Generic (PointF v) Source # 
Instance details

Defined in HGeometry.Point.PointF

Associated Types

type Rep (PointF v) 
Instance details

Defined in HGeometry.Point.PointF

type Rep (PointF v) = D1 ('MetaData "PointF" "HGeometry.Point.PointF" "hgeometry-point-1.0.0.0-inplace" 'True) (C1 ('MetaCons "Point" 'PrefixI 'True) (S1 ('MetaSel ('Just "toVec") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 v)))

Methods

from :: PointF v -> Rep (PointF v) x Source #

to :: Rep (PointF v) x -> PointF v Source #

(Additive_ vector d r, Additive_ (Vector d r) d r, Read r) => Read (PointF vector) Source # 
Instance details

Defined in HGeometry.Point.PointF

(Additive_ vector d r, Additive_ (Vector d r) d r, Show r) => Show (PointF vector) Source # 
Instance details

Defined in HGeometry.Point.PointF

Methods

showsPrec :: Int -> PointF vector -> ShowS Source #

show :: PointF vector -> String Source #

showList :: [PointF vector] -> ShowS Source #

Eq v => Eq (PointF v) Source # 
Instance details

Defined in HGeometry.Point.PointF

Methods

(==) :: PointF v -> PointF v -> Bool Source #

(/=) :: PointF v -> PointF v -> Bool Source #

Ord v => Ord (PointF v) Source # 
Instance details

Defined in HGeometry.Point.PointF

Methods

compare :: PointF v -> PointF v -> Ordering Source #

(<) :: PointF v -> PointF v -> Bool Source #

(<=) :: PointF v -> PointF v -> Bool Source #

(>) :: PointF v -> PointF v -> Bool Source #

(>=) :: PointF v -> PointF v -> Bool Source #

max :: PointF v -> PointF v -> PointF v Source #

min :: PointF v -> PointF v -> PointF v Source #

(Vector_ v d r, Metric_ (Vector d r) d r) => HasSquaredEuclideanDistance (PointF v) Source # 
Instance details

Defined in HGeometry.Point.EuclideanDistance

Methods

squaredEuclideanDistTo :: forall r0 (d0 :: Nat) point. (r0 ~ NumType (PointF v), d0 ~ Dimension (PointF v), Num r0, Point_ point d0 r0) => point -> PointF v -> r0 Source #

pointClosestTo :: forall r0 (d0 :: Nat) point. (r0 ~ NumType (PointF v), d0 ~ Dimension (PointF v), Num r0, Point_ point d0 r0) => point -> PointF v -> Point d0 r0 Source #

pointClosestToWithDistance :: forall r0 (d0 :: Nat) point. (r0 ~ NumType (PointF v), d0 ~ Dimension (PointF v), Num r0, Point_ point d0 r0) => point -> PointF v -> (Point d0 r0, r0) Source #

Random v => Random (PointF v) Source # 
Instance details

Defined in HGeometry.Point.PointF

Methods

randomR :: RandomGen g => (PointF v, PointF v) -> g -> (PointF v, g) Source #

random :: RandomGen g => g -> (PointF v, g) Source #

randomRs :: RandomGen g => (PointF v, PointF v) -> g -> [PointF v] Source #

randoms :: RandomGen g => g -> [PointF v] Source #

Uniform v => Uniform (PointF v) Source # 
Instance details

Defined in HGeometry.Point.PointF

Methods

uniformM :: StatefulGen g m => g -> m (PointF v) Source #

UniformRange v => UniformRange (PointF v) Source # 
Instance details

Defined in HGeometry.Point.PointF

Methods

uniformRM :: StatefulGen g m => (PointF v, PointF v) -> g -> m (PointF v) Source #

isInRange :: (PointF v, PointF v) -> PointF v -> Bool Source #

Unbox v => Unbox (PointF v) Source # 
Instance details

Defined in HGeometry.Point.PointF

IsoUnbox (PointF v) v Source # 
Instance details

Defined in HGeometry.Point.PointF

Methods

toURepr :: PointF v -> v Source #

fromURepr :: v -> PointF v Source #

(Additive_ vector d r, Additive_ (Vector d r) d r) => Affine_ (PointF vector) d r Source # 
Instance details

Defined in HGeometry.Point.PointF

Methods

(.-.) :: PointF vector -> PointF vector -> Vector d r Source #

(.+^) :: PointF vector -> Vector d r -> PointF vector Source #

(.-^) :: PointF vector -> Vector d r -> PointF vector Source #

(Additive_ vector d r, Additive_ (Vector d r) d r) => ConstructablePoint_ (PointF vector) d r Source # 
Instance details

Defined in HGeometry.Point.PointF

Methods

fromVector :: Vector d r -> PointF vector Source #

(Additive_ vector d r, Additive_ (Vector d r) d r) => Point_ (PointF vector) d r Source # 
Instance details

Defined in HGeometry.Point.PointF

Methods

coord' :: Int -> IndexedTraversal' Int (PointF vector) r Source #

(Has_ Vector_ d r, Has_ Vector_ d s, Vector_ vector d r, Vector_ vector' d s, AsVector_ vector vector' d r s, HasComponents (Vector d r) (Vector d s), HasComponents vector vector') => HasCoordinates (PointF vector) (PointF vector') Source # 
Instance details

Defined in HGeometry.Point.PointF

Methods

coordinates :: IndexedTraversal1 Int (PointF vector) (PointF vector') (NumType (PointF vector)) (NumType (PointF vector')) Source #

(Vector_ vector d r, Vector_ vector' d s, Has_ Vector_ d r, Has_ Vector_ d s, AsVector_ vector vector' d r s, HasComponents vector vector') => HasVector (PointF vector) (PointF vector') Source # 
Instance details

Defined in HGeometry.Point.PointF

Methods

vector :: forall (d0 :: Nat) r0 s0. (Dimension (PointF vector) ~ d0, NumType (PointF vector) ~ r0, Dimension (PointF vector') ~ d0, NumType (PointF vector') ~ s0) => Lens (PointF vector) (PointF vector') (Vector d0 r0) (Vector d0 s0) Source #

HasPoints (PointF v) (PointF v') (PointF v) (PointF v') Source # 
Instance details

Defined in HGeometry.Point.PointF

Methods

allPoints :: forall (d :: Nat) r r'. (Point_ (PointF v) d r, Point_ (PointF v') d r', NumType (PointF v) ~ r, NumType (PointF v') ~ r', Dimension (PointF v) ~ d, Dimension (PointF v') ~ d) => Traversal1 (PointF v) (PointF v') (PointF v) (PointF v') Source #

newtype MVector s (PointF v) Source # 
Instance details

Defined in HGeometry.Point.PointF

newtype MVector s (PointF v) = MV_PointF (MVector s v)
type Rep (PointF v) Source # 
Instance details

Defined in HGeometry.Point.PointF

type Rep (PointF v) = D1 ('MetaData "PointF" "HGeometry.Point.PointF" "hgeometry-point-1.0.0.0-inplace" 'True) (C1 ('MetaCons "Point" 'PrefixI 'True) (S1 ('MetaSel ('Just "toVec") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 v)))
type Dimension (PointF v) Source # 
Instance details

Defined in HGeometry.Point.PointF

type NumType (PointF v) Source # 
Instance details

Defined in HGeometry.Point.PointF

type NumType (PointF v) = IxValue v
type IxValue (PointF v) Source # 
Instance details

Defined in HGeometry.Point.PointF

type IxValue (PointF v) = IxValue v
newtype Vector (PointF v) Source # 
Instance details

Defined in HGeometry.Point.PointF

newtype Vector (PointF v) = V_PointF (Vector v)