hgeometry-0.9.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)) 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) -> BoolnonEmptyIntersection :: proxy (Line 2 r) -> proxy (Boundary (Rectangle p r)) -> Intersection (Line 2 r) (Boundary (Rectangle p r)) -> Bool (Ord r, Floating r) => IsIntersectableWith (Line 2 r) (Circle p r) 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 -> BoolnonEmptyIntersection :: 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) 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 -> BoolnonEmptyIntersection :: 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)) 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])))) type IntersectionOf (Line 2 r) (Boundary (Polygon t p r)) 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]) type IntersectionOf (Line 2 r) (Circle p r) 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]))) type IntersectionOf (LineSegment 2 p r) (Circle q r) 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) ': ([] :: [Type]))))

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