module PrismExample ( prismExample ) where import qualified Waterfall.Solids as Solids import qualified Waterfall.TwoD.Shape as Shape import qualified Waterfall.TwoD.Path2D as Path2D import Linear (V2 (..)) prismExample :: Solids.Solid prismExample :: Solid prismExample = Double -> Shape -> Solid Solids.prism Double 1 (Shape -> Solid) -> (Path2D -> Shape) -> Path2D -> Solid forall b c a. (b -> c) -> (a -> b) -> a -> c . Path2D -> Shape Shape.fromPath (Path2D -> Solid) -> Path2D -> Solid forall a b. (a -> b) -> a -> b $ V2 Double -> [V2 Double -> (V2 Double, Path2D)] -> Path2D forall path point. Monoid path => point -> [point -> (point, path)] -> path Path2D.pathFrom (Double -> Double -> V2 Double forall a. a -> a -> V2 a V2 (-Double 1) (-Double 1)) [ V2 Double -> V2 Double -> V2 Double -> (V2 Double, Path2D) forall point path. AnyPath point path => point -> point -> point -> (point, path) Path2D.arcViaTo (Double -> Double -> V2 Double forall a. a -> a -> V2 a V2 (-Double 1.5) Double 0) (Double -> Double -> V2 Double forall a. a -> a -> V2 a V2 (-Double 1) Double 1) , V2 Double -> V2 Double -> (V2 Double, Path2D) forall point path. AnyPath point path => point -> point -> (point, path) Path2D.lineTo (Double -> Double -> V2 Double forall a. a -> a -> V2 a V2 Double 1 Double 1) , V2 Double -> V2 Double -> V2 Double -> V2 Double -> (V2 Double, Path2D) forall point path. AnyPath point path => point -> point -> point -> point -> (point, path) Path2D.bezierTo (Double -> Double -> V2 Double forall a. a -> a -> V2 a V2 Double 1.5 Double 1) (Double -> Double -> V2 Double forall a. a -> a -> V2 a V2 Double 1.5 (-Double 1)) (Double -> Double -> V2 Double forall a. a -> a -> V2 a V2 Double 1 (-Double 1)) , V2 Double -> V2 Double -> (V2 Double, Path2D) forall point path. AnyPath point path => point -> point -> (point, path) Path2D.lineTo (Double -> Double -> V2 Double forall a. a -> a -> V2 a V2 (-Double 1) (-Double 1)) ]