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

Data.Geometry.Boundary

Synopsis

# Documentation

newtype Boundary g Source #

The boundary of a geometric object.

Constructors

 Boundary g
Instances
 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 #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)) Source #intersects :: Line 2 r -> Boundary (Rectangle p r) -> Bool Source #nonEmptyIntersection :: proxy (Line 2 r) -> proxy (Boundary (Rectangle p r)) -> Intersection (Line 2 r) (Boundary (Rectangle p r)) -> Bool Source # (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) Source #intersects :: Line 2 r -> Circle p r -> Bool Source #nonEmptyIntersection :: proxy (Line 2 r) -> proxy (Circle p r) -> Intersection (Line 2 r) (Circle p r) -> Bool Source # (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) Source #intersects :: LineSegment 2 p r -> Circle q r -> Bool Source #nonEmptyIntersection :: proxy (LineSegment 2 p r) -> proxy (Circle q r) -> Intersection (LineSegment 2 p r) (Circle q r) -> Bool Source # 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 (Line 2 r) (Circle p r) Source # 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 # 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) ': ([] :: [*]))))

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
 Source # Instance detailsDefined in Data.Geometry.Boundary Methods Source # Instance detailsDefined in Data.Geometry.Boundary Methods Source # Instance detailsDefined in Data.Geometry.Boundary Methods