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

HGeometry.HalfSpace.Class

Description

Class for modelling Halfspaces

Synopsis

Documentation

class (Dimension halfSpace ~ d, Dimension (BoundingHyperPlane halfSpace d r) ~ d, NumType halfSpace ~ r, NumType (BoundingHyperPlane halfSpace d r) ~ r) => HalfSpace_ halfSpace (d :: Nat) r | halfSpace -> d, halfSpace -> r where Source #

Types modelling halfspaces.

Associated Types

type BoundingHyperPlane halfSpace (d :: Nat) r Source #

Methods

boundingHyperPlane :: Lens' halfSpace (BoundingHyperPlane halfSpace d r) Source #

Access the bounding hyperplane

halfSpaceSign :: Lens' halfSpace Sign Source #

Lens to access the sign of the halfspace.

Instances

Instances details
(NumType boundingHyperPlane ~ r, Dimension boundingHyperPlane ~ d) => HalfSpace_ (HalfSpaceF boundingHyperPlane) d r Source # 
Instance details

Defined in HGeometry.HalfSpace.Type

Associated Types

type BoundingHyperPlane (HalfSpaceF boundingHyperPlane) d r 
Instance details

Defined in HGeometry.HalfSpace.Type

type BoundingHyperPlane (HalfSpaceF boundingHyperPlane) d r = boundingHyperPlane

Methods

boundingHyperPlane :: Lens' (HalfSpaceF boundingHyperPlane) (BoundingHyperPlane (HalfSpaceF boundingHyperPlane) d r) Source #

halfSpaceSign :: Lens' (HalfSpaceF boundingHyperPlane) Sign Source #

HalfSpace_ core d r => HalfSpace_ (core :+ extra) d r Source # 
Instance details

Defined in HGeometry.HalfSpace.Class

Associated Types

type BoundingHyperPlane (core :+ extra) d r 
Instance details

Defined in HGeometry.HalfSpace.Class

type BoundingHyperPlane (core :+ extra) d r = BoundingHyperPlane core d r

Methods

boundingHyperPlane :: Lens' (core :+ extra) (BoundingHyperPlane (core :+ extra) d r) Source #

halfSpaceSign :: Lens' (core :+ extra) Sign Source #

type HalfPlane_ halfPlane r = HalfSpace_ halfPlane 2 r Source #

Type synonym for halfplanes in R^2