Module

Data.Vector.Polymorphic

Package
purescript-polymorphic-vectors
Repository
3ddyy/purescript-polymorphic-vectors

#makeRect Source

makeRect :: forall a. a -> a -> a -> a -> Rect a

Constructs a Rect from four values

#length Source

length :: forall p. ToPos Number p => p -> Number

Get the length of a position vector

#diagonal Source

diagonal :: forall s. ToSize Number s => s -> Number

Get the diagonal of a size

#inside Source

inside :: forall r p n. ToRegion n r => ToPos n p => Ord n => Semiring n => r -> p -> Boolean

Checks if a position is inside a region. Size of the region should be positive. Inclusive on the lower bound, exclusive on the higher bound.

#outside Source

outside :: forall r p n. ToRegion n r => ToPos n p => Ord n => Semiring n => r -> p -> Boolean

inside, but with its result negated.

#putInsideMod Source

putInsideMod :: forall r p n. ToRegion n r => AsPosEndo n p => EuclideanRing n => r -> p -> p

Put a position inside a region by using the modulus operator

#area Source

area :: forall s n. ToSize n s => Semiring n => s -> n

Get the area of a size

#perimeter Source

perimeter :: forall s n. ToSize n s => Semiring n => s -> n

Get the perimeter of a size

#ratio Source

ratio :: forall s n. ToSize n s => EuclideanRing n => s -> n

Get the ratio of a size by dividing the width by the height

#midPos Source

midPos :: forall s p n. ToRegion n s => FromPos n p => EuclideanRing n => s -> p

Get the center position of a region

#dot Source

dot :: forall p n. ToPos n p => Semiring n => p -> p -> n

Get the dot product of two vectors

#perpendicular Source

perpendicular :: forall p n. ToPos n p => Semiring n => Eq n => p -> p -> Boolean

Check if two vectors are perpendicular

#parallel Source

parallel :: forall p n. ToPos n p => EuclideanRing n => Eq n => p -> p -> Boolean

Check if two vectors are parallel

#toRectangleWith Source

toRectangleWith :: forall n r. ToRegion n r => Semiring n => (n -> Number) -> r -> Rectangle

Turn a region into a Rectangle

#toRectangle Source

toRectangle :: forall r. ToRegion Number r => r -> Rectangle

Turn a rection represented with Numbers into a Rectangle

Re-exports from Data.Vector.Polymorphic.Types

#Vector2 Source

data Vector2 a

Constructors

Instances

#Rect Source

data Rect a

Constructors

Instances

#(><) Source

Operator alias for Data.Vector.Polymorphic.Types.Vector2 (non-associative / precedence 2)