{-# LANGUAGE UndecidableInstances #-}
module HGeometry.Plane.LowerEnvelope.Clipped
( ClippedMinimizationDiagram
, ClippedMinimizationDiagram'
, _ClippedMinimizationDiagramMap
, ClippedMDCell
, ClippedMDCell'(..)
, lowerEnvelopeIn
) where
import Data.Foldable1
import HGeometry.HyperPlane
import HGeometry.Plane.LowerEnvelope.Clipped.Type
import HGeometry.Plane.LowerEnvelope.Connected.BruteForce
import HGeometry.Point.Class
import HGeometry.Triangle
lowerEnvelopeIn :: forall plane r corner set.
( Plane_ plane r, Ord plane, Ord r, Fractional r
, Point_ corner 2 r
, Foldable1 set
, Show r, Show corner, Show plane
)
=> Triangle corner
-> set plane
-> ClippedMinimizationDiagram plane
lowerEnvelopeIn :: forall plane r corner (set :: * -> *).
(Plane_ plane r, Ord plane, Ord r, Fractional r, Point_ corner 2 r,
Foldable1 set, Show r, Show corner, Show plane) =>
Triangle corner -> set plane -> ClippedMinimizationDiagram plane
lowerEnvelopeIn = Triangle corner -> set plane -> ClippedMinimizationDiagram plane
forall plane r corner (set :: * -> *).
(Plane_ plane r, Ord plane, Ord r, Fractional r, Point_ corner 2 r,
Foldable1 set, Show r, Show corner, Show plane) =>
Triangle corner -> set plane -> ClippedMinimizationDiagram plane
bruteForceLowerEnvelopeIn