LambdaHack-0.2.10.5: A roguelike game engine in early and active development

Safe HaskellNone

Game.LambdaHack.Common.PointXY

Description

Basic cartesian geometry operations on 2D points.

Synopsis

Documentation

type X = IntSource

Spacial dimension for points and vectors.

type Y = IntSource

Spacial dimension for points and vectors.

newtype PointXY Source

2D points in cartesian representation.

Constructors

PointXY (X, Y) 

fromTo :: PointXY -> PointXY -> [PointXY]Source

A list of all points on a straight vertical or straight horizontal line between two points. Fails if no such line exists.

sortPointXY :: (PointXY, PointXY) -> (PointXY, PointXY)Source

Sort the sequence of two points, in the derived lexicographic order.

blaXY :: Int -> PointXY -> PointXY -> [PointXY]Source

Bresenham's line algorithm generalized to arbitrary starting eps (eps value of 0 gives the standard BLA). Includes the source point and goes through the target point to infinity.

insideXY :: PointXY -> (X, Y, X, Y) -> BoolSource

Checks that a point belongs to an area.