hgeometry-0.12.0.4: Geometric Algorithms, Data structures, and Data types.

Data.Geometry.Boundary

Description

Synopsis

# Documentation

newtype Boundary g Source #

The boundary of a geometric object.

Constructors

 Boundary g

#### Instances

Instances details
 Source # Instance detailsDefined in Data.Geometry.Boundary Methodsfmap :: (a -> b) -> Boundary a -> Boundary b #(<\$) :: a -> Boundary b -> Boundary a # Source # Instance detailsDefined in Data.Geometry.Boundary Methodsfold :: Monoid m => Boundary m -> m #foldMap :: Monoid m => (a -> m) -> Boundary a -> m #foldMap' :: Monoid m => (a -> m) -> Boundary a -> m #foldr :: (a -> b -> b) -> b -> Boundary a -> b #foldr' :: (a -> b -> b) -> b -> Boundary a -> b #foldl :: (b -> a -> b) -> b -> Boundary a -> b #foldl' :: (b -> a -> b) -> b -> Boundary a -> b #foldr1 :: (a -> a -> a) -> Boundary a -> a #foldl1 :: (a -> a -> a) -> Boundary a -> a #toList :: Boundary a -> [a] #null :: Boundary a -> Bool #length :: Boundary a -> Int #elem :: Eq a => a -> Boundary a -> Bool #maximum :: Ord a => Boundary a -> a #minimum :: Ord a => Boundary a -> a #sum :: Num a => Boundary a -> a #product :: Num a => Boundary a -> a # Source # Instance detailsDefined in Data.Geometry.Boundary Methodstraverse :: Applicative f => (a -> f b) -> Boundary a -> f (Boundary b) #sequenceA :: Applicative f => Boundary (f a) -> f (Boundary a) #mapM :: Monad m => (a -> m b) -> Boundary a -> m (Boundary b) #sequence :: Monad m => Boundary (m a) -> m (Boundary a) # Eq g => Eq (Boundary g) Source # Instance detailsDefined in Data.Geometry.Boundary Methods(==) :: Boundary g -> Boundary g -> Bool #(/=) :: Boundary g -> Boundary g -> Bool # Ord g => Ord (Boundary g) Source # Instance detailsDefined in Data.Geometry.Boundary Methodscompare :: Boundary g -> Boundary g -> Ordering #(<) :: Boundary g -> Boundary g -> Bool #(<=) :: Boundary g -> Boundary g -> Bool #(>) :: Boundary g -> Boundary g -> Bool #(>=) :: Boundary g -> Boundary g -> Bool #max :: Boundary g -> Boundary g -> Boundary g #min :: Boundary g -> Boundary g -> Boundary g # Read g => Read (Boundary g) Source # Instance detailsDefined in Data.Geometry.Boundary MethodsreadsPrec :: Int -> ReadS (Boundary g) # Show g => Show (Boundary g) Source # Instance detailsDefined in Data.Geometry.Boundary MethodsshowsPrec :: Int -> Boundary g -> ShowS #show :: Boundary g -> String #showList :: [Boundary g] -> ShowS # Source # Instance detailsDefined in Data.Geometry.Boundary MethodstransformBy :: Transformation (Dimension (Boundary g)) (NumType (Boundary g)) -> Boundary g -> Boundary g Source # (Ord r, Fractional r) => IsIntersectableWith (Line 2 r) (Boundary (Rectangle p r)) Source # Instance detailsDefined in Data.Geometry.Line Methodsintersect :: Line 2 r -> Boundary (Rectangle p r) -> Intersection (Line 2 r) (Boundary (Rectangle p r)) #intersects :: Line 2 r -> Boundary (Rectangle p r) -> Bool #nonEmptyIntersection :: proxy (Line 2 r) -> proxy (Boundary (Rectangle p r)) -> Intersection (Line 2 r) (Boundary (Rectangle p r)) -> Bool # (Ord r, Fractional r) => IsIntersectableWith (HalfLine 2 r) (Boundary (Rectangle p r)) Source # Instance detailsDefined in Data.Geometry.HalfLine Methodsintersect :: HalfLine 2 r -> Boundary (Rectangle p r) -> Intersection (HalfLine 2 r) (Boundary (Rectangle p r)) #intersects :: HalfLine 2 r -> Boundary (Rectangle p r) -> Bool #nonEmptyIntersection :: proxy (HalfLine 2 r) -> proxy (Boundary (Rectangle p r)) -> Intersection (HalfLine 2 r) (Boundary (Rectangle p r)) -> Bool # (Ord r, Floating r) => IsIntersectableWith (Line 2 r) (Circle p r) Source # Instance detailsDefined in Data.Geometry.Ball Methodsintersect :: Line 2 r -> Circle p r -> Intersection (Line 2 r) (Circle p r) #intersects :: Line 2 r -> Circle p r -> Bool #nonEmptyIntersection :: proxy (Line 2 r) -> proxy (Circle p r) -> Intersection (Line 2 r) (Circle p r) -> Bool # (Ord r, Floating r) => IsIntersectableWith (LineSegment 2 p r) (Circle q r) Source # Instance detailsDefined in Data.Geometry.Ball Methodsintersect :: LineSegment 2 p r -> Circle q r -> Intersection (LineSegment 2 p r) (Circle q r) #intersects :: LineSegment 2 p r -> Circle q r -> Bool #nonEmptyIntersection :: proxy (LineSegment 2 p r) -> proxy (Circle q r) -> Intersection (LineSegment 2 p r) (Circle q r) -> Bool # type NumType (Boundary g) Source # Instance detailsDefined in Data.Geometry.Boundary type NumType (Boundary g) = NumType g type Dimension (Boundary g) Source # Instance detailsDefined in Data.Geometry.Boundary type Dimension (Boundary g) = Dimension g type IntersectionOf (Line 2 r) (Boundary (Rectangle p r)) Source # Instance detailsDefined in Data.Geometry.Line type IntersectionOf (Line 2 r) (Boundary (Rectangle p r)) = '[NoIntersection, Point 2 r, (Point 2 r, Point 2 r), LineSegment 2 () r] type IntersectionOf (Line 2 r) (Boundary (Polygon t p r)) Source # Instance detailsDefined in Data.Geometry.Polygon type IntersectionOf (Line 2 r) (Boundary (Polygon t p r)) = '[Seq (Either (Point 2 r) (LineSegment 2 () r))] type IntersectionOf (HalfLine 2 r) (Boundary (Rectangle p r)) Source # Instance detailsDefined in Data.Geometry.HalfLine type IntersectionOf (HalfLine 2 r) (Boundary (Rectangle p r)) = '[NoIntersection, Point 2 r, (Point 2 r, Point 2 r), LineSegment 2 () r] type IntersectionOf (Line 2 r) (Circle p r) Source # No intersection, one touching point, or two points Instance detailsDefined in Data.Geometry.Ball type IntersectionOf (Line 2 r) (Circle p r) = '[NoIntersection, Touching (Point 2 r), (Point 2 r, Point 2 r)] type IntersectionOf (LineSegment 2 p r) (Circle q r) Source # A line segment may not intersect a circle, touch it, or intersect it properly in one or two points. Instance detailsDefined in Data.Geometry.Ball type IntersectionOf (LineSegment 2 p r) (Circle q r) = '[NoIntersection, Touching (Point 2 r), Point 2 r, (Point 2 r, Point 2 r)]

_Boundary :: Iso g h (Boundary g) (Boundary h) Source #

Iso for converting between things with a boundary and without its boundary

Result of a query that asks if something is Inside a g, *on* the boundary of the g, or outside.

Constructors

 Inside OnBoundary Outside

#### Instances

Instances details
 Source # Instance detailsDefined in Data.Geometry.Boundary Methods Source # Instance detailsDefined in Data.Geometry.Boundary Methods Source # Instance detailsDefined in Data.Geometry.Boundary Methods